TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
575655545352515049484746
Tools
jq로 JSON 다루기 — 터미널에서 API 응답 파싱
curl로 받은 JSON을 눈으로 읽기 힘들다면 jq다. 예쁘게 보기, 특정 필드 추출, 배열 필터·map까지 실전 문법을 정리한다.
Tools
curl 완벽 활용 — API 디버깅에 꼭 쓰는 옵션
Postman 켜기 전에 curl 한 줄이면 끝나는 게 많다. 헤더·본문 전송, 응답 헤더 보기, 리다이렉트 추적, 타이밍 측정까지 필수 옵션 정리.
Backend
GET과 POST 차이 — 진짜 핵심은 멱등성과 안전성
"GET은 조회, POST는 생성"은 절반만 맞다. 진짜 기준은 안전성(safe)과 멱등성(idempotent). 캐시·재시도·뒤로가기 동작이 여기서 갈린다.
Backend
HTTP 상태코드 제대로 쓰기 — 4xx와 5xx 구분
모든 에러를 200+에러메시지나 500으로 퉁치면 클라이언트·모니터링이 망가진다. 의미에 맞는 상태코드 선택 가이드.
AI
LLM 스트리밍 응답 구현 — SSE로 체감 속도 올리기
응답을 다 기다리지 말고 토큰을 흘려보내자. SSE 기본 구조, 프록시 버퍼링·중단 처리·에러 전송까지.
AI
LLM API 비용 줄이기 — 캐싱·모델 라우팅·프롬프트 다이어트
LLM 비용은 토큰에 비례한다. 프롬프트 캐싱·작은 모델 라우팅·컨텍스트 압축·출력 제한으로 같은 품질에 비용을 크게 낮춘다.
Backend
결제 API 멱등성(idempotency), 중복 결제 막기
네트워크 재시도·더블클릭으로 같은 결제가 두 번 일어난다. Idempotency-Key로 "한 번만" 보장하는 표준 패턴.
Backend
API rate limiting, 어떻게 구현하나 (토큰 버킷)
남용·DoS·비용 폭증을 막는 rate limit. 고정 윈도우의 경계 문제와 토큰 버킷·슬라이딩 윈도우 비교, Redis 구현.
Backend
API 페이지네이션, offset과 cursor 중 무엇을
offset/limit은 구현이 쉽지만 뒤로 갈수록 느리고 데이터가 밀린다. 무한 스크롤·대용량엔 cursor 기반이 정답.
Backend
Express에서 async 에러가 안 잡힐 때 — 핸들링 패턴
async 라우트에서 throw한 에러가 서버를 죽이거나 응답이 멈춘다. try/catch 래퍼나 express-async 패턴으로 중앙 처리.
Frontend
CORS 에러, 프론트엔드 잘못이 아니다 — 원인과 해결
CORS 에러는 브라우저가 띄우지만 해결은 서버에서 한다. 프록시·프리플라이트·credentials 설정까지 원인별 정리.
Backend
tRPC v11 + React Query v6 — 풀스택 타입 안전성의 끝판왕
tRPC v11과 React Query v6 결합으로 백엔드-프론트 타입을 한 줄로 공유. 인증·에러·캐싱 패턴과 6개월 운영 회고.