연구원 · 백엔드개발팀
2023.08 – 재직 중 (2년 10개월)
MAU 최대 10만 규모의 웅진북클럽 서비스의 백엔드 개발 및 레거시 시스템 개선 작업을 맡고 있습니다.
북클럽 3.0 백엔드 구조 개선 및 도서관 서비스 신규 구축
2026.04 – 현재
Java 17 · Spring Boot 3.2 · JPA · PostgreSQL · Spring Batch · AWS EKS · NCP · SK CDN
- 멀티모듈 아키텍처 구성 — 서비스별로 흩어져 util을 중복 관리하던 기존 구조(북클럽 2.0)의 비효율을 해소하기 위해, 공통 모듈(Core)·데이터 접근(Infra)·비즈니스 로직(Service)으로 분리한 멀티모듈 구조로 재구성. 공통 코드 중복을 제거하고 서비스별 독립성과 유지보수성을 확보
- DRM 자체 구축 및 내재화 — 기존 외부 업체의 DRM 모듈이 지원 중단으로 유지보수가 불가능한 의존성으로 남자, AES-GCM·RSA-OAEP 기반 DRM을 자체 설계하여 교체. NCP Object Storage 및 SK CDN과 연동해 안전한 콘텐츠 서빙 환경을 확보하고 외부 의존 리스크 제거
- 데이터 정합성 및 성능 확보 — Spring Batch 기반 MariaDB → PostgreSQL 이관 후 ISBN 기반 매칭 검증 배치로 수만 건의 데이터 무결성을 확보하고, 벌크 IN 쿼리·DB 페이징 도입으로 주요 API 쿼리 호출을 약 40% 감소
공부방 회원 계정 자동 발급 시스템 설계 및 개발
2026.01 – 2026.05
Java 21 · Spring Batch 5 · MyBatis · Oracle · MariaDB
- 로그인 방식 개편 주도 — 기존에는 사용자가 패드에서 별도 인증 절차를 거쳐 회원 코드로 로그인해야 했던 구조를, 오더 정보를 사전 조회해 배치로 ID/PW를 자동 발급하고 발급된 계정으로 즉시 로그인하는 방식으로 시스템 자체를 개편하여 인증 절차 간소화
- 레거시 쿼리 전환 — 10년 이상 유지되며 담당자 부재로 이력 파악도 어려워진 공부방 서버의 비즈니스 로직이 Stored Procedure에 묶여 수정이 불가능한 상태였음. 핵심 로직인 회원 권한 체크와 과목 조회를 MyBatis 기반 벌크 쿼리로 재구현하여 코드 레벨에서 관리·개선 가능한 구조로 회복
- 전환 안정성 검증 — 기존 SP 실행 결과와 신규 쿼리 결과를 비교하는 테스트 코드를 작성하여 동등성을 검증, 레거시 전환 과정에서의 데이터 변질 위험 차단
- 배치 성능 8배 개선 — 건당 처리 방식을 IN절 벌크 조회 및 청크 단위 MERGE 구조로 변경하여 24만 건 처리 시간을 25~30분 내외로 단축
- 멀티 데이터소스 연동 — Oracle(원본)과 MariaDB(대상) 간 3-DB 연동 계정 발급 시스템 구축. 발급 데이터를 temp 테이블에 적재하는 스테이징 구조로 설계해 장애 시 롤백이 가능하도록 하여 데이터 무결성 보장
기존 20여 개 서비스 운영 및 성능 개선
2023.08 – 현재
Java 8 · Java 11 · Spring Legacy · MyBatis · Oracle · MariaDB
- 다수의 레거시 서비스 동시 운영 — 팀이 보유한 20여 개 교육 콘텐츠 서비스를 동시에 운영하며, 문서화가 부실한 다양한 도메인의 레거시를 빠르게 파악해 대응. 여러 기술 스택(Java 8/11, Spring Legacy 등)을 넘나들며 안정적으로 유지보수
- 복잡한 집계 쿼리 성능 최적화 — '도서 count' 등 대량 데이터 조회 시 발생하는 병목 쿼리를 분석/튜닝하여 기존 40초 응답 시간을 5초 이내로 단축
- 기술 부채 해결 — 레거시 분석 및 트러블슈팅 가이드를 연간 50건 이상 사내 위키에 기록하여 팀 온보딩 시간 단축