한정현

사용자 경험을 고민하는 백엔드 개발자

📧 han950717@gmail.com

☎️ 010-3103-6790

💻 https://github.com/letsgojh0810

📝 https://letsgojh.site

지식 공유와 원활한 협업을 핵심 가치로 여깁니다.

팀 내 합의된 코딩 컨벤션 및 커밋 규칙을 철저히 준수하여 협업 중 발생할 수 있는 소통 비용을 낮추고 전반적인 코드 유지보수성 향상에 기여합니다.

AI Agent를 실무에 통합하여 생산성을 극대화하는 데 집중하고 있습니다.

Claude Code 기반의 멀티 에이전트 워크스페이스를 기획·구현했습니다. 커스텀 훅과 자동화 스킬 설계를 통해 반복적인 PR 생성·명세 문서화·1차 코드 리뷰 프로세스를 템플릿화하여 팀 단위 워크플로우를 효율적으로 표준화하고 있습니다.

학력

한성대학교

2017.03 ~ 2023.02

IT공과대학 컴퓨터공학부 학사 (휴학 기간 내 군 복무 및 개인 개발 역량 수련)

기술

Dev Java, Spring Boot, React, Vite

AI & 생산성 Claude Code, MCP Server, Cursor, Codex

Infra & DevOps AWS, Kubernetes, Docker, Apache Kafka, Git, Linux

Observability ELK Stack, OpenTelemetry, Grafana

Database PostgreSQL, Redis, MySQL, Oracle, DB2

대외활동

우리FISA 클라우드 엔지니어링 4기

2024.12 ~ 2025.06

클라우드 인프라, Kubernetes, MSA, DevOps, 모니터링 등 실무 중심 교육 이수

팀 프로젝트 Guardians — Kubernetes 기반 모의해킹 트레이닝 플랫폼 (5인, 2025.05)

경력

인젠트

2025.11 ~ 재직 중

개발팀

우리은행 파견, FEP 기반 MCI 솔루션 버전 업그레이드

  • FEP 기반 MCI 솔루션 4.0 → 5.0 메이저 버전 업그레이드 (우리은행 파견)
  • 우리은행 연계 인프라 인터페이스 스펙 요구사항 정의 및 비즈니스 연계 로직 반영
  • FEP MCI 솔루션 과거 장애 이력 추적으로 잠재 장애 유발 요인 식별, 예외 처리 로직 보완으로 금융망 연계 시스템 운영 안정성 제고

에이치투오시스템테크놀로지

2022.07 ~ 2024.08 · 2년 1개월

연구개발센터 · 사원

금융·보험사 고객사 대상 모바일 푸시 솔루션 개발, 다수 고객사 운영 환경 안정화

  • MySQL → IBM DB2 마이그레이션: 두 DBMS 간 옵티마이저 동작 특성 차이로 인한 실행 계획(EXPLAIN) 변화를 전수 분석, 인덱스 힌트 조정 및 수백 개 쿼리 구조 최적화로 성능 저하 리스크 원천 차단 후 운영 이관
  • 메리츠화재 앱/웹 푸시 관리자 웹페이지 신규 개발: 수작업 발송 프로세스 자동화를 위해 요구사항 조율~Oracle DB 스키마 설계~MyBatis 기반 API 개발~배포까지 백엔드 생명주기 전체 주도
  • 20개 금융·보험사 FCM XMPP→HTTP v1 무중단 전환: 발송 공백 방지를 위해 구/신 프로토콜 병렬 운영 구간 설계 및 중복 발송 방지 분기 로직 구현, 고객사별 10만 건 사전 검증으로 발송 정합성 99% 입증 후 안정적 이관 완수 (6개월)

문제 해결

FCM XMPP → HTTP v1 프로토콜 전환

에이치투오시스템테크놀로지 · 2023.07 ~ 2024.01

Google 서비스 종료 기한 내 다수 금융·보험사 고객사 무중단 전환 완료

Java, Spring Boot, Google OAuth 2.0, FCM HTTP v1

