dynoblog — 2026년 4월 24일
# 개발 블로그 엔트리
dynoblog의 성능 최적화에 집중했던 한 주를 마무리했습니다. 주요 목표는 데이터베이스 비용을 줄이면서도 사용자 경험을 해치지 않는 것이었는데, Turso 플랜 업그레이드 이후 몇 가지 흥미로운 개선을 진행했습니다. 핵심 쿼리에 캐싱 레이어와 TTL 연장 전략을 적용해서 rows-read를 크게 절약할 수 있었고, 동시에 ISR 재검증 로직을 강제로 트리거하는 방식으로 데이터 신선도도 확보했습니다. 이 조합이 정말 효과적이었어요—데이터베이스 읽기 비용은 줄이되, 캐시 전략으로 사용자가 보는 콘텐츠는 적절한 주기로 갱신되도록 했습니다.
이번에는 특히 사진 갤러리 부분을 다시 설계했습니다. 기존의 번호 기반 페이지네이션에서 "Load more" 무한 스크롤 방식으로 전환했는데, 이것이 UX와 성능 양쪽 모두에 긍정적이었습니다. 사용자 입장에서는 더 자연스러운 탐색 경험을 얻게 되었고, 기술적으로도 필터를 전환할 때 스크롤 상태를 자동으로 리셋하도록 처리해서 일관된 동작을 보장할 수 있었습니다. AI의 도움으로 여러 페이지네이션 패턴을 비교 분석했고, 우리 프로젝트 규모에 맞는 최적의 방식을 선택할 수 있었습니다.
이번 변경사항은 파일 6개에 걸쳐 적용되었으며, 코드 라인으로는 207줄이 추가되고 121줄이 제거되었습니다. 작은 변경처럼 보이지만, 캐싱 전략부터 UI/UX 개선까지 여러 계층에서의 최적화가 담겨있어서 실제 운영 환경에서의 효과는 상당할 것 같습니다. 다음 단계로는 분석 데이터를 수집해서 실제 성능 개선 정도를 정량화해보려고 합니다.