Backend Engineer · Available for Opportunities

안영재

Backend Engineer

API 설계부터 결제 정산·운영 자동화까지,
서버리스 백엔드 전 사이클을 단독 책임진 엔지니어

Scroll

숫자로 증명하는 개발 역량

단독으로 설계하고 구현한 서버리스 백엔드 시스템의 정량적 성과입니다.

🔌
0
엔드포인트 단독 설계·구현
REST API 설계부터 Supabase Edge Functions 배포까지 전 과정 단독 수행
🛡️
0
배포 후 크리티컬 버그
120+ 테스트 케이스 직접 작성 및 Postman 시나리오 검증으로 무결성 달성
⚙️
0
DB 트리거 & 자동화 파이프라인
pg_cron, pg_net 기반 운영 자동화. 멤버십 갱신·정산을 무인 처리
💳
0
포인트 이중 차감 (결제 멱등성)
보상 트랜잭션 + DB UNIQUE 제약으로 결제 정합성 완벽 보장
🤖
0
구현 시간 단축 (Cursor AI)
AI 코드 생성 + 5단계 검증 프로세스로 30~40% 개발 속도 향상
🧪
0
테스트 케이스 직접 작성
경계값, 레이스 컨디션, Silent Failure 등 엣지 케이스 전수 검증

직접 설계하고 단독 구현한 시스템

기획·설계·개발·테스트·배포까지 전 사이클을 책임진 백엔드 프로젝트들입니다.

🌐
MateU · Social System
소셜 피드 & 관계 시스템

팔로우/팔로잉 기반 소셜 피드 시스템 및 미디어 접근 제어 아키텍처를 단독 설계·구현했습니다. 사용자 관계, 미디어 보안, 성능 최적화를 동시에 해결했습니다.

4-tier 미디어 접근 제어 (공개 / 팔로워 / 구독자 / 비공개)
Signed URL 기반 미디어 보안 — 미인증 직접 접근 완전 차단
JOIN 쿼리 + 커서 페이지네이션으로 N+1 문제 해결, 응답 40% 개선
RLS 정책 설계로 DB 레벨 데이터 격리 보장
TypeScript Supabase Edge Functions PostgreSQL RLS Signed URL pg_cron
Notion에서 자세히 보기 →
💎
MateU · Membership
멤버십 구독 & 유료 콘텐츠 시스템

월정액 멤버십 구독 자동 갱신, 포인트 결제, 유료 콘텐츠 접근 제어를 포함한 결제 인프라 전체를 구축했습니다. 결제 정합성과 자동화가 핵심이었습니다.

보상 트랜잭션(Compensating Transaction)으로 부분 실패 자동 롤백
pg_cron + pg_net 기반 멤버십 자동 갱신 파이프라인 구축
Silent Failure 차단 — Cron 실행 결과 로깅 및 알림 체계
UNIQUE 제약 + 배열 검증으로 포인트 이중 차감 완전 방지
Deno pg_cron pg_net PostgreSQL Triggers RLS
Notion에서 자세히 보기 →
🛒
E-Commerce · Payments
E-Commerce 스토어 & 결제/정산 시스템

이커머스 전체 백엔드를 단독 구축. 단순 1개 테이블에서 5개 정규화 테이블로 DB를 마이그레이션하고, TossPayments JWE 암호화 연동 및 3-way 정산 파이프라인을 완성했습니다.

DB 스키마 마이그레이션: 1테이블 → 5테이블 정규화 (무중단)
TossPayments JWE(JSON Web Encryption) 암호화 결제 연동
판매자·플랫폼·구매자 3-way 정산 자동화 파이프라인
TossPayments PostgreSQL Node.js JWE
Notion에서 자세히 보기 →
🧠
AI/ML · LLM
LLM Fine-Tuning & PEFT 실전 구현

백엔드 개발자로서 AI 서비스 통합 역량을 확보하기 위해 LLM 파인튜닝을 독학·실습했습니다. LoRA·QLoRA 원리부터 OpenAI API 통합, 데이터 품질 파이프라인까지 구현했습니다.

LoRA(저랭크 행렬 분해) · QLoRA(4-bit NF4 양자화) 원리 실습 구현
7단계 파인튜닝 프로세스: 모델 선택 → 데이터 준비 → 학습 → 배포
데이터 품질 필터링 파이프라인 (GPT-4o 합성 데이터 + 수동 golden data)
OpenAI API 백엔드 통합 및 프롬프트 엔지니어링
Python LoRA QLoRA PEFT OpenAI API
Notion에서 자세히 보기 →

백엔드 풀 사이클 기술

서버리스 함수 작성부터 DB 설계, 클라우드 인프라, AI 통합까지 다룰 수 있는 기술 스택입니다.

Languages & Runtime
TypeScript JavaScript Deno Node.js Python
Database & Backend
PostgreSQL Supabase RLS (Row Level Security) pg_cron pg_net DB Triggers
Cloud & Serverless
Supabase Edge Functions Serverless Architecture AWS SAA 취득
Payment & Integration
TossPayments JWE (JSON Web Encryption) 결제 멱등성 설계 정산 파이프라인
AI/ML & Tools
OpenAI API LoRA / QLoRA PEFT Cursor AI Git Postman Swagger

실전에서 마주친 문제와 해결

운영 중 발생한 버그와 설계 이슈를 직접 발견·분석·해결한 5가지 실전 케이스입니다.

📄
커서 페이지네이션
실시간 피드 중복·누락
문제
offset 방식에서 새 게시물 삽입 시 피드 항목이 중복 노출되거나 누락되는 현상 발생
원인
페이지 요청 사이에 새 데이터가 삽입되면 offset 기준이 밀려 동일 데이터를 두 번 조회하거나 건너뜀
해결
published_at 기준 커서 페이지네이션으로 전환. WHERE published_at < :cursor 조건으로 삽입 영향 완전 차단, 응답 속도 40% 개선
구독 만료 권한 누수
Cron 주기 사이 시간차
문제
만료된 구독 사용자가 Cron 실행 전 갱신 없이 유료 콘텐츠에 계속 접근하는 권한 누수 발생
원인
접근 제어 로직이 status = 'active'만 확인. Cron 미실행 구간의 경계값 케이스를 처리하지 않음
해결
status = 'active' AND expired_at > NOW() 이중 검증 적용. Cron 실행 여부와 무관하게 실시간 만료 판정 보장
🔇
결제 Silent Failure
갱신 알림 미발송
문제
Cron 자동 갱신 후 HTTP 200 응답이지만 알림이 발송되지 않아 실패 여부 파악 불가
원인
anon 권한으로 pg_net 호출 시 RLS 정책 충돌로 내부 오류가 묵살. 성공 응답 코드만 반환됨
해결
Cron에 SERVICE_ROLE 키 적용으로 RLS 우회. message_errors 테이블로 실패 건 별도 추적 및 재시도 파이프라인 구축
🗄️
DB 마이그레이션
1 → 5 테이블 정규화
문제
장바구니 기능 추가 요건에서 store_orders 단일 테이블 구조로는 확장 불가. 데이터 중복·정합성 문제 심각
원인
초기 설계 시 주문·상품·결제·배송 정보가 한 테이블에 비정규화되어 저장됨
해결
5테이블 정규화: orders / order_items / cart / payments / deliveries로 분리. 3-way 정산 파이프라인 동시 구축
💰
포인트 오적립
distribution_rate 기준 오류
문제
포인트 적립 금액이 기대값과 다르게 계산되는 오적립 버그 발생. 일부 상품에서만 재현
원인
distribution_rate가 null인 상품에서 fallback 로직이 잘못된 기본값을 사용. 상품 소스 우선순위 로직 부재
해결
product_source최우선 판단 기준으로 재정립. null 체크 + 명시적 fallback 체인 구성으로 모든 상품 유형 정합성 보장

Cursor AI를 페어 프로그래밍 파트너

AI는 구현 속도를 책임지고, 엔지니어는 비즈니스 로직과 엣지케이스 검증에 집중하는 개발 방식입니다.

🤖
구현 시간 30~40% 단축 → 확보된 시간을 비즈니스 로직에 투자
Cursor AI를 단순 코드 생성 도구가 아닌 페어 프로그래밍 파트너로 활용했습니다. Edge Function 보일러플레이트, TypeScript 타입 자동화, SQL 트리거 초안 생성으로 반복 작업을 제거하고, 절약한 시간을 결제 엣지케이스 검증, RLS 보안 설계, 멱등성 보장 로직에 집중 투자했습니다.
⚡ 구현 시간 30~40% 단축 🛡️ 비즈니스 로직 검증 집중 📋 120+ 테스트 케이스 커버
⚙️
Cursor AI 활용 패턴 4가지
  • Edge Function 보일러플레이트 자동 생성 — Deno + Supabase 패턴 반복 제거
  • TypeScript 타입 자동화 — DB 스키마 기반 인터페이스 즉시 생성
  • SQL 트리거 초안 생성 — pg_net HTTP 호출 트리거 패턴 자동화
  • 테스트 시나리오 목록 생성 — 레이스 컨디션 등 엣지케이스 목록화
AI 코드 5단계 검증 프로세스
  • 1단계 — 초안 생성: Cursor로 구조화된 프롬프트 기반 코드 생성
  • 2단계 — 요구사항 점검: 비즈니스 로직 오류 및 누락 조건 검토
  • 3단계 — 타입 체크: deno check로 TypeScript 정적 검증
  • 4단계 — 로그 확인: Supabase 대시보드로 실행 결과 추적
  • 5단계 — 리팩토링: 유지보수성·일관성 기준으로 코드 정제
🧠
Human-Verified Zone
AI가 놓치기 쉬운 영역 — 직접 시나리오 테스트로 검증
🔒
RLS 권한 허점 role별 데이터 격리 직접 검증
⏱️
구독 만료 경계값 expired_at 기준 엣지케이스
💳
결제 멱등성 동시 요청 이중 차감 시나리오
🔄
Cron 재실행 안전성 멱등성 보장 여부 직접 확인
🚨
Silent Failure 탐지 200 OK 뒤에 숨은 실패 추적
🧪
레이스 컨디션 동시 구독 갱신 충돌 테스트

배운 것을 글로 정리합니다

개발 과정에서 배운 기술과 트러블슈팅 경험을 솔직하게 기록합니다.