$ ls tags/ / mysql
#mysql
2 posts
backend· 시리즈
락 없이 안 겹치는 인보이스 채번
INV-2026-00001 같은 채번은 유일·연속이어야 한다. 동시 발급 둘이 같은 번호를 받으면 회계 사고다. SELECT MAX+1도 비관적 락도 아닌, 단일 upsert로 직렬화하는 LAST_INSERT_ID 원자 카운터.
2026.06.01 2 min read backend · mysql · concurrency · typeorm
backend
실 DB에서만 드러나는 버그들
mock 유닛 테스트가 전부 초록인데 운영에서 동시 요청에 잔액이 음수가 됐다. 락도 트랜잭션 격리도 원자성도 mock엔 없다. 돈과 무결성이 걸린 코드는 mock green을 통과로 인정하지 않기로 했다.
2026.05.20 2 min read backend · testing · concurrency · integration-test · mysql