dynoblog — 2026년 9월 9일
111 files+4264-4384
# Dynoblog에 RSS 안정성과 새로운 기능을 더하다
이번 업데이트에서는 dynoblog의 데이터 무결성과 사용자 경험을 크게 개선했습니다. 가장 중요한 수정 사항은 RSS 피드의 제어문자 문제인데, 이관 데이터에 포함된 제어문자로 인해 전체 피드가 무효 XML이 되던 심각한 버그를 해결했습니다. 이는 단순한 데이터 정제 문제가 아니라 XML 파싱의 엣지 케이스를 다루는 것이었기에, 제어문자를 안전하게 처리하는 로직을 추가하여 피드의 안정성을 보장했습니다. 동시에 비밀글과 예약글이 feed.json과 shuffle 기능으로 노출되던 보안 취약점 3건을 패치하면서 블로그의 신뢰성을 한층 강화했습니다.
새로운 기능 측면에서는 NASA 위성 이미지를 활용한 '/earth' 섹션을 추가했습니다. 매일 업데이트되는 지구 위성 이미지를 블로그에 노출함으로써 기술 콘텐츠에 시각적 감동을 더했습니다. 이 기능은 외부 API 통합과 일일 스케줄링 자동화를 필요로 했는데, 새로 작성한 주간 백업 및 콘텐츠 발행 스크립트 세트로 운영 자동화도 함께 개선했습니다.
코드 정리 작업도 병행했습니다. 죽은 코드 1,330줄을 제거하고 배포 크기를 24MB 줄였으며, 홈 페이지의 중첩된 캐시 계층을 단순화하고 CI 게이트를 강화했습니다. 이러한 리팩토링은 빌드 성능과 유지보수성을 동시에 개선했으며, 111개 파일의 변경을 통해 안정성과 성능의 균형을 맞추는 균형잡힌 개발 사이클을 만들 수 있었습니다.
커밋 기록
docs: 개발노트 — RSS 제어문자 항목 추가
01:43fix(rss): 이관 데이터 제어문자로 피드 전체가 무효 XML 이던 문제
01:43docs: 개발노트 — /earth 오늘의 지구 항목 추가
01:11fix(lint): 디자인 핸드오프 폴더를 ESLint 대상에서 제외
01:11feat(earth): 오늘의 지구 — NASA 위성 이미지 데일리
01:11docs: 개발노트 — 보안 P0 3건 + 성능·DX 리팩토링 항목 추가
23:14chore(scripts): 주간 백업 킷 · Turso 덤프 · 콘텐츠 발행 스크립트
23:10refactor: 죽은 코드 1,330줄·배포 24MB 제거 + 홈 캐시 중첩 해체 + CI 게이트
23:10fix(security): 비밀글·예약글이 feed.json·shuffle 로 새던 구멍 + admin AI 라우트 무인증
23:09