post-thumbnail

세션에서 JWT + Redis 기반 인증으로 전환하기

1. 세션에서 JWT로 전환 세션은 브라우저에 세션 ID를 저장하고 서버 메모리에 사용자 정보를 저장하는 stateful 방식이다. 이 구조는 두 가지 문제가 있다. 서버를 재시작하면 메모리에 저장된 세션이 모두 사라져 전체 로그아웃이 발생한다. 서버가 여러 대로

2026년 4월 29일
·
0개의 댓글
·
post-thumbnail

CTE로 해결하는 동적 커서 페이지네이션

0. 들어가며 독크독크 플랫폼에서 개선 포인트를 찾는 중에 데이터 양이 증가할수록 성능 저하를 유발할 수 있는 비효율적인 로직을 발견했다. 특히 페이지네이션 처리 방식에서 개선할 지점을 포착하게 되었고, 이에 대한 고민과 해결 과정을 기록해보고자 한다.

2026년 3월 4일
·
0개의 댓글
·
post-thumbnail

외부 스토리지 이미지 생성 로직 비동기 전환으로 성능 개선하기

0. 프로젝트 개요 현재 나는 독크독크라는 독서모임 플랫폼을 개발하는 프로젝트에 참여하고 있다. 독크독크는 독서모임을 진행하는 사람들을 위한 플랫폼으로, 모임 중 나눈 대화와 생각들이 모임이 끝난 뒤 단순한 기억으로 사라지지 않고 개인과 모임의 기록으로 남을 수

2026년 2월 20일
·
0개의 댓글
·
post-thumbnail

관리자 통계 데이터 로컬 캐시 적용하기

## 0. 들어가며 이전 포스팅에서는 카테고리 데이터에 로컬 캐시를 적용해 상품 조회 성능을 개선했었다. 당시에는 변경은 드물지만 조회는 잦은 데이터를 대상으로, TTL과 명시적 무효화를 함께 쓰는 전략을 선택했다. 이번에는 조금 다른 케이스였다. 관리자 대시보드

2026년 1월 27일
·
0개의 댓글
·
post-thumbnail

관리자 검색 API 성능 분석: 복합 인덱스 설계와 실행 계획 비교

0. 프로젝트 개요 이 프로젝트는 상품 홍보 블로그 포스팅 자동화 플랫폼이다. 사용자가 상품 홍보를 위해 반복적으로 글을 작성하여 발행하는 과정을 자동화할 수 있다. 예약 시간을 지정하여 워크플로우를 생성하면, 예약한 시간에 맞춰 다음 과정이 자동 실행된다. 트

2026년 1월 14일
·
0개의 댓글
·
post-thumbnail

장바구니 조회 API N+1 문제 분석 및 개선 과정

0. 들어가며 카페 주문 플랫폼 프로젝트를 리팩토링하던 중 장바구니 조회 페이지에서 예상보다 많은 쿼리가 실행되고 있는 것을 로그를 통해 발견했다. 특히 장바구니에 음료를 하나씩 추가할수록 조회 시 실행되는 쿼리 수가 함께 증가하는 현상이 나타났다. 이러한 패턴

2025년 12월 18일
·
0개의 댓글
·
post-thumbnail

로컬 캐시를 이용한 카테고리 캐시 적용으로 상품 조회 성능 개선

0. 들어가며 이번 포스팅에서는 로컬 캐시를 이용한 카테고리 캐시 적용으로 상품 조회 성능 개선 과정을 다뤄보려고 한다. 카페 주문 플랫폼에서 카테고리는 사용자가 상품을 조회할 때 가장 먼저 접하는 정보 중 하나로, 조회 빈도는 높지만 변경은 드문 데이터라는 특징을

2025년 12월 15일
·
0개의 댓글
·
post-thumbnail

Spring @Transactional 활용: 읽기 트랜잭션에서 readOnly 옵션 성능 비교 ②

0. 들어가며 문제 발견 지금까지 개발하면서 조회용 메서드에는 습관적으로 @Transactional(readOnly = true)를 붙였다. 조회에 @Transactional(readOnly = true) 를 설정함으로써 성능상 이점을 얻을 수 있다고 알고있지만,

2025년 11월 30일
·
0개의 댓글
·
post-thumbnail

Spring @Transactional 활용: 쓰기 트랜잭션과 Bulk Delete 성능 비교 ①

## 0. 들어가며 카페 주문 플랫폼 장바구니 비우기 기능을 테스트하던 중, Hibernate SQL 로그에서 이상한 점을 발견했다. 단 10개의 상품을 삭제하는데 DELETE 쿼리가 11번이나 실행되고 있었다. "왜 이렇게 많은 쿼리가 실행될까?" 이 문제를 해

2025년 11월 26일
·
0개의 댓글
·
post-thumbnail

바나프레소 벤치마킹 카페 주문 시스템 즐겨찾기 동시성 제어 3가지 방법 비교 분석 (낙관적 락 vs 비관적 락 vs 원자적 UPDATE)

조원들과 자주 이용하던 바나프레소를 벤치마킹하여 카페 주문 시스템을 개발했다. 이번 글에서는 카페 주문 시스템을 개발하며 경험한 동시성 이슈 중 하나인 즐겨찾기 동시성 문제에 대한 원인과 해결 과정을 정리해보고자 한다. 1. 문제 발견

2025년 11월 8일
·
0개의 댓글
·