
2단계 인터셉터 + 커스텀 Principal(`JwtUserDetails`가 `UserDetails`와 `Principal`을 동시에 구현)로 `Principal.getName()`을 userId로 통일한 과정을 정리합니다.

사용자가 미리 등록해둔 기프티콘이 "그 매장의 기프티콘" 으로 정확히 분류되어 있어야했고, 그 데이터 정형화의 출발점이 OCR 자동 등록이었습니다. 이후 시행착오 끝에 GCP Vision API + 도메인 텍스트 파서의 2단 구조로 전환한 과정

에러를 실시간 감지한 뒤 원인을 추적하고, ShedLock + Redis 분산 락 + 매시간 분할로 해결한 과정을 정리한 내용입니다.

Redis ZSET 기반 실시간 랭킹 + MySQL 스냅샷 보관소 라는 이중 저장 구조로 분리한 의사결정 과정

도서 쇼핑몰 프로젝트의 개발 단계에서 검색 응답 시간이 평균 1,200ms 수준으로 측정되어, MySQL LIKE 기반 구현을 Elasticsearch로 전환한 과정을 정리한 내용입니다.
22954. 그래프 트리 분할 / BFS로 연결 컴포넌트와 스패닝 트리를 동시에 구 성하고, 불가능 조건을 걸러낸 뒤 분할!
프로그래머스 - GPS / 목표는 수정 횟수(오차로 기록된 위치를 바꾼 횟수)를 최소화하여 실제 이동 가능한 경로로 만들기, 시간 t에 v 정점에 있을 때 수정 횟수를 DP로..!
프로그래머스 - 택배 배달과 수거하기 / 이 문제는 뒤쪽(가장 먼 집)부터 처리하는 그리디 알고리즘을 활용해야겠다고 생각했다!