개요

Google이 FCM XMPP 연결 방식의 종료 일정을 공지함에 따라, 자사 푸시 솔루션에 연동된 다수 금융·보험사 고객사의 앱 푸시를 HTTP v1 API로 일괄 전환. 서비스 중단 없이 기한 내 완료해야 한다는 제약 조건 하에 고객사별 전환 일정과 검증을 조율.

주요 작업

  • OS별 HTTP v1 API 적용 및 Google OAuth 2.0 서비스 계정 인증 통합
  • 고객사마다 상이한 앱 구성을 파악하고 개별 전환 계획 수립
  • 기존 XMPP 로직과 HTTP v1 로직을 병렬 운영하는 구간을 설계해 전환 중 발송 공백 방지
  • 전환 후 고객사별 발송 성공률 및 오류 로그 모니터링

고려한 것

  • 고객사가 여럿이고 앱 구성이 제각각이라 일괄 처리 불가 — 고객사별 개별 전환 계획을 세우고 순차 진행
  • 전환 중 구 방식과 신 방식이 공존하는 구간에서 중복 발송이 나지 않도록 분기 처리에 집중

결과

  • Google 서비스 종료 기한 내 다수 고객사 무중단 전환 완료
  • 전환 전후 발송 성공률 동등 수준 유지, 고객사 장애 보고 없음

메리츠화재 앱/웹 푸시 관리자 웹페이지 신규 개발

에이치투오시스템테크놀로지 · 2023.01 ~ 2023.05

기획~운영 릴리즈 전 과정 담당, 수작업 발송을 웹 시스템으로 전환

Spring Boot, MyBatis, Oracle, Swagger

개요

메리츠화재 앱/웹 대상 푸시 발송 관리 시스템 신규 개발. 고객사 담당자와 직접 소통하며 요구사항 정의·화면 설계·DB 설계·API 개발·운영 배포까지 전 과정 참여.

주요 작업

  • 발송 대상 조건 설정, 발송 이력 관리, 통계 조회 기능 설계 및 구현
  • Oracle DB 스키마 설계 및 MyBatis 기반 쿼리 작성
  • Swagger 기반 API 문서화로 클라이언트팀과의 인터페이스 협의 및 연동 공수 절감
  • 고객사 담당자와 직접 요구사항 조율, 기획 문서 작성 및 변경 이력 관리

고려한 것

  • 기술 맥락을 모르는 고객사 담당자와 소통해야 했기 때문에, 요구사항을 기능 단위로 쪼개어 단계적으로 확인받는 방식으로 진행
  • 운영 환경 배포 후 수정이 어려운 특성상, DB 설계와 API 스펙 확정을 개발 착수 전에 문서로 고정

결과

  • 기획부터 운영 릴리즈까지 5개월간 완수
  • 기존 수작업 발송 프로세스를 웹 기반 관리 시스템으로 전환, 운영팀 발송 업무 효율화

DB Migration — MySQL → IBM DB2

에이치투오시스템테크놀로지 · 2022.07 ~ 2022.09

레거시 시스템 DB 전환, SQL 호환성 검토 및 쿼리 튜닝

MySQL, IBM DB2, SQL

개요

자사 솔루션의 DB를 MySQL에서 금융권 표준 환경인 IBM DB2로 전환. 기존 쿼리의 문법 호환성 검토부터 데이터 타입 매핑, 성능 검증까지 담당.

주요 작업

  • MySQL과 DB2 간 SQL 문법 차이 분석 및 전체 쿼리 호환성 검토
  • 데이터 타입 매핑표 작성 및 변환 스크립트 작성
  • 전환 후 주요 쿼리 실행 계획 비교, 성능 저하 구간 식별 및 튜닝

고려한 것

  • DB2의 옵티마이저 동작 방식이 MySQL과 달라 동일한 쿼리라도 실행 계획이 달라지는 경우 발생 — 인덱스 힌트 및 쿼리 구조 조정으로 대응
  • 운영 전환 전 테스트 환경에서 충분한 실행 계획 검증을 거친 후 적용

