Java / Spring 백엔드 개발자
기존 동작(계약)을 깨지 않으면서 제품을 개선하는 것을 우선합니다.
하나를 고르기 전에 여러 접근을 비교하고, 그 근거를 테스트와 문서로 남깁니다.
磨斧作針 — 도끼를 갈아 바늘을 만든다.
- 계약을 지키는 변경 — 새 기능을 빠르게 넣는 것만큼, 기존 동작을 깨지 않는 변경을 중요하게 봅니다. 인증·인가와 외부 연동 API의 정상·예외 흐름을 테스트로 고정합니다.
- 비교 후 결정 — S3 업로드 방식 3종을 k6로 비교하고, Redis 분산 락과 Lua 스크립트를 비교하는 식으로, 하나를 택하기 전에 대안을 실측·검토합니다.
- 판단을 기록으로 남기기 — 변경 이유와 영향 범위를 코드 리뷰와 문서에 남겨, 다음 사람이 맥락을 잃지 않게 합니다.
- #1562 — SQS partial acknowledgement 처리 개선
DeleteMessageBatch의 부분 실패를 성공/실패 메시지로 분리하고, 매핑이 불확실할 때는 배치 전체를 실패시켜 메시지 유실을 막는 fail-safe 경로를 추가. 코드·회귀 테스트·문서까지 반영해main에 병합.
eGovFramework/egovframe-common-components-msa-krds
- #5 — 불변 객체 String 재생성 감소를 위한
replace→unescapeHtml4전환 해당 PR은 Close되었지만 내용은 main branch에 반영되었으며, 주석이 추가된 상태로 메인테이너가 직접 추가했습니다. - #2 — README 문서 개선
- DON'T — 핀테크 인증 서비스. JWT + Redis 기반 인증, PostgreSQL. 동시성 제어에서 Redis 분산 락 vs Lua 스크립트를 비교해 선택.
- AskPlace — S3 업로드 파이프라인. pre-signed URL 등 업로드 방식 3종을 k6로 벤치마크해 결정하고, Lambda 콜백에서 시크릿 키 검증으로 요청 신뢰성 확보.
- ProTalkAll — 실시간 통화 서비스. WebRTC / STOMP 기반, MySQL. Jenkins·Docker·Nginx로 배포 파이프라인 구성.
- Bridge — 실시간 오버레이 번역기. (SW창의역량 Gold Award)




