dynoblog — 2026년 5월 19일
6 files+133-47
# 블로그 성능 최적화와 관리 기능 개선
이번 업데이트에서는 dynoblog의 성능을 대폭 개선하고 관리자 기능을 확장했습니다. 가장 눈에 띄는 변화는 **이미지 최적화**입니다. 썸네일을 lazy loading으로 전환하고 정확한 이미지 크기를 사전에 계산하도록 개선해 초기 로딩 시간을 단축했습니다. 동시에 SQL 레벨에서 카테고리 조회를 페이지네이션으로 처리하도록 리팩토링하여, 기존에 5천 개의 행을 모두 스캔하던 병목을 제거했습니다. getAllPosts 캐시 TTL도 1시간에서 24시간으로 연장해 반복적인 데이터베이스 접근을 줄일 수 있었습니다.
보안과 관리 기능 면에서도 개선했습니다. localhost 환경에서 리다이렉트 시 실수로 프로덕션 URL이 노출되는 버그를 수정했고, 아카이브 섹션의 콘텐츠도 관리자가 직접 수정할 수 있도록 기능을 추가했습니다. 또한 Photo 메뉴를 새로 등록하고 photostudio 앵커를 더 직관적인 위치로 이동해 사용자 네비게이션을 개선했습니다.
이번 작업은 성능 병목을 데이터베이스 쿼리 단계에서부터 제거하고, 프론트엔드 렌더링까지 최적화하는 전반적인 튜닝이었습니다. 작은 수정들이 모여 전체 사용자 경험을 크게 향상시킬 수 있다는 점이 개발의 매력이라고 느꼈습니다.
커밋 기록
perf(images): lazy thumbnails + accurate sizes on blog/category lists
08:29perf(category): SQL-level paginated lookup — skip 5k row scan
04:16perf(category): bump getAllPosts cache TTL 1h → 24h
04:09fix(middleware): localhost redirect 시 prod URL leak 안 함
04:00feat(admin-docs): archive 도 내용 수정 가능
04:00feat(category): add Photo menu + move photostudio anchor
04:00