이호영백엔드 엔지니어

eric250@naver.com·010-3421-6615·GitHub

프로젝트

InvestUP주식 초보자를 위한 교육형 모의 주식 트레이딩 서비스

서비스 · GitHub

프로그래머스 데브코스 백엔드 10기 최종 프로젝트 최우수상(1위)

진행 기간
2026.08.21 ~ 2026.09.15 (약 4주)
역할
5인 팀 · 백엔드(외부 API 연동 · 데이터 적재), 인프라 전담
기술 스택
Java 21 · Spring Boot 3.5 · Spring Data JPA · PostgreSQL · TimescaleDB · Flyway · Docker · OCI · Terraform
  1. 데이터 보존이 필요해진 시점에 Flyway 도입, 8일간 마이그레이션 17건 자동 반영포트폴리오 p.2
    • 환율·시세 데이터가 쌓여 DB 재생성이 불가능해지자 스키마 변경을 수동 DDL로 반영, 개발 서버 스키마가 git과 어긋남
    • 3단계 이관으로 약 6.5만 건 무손실 이관, 이후 팀원 각자가 직접 작성한 마이그레이션이 PR 병합만으로 반영
  2. 주식 초보자에게 실제와 같은 거래 경험을 주기 위해, 실제 호가 대신 가상 호가·부분 체결 방식 제안해 채택
    • 토스증권 API 한도(초당 15회)로 호가를 간격 두고 갱신하는 안이 나왔으나, 느린 호가는 실제 시장과 괴리감을 준다고 판단
    • 실제 호가가 필요하다는 전제를 버리고 수집된 현재가로 가상 호가 생성을 제안, 그 결과 추가 API 호출 없이 부분 체결까지 구현됨

READTHEM.md개발자의 도서 리뷰 플랫폼

서비스 · GitHub
진행 기간
2026.06.25 ~ 2026.07.10, 2026.07.23 ~ 2026.08.03 (약 4주)
역할
3인 팀 · 팀장 · 백엔드(도서 API 연동, 아키텍처 설계), 인프라 전담
기술 스택
Kotlin 2.3 · Spring Boot 4 · Spring Data JPA · Spring Security · Redis · MySQL · Docker · AWS · Terraform
  1. 국립중앙도서관 API 도서 590만 건 수집 파이프라인 구축, 전체 수집 6시간 24분 → 1시간 48분
    • 건마다 하던 조회·저장을 IN 조회·batchUpdate로 묶어 페이지(1,000건)당 DB IO 2,000번 → 2번
    • 응답 버퍼 한도 초과·ISBN 대소문자 충돌을 로그로 추적해 해결하고, 외부 API 오류는 로그를 남기는 방식으로 중단 없이 수집
  2. 소셜 로그인 직후 병렬 API 요청 6건 중 최대 5건이 실패하던 세션 경쟁 조건 해결포트폴리오 p.11
    • Spring Security 소스 추적, STATELESS와 무관하게 세션 고정 보호가 Redis 세션 키를 동시에 RENAME하던 원인 규명
    • 역할이 끝난 OAuth2 임시 세션을 로그인 성공 시점에 만료해 6건 모두 성공
  3. 미뤄둔 기술 부채를 아키텍처 규칙을 설계·반영해 해소하고, 리뷰 봇에 연결해 규칙 유지software-architecture.md
    • Controller가 DTO 변환·트랜잭션 경계를 맡고, 위젯 도메인이 타 도메인 서비스를 직접 의존했으며, 이름·용어도 제각각
    • DTO 변환·트랜잭션 경계를 Service로 옮기고, 타 도메인 의존 6건·이름 규칙 위반 4건 모두 해결, 이후 PR 4건에서 규칙 위반 11건 지적

경력·교육