설계 문서 40개를 먼저 쓰고 사이트를 만든 이유
처음 블로그는 HTML·CSS·JS 몇 개 파일이었습니다. 그다음엔 블로그 엔진(Ghost)을 설치했지만 글은 “Coming soon” 하나뿐이었고, 언어는 영어, 시간대는 UTC, 메일 설정 없이 회원 가입만 열려 있었습니다. 동작하지 않는 입구가 열려 있는 상태였습니다.
설계를 먼저
그래서 코드를 쓰기 전에 무엇을 만들지부터 문서로 정했습니다. 제품 요구사항, 정보 구조, 디자인 시스템, 데이터 모델, API, 권한, 보안, 검색, AI, 배포, 복구… 40개 문서가 되었습니다.
그리고 비교
설계만 있으면 이미 잘 돌아가는 것을 버리기 쉽습니다. 그래서 운영 중인 시스템과 설계를 항목마다 나란히 놓고 판정했습니다.
| 판정 | 뜻 | 예 |
|---|---|---|
| 채택 | 설계대로 | 정적 생성, 사이트 검색 |
| 변형 | 둘을 합치거나 환경에 맞게 | 승인은 별도 DB 대신 GitHub PR |
| 유지 | 이미 더 나은 현행 | 채팅의 검색·안전 엔진 |
| 보류 | 조건이 생기면 | 소셜 로그인 댓글 |
예를 들어 설계는 AI 질문을 위해 검색 공급자를 새로 고르자고 했지만, 채팅에는 이미 검색 엔진 자동 전환·개인정보 제거·내부망 차단이 구현되어 있었습니다. 새로 만들 이유가 없었습니다.
남긴 원칙
- 글은 Git 에, 게시는 릴리스 태그로. 문제가 생기면 이전 태그로 1분 안에 되돌립니다.
- 번역이 없는 페이지를 원문으로 몰래 대신 보여 주지 않습니다.
- 보안 헤더는 앱마다가 아니라 앞단에서 한 번에.