CS 레벨까지 깊게 고민하며 개발합니다.

동작하는 코드에서 멈추지 않고, "왜 이렇게 동작하는가"까지 이해해야 좋은 설계가 가능하다고 믿습니다.


Phone : 010-5623-6382

Email : [email protected]

Github : https://github.com/sejinheo

Backend : Java, Spring Boot, JPA, Spring Web MVC

DB : MySQL, PostgreSQL, Redis

DevOps : Docker, Docker-Compose


Main Project

Woowan-Eats (기술, 비즈니스적으로 깊게 고민한 프로젝트)

배달의민족과 관련 파트너 서비스를 모티브로 한 고객·라이더·음식점을 하나로 연결하는 배달 서비스입니다.

트러블 슈팅 바로가기

  1. Haversine 기반 Full Scan으로 인한 TPS 병목 해결 (TPS 4.7배 향상, 응답시간 75% 감소)
  2. HikariCP Pending 누적 문제 해결 (HikariCP Pending 190 → 0, Latency p99 87% 감소)
  3. Hot Key 트래픽 집중 문제 해결

설계적으로 깊게 고민한 부분 바로가기

  1. 주문 서비스의 여러 액터간 높은 결합도 해결
  2. Restaurant 엔티티에 업데이트 주기가 다른 필드 분리

RE:MEDY (실제 운영 경험이 있는 서비스)

음악을 길거리에 떨어뜨려 공유하는 음악 스트리밍 서비스입니다.

트러블 슈팅 바로가기

  1. VoteDropping 투표 동시성 문제 해결

설계적으로 깊게 고민한 부분 바로가기

  1. 특정 지역에 이벤트 발생시 유저가 많이 몰리는 문제 해결

Main Project


Woowahan-Eats : 배달의민족과 관련 파트너 서비스를 모티브로 한 배달 서비스입니다.

개발 이유

배달 플랫폼은 4개 액터(user, owner, rider, admin)가 하나의 주문을 중심으로 실시간으로 상호작용하고, 각 단계에서 실패 시 보상 처리까지 고려해야 하는, 상태 관리가 가장 복잡한 도메인 중 하나이기 때문에 백엔드 개발자로써 복잡한 비즈니스 상황을 고려하는 경험은 필수라고 생각해서 개발을 진행하게 되었습니다.

개발 기간 2026.01 ~ 현재

깃허브 https://github.com/f-lab-edu/woowahan-eats

기술 스택 Java, Spring Boot, Spring Web MVC, Spring Cache, Spring AI, JPA, PostgreSQL, Redis


트러블슈팅 #1 - Haversine 기반 Full Scan으로 인한 TPS 병목 해결 (TPS 4.7배 향상, 응답시간 75% 감소)

[배경]

내 주변 음식점 카테고리 조회 API는 서비스를 이용하면 반드시 모든 유저가 사용하게 되는 핵심 조회 API입니다.

서비스 트래픽 증가에 대응하기 위한 부하 테스트를 진행한 결과, TPS 한계와 응답 지연이 확인되었습니다.

[문제 정의]

[목표]