Backend Developer Portfolio

김진호

병목을 수치로 증명하고 개선하는 백엔드 개발자입니다. 파일 업로드 응답을 7.5초에서 1.2초로 단축했고, MSA 설계부터 멀티클라우드 인프라 구축까지 문제의 근본 원인을 코드와 구조로 해결합니다.

김진호 프로필
130배동시 업로드 성능 개선
7+주요 프로젝트
3회해커톤 / 캡스톤 수상
4개보유 자격증 (AWS SAA 외)

Experience

펄어비스 (Pearl Abyss) Backend Developer Intern

2026.01 - 2026.02

CS 티켓 처리 / 상태 이력 관리 기능 신규 구현, 레거시 코드 리팩토링

C# / .NET 8 ASP.NET Core MVC MS SQL / Dapper SignalR
  • CS 티켓 상태 전환(접수→처리중→완료) 및 이력 저장 기능 구현, ORM 없는 환경에서 SP + Dapper 기반 CRUD, 단일 SP 트랜잭션으로 상태 변경 / 이력 저장의 원자성 보장
  • SQL ROWVERSION 낙관적 락으로 동시 수정 충돌 감지, SignalR 실시간 화면 동기화 구현
  • CultureCode별 다국어 User Site 구조 설계, Admin/User 권한 분리 인증 / 인가 구현
  • 코드 리뷰에서 타 인턴 코드의 동시성 버그(락 없는 동시 수정 누락) 발견 / 수정 제안, 팀 코딩 컨벤션(계층 분리 / SP 표준 / 로그 레벨) 준수

Open Source

Uvicorn / httptools HTTP/2 h2c 파서 버그

2025.05

타 팀에서 겪던 원인 불명의 오류를 함께 추적해 업스트림 파서 버그로 규명하고 패치안을 제출했습니다.

Uvicorn httptools / llhttp Spring Boot 3.2 RestClient FastAPI RFC 7230
  • 증상: 타 팀에서 Spring Boot 3.2 RestClient로 FastAPI를 호출할 때 원인 불명의 422 Unprocessable Entity가 발생했습니다. 같은 요청을 ngrok으로 우회하면 정상 동작해 재현 조건부터 불명확했습니다.
  • 원인: Java 21 HttpClient는 평문 HTTP에서 Upgrade: h2c를 기본 전송합니다. Uvicorn은 이 업그레이드를 무시하지만 httptools 파서가 upgrade 상태에 머물러 on_body 콜백이 호출되지 않고 본문이 유실됐습니다. 서버가 업그레이드를 무시하고 진행하도록 허용한 RFC 7230 §6.7 위반입니다.
  • 기여: llhttp_resume_after_upgrade()로 HTTP/1.1 파싱을 재개하는 Cython 패치안과 재현 테스트를 첨부해 httptools에 이슈를 등록했습니다.
  • 결과: Uvicorn 디스커션에 리포트한 뒤 Java 17 HttpClient와 vLLM 등 서로 다른 환경의 개발자 3명이 동일 증상을 독립 확인, 메인테이너(Kludex)가 공식 이슈 #2722로 등록했습니다.
진단 경로
422 Unprocessable Entity 증상. 검증 오류를 가리켜 직렬화 문제로 오인하게 만듭니다
Upgrade: h2c 기본 전송 Java 21 HttpClient
파서가 upgrade 상태 유지 httptools (llhttp), on_body 미호출
RFC 7230 §6.7 위반 근본 원인. 설정 문제가 아닌 버그로 확정

클라이언트에서 C 파서 바인딩까지 3개 계층을 내려가 상태머신 버그로 확정

HTTP 상태 코드는 원인이 아니라 증상입니다. 422는 검증 실패를 가리키므로 직렬화와 Content-Type을 먼저 의심하게 되는데, 실제 원인은 그보다 두 계층 아래인 파서 상태머신에 있었습니다. 프록시를 거치면 정상 동작한다는 사실도 애플리케이션 코드만 보면 설명되지 않습니다.

내 코드에서 답이 안 나올 때 라이브러리 소스와 RFC까지 내려가 확인하는 것, 그리고 재현 테스트와 패치안을 함께 올려 남이 검증할 수 있게 만드는 것을 이 건으로 익혔습니다.

Featured Projects

More Projects

Biz_News

해커톤 2등

최신 뉴스 요약 서비스. FastAPI로 뉴스 수집 → 요약 → 추천 파이프라인 구성, LangChain + OpenAI 요약 / 벡터 임베딩, Neo4j 기업 연관도 그래프 시각화

Spring Boot / FastAPI / Neo4j / Redis / Docker 자세히 보기 →

SMUNITY

10만+ 방문

상명대 졸업요건 검사 사이트. 컴퓨터과학과 19학번이 모여 만든 프로젝트로 누적 방문자 10만 명 이상 달성

Python / Django / NGINX / Docker / AWS 자세히 보기 →

SmuPool

2024.05 - 06

상명대 학우를 위한 택시 카풀 서비스. WebSocket / STOMP 기반 실시간 채팅 파트 구현

Spring Boot / MySQL / Redis / WebSocket

Skills

Language & Backend
Java 17 / 21 Spring Boot 3.2 Spring Cloud Spring Security FastAPI C# / ASP.NET Core
Data & Messaging
MySQL 8.0 PostgreSQL MS SQL Redis Kafka
Cloud & Infra
AWS GCP Docker Kubernetes Terraform GitHub Actions
Observability
OpenTelemetry Prometheus Grafana Loki / Tempo

Timeline

2026.01 - 02
펄어비스 Backend Developer 인턴CS 시스템 개선 / 레거시 리팩토링
2025.02 - 08
카카오테크 부트캠프, 클라우드 네이티브 과정Looper / Biz_News (해커톤 본상 2등)
2024.03 - 08
UMC 6기Waither / SmuPool, Spring 기반 서버 개발
2022.09 - 2023.12
SK Lookie, 사회 문제 해결 동아리Wisefee 리유저블 텀블러 대여 서비스
2022.03 - 2024.12
SMUNITY 운영졸업요건 검사 사이트, 누적 방문 10만+

Awards

  • 카카오테크 부트캠프 해커톤 본상 2등 (2025.02)
  • 캡스톤디자인 졸업 프로젝트 우수상 (2024.11)
  • SM COSSTON 해커톤 최우수상 1등 (2024.01)

Certificates

  • AWS Certified Solutions Architect - Associate
  • 정보처리기사 (한국산업인력공단)
  • SQL 개발자 SQLD (한국데이터산업진흥원)
  • OPIc IH (Intermediate High)