B-Tree 구조부터 복합 인덱스 순서 규칙, 커버링 인덱스, 인덱스가 무력화되는 6가지 패턴까지. 쿼리가 느리다면 인덱스부터 봐야 한다.
외부 API 호출 코드에서 흐름은 똑같은데 구현만 다른 상황, 템플릿 메서드 패턴으로 중복 없이 해결하는 법을 다룬다.
비즈니스 로직이 Service에 흩어지는 빈약한 도메인 모델의 문제를 짚고, 엔티티가 스스로 상태를 검증하는 풍부한 도메인 모델로 전환하는 방법을 안내한다.
Ghostty + zsh 환경에서 Starship 프롬프트를 세팅한 기록. 최종 config 전체 공개 + 개발 스택별로 유용한 모듈 정리.
터미널 환경 세팅하면서 vim 자리에 Neovim + LazyVim을 넣었다. 기본 vim 사용법부터 LazyVim 단축키, 플러그인 추가 방법까지 정리했다.
Spring + JPA 프로젝트에서 엔티티마다 복붙하는 Auditing 필드, CRUD 메서드, 응답 래퍼를 제네릭 추상화로 한 곳에 모으는 방법을 설명한다.
macOS에서 Warp를 버리고 Ghostty로 갈아타면서 zsh 환경을 새로 정리했다. 플러그인 순서 실수, find alias 함정 등 직접 삽질한 것들을 포함해서 기록한다.
결제 수단이 늘어날 때마다 if/else를 추가하고 있다면, 전략 패턴과 Spring Bean 자동 주입으로 OCP를 달성하는 방법을 소개한다.
GitHub Pages에 Hugo 블로그를 세팅하고 커스텀 도메인까지 연결한 과정. 레퍼런스 사이트를 정해 레이아웃을 맞추고, Cloudflare Workers로 조회수를 붙이기까지의 모든 삽질을 정리했다.
fixedRate vs fixedDelay vs cron 차이, 크론 표현식 작성법, 단일 스레드 함정, 그리고 다중 서버 환경에서 ShedLock으로 중복 실행을 방지하는 방법을 정리한다.
개인정보처리방침