dynoblog — 2026년 5월 6일
# dynoblog 대규모 리팩토링 완료: 보안, 성능, 코드 구조 한 번에 개선하기
이번 주에 dynoblog에서 112개 파일에 걸친 대규모 리팩토링을 완료했습니다. 핵심은 세 가지였는데요. 먼저 **레거시 v2 라우트를 제거**하고 컴포넌트 구조를 root로 통합하면서 코드베이스를 단순화했고, **인증 가드와 유틸리티 함수들을 중앙집중화**하여 중복을 제거했습니다. 마지막으로 **댓글 삭제 엔드포인트에 rate-limiting을 추가**해 brute-force 공격으로부터 보호했습니다. 특히 카테고리 이름 변경 시 배치 트랜잭션을 적용하고 live count를 서브쿼리로 최적화해서 동시성 문제도 해결했습니다.
기능 측면에서는 **전체 콘텐츠를 검색할 수 있는 동적 검색 기능**을 추가했고, 포럼 토픽 페이지에서 바로 글을 편집할 수 있는 **인라인 편집 UI**를 구현했습니다. 관리자들이 별도 페이지로 이동할 필요 없이 현재 페이지에서 즉시 수정할 수 있어 워크플로우가 훨씬 빨라졌어요. 함께 ISR(Incremental Static Regeneration) 무효화 경로도 정리해서 forum/topic/reply detail과 archive slug path가 제대로 캐시 갱신되도록 수정했습니다.
이번 리팩토링은 단순 코드 정리를 넘어 **확장성 높은 구조로의 전환**이라고 볼 수 있습니다. useIsAdmin 훅 추출, API 인증 가드 통합 등의 변경으로 앞으로 새로운 기능을 추가할 때 더 빠르고 안전하게 구현할 수 있는 토대를 마련했어요. 특히 AI 도움을 받아 반복적인 마이그레이션 패턴을 검증하고 서브쿼리 최적화 전략을 다듬을 수 있었던 점이 개발 속도를 크게 단축시켰습니다.