Notes & Writing · 6 posts

해결한 문제와
그때의 판단들.

왜 문제가 생겼고, 어떤 대안을 선택했는지. 구현 범위와 직접 검증한 결과, 남은 과제를 함께 기록합니다.

백엔드 · 리팩토링

연동 분기가 몰린 300줄 메서드를 변경 이유별 5단계로 나누기

기존 기능 위에 외부 시스템 연동이 계속 덧붙으며 300줄 이상으로 커진 교육 기능 메서드를, '변경되는 이유'를 기준으로 5개 단계로 분리하고 연동 처리를 핵심 업무 로직에서 떼어낸 과정을 정리했습니다.

#Refactoring#LegacyCode#SystemIntegration#SpringBoot
백엔드 · 아키텍쳐 · 트러블슈팅

대용량 배치와 외부 연동을 안전하게 만들기: Outbox 패턴 적용기

RabbitMQ 컨슈머 타임아웃을 넘겨 43시간 동안 약 50회 재실행되던 월 배치를, 컨슈머 타임아웃 상향 대신 Transactional Outbox 구조로 바꿔 해결한 과정을 정리했습니다.

#Outbox패턴#TransactionalOutbox#대용량배치#Transactional
Spring Boot

Google Play 인앱 결제 영수증 검증과 처리

Spring Boot와 Google Cloud API를 사용해 Google Play 인앱 결제 영수증을 검증하고 처리하는 과정과 오류 해결 방법을 정리합니다.

#In-App Purchase#Google Play#Google Cloud#OAuth2