|
숲을 보는 개발자 |
풀스택 개발자 | 2025.02 - Present
매입 배치 아키텍처 개선 - 장애 격리 (기여도 100%)
- 기간: 2025.12 - 2026.01
- 기술: Java, MyBatis Batch, EventBus, Graceful Shutdown
- 문제 상황:
- For문 내 단건 실패 시 전체 배치가 무한 실패하는 구조
- 2초 Interval Daemon 구조로 처리 지연 시 주기 불규칙
- 에러 알람 부재로 장애 인지까지 시간 지연
- 해결 과정:
- Fail-Fast 검증 패턴으로 For문 진입 전 조기 실패 감지
- 에러 격리 테이블과 재시도 상한(5회)으로 장애 전파 차단
- MyBatis BATCH 모드로 대량 INSERT 성능 최적화
- FDS를 EventBus 기반 비동기로 분리, 트랜잭션 경계 축소
- 성과: 단건 오류가 전체에 영향 없는 구조로 개선, 장애 복구 시간 대폭 단축
- 관련글: 크리스마스에 터진 매입 장애, 아키텍처로 해결하다
가맹점 인증/인가 시스템 마이그레이션 - Spring Security 4.2.5 도입 (기여도 100%)
- 기간: 2025.12
- 기술: Spring Security, Session, Google OTP, Nginx
- 문제 상황:
- SessionInterceptor 단일 의존, 세션 관리 DB 테이블 부재
- 클라이언트 주도 세션 타임아웃 처리로 보안 취약
- URL 직접 입력(Forced Browsing) 및 파라미터 변조 차단 불가
- 해결 과정:
- Spring Security Filter Chain 기반 인증/인가 체계로 전환
- 커스텀 SessionFilter로 Referer 검증, Forced Browsing 차단
- UserDetails 상속으로 레거시 JSP 세션 객체 호환 유지
- 파일 다운로드 경로 노출 방지 (임시 토큰 방식 전환)
- 배포 전략: 무중단 배포 미지원 환경에서 개발 서버는 마이크로 리팩토링, 운영 서버는 그랜드 리팩토링 방식 적용
- 성과: Forced Browsing/파라미터 변조 차단, 표준 인증 체계 구축, 보안취약점 점검 기준 통과
- 관련글: 레거시 인증/인가 시스템 Spring Security 4.2.5로 마이그레이션 하기 | Spring redirect와 리버스 프록시의 함정
대용량 데이터 조회 성능 최적화 - N+1 쿼리 문제 해결 (기여도 100%)
- 기간: 2025.09
- 기술: MariaDB, SQL, INDEX, Query Profiling
- 문제 상황:
- 매입내역 조회 시 4만건 로딩에 30초 소요 (VIEW 남용, N+1 문제)
- 승인내역 조회 시 4만건 로딩에 43초 소요 (JOIN 키 인덱스 부재)
- 해결 과정:
- VIEW 해체 후 직접 쿼리로 변경, N+1 문제를 JOIN으로 해결
- 조인 키 컬럼에 인덱스 추가
- 성과:
- 매입내역 조회 30초 → 2초 (93% 단축)
- 승인내역 조회 43초 → 4초 (91% 단축)
- 관련글: SQL 쿼리 튜닝으로 실적 쌓자
실시간 정산/지급대행 Batch 재설계 (기여도 100%)
- 기간: 2025.08
- 기술: Java, Thread, Daemon, ExecutorService, MariaDB
- 문제 상황:
- 정산 배치와 지급 이체 모듈이 분리되어 "사이클 간극" 발생
- "작업 완료 후 대기" 방식으로 정산 완료 시점 예측 불가
- 5분 정산 설정인데 실제로는 10~13분 소요되어 가맹점 민원 발생
- 해결 과정:
- 정산 데이터 생성 → 잔액 증대를 하나의 흐름으로 통합
- "작업 완료 후 대기" → "5분 간격 정각 실행" 방식으로 변경
- 지급 이체 모듈에 Thread Pool 기반 병렬 처리 구조 추가
- 건별 트랜잭션으로 실패 건 재처리 용이하게 설계
- 성과: 5분 정산이 실제로 5분 뒤에 완료되도록 개선, 가맹점 민원 감소
- 관련글: 실시간 정산/지급대행 배치 리팩토링기
지급대행 개발 (기여도 33%)
- 기간: 2025.06 - 2025.08
- 기술: Java, Spring MVC, 금융 VAN API
- 금융 VAN을 통한 지급대행 API 연동 개발 및 Batch 모듈 개발
레거시 DAO의 트랜잭션 문제 해결 (기여도 100%)
- 기간: 2025.05
- 기술: Java, Spring Transaction Manager, JdbcTemplate, ThreadLocal, HikariCP
- 문제 상황:
- 지급대행 서비스 신규 개발시 입출금 내역과 잔액 업데이트 시 트랜잭션 미보장으로 금액 불일치 위험
- 디컴파일된 협력사 DAO 라이브러리가 Auto Commit 모드로 작동하여 부분 실패 시 롤백 불가능
- @Transactional 무효화 (AutoCommit=true)
- 레거시 DAO의 Statement 사용 및 문자열 결합 방식의 보안 취약점 확인
- 해결 과정:
- 디컴파일을 통한 레거시 라이브러리 동작 원리 분석
- 리플렉션으로 레거시 HikariDataSource 획득, 이중 커넥션 풀 방지
- JdbcTemplate + TransactionTemplate 기반 Wrapper 클래스 설계
- NamedParameterJdbcTemplate으로 파라미터 바인딩 방식 전환
- 성과: 신규 DAO로 교체를 통해 금융 거래 원자성 확보 및 SQL Injection 취약점 제거
- 관련글: 레거시 DAO의 트랜잭션 문제, JdbcTemplate Wrapper로 해결하기
차액정산 시스템 현대화 - Spring Batch 기반 재설계 (기여도 100%)
- 기간: 2025.05
- 기술: Spring Batch, Quartz, Java, MySQL, AWS S3
- 문제 상황:
- 크론탭/쉘스크립트 기반 Plain Java로 운영되던 레거시 시스템의 불안정성
- PG사별 상이한 가이드라인으로 인한 코드 중복 및 개별 결과 테이블 관리
- 신규 PG사 추가 시 차액정산 과정 전체 코드 재작성 필요로 테스트 포함 3주의 개발 기간 소요
- 해결 과정:
- Spring Batch 기반 모듈형 아키텍처로 전면 재설계
- 데이터 세팅, 파일 생성, 업로드, 주기적 결과 수신, 데이터 업데이트를 독립적인 Task로 분리
- PG사별 인터페이스 추상화로 PG사 추가 시 기존 Task 수정 없이 구현체만 추가하는 구조 확립
- PG사별 결과 테이블을 통합 테이블로 일원화
- 성과: PG사 추가 소요 시간 3주 → 1일 (95% 단축, 테스트 기간 제외), 아웃소싱 비용 절감
- 관련글: 레거시 차액정산 시스템을 Spring Batch로 현대화하기
정산대사 API 개발 (기여도 100%)
- 기간: 2025.05
- 기술: Java, Spring MVC, REST API
- 단독 정산대사 API 기능 개발 및 가이드 작성, 배포, 문의 응대
풀스택 개발자 | 2024.04 - 2025.02
정산 시스템 재구축 - PHP에서 Spring Boot로 마이그레이션
- 기간: 2024.04 - 2024.10
- 기술: Spring Boot, JSP, jQuery, MySQL, AWS
네트워크/시스템 엔지니어 | 2023.11 - 2024.01
- 고객사 기술 지원 및 네트워크 환경 구축
- VPN, 방화벽 설정 등 네트워크 보안 구현
- Windows 및 Linux 기반 시스템 유지보수
MSA 미술품 경매거래 플랫폼 | 2023.08 - 2023.09
- WOORI FIS ACADEMY 1기 Cloud Engineering (2023.04 - 2023.09)
- 핀테크 IT 인재 양성 교육 과정
- 우리 FIS 현직자 강의를 통한 금융 도메인 기술 이해
- UDEMY X STARTERS 3기 Backend (2022.11 - 2023.03)
- 클라우드 기반 백엔드 개발자 양성 교육
- 실무자와의 면접 및 코딩테스트 경험
- 리눅스 마스터 2급 (2023.06.30)
- SIAT Mate 온라인 튜터 (2023.11 - 2023.12)
- SK C&C X 행복한 학교재단
- IT 진로 희망 청년장애인 대학생 Java 멘토링
항상 새로운 기술을 배우고 성장하는 개발자가 되겠습니다.





