목록개발 (16)
장난감 연구소

스프링 부트 애플리케이션에 대규모 요청이 몰리게 되면 어떻게 될까?스프링 부트를 사용하지만, 앞단에서 요청이 어떻게 처리되는지 모르고 있었다. 스프링 부트에 대규모 요청이 몰리게 되면 어떻게 될까? 그런 물음을 받았을 때 내가 납득할 수 있는 대답을 낼 수 없었다. 일단 요청마다 다른 스레드가 처리한다는 건 알겠는데, 요청마다 새로운 스레드가 만들어지는지, 그렇다면 최대 몇 개까지 생성될 수 있는지, 또 처리할 수 없는 요청은 어떻게 되는지 의문이 생겼다.이번 글에서는 스프링 부트의 임베디드 톰캣과 관련된 설정을 정리하였다.관련 설정 요소커넥션 (Connections)HTTP 통신은 TCP 연결 위에서 이뤄진다. 클라이언트가 요청을 보내면 톰캣은 소켓을 열어 해당 연결을 유지한다. 이와 관련된 설정이 가..

MariaDB와 Hibernate(JPA)를 활용하여 프로젝트를 진행하며 데이터베이스 쿼리 성능 최적화와 관련된 작업을 정리하였습니다. 이 내용은 개인 기록용으로 작성되었습니다.인덱스(Index)23년 여름, 동아리 홈페이지를 개발하면서 서버 개발을 담당했습니다. 데이터베이스로는 관계형 DB인 MariaDB를 사용하였습니다.홈페이지에는 커뮤니티(게시판) 기능이 존재하며, 위 사진과 같이 기본적인 게시판 형태를 가지고 있습니다. 기본적인 제목, 본문 외에도 첨부파일 업로드, 댓글, 좋아요/싫어요 기능을 구현하였습니다.커뮤니티 기능과 관련된 테이블 구조는 위와 같습니다. 다른 필드가 여러 개 존재하지만, 간단히 핵심적인 부분만 표시했습니다.인덱스 설계 및 생성얼마 지나지 않은 코드지만, 다시 보면 부족한 점..
feat: add hat wobble ^--^ ^------------^ | | | +-> Summary in present tense. | +-------> Type: chore, docs, feat, fix, refactor, style, or test. More Examples: feat: (new feature for the user, not a new feature for build script) fix: (bug fix for the user, not a fix to a build script) docs: (changes to the documentation) style: (formatting, missing semi colons, etc; no production code change) re..

MVC 패턴 그놈의 MVVM 패턴 EP 01 - MVC 패턴 살펴보자 - YouTube MVP 패턴 그놈의 MVVM 패턴 EP 02 - MVP 패턴 살펴보자 - YouTube MVVM 패턴 그놈의 MVVM 패턴 EP 03 - MVVM 패턴 살펴보자 - YouTube TabLayout 디자인 커스텀 Android TabLayout with Gradient Indicator | by Leonardo Vinsen | Medium 유용한 유튜브 영상 기록용.

익힌 내용을 나중에 사용하기 위해 정리한 글로 부정확한 내용이 있을 수 있습니다. 쿼리 프로젝트를 진행하면서 자신과 가까이 있는 지점들을 검색하는 기능이 필요했다. 데이터베이스에 아래와 같이 모든 지점들의 위도와 경도를 실수 형태로 가지고 있다. 이때 한 지점과의 직선 거리가 일정 값 이하인 지점들을 어떻게 찾을 수 있을까? 한 지점과 모든 지점의 거리를 계산해서 SELECT 하려면, 아래와 같은 쿼리를 사용하면 된다. (MySQL로 테스트됨.) SELECT id, description, ( 6371 * acos( cos(radians(36.628486474734 /* 중앙도서관의 위도 */)) * cos(radians(latitude)) * cos(radians(longitude) - radians(1..

익힌 내용을 나중에 사용하기 위해 정리한 것으로 부족한 부분이 많아 계속 수정해나가고 있습니다. 처음 Elasticsearch 사용하는 분 아니면 대부분 알고 계시는 내용일 겁니다. 학교 과제나 작은 프로젝트를 진행하면서 검색 기능이 필요한 경우가 있다. 다행히도 Elasticsearch(엘라스틱 서치)라는 훌륭한 오픈소스 검색 엔진을 사용하면 검색 기능을 쉽게 만들 수 있다. 그런데 하나씩 꼼꼼히 익혀가면서 만들기에는 홈페이지의 가이드 내용이 너무 방대하다. 그런 상황에 쓸 수 있게, 한글 검색이 최소한으로 작동만 하게 만들어 보는 가이드 글이다. 오라클 클라우드 프리티어에서 제공하는 무료 Compute 인스턴스의 메모리 용량은 1GB이다. 이 글의 목적에서 알 수 있듯이 무료 Compute 인스턴스에..