01핵심 개요
| 항목 | 내용 |
|---|---|
| 주제 | 바이브코딩으로 쿠폰 기능을 만들 때 반드시 결정해야 할 7가지 정책 |
| 핵심축 | 코드는 AI의 몫, 의사결정(정책)은 사람의 몫 |
| 결론 | 정책이 비면 코드는 동작해도 돈이 새고, 회원가입·탈퇴 정책과 연결해야 부정사용을 막음 |
| 화자 | 헤이제임스 (AI 쉽게 배우기) |
02핵심 내용 구조
- 치킨 1000원 사태: 신규 가입 15,000원 쿠폰 + 최소주문 16,000원 매장 → 치킨 한 마리 1,000원, 탈퇴·재가입 반복으로 악용. 해킹이 아니라 "재가입에 신규 쿠폰을 줄 것인가"라는 정책 하나가 비어 있던 문제
- 한 줄 vs 실전 프롬프트: "쿠폰 코드 입력 시 할인" 한 줄이면 5분 만에 동작하지만, 실제 서비스는 정액/정률·최소주문·최대할인·1인 사용횟수·환불복원 조건을 명시해야 함
- 7가지 결정: ①발급 방식(자동/공개코드/관리자 지정) ②적용 방식(코드 입력 vs 쿠폰함) ③중복(한 주문 1장 vs 겹침) ④적용 범위(세일 제외·최소주문·최대할인) ⑤유효기간(만료 알림 여부) ⑥환불 시 쿠폰 복원 ⑦부정사용(재가입 방지)
- 서버 검증 원칙: 화면 금액은 조작 가능하므로 할인 금액은 반드시 서버에서 재계산, 결제 있는 모든 기능의 원칙
- 동시성·트랜잭션: 마지막 1장을 두 명이 동시 클릭하면 100장 한정에 102장이 나갈 수 있음 → DB 트랜잭션으로 수량을 잠가야 하며, 레일즈 등 풀스택 프레임워크는 요구 시 내장 처리
- AI를 기획 파트너로: 실전 프롬프트 끝에 "정하지 않은 정책이 있으면 먼저 질문해줘"를 넣으면 발급 상한·소수점 올림·킬스위치 등 잠재 손실을 질문으로 하나씩 막아줌
03기술 맥락
쿠폰은 기술적으로 정액 할인(5,000원)과 정률 할인(10%)으로 나뉘며, 정률에는 100만 원 주문에 10% = 10만 원이 깎이는 함정이 있어 최대 할인 금액이라는 안전장치가 필요하다. 강연자는 루비온레일즈 풀스택 구성을 사용해 외부 서비스 없이 쿠폰·주문·관리자 화면을 한 프레임워크에서 처리하고, SQLite3 DB로 코드 레벨에서 관리해 백업도 파일 복사로 끝낸다.
04전략적 의미
- 정책이 곧 자산: 같은 기능이라도 만료 알림 유무에 따라 매출이 되거나 컴플레인이 됨 → 정책 설계 역량이 개발보다 중요
- 기능 간 연결성: 회원가입의 소프트 딜리트·재가입 정책이 쿠폰의 부정사용을 막아줌, 각 기능을 따로 만들면 사이 빈틈으로 돈이 샘
- 경험의 프롬프트화: 환불 복원 같은 조건은 운영해 본 사람만 프롬프트에 넣을 수 있음, 실전 프롬프트는 곧 운영 경험의 목록
05핵심 워크플로우 / 평가 포인트
06활용 시나리오
- 바이브코딩 실무: 쿠폰·결제 등 돈이 걸린 기능을 만들 때 7가지 정책을 체크리스트로 프롬프트에 명시
- AI 기획 협업: "정하지 않은 정책은 먼저 질문해줘"로 AI를 기획 파트너화해 잠재 손실을 사전 차단
- 부정사용 방어: 회원 탈퇴·재가입 정책과 쿠폰 발급 정책을 연결 설계해 재가입 악용을 원천 차단
07현황 및 전망
바이브코딩 시대에는 쿠폰 같은 기능 구현이 쉬워졌지만, 정책을 프롬프트로 넣지 않으면 AI가 알아서 다 처리해주지 않는다. 코드는 AI가, 발급·적용·중복·범위·기간·환불·부정사용 등 의사결정은 사람이 내려야 하며, 강연자는 앞으로도 서비스 설계에 필요한 정책들을 하나씩 다룰 예정이다.
08용어 사전
| 용어 | 한줄 설명 | 비유/예시 |
|---|---|---|
| 정액/정률 할인 | 고정 금액 vs 비율로 깎는 쿠폰 | 5,000원 할인 vs 10% 할인 |
| 서버 검증 | 화면이 아닌 서버에서 금액 재계산 | 브라우저 조작 방지 |
| 트랜잭션 | 동시 접근 시 데이터를 잠가 정확성 보장 | 계산대에 한 명씩 세우기 |
| 소프트 딜리트 | 실제 삭제 대신 삭제 표시만 남김 | 재가입 악용 추적용 |
| 킬 스위치 | 배포된 쿠폰을 즉시 비활성화 | 기존 보유자는 유효기간까지 사용 |