결과

  • 기능 동등성 유지하며 DB 전환 완료, 성능 저하 없이 운영 이관

개인 프로젝트

claude-code-hud

Claude Code용 실시간 터미널 HUD — npm 배포 오픈소스 · GitHub

Node.js, ink, chokidar, Anthropic API, npm

개요

Claude Code 세션의 토큰 소비·비용·git 상태를 별도 터미널 패널에서 실시간으로 시각화하는 CLI 도구. npx claude-code-hud로 즉시 설치 가능한 npm 패키지로 배포.

주요 기능

  • Anthropic API 연동으로 5시간·주간 사용량 및 비용 실시간 집계 (OK/MID/WARN 상태 색상 표시)
  • 토큰 분류(input / output / cache-read / cache-write) + 일별 비용 누적 집계
  • git-aware 파일 브라우저 (M/A/D 색상 코딩), 소스 뷰어 스플릿 패널, API 엔드포인트 탐지
  • git 탭: 브랜치 ahead/behind, diff 시각화, 인라인 브랜치 스위처
  • 세션 프롬프트 타임라인 (사용자 입력 이력·타임스탬프)
  • 한국어 키보드 레이아웃 대응 (ㅓ/ㅏ → j/k), macOS·Windows 크로스플랫폼

고려한 것

  • Claude Code 자체가 터미널 전체를 점유하기 때문에, tmux 보조 패널에서 독립적으로 동작하도록 설계 — chokidar로 JSONL 세션 파일을 감시하며 화면 전환 없이 상태를 반영
  • 터미널 UI 라이브러리(ink)와 React 선언형 모델을 채택해 상태 변경 시 최소 재렌더링

결과

  • 토큰 소비·비용·git 상태를 전환 없이 파악할 수 있어 Claude Code 세션 전체 흐름 파악이 용이해짐
  • 캐시 히트율·잔여 컨텍스트를 실시간으로 인지하며 프롬프트 전략을 조정할 수 있어 AI 활용 효율 개선

대규모 트래픽 티켓 예매 시스템

1,000명 동시 접속 환경에서 선착순 좌석 판매 정합성 검증 · GitHub

Java 17, Spring Boot 3, Redis, Redisson, Apache Kafka, Prometheus, Grafana, Docker Compose

개요

다수의 사용자가 동시에 동일한 좌석을 예매하려는 시나리오에서 데이터 정합성을 보장하는 티켓 예매 백엔드 구현. 분산 락·큐 기반 동시성 제어와 이벤트 기반 알림 디커플링을 실험적으로 적용.

주요 작업

  • DB 락 경합 성능 저하 해소를 위해 Redisson RLock 기반 상호 배제(Mutual Exclusion) + Redis SortedSet FIFO 대기열 큐를 결합한 유입량 제어 아키텍처 설계
  • Redis SortedSet FIFO 큐: 스케줄러가 초당 100명씩 활성 대기열로 승격, 동시 활성 사용자 100명으로 제한
  • Apache Kafka로 결제 완료 후 이메일/SMS 알림을 비동기 디커플링
  • TTL 기반 Redis 키 만료로 대기 세션 메모리 자동 정리
  • Prometheus + Grafana로 처리량·지연 시간·큐 길이 실시간 모니터링

고려한 것

  • 단순 DB 유니크 제약만으로는 초당 수백 건의 동시 요청이 몰릴 때 락 경합이 심해짐 — 애플리케이션 레이어에서 분산 락으로 직렬화하고, 나머지는 큐로 순서를 보장
  • Facade 패턴·Rich Domain Model을 적용해 동시성 로직이 서비스 계층에 분산되지 않도록 캡슐화

결과

  • 동시 접속 1,000명·좌석 100개 부하 테스트 환경 구축, 분산 환경 정합성 제어 메커니즘 검증 — 초과 판매 0건, 데이터 정합성 100% 달성