자동화/블로그 Ghost MCP v1.0.1 업데이트기: 프로토타입에서 오픈소스 도구로 — 무엇이 달라졌나 v1.0.0 공개 후 2개월. "내 블로그용 스크립트"를 "오픈소스 도구"로 끌어올린 변화 — 테스트, 보안, 유연성, 온보딩 네 가지 영역의 성숙화를 한눈에 정리합니다.
백엔드/API설계 마크다운 3포맷 자동 감지 파서 설계: legacy, frontmatter, plain을 한 파서로 기존 사용자의 레거시 포맷을 깨지 않으면서 표준 frontmatter와 일반 마크다운까지 지원해야 했습니다. 감지 순서, fallback 설계, 그리고 strategy 패턴을 포기한 이유를 정리합니다.
백엔드/API설계 TypeScript로 읽기 전용 상태 표현하기: Ghost 'sent' 상태 타입 분리 설계 시스템이 자동 설정하는 상태를 타입으로 어떻게 강제할까요? Ghost 포스트의 sent 상태를 예시로, Read 타입과 Write 타입을 분리해 invariant를 컴파일 타임에 보장하는 설계 패턴을 정리합니다.
백엔드/API설계 Ghost API 태그 삭제가 안 되는 이유: 빈 배열과 PATCH 시맨틱의 함정 Ghost MCP 개발 중 발견한 태그 삭제 silent failure. spread-if 패턴이 PATCH 요청에서 왜 위험한지, 그리고 빈 배열을 명시적으로 전송해야 하는 이유를 정리합니다.
Ghost/설치-운영 Ghost 셀프 호스팅 블로그 TTFB 3.7초 → 0.4초: Cloudflare Cache Rule로 87% 속도 개선 Ghost CMS는 기본적으로 HTML에 max-age=0을 설정해서 Cloudflare 캐시가 작동하지 않습니다. Cache Rule 하나로 TTFB를 3.7초에서 0.4초로 줄인 방법을 공유합니다.
Ghost/설치-운영 Ghost 셀프 호스팅에서 Google AdSense ads.txt 설정하기 (NPM + Docker) Ghost는 정적 파일 서빙이 제한적이라 ads.txt를 직접 올릴 수 없습니다. NPM의 Advanced 설정에 location 블록을 추가해서 해결하는 방법을 정리했습니다.
자동화/블로그 Ghost MCP 서버 구축기: 블로그 66개 포스트 전수 감사 자동화 n8n 자동화의 한계를 넘어 MCP 서버를 만들고, 66개 포스트를 한 세션에서 전수 감사한 이야기
Ghost/설치-운영 Ghost 블로그 업그레이드 완벽 가이드 - Docker 환경에서 안전하게 버전 올리기 Ghost 셀프호스팅 블로그를 Docker 환경에서 안전하게 업그레이드하는 방법을 단계별로 설명합니다.
Ghost/설치-운영 Ghost 블로그를 Docker로 설치하고 HTTPS 적용하기 Cloudflare, Nginx Proxy Manager, Ghost를 Docker로 구성하여 프로덕션급 블로그 인프라를 무료로 구축하는 방법을 설명합니다.