서른 명 해커톤 신청서를 D1으로 받은 이야기
연재 · 해커톤 준비 일지
3편
- 01블로그를 시작합니다
- 02행사가 취소되던 날, 신청 화면을 닫는 순서
- 03서른 명 해커톤 신청서를 D1으로 받은 이야기
클라이언트가 계산한 금액을 믿지 않기
신청 화면에서 회원/비회원 여부에 따라 참가비를 미리 보여 주더라도, 실제 D1에 저장되는 금액은 항상 서버가 다시 계산해야 합니다.
TS
const FEE = { 회원: 10000, 비회원: 30000 } as const;
const fee = FEE[membership];한 번의 쿼리로 정원 마감 처리
동시 접수가 몰려도 정원(30명)을 넘기지 않도록 트랜잭션과 상태 필드를 분리해 뒀습니다.