1. 글을 작성하게 된 계기 2. 적용한 기술 조회한 데이터의 내용이 일정 시간 동안 변하지 않기 때문에, 캐시를 얼마나 효율적으로 사용하는지가 관건이라 판단했습니다. 따라서 캐시를 사용했는데요, 여기서 구현/적용한 내용은 다음과 같습니다. 비동기 데이터 조회 Fallback 패턴 캐시 갱신 2-1. 비동기 데이터 ...
배포 버전을 어떻게 명시할까?
스프링에서 잘못된 URL로 요청이 오면 어떻게 커스텀한 응답을 내려줄까?
1. 글을 작성하게 된 계기 스프링 부트 3.2 이전 버전에서는 잘못된 URL로 요청이 오면, yml 설정으로 커스텀한 응답을 내려줬습니다. 하지만 3.2 버전부터 해당 설정이 Deprecated 됐는데요, 3.2 버전 이후에는 어떻게 커스텀한 응답을 내려주는지 정리하기 위해 글로 작성하게 되었습니다. DispatcherServlet pr...
빌드와 컴파일의 차이는 무엇일까?
글을 작성하게 된 계기 스스로에게 빌드(Build) 와 컴파일(Compile) 의 차이에 관해 물었는데, 한두 문장으로 명확하게 정의하지 못했습니다. 이번 기회에 이를 명확하게 정리하고 싶어 글을 작성하게 되었습니다. 1. 빌드와 컴파일 먼저 빌드와 컴파일의 정의에 대해 살펴보겠습니다. 컴파일(Compile) 빌드(Build...
스프링 mvc는 왜 멀티 쓰레드 모델을 택했을까?
1. 글을 작성하게 된 계기 운영체제 공부를 할 때, 제이온님이 스프링은 왜 멀티 프로세서가 아닌 멀티 쓰레드를 사용할까요? 라는 질문을 했습니다. 이전에도 Youl님께 비슷한 질문을 받았는데요, 이 부분에 대해 명확하게 대답을 잘 못했습니다. 따라서 이번 기회에 이를 명확히 정리하기 위해 글을 작성하게 되었습니다. 스프링이 멀티 쓰레드를...
SpringBoot Docker-Compose 지원
1. 글을 작성하게 된 계기 최근 배포 시 외부 의존성을 줄이는 법, 개발 환경을 어떻게 하면 일관성 있게 통일할까? 등과 같은 개발 환경에 대해 관심이 많습니다. 이런저런 방법들을 시도하던 중, 스프링 부트 도커 컴포즈(Docker-Compose) 지원 을 듣고, 이를 사용해보며 느낀 장점과 간단한 사용법에 대해 정리하기 위해 글을 작성하게 ...
도메인 이벤트와 사용시 고려할 점은 무엇이 있을까?
1. 글을 작성하게 된 계기 비동기를 활용한 병렬처리 프로젝트를 하며, 이벤트에 관심을 가지게 되었고, 이 과정에서 학습한 내용을 정리하기 위해 글을 작성하게 되었습니다. 이번 글에서 사용할 예제의 테이블 구조는 다음과 같습니다. 하나의 게시글에는 여러 개의 댓글, 북마크, 게시글 이미지가 있습니다. 즉, 게시글과 댓글, 북마크, 이미지는...
Liquibase와 사용하며 느낀 점
1. 글을 작성하게 된 계기 신규 기능을 개발할 때, 새로 생성/추가/제거되는 스키마를 반영하지 않아 운영 서버에 문제가 발생한 적이 있었습니다. 이 과정에서 어떻게 효율적으로 스키마를 추적하고 관리할 지에 대해 학습하며 Liquibase를 알게 되었고, 이를 정리하기 위해 글을 작성하게 되었습니다. 2. Liquibase와 선택 이...
새로 배운 Git 브랜치 관리 전략
1. 글을 작성하게 된 계기 회사에서 새로운 Git 브랜치 전략을 배웠는데, 이를 기록하기 위해 글을 작성하게 되었습니다. 꽤 편하긴 했는데, 솔직히 정석인지, 좋은지는 잘 모르겠습니다. 2. 기존에 사용하던 Git 관리 방식과 문제점 기존에는 아래와 같이 Git을 관리했습니다. 새로운 기능을 개발할 땐 dev->feat...
LocalStack을 활용한 AWS SNS/SQS 테스트
1. 글을 작성하게 된 계기 AWS SNS/SQS 를 사용하며 테스트 코드를 어떻게 작성하는지에 대해 기록하기 위해 글을 작성하게 되었습니다. LocalStack is a cloud service emulator that runs in a single container on your laptop or in your CI environmen...
부하 조절-Polling
1. 글을 작성하게 된 계기 선착순 쿠폰 이벤트에서 사용자 요청이 한 번에 들어올 때, 이를 효율적으로 관리/처리하는 방법에 대해 학습하며 작성한 글입니다. 학습 과정에서 작성한 글이기 때문에 잘못된 내용이 있을 수 있으며, 이에 대한 지적/피드백은 언제든 환영합니다. 2. 아이디어 쿠폰 선착순 이벤트의 전체 플로우는 다음과 같습니다....