leo.dev
$ ls tags/ / nestjs

#nestjs

4 posts

backend· 시리즈
브로커 없이 만든 아웃박스
상태를 바꾼 트랜잭션이 커밋된 뒤 메일이 fire-and-forget로 날아가 조용히 실패한다. 브로커 없이 테이블 하나로 묶고 워커를 돌렸더니, 이번엔 그 워커가 두 번 도는 문제와 안전장치가 조용히 멈추는 문제가 따라왔다.
2026.07.23 11 min read backend · outbox · transaction · idempotency · mysql · concurrency · nestjs
backend
N+1의 사례들
AI가 짠 코드에서 만난 N+1 사례들. 쿼리 하나가 무거운 경우는 무엇을 얼마나 가져오느냐에 따라 JOIN·집계·배치로 나뉘고, 배치를 제대로 하는 함수도 호출부가 루프에서 부르면 그 이득이 통째로 사라진다.
2026.06.14 7 min read typeorm · nestjs · n-plus-one · performance · mysql
backend· 시리즈
관측 도구를 켜는 순서와 SDK 충돌
분산추적·에러 수집·메트릭을 붙이는데 코드보다 켜는 순서에서 걸렸다. OpenTelemetry는 초기화가 늦으면 에러가 아니라 아무것도 안 하는 구현이 대신 들어가고, Sentry v8은 자기 추적 SDK를 하나 더 띄워 전역 컨텍스트를 두고 부딪친다.
2026.06.07 7 min read observability · opentelemetry · sentry · prometheus · nestjs
backend· 시리즈
요청 하나를 로그로 꿰는 ID
배치가 에러를 삼키고 조용히 끝나면 그 실패는 아무 데도 안 남는다. 로그를 읽을 수 있게 만드는 것부터 시작했다. AsyncLocalStorage로 요청 하나를 묶고, 호출처 64곳을 한 줄도 안 고치고 모든 로그에 그 ID를 붙였다.
2026.06.06 7 min read observability · nestjs · logging · async-hooks
↑↓ 이동 열기esc 닫기