Photo Frame Maker — 2026년 3월 13일
7 files+92-30
# 블로그 엔트리
Photo Frame Maker 프로젝트에서 인프라 개선 작업을 완료했습니다. 주요 목표는 Vercel과 Cloudflare Worker를 활용한 하이브리드 아키텍처를 구축하는 것이었는데, 특히 블로그와 이미지 프레이밍 도구 간의 라우팅 충돌을 효과적으로 해결하는 데 집중했습니다. 기존의 rewrite 방식에서 routes 기반 접근으로 전환하면서 trailing slash 처리와 정적 파일 서빙 사이의 미묘한 충돌들을 하나씩 제거해나갔습니다. Claude AI의 도움을 받아 Vercel 설정 파일의 복잡한 regex 패턴들을 체계적으로 검토하고 최적화할 수 있었습니다.
인프라 개선과 병행해서 사용자 경험도 다듬었습니다. 블로그와 메인 도구 페이지 간의 네비게이션을 일관되게 유지하기 위해 상단 메뉴를 동적으로 적용했으며, "도구"라는 모호한 표현을 "사진 프레임 만들기"로 명확히 변경했습니다. About 페이지에도 동일한 네비게이션 스타일을 적용하여 전체 서비스의 일관성을 높였습니다. 동시에 상대 경로 기반의 이미지 업로드 처리로 다양한 배포 환경에 더욱 견고하게 대응할 수 있게 되었습니다.
이번 작업을 통해 마이크로서비스 환경에서의 라우팅 복잡성을 관리하는 방법과 Cloudflare D1 데이터베이스를 프로젝트에 통합하는 과정을 경험할 수 있었습니다. 특히 배포 플랫폼별 설정 차이를 이해하고 그에 맞게 아키텍처를 조정하는 것이 얼마나 중요한지 다시 한번 깨달았습니다.
커밋 기록
Merge pull request #68 from nohdaeyoung/claude/image-framing-webapp-G6Kaj
15:57Resolve vercel.json conflict: use routes instead of rewrites
15:48Use Vercel routes with filesystem handler and inline headers
15:41Switch vercel.json from rewrites to routes for blog proxy
15:39fix: Vercel trailingSlash 설정 추가 및 rewrite 패턴 수정
15:35fix: Vercel rewrite 패턴을 regex 캡처 방식으로 변경
15:33fix: Vercel rewrite 패턴을 명시적 slug 패턴으로 변경
15:30Merge claude/image-framing-webapp-G6Kaj into main
15:26feat: about.html에 블로그와 동일한 상단 네비게이션 메뉴 추가
15:20fix: 블로그 메뉴 '도구'를 '사진 프레임 만들기'로 변경
15:19fix: 블로그 소개 링크를 /about.html로 수정
15:19feat: 사이트 타이틀 설정을 블로그/메인 헤더에 동적 적용
15:18feat: Vercel에서 블로그/API를 Cloudflare Worker로 프록시 설정
14:54fix: 이미지 업로드 URL을 상대 경로로 변경
14:41fix: 블로그 라우팅 수정 - trailing slash 매칭 및 not_found_handling 복원
14:30fix: not_found_handling을 SPA 모드로 변경하여 Worker 라우팅 활성화
14:26chore: D1 데이터베이스 스키마 마이그레이션 파일 추가
13:59chore: D1 database_id 설정
13:55Fix wrangler commands to use npx for local resolution
08:50