강경원
@theo백엔드 엔지니어. Java/Spring으로 밥 벌고, 사이드로 Next.js와 실시간 서비스를 만듭니다. 만들면서 배운 것들을 기록해요.
Vercel 무료 플랜에서 시간별 크론 돌리기
Hobby 플랜은 크론이 하루 1회 제한이라 시간별 작업이 막힌다. GitHub Actions 스케줄 워크플로로 우회한 방법.
Prisma + Supabase 연결, 삽질 포인트 세 가지
direct host DNS 실패, 서버리스 60초 타임아웃, pgbouncer 커넥션 제한 — Supabase에 Prisma 붙일 때 세 번 막힌 지점과 해결.
RSS 수집기를 만들며 겪은 현실적인 문제들
UA 차단, 소스마다 다른 스키마, 재수집 멱등성, 엔티티 디코딩 — RSS 수집기의 본체는 fetch가 아니라 정규화다.
결제 웹훅은 반드시 두 번 온다 — 멱등성 설계
웹훅은 최소 1회 전달 = 중복 각오. 이벤트 ID 유니크 제약 + 같은 트랜잭션, 상태 기계 조건부 UPDATE, 그리고 중복엔 200 응답.