홈시리즈멘토링

© 2026 정기창. All rights reserved.

본 블로그의 콘텐츠는 CC BY-NC-SA 4.0 라이선스를 따릅니다.

☕후원하기소개JSON Formatter러닝 대기질개인정보처리방침이용약관

© 2026 정기창. All rights reserved.

콘텐츠: CC BY-NC-SA 4.0

☕후원하기
소개|JSON Formatter|러닝 대기질|개인정보처리방침|이용약관

정기창 · 풀스택 개발자

매일 쓰고, 매일 빌드합니다.

NestJS 백엔드와 Next.js 프론트엔드를 하나의 모노레포에서 운영하며 겪은 시행착오, 그리고 AI를 개발 워크플로우에 녹이며 배운 것을 기록합니다.

시리즈로 읽기→소개
최신 글

바이브 코딩을 할 때, Git을 알아야 하는가

비개발자에게 바이브 코딩을 가르치다 마주친 첫 질문. Git, 터미널, 환경변수 — 어디까지 알려주고, 어디서 잠시 침묵해야 할까. 멘토링 현장에서 마주한 솔직한 고민을 정리했습니다.

2026. 4. 24.

@swc/jest로 갈았더니 NestJS Mongoose @Prop 28개가 깨졌다 — decoratorMetadata가 union을 collapse 안 하는 함정

@swc/jest로 갈아탄 뒤 CI에서 28개 테스트 suite가 한꺼번에 컴파일 실패했습니다. 원인은 SWC의 decoratorMetadata가 string literal union을 Object로 emit한다는 tsc와의 미묘한 차이. 13개 schema에 type: String을 명시해 해결한 기록입니다.

2026. 4. 23.

맥북에서 jest가 OOM 났는데, 알고 보니 macOS 메모리 지표가 거짓말이었다 — ts-jest에서 @swc/jest로

jest가 OOM 날 것 같아 중단했지만, 알고 보니 macOS의 Pages free 지표가 거짓말이었습니다. memory_pressure로 본 실제 여유는 87%. 진짜 원인은 Jest 기본 워커 수와 ts-jest의 V8 heap 부담이었고, @swc/jest로 이관해 heap 50%·속도 5배 개선한 기록입니다.

2026. 4. 22.

MCP 서버를 OAuth 2.1로 상주화하기 — LaunchAgent + 자동 재빌드 watcher (2편)

Claude Code용 MCP 서버를 OAuth 2.1 HTTP transport로 정식 연결하고, macOS LaunchAgent 두 개로 24/7 상주 + 1시간 주기 git 동기화 + 자동 재빌드까지 구축한 기록입니다. Discovery 흐름, mcpAuthRouter, PlistBuddy로 JWT Secret 안전 주입까지 실전 중심으로 정리했습니다.

2026. 4. 21.

MCP 서버 연결 실패 디버깅 — stdio vs HTTP transport 불일치 (1편)

claude mcp list에서 "Failed to connect"가 반복되던 MCP 서버를 추적하다 stdio와 HTTP Streamable transport의 근본 불일치를 발견했습니다. OAuth 도입 리팩토링이 남긴 흔적과 3가지 해결 경로, 그리고 제가 왜 OAuth 2.1 HTTP를 최종 선택했는지 정리했습니다.

2026. 4. 20.

GA4 Data API를 MongoDB에 일일 동기화하기 (4편)

실시간 자체 카운터와 별개로, GA4의 풍부한 차원(유입 채널·국가·디바이스·체류 시간)을 NestJS Cron으로 매일 한 번 MongoDB에 동기화한 기록입니다. pagePath 매핑, bulkWrite 멱등성, Slack 실패 알림까지 실제 운영을 가정해 정리했습니다.

2026. 4. 19.

쿠키 없이 24시간 고유 방문자를 추정하는 방법 (3편)

쿠키도 localStorage도 쓰지 않고 하루 안에서만 같은 독자를 알아보는 방법을 정리했습니다. Plausible의 daily salt 해시를 HMAC 기반 deterministic 방식으로 재구성하면서, 서버 재시작 안전성과 cross-day 추적 불가능성을 어떻게 확보했는지 기록했습니다.

2026. 4. 18.

Next.js + NestJS로 광고 차단 우회 조회수 카운터 만들기 (2편)

first-party 엔드포인트 하나로 광고 차단기를 우회하는 조회수 API를 만들었습니다. Next.js BlogViewTracker 확장, NestJS ViewsModule의 isbot·$inc·24시간 디바운스, view_logs 컬렉션 설계까지 정리했습니다.

2026. 4. 17.

기술 블로그가 GA4로 놓치는 트래픽 60%, 측정할 수 있을까 (1편)

GA4만 쓰는 개인 기술 블로그는 독자의 60% 이상을 놓치고 있을 수 있습니다. Plausible·Umami 등 셀프호스팅 대안을 비교해보고, MongoDB 스택에서 실제로 선택할 수 있는 길을 정리했습니다.

2026. 4. 16.

무엇을 배워야 하는가 - IT 외주 시장 적응기

SaaS를 뒤로하고 다시 이직·외주 시장의 문을 두드린 2주차의 기록. AI 시대, 전문성의 깊이(이직)와 넓이(외주) 사이에서 1인 개발자가 무엇을 먼저 갖춰야 할지에 대한 고민을 정리했습니다.

2026. 4. 15.
<이전12345...14>다음