pyrimidine.dev

Search

Find posts by title, tag, or summary.

블로그를 열었습니다

블로그 처음 시작합니다

Updated 2026.09.162 min read

This post is written in Korean.

Contents
  1. 사이트 구성
  2. 글 쓰고 배포하기
  3. 먼저 써볼 글

개발하면서 겪은 일 중에 ADR이나 테스트로만 남겨 둔 내용이 꽤 있습니다. 그리고 개발 공부를 하면서 기록을 남기고 이것들을 글로도 정리해 보고 싶어서 블로그를 만들었습니다.

Next.js로 만든 포트폴리오 사이트가 따로 있긴 합니다. 거기에는 이력서에 넣을 수치와 프로젝트 설명을 정리했고, 여기에는 운영하면서 생긴 문제나 해결 과정을 좀 더 자세히 써보려고 합니다. 글 하나 올릴 때마다 사이트까지 손보게 되지는 않았으면 해서, 마크다운 파일을 추가하고 푸시하면 배포까지 이어지도록 해뒀습니다.

사이트 구성

Astro로 정적 HTML을 만들고 Cloudflare Workers의 static assets로 배포합니다. 브라우저에서 실행하는 자바스크립트는 넣지 않았습니다.

포트폴리오는 Next.js에 OpenNext를 붙여 Workers에서 돌리고 있는데, 블로그에도 그 구성을 그대로 가져올 필요는 없겠다 싶었습니다. 글을 수정할 때 HTML을 다시 만들면 되니 요청마다 서버에서 처리할 일이 없었습니다.

배포는 Pages 대신 Workers를 썼습니다. wrangler.jsonc에 도메인을 지정하고 custom_domain: true를 설정하면 DNS 레코드와 인증서를 Cloudflare가 만들어 줘서 도메인 연결이 편했습니다. Pages로도 만들 수 있지만, 새 프로젝트에는 Workers를 권장한다는 안내도 있어서 이번에는 Workers로 정했습니다.

글 쓰고 배포하기

새 글은 명령어로 만듭니다.

npm run new -- grpc-js-compression "grpc-js 응답 압축이 안 되는 이유"

실행하면 src/content/blog/grpc-js-compression.md가 생깁니다. 이 파일에 본문을 쓰면서 npm run dev로 확인하고, 다 썼으면 draft: false로 바꿔 main에 푸시합니다. 이후에는 Cloudflare가 저장소를 받아 빌드하고 배포합니다. 글 목록과 RSS, 사이트맵도 빌드할 때 같이 만들어지도록 했습니다.

글 검사도 하나 넣었습니다. 초안을 AI에게 맡길 때가 있는데, 읽다 보면 평소에는 쓰지도 않는 표현이 들어가곤 합니다. 빌드 전에 실행하는 npm run lint:prose에서 “결론적으로”, “시사하는 바가 크다” 같은 표현이나 이중 피동을 찾습니다. 거창한 도구는 아니고 정규식 몇 개입니다.

규칙은 im-not-ai의 분류에서 필요한 것만 추렸습니다. 이런 표현을 매번 눈으로 찾는 대신 먼저 표시해 주도록 하고, 문장은 직접 읽으면서 고치려고 합니다.

먼저 써볼 글

grpc-js 응답 압축이 안 돼 헤더로 우회한 일도 있었고, 코레일 GIS 좌표를 선로상의 거리로 바꿔 통과 시각을 구하기도 했습니다.

지금은 ADR과 테스트에 남아 있는 내용들인데, 당시 어떤 문제가 있었고 왜 그렇게 처리했는지 하나씩 풀어서 써보려고 합니다.

Comments

Loading comments.

The password is only used to delete your comment.