프로젝트 배경
【 프로젝트 배경 】 1) 문제점 퀴즈 리워드 앱 리팩토링 공고는 (1) API 응답 속도 개선, (2) 포인트 서버 검증, (3) 차감 트랜잭션 안정화, (4) 어뷰징 방지를 동시에 요구했습니다. 공고 담당자는 평균 30초 안에 역량을 판단하는데, 단일 GitHub 링크에서 4개 영역을 한 번에 실측 데이터로 증명할 수 있는 포트폴리오가 없었습니다. 2) 프로젝트 목표 Docker Com
프로젝트 성과
쿼리 응답 93.8% 단축
10만 건 MySQL 환경에서 복합 인덱스 + Redis 캐시 적용 결과 13.81ms → 0.85ms.
인덱스 단독 86.7%↓, 캐시 추가 53.6%↓ 기여도를 3-way 분리 측정으로 독립 증명.
인덱스 단독 86.7%↓, 캐시 추가 53.6%↓ 기여도를 3-way 분리 측정으로 독립 증명.
동시 차감 트랜잭션 완전 안정화
5회 동시 포인트 차감 요청에서 정확히 1회만 성공, 4회 거부.
단일 connection + FOR UPDATE + 낙관적 락으로 레이스 컨디션 완전 차단. 최종 잔액 20포인트 정확 보존.
단일 connection + FOR UPDATE + 낙관적 락으로 레이스 컨디션 완전 차단. 최종 잔액 20포인트 정확 보존.
5중 어뷰징 방어 구조 구현
JWT·Rate-limit·HMAC-SHA256 요청 서명·Redis SETNX 중복 가드·서버 산정 상한을
계층별 독립 동작으로 구현. 동일 sessionKey 재제출 시 409, 임계치 초과 시 429 반환
계층별 독립 동작으로 구현. 동일 sessionKey 재제출 시 409, 임계치 초과 시 429 반환
핵심 기능
진행 단계
환경 구성 및 데이터 세팅
2026.05.
Docker Compose로 MySQL 8.4 + Redis 8 + Express 5 환경 구성.
10만 건 시드 데이터 생성 및 마이그레이션 스크립트 작성.
10만 건 시드 데이터 생성 및 마이그레이션 스크립트 작성.
프로젝트 상세
【 프로젝트 상세 】 ─── 1) 포트폴리오 소개 ─── 퀴즈 리워드 앱 백엔드 최적화 데모입니다. Node.js + MySQL 8.4 + Redis 환경에서 쿼리 응답 속도 개선, 포인트 차감 트랜잭션 안정화, 5중 어뷰징 방어 구조를 단일 GitHub 링크에서 30초 안에 검증할 수 있도록 설계했습니다. - 퀴즈 리스트 API 응답시간 13.81ms → 0.85ms (93.8% 단축)







