바이브 코딩을 할 때, Git을 알아야 하는가
비개발자에게 바이브 코딩을 가르치다 마주친 첫 질문. Git, 터미널, 환경변수 — 어디까지 알려주고, 어디서 잠시 침묵해야 할까. 멘토링 현장에서 마주한 솔직한 고민을 정리했습니다.
@swc/jest로 갈아탄 뒤 CI에서 28개 테스트 suite가 한꺼번에 컴파일 실패했습니다. 원인은 SWC의 decoratorMetadata가 string literal union을 Object로 emit한다는 tsc와의 미묘한 차이. 13개 schema에 type: String을 명시해 해결한 기록입니다.
jest가 OOM 날 것 같아 중단했지만, 알고 보니 macOS의 Pages free 지표가 거짓말이었습니다. memory_pressure로 본 실제 여유는 87%. 진짜 원인은 Jest 기본 워커 수와 ts-jest의 V8 heap 부담이었고, @swc/jest로 이관해 heap 50%·속도 5배 개선한 기록입니다.
Claude Code용 MCP 서버를 OAuth 2.1 HTTP transport로 정식 연결하고, macOS LaunchAgent 두 개로 24/7 상주 + 1시간 주기 git 동기화 + 자동 재빌드까지 구축한 기록입니다. Discovery 흐름, mcpAuthRouter, PlistBuddy로 JWT Secret 안전 주입까지 실전 중심으로 정리했습니다.
claude mcp list에서 "Failed to connect"가 반복되던 MCP 서버를 추적하다 stdio와 HTTP Streamable transport의 근본 불일치를 발견했습니다. OAuth 도입 리팩토링이 남긴 흔적과 3가지 해결 경로, 그리고 제가 왜 OAuth 2.1 HTTP를 최종 선택했는지 정리했습니다.
실시간 자체 카운터와 별개로, GA4의 풍부한 차원(유입 채널·국가·디바이스·체류 시간)을 NestJS Cron으로 매일 한 번 MongoDB에 동기화한 기록입니다. pagePath 매핑, bulkWrite 멱등성, Slack 실패 알림까지 실제 운영을 가정해 정리했습니다.
쿠키도 localStorage도 쓰지 않고 하루 안에서만 같은 독자를 알아보는 방법을 정리했습니다. Plausible의 daily salt 해시를 HMAC 기반 deterministic 방식으로 재구성하면서, 서버 재시작 안전성과 cross-day 추적 불가능성을 어떻게 확보했는지 기록했습니다.
first-party 엔드포인트 하나로 광고 차단기를 우회하는 조회수 API를 만들었습니다. Next.js BlogViewTracker 확장, NestJS ViewsModule의 isbot·$inc·24시간 디바운스, view_logs 컬렉션 설계까지 정리했습니다.
GA4만 쓰는 개인 기술 블로그는 독자의 60% 이상을 놓치고 있을 수 있습니다. Plausible·Umami 등 셀프호스팅 대안을 비교해보고, MongoDB 스택에서 실제로 선택할 수 있는 길을 정리했습니다.
SaaS를 뒤로하고 다시 이직·외주 시장의 문을 두드린 2주차의 기록. AI 시대, 전문성의 깊이(이직)와 넓이(외주) 사이에서 1인 개발자가 무엇을 먼저 갖춰야 할지에 대한 고민을 정리했습니다.