Java/Spring Backend Engineer

정산·승인·송금처럼실패 비용이 큰 도메인을안정적으로 설계합니다.

Club Minish와 정산 시스템에서 293+ merged PR로 approval workflow, 비용확정 snapshot, Outbox/SQS 재처리, KMS/Terraform 운영 경계를 구현했습니다. 실제 코드는 공개하지 않고 문제, 설계 판단, 운영 효과를 일반화해 기록합니다.

대표 기술 글

면접에서 바로 설명하기 좋은 설계 경험을 승인, 장애 격리, 정산, 마이그레이션, 인프라 순서로 정리했습니다.

전체 글 보기

SSO 통합 로그인에서 IdP, authorization code, BFF를 이해하기

통합 로그인 설계에서 IdP, authorization code, PKCE, BFF, sender-constrained token이 각각 어떤 문제를 해결하는지 정리한 글입니다.

문제 해결 흐름

대표 사례를 보완하는 장애 격리, 비용 확정, 마이그레이션, 보안 경계 기록입니다.

글 목록 보기

승인 전 운영 데이터를 보호하는 이벤트 검수 설계

입점업체 이벤트 생성/수정 요청을 실제 Event와 분리하고, JSONB snapshot과 approvalGroupId로 승인 전 운영 데이터 오염을 막은 설계 기록입니다.

  • Domain Modeling
  • Approval

init-db에서 Flyway와 ECS one-off migration으로 넘어간 기록

운영 직전 init-db 기반 초기화 흐름을 Flyway baseline, reference data migration, ECS one-off task, 병원 온보딩 API로 나누며 겪은 문제와 해결을 정리한 기록입니다.

  • Flyway
  • PostgreSQL

가격 재계산 실패가 이벤트 저장을 막지 않게 분리한 설계

이벤트 저장과 가격 재계산을 같은 트랜잭션에 묶지 않고 Outbox, after-commit listener, SQS 재처리 경로로 장애를 격리한 설계 기록입니다.

  • Outbox
  • SQS

Flyway 도입과 dev ECS 전환을 같이 리허설한 기록

init-db를 Flyway baseline으로 바꾸는 과정에서 리뷰로 발견한 문제, 기존 RDS adoption, Terraform/RDS 함정, dev ECS 전환 리허설까지 이어진 실제 작업 로그입니다.

  • Flyway
  • PostgreSQL
01

상태 전이를 먼저 본다

데이터가 언제 바뀌고, 언제 더 이상 바뀌면 안 되는지를 기준으로 API와 테이블을 설계합니다.

02

실패 경로를 데이터로 남긴다

외부 API와 비동기 작업은 실패를 전제로 두고 멱등성, outbox, retry 경로를 둡니다.

03

운영자가 설명할 수 있게 만든다

승인, 송금, 비용확정처럼 민감한 작업은 이력과 산출 근거를 남겨 추적 가능하게 합니다.