j. kim jiyun
← 모든 프로젝트
개인 / 2026.07 –

DailyQ

매일 아침, 한 문제로 시작하는 기술 면접 준비. 발송의 중복과 누락을 서로 다른 실패로 다뤘습니다.

ROLE

기획·개발·인프라·운영 1인 전담

PERIOD

2026.07 –

STACK
Next.jsTypeScriptTailwind CSSJavaSpring BootMySQLAWS SESSQS
01 / CONTEXT

어떤 문제였나요?

FE·BE·AI 질문을 매일 아침 7시에 발송하는 구독 서비스를 직접 기획했습니다. 화면뿐 아니라 구독 상태, 콘텐츠 검수, 배치와 메일 인프라까지 책임졌습니다.

02 / CONTRIBUTION

이렇게 풀었습니다.

  1. 01

    더블 옵트인과 구독 상태 전이를 설계하고, 이메일·카테고리별 구독과 해지를 구현했습니다.

  2. 02

    발송 행의 존재와 완료 상태를 분리하고, 키셋 청크와 커서로 중단 지점부터 재개하도록 설계했습니다.

  3. 03

    SNS → SQS 피드백 처리에 DB 고유 제약과 애플리케이션 검사를 적용해 중복 수신에 대응했습니다.

  4. 04

    Claude API로 만든 초안은 직접 검수한 뒤 발행되도록 콘텐츠 흐름을 구성했습니다.

  5. 05

    Testcontainers 기반 실제 MySQL로 테스트 환경을 통일하고, 기술 결정 7건을 ADR로 남겼습니다.

03 / OUTCOME

결과와 배운 점.

서비스를 정식 오픈하고 FE·BE·AI 각 80개, 총 240개 질문을 검수했습니다. 외부 메일 발송의 in-flight 중복 가능성은 남아 있으며, 이를 설계 한계로 기록했습니다.

NEXT PROJECT

ETPS↗