백엔드크론 두 번 실행 방지, Postgres advisory lock으로 잠그기서버 2대에서 크론이 겹쳐 돌아 알림이 중복 발송될 때, Postgres advisory lock으로 실행을 하나로 잠그는 방법을 정리했어요.2026년 8월 16일·5분 읽기
백엔드Upstash Redis 무료 플랜 DB 1개, prefix로 나눠 쓰는 법Upstash Redis 무료 플랜은 DB가 1개예요. 여러 서비스가 키 prefix 규칙 하나로 한 Redis를 안전하게 나눠 쓰는 방법을 정리했어요.2026년 8월 15일·4분 읽기
백엔드Supabase 무료 플랜 7일 일시정지, Workers Cron으로 막기Supabase Free 프로젝트가 7일 비활동으로 잠드는 문제를 Cloudflare Workers Cron Trigger keepalive로 해결하는 방법을 정리했어요.2026년 8월 14일·4분 읽기
백엔드크레딧이 두 번 차감되는 버그, SELECT FOR UPDATE로 잡는 법동시 요청에 크레딧이 두 번 빠지는 race condition의 원인과 SELECT FOR UPDATE 락, 단일 트랜잭션으로 잡는 과정을 정리했어요.2026년 8월 13일·4분 읽기
백엔드다크모드 브랜드 색, 순수 반전 대신 서버 토큰으로 지키기다크모드에서 순수 반전을 걸면 브랜드 색상이 틀어져요. 시맨틱 토큰 2벌 저장과 서버측 초기 테마 주입으로 브랜드를 지키는 백엔드 관점을 정리했어요.2026년 8월 12일·4분 읽기
백엔드빈 일기장 첫 화면, 백엔드에서 초대장으로 바꾸기마음기록 앱의 텅 빈 첫 화면을 프론트가 아니라 백엔드에서 세 가지 상태로 나누고 초대장으로 바꾸는 과정을 정리했어요.2026년 8월 11일·4분 읽기
백엔드'사기 정리앱' 소리 듣는 앱, 백엔드로 정직함 증명하기계산기·정리 도구처럼 흔한 유틸리티 앱이 오해받는 이유와, 인증·API·데이터 구조로 정직함을 증명하는 백엔드 설계 이야기예요.2026년 8월 10일·5분 읽기
백엔드1인 개발도 '우리'라고 써도 될까 — 백엔드 actor로 정직하게혼자 만드는데 공지에 '저희가'라고 쓰기 애매할 때, 인원수 대신 시스템 주체를 로그·DB·발신자 필드에 정직하게 담는 백엔드 설계 이야기예요.2026년 8월 9일·5분 읽기
백엔드되돌릴 수 없는 삭제, 백엔드 안전장치는 어디까지?되돌릴 수 없는 하드 삭제 앞에서 소프트 삭제·유예 기간·감사 로그를 어디까지 넣을지 백엔드 관점으로 정리했어요.2026년 8월 8일·5분 읽기
백엔드캐시 만료 순간 DB로 몰리는 요청, single-flight로 막기캐시가 만료되는 찰나 수많은 요청이 한꺼번에 DB로 쏟아지는 Cache Stampede를, single-flight로 한 번만 계산하게 막는 백엔드 패턴을 정리했어요.2026년 8월 5일·5분 읽기
백엔드timestamptz vs timestamp, KST로 하루 밀린 날짜 버그 잡기포스트그레의 timestamp와 timestamptz 차이 때문에 KST 새벽 데이터가 하루 밀리던 집계 버그를 UTC 저장·표시 변환으로 잡은 방법이에요.2026년 8월 4일·5분 읽기
백엔드FastAPI를 Railway에 올렸더니 Supabase 커넥션이 고갈된 이유FastAPI를 Railway에 배포한 뒤 Supabase 커넥션이 금방 바닥나는 이유와 Supavisor 트랜잭션 풀링으로 해결한 과정을 정리했어요.2026년 8월 3일·5분 읽기
백엔드AI 요약 API 비용 폭탄 막기: max_tokens 하드캡과 Redis 레이트리밋클라이언트 제한만 믿으면 AI 요약 엔드포인트는 언제든 비용 폭탄이 돼요. 서버에서 max_tokens를 하드캡으로 고정하고 Redis로 호출 횟수를 막는 방법을 백엔드 관점으로 정리했어요.2026년 8월 2일·5분 읽기
백엔드FastAPI 응답을 camelCase로: Pydantic alias_generator 실전백엔드는 snake_case, 프론트는 camelCase. FastAPI에서 Pydantic alias_generator로 응답 키를 자동 변환해 프론트 계약을 맞춘 과정을 정리했어요.2026년 8월 1일·5분 읽기
백엔드감정 데이터 필드 암호화, pgsodium 대신 앱 레이어 AES-GCM을 택한 이유감정·건강 데이터 필드레벨 암호화를 DB 확장 대신 앱 레이어 AES-GCM으로 구현한 이유와 IV·키 관리 규칙, 트레이드오프를 정리했어요.2026년 7월 30일·5분 읽기
백엔드offset 페이지네이션이 느려지는 이유와 커서 전환기목록 API에서 offset 페이지네이션이 깊은 페이지일수록 느려지는 이유와, 커서(keyset) 방식으로 바꾸며 얻은 것과 포기한 것을 정리했어요.2026년 7월 29일·5분 읽기
백엔드크론 중복 실행, Postgres SKIP LOCKED와 advisory lock으로 막기인스턴스를 늘렸더니 크론이 두 번 도는 문제를, 새 라이브러리 없이 Postgres 잠금 두 가지로 막은 방법을 정리했어요.2026년 7월 28일·5분 읽기
백엔드결제 webhook 소비자 하드닝: HMAC·replay·멱등 3겹 방어결제 webhook을 안전하게 받으려면 HMAC 서명검증, replay 윈도우, 멱등 처리 세 겹이 필요해요. 백엔드에서 직접 붙이며 정리한 순서와 함정을 담았어요.2026년 7월 27일·5분 읽기
백엔드승인 버튼을 두 번 눌러도 안전한 이유: CAS와 멱등키승인 버튼을 두 번 눌러도 중복 처리되지 않게 막는 백엔드 패턴 — 멱등키(nonce)로 같은 요청을, CAS로 같은 상태 변경을 한 번만 처리하는 방법을 정리했어요.2026년 7월 26일·5분 읽기
백엔드중복 게시 0을 노리는 outbox 패턴외부 API 성공과 DB 기록 사이의 빈칸 때문에 생기는 중복 게시를 outbox 상태머신과 reconcile로 줄이는 실전 구조를 정리했어요.2026년 7월 25일·4분 읽기
백엔드FastAPI로 AI 요약 기능 붙이기: 실전 코드와 배포 체크리스트FastAPI에 AI 요약 엔드포인트를 붙이는 최소 코드와 배포 전 점검 항목 5가지를 1인 개발자 경험으로 정리했어요.2026년 7월 6일·4분 읽기
백엔드FastAPI로 환율·국채 금리 조회 API 만들기 초보 가이드실시간 환율과 국채 금리를 불러오는 조회 API를 FastAPI로 만드는 흐름을, 외부 API 호출부터 캐싱과 예외 처리까지 초보자 눈높이로 정리했어요.2026년 7월 2일·4분 읽기
백엔드n8n dataTable로 외부 DB 없이 자동화 데이터 쌓기자동화에 작은 저장소가 필요할 때마다 DB를 새로 띄우긴 부담스러워요. n8n 내장 dataTable로 학습 데이터를 쌓고 다시 꺼내 쓰는 실전 패턴을 정리했어요.2026년 6월 30일·4분 읽기
백엔드FastAPI와 Supabase로 만드는 로그인 예제FastAPI 백엔드에서 Supabase 인증으로 이메일 로그인을 붙이는 최소 예제를 따라 만들어봐요.2026년 6월 29일·4분 읽기
백엔드정적 블로그에 백엔드 붙이기 — Cloudflare Pages Functions + D1로 조회수·댓글·좋아요 만들기서버 없는 정적 블로그(Next.js export → Cloudflare Pages)에 조회수·좋아요·익명 댓글·방문자 통계를 붙인 방법이에요. 같은 배포에 Pages Functions와 D1만 얹어서, 따로 서버를 띄우지 않고 만들었어요.2026년 6월 27일·7분 읽기
백엔드Supabase RLS 설계 시 실제로 실수한 패턴 3가지Supabase Row Level Security를 처음 설정할 때 빠지기 쉬운 함정들이에요. CREATE TABLE이 anon 권한을 자동 부여한다는 게 가장 위험했어요.2026년 6월 25일·3분 읽기
백엔드유료 크레딧 차감을 안전하게 — SELECT FOR UPDATE와 단일 트랜잭션동시에 들어온 요청이 같은 잔액을 읽으면 크레딧이 이중으로 차감되거나 잔액이 음수가 될 수 있어요. 행 잠금과 단일 트랜잭션으로 막는 패턴, 그리고 결제 웹훅의 멱등 처리까지 정리했어요.2026년 6월 24일·4분 읽기
백엔드추상 아키텍처를 매니지드 서비스로 — 1인 개발자의 백엔드 빌딩블록교과서의 백엔드 아키텍처 개념을, 1인 개발자가 실제로 쓰는 매니지드 서비스에 1:1로 매핑해 정리했어요. 추상 개념을 매번 다시 고민하지 않으려고요.2026년 6월 21일·4분 읽기