Skip to content
View Jimoou's full-sized avatar

Highlights

  • Pro

Block or report Jimoou

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Jimoou/README.md

Typing SVG

숲을 보는 개발자
백엔드, 클라우드, 네트워크, 프론트엔드에 이르기까지
소프트웨어 생명주기 전체를 아우르는 경험으로
넓은 시각으로 아키텍처를 고민하고,
비즈니스 요구 사항에 맞추어 빠르게 방향을 제시합니다.


Email Blog


Tech Stack


Backend

Frontend


💼 Work Experience & Projects

💳 주식회사 한국결제데이터

풀스택 개발자 | 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 기반 시스템 유지보수

📚 Personal Projects

ArteModerni

MSA 미술품 경매거래 플랫폼 | 2023.08 - 2023.09

  • 기술 스택: Spring Boot, Spring Cloud, Kafka, AWS, Firebase
  • 주요 기능:
    • Microservices Architecture 설계 및 구현
    • Kafka를 활용한 이벤트 기반 통신
    • 실시간 경매 시스템 구현
  • 링크: GitHub | YouTube

🎓 Education & Certification

📚 Boot Camp

  • WOORI FIS ACADEMY 1기 Cloud Engineering (2023.04 - 2023.09)
    • 핀테크 IT 인재 양성 교육 과정
    • 우리 FIS 현직자 강의를 통한 금융 도메인 기술 이해
  • UDEMY X STARTERS 3기 Backend (2022.11 - 2023.03)
    • 클라우드 기반 백엔드 개발자 양성 교육
    • 실무자와의 면접 및 코딩테스트 경험

🏆 Certification

  • 리눅스 마스터 2급 (2023.06.30)

🤝 Mentoring

  • SIAT Mate 온라인 튜터 (2023.11 - 2023.12)
    • SK C&C X 행복한 학교재단
    • IT 진로 희망 청년장애인 대학생 Java 멘토링

항상 새로운 기술을 배우고 성장하는 개발자가 되겠습니다.

Pinned Loading

  1. wooriFisa-Final-Project-F4/.github wooriFisa-Final-Project-F4/.github Public

    1

  2. springboot-microservices springboot-microservices Public

    Understand and implement typical MSA structures.

    Java 3

  3. springboot-kafka-tutorial springboot-kafka-tutorial Public

    로컬 환경에서 kafka를 간단하게 사용해보기

    Java

  4. Event-Driven-MicroServices-with-kafka Event-Driven-MicroServices-with-kafka Public

    simple project with use kafka

    Java