실제 주차 가능 대수와 시스템상 가용면수가 크게 어긋난 원인을 추적하고, 이미지 임베딩으로 "차량이 아닌 입차"를 걸러낸 과정.
정원사를 소개합니다
안녕하세요, 백엔드 개발자 ssobbs13입니다
문제를 대할 때 해결했다는 결과보다도, 어떻게 발생했고 어떤 방식으로 해결했는지를 파고듭니다. 이 정원은 그 과정을 남기는 곳이에요.
일하는 방식
- 결과보다 과정
해결했다는 사실보다, 문제가 어떻게 발생했고 어떤 방식으로 해결했는지를 파고듭니다.
- 미리 막는 문제
이미 발생한 문제뿐 아니라, 제품 속에서 발생 가능한 문제를 미리 찾아 해결합니다.
- 도움에 인색하지 않기
협업에서 동료의 도움이 얼마나 중요한지 알기에, 저 역시 도움에 인색하지 말자고 다짐합니다.
경력 3년 6개월
일일 약 10만 건의 주차 데이터에 대한 요금 결제·정산 처리와, 주차 정보를 활용한 통계를 제공했습니다.
- Spring
- JPA
- MyBatis
- jOOQ
- Redis
- PostgreSQL
파고들었던 문제들
🌿 자라는 중주차장에 오토바이가 입차했다: 이미지 임베딩 기반 차량 판별 🌿 자라는 중선착순 정기권 신청 때마다 서비스가 멈췄다: Thread Pool 고갈 추적기 정기권 신청 시각의 Spike Traffic으로 서비스가 일시 중단되던 문제를 Scouter로 추적해, BFF–Backend 간 I/O 대기로 인한 Thread Pool 고갈을 찾아내고 격리한 과정.
🌿 자라는 중1,000만 건 Excel 다운로드와 OOM: 메모리를 늘리지 않고 구조를 바꾸기 대용량 Excel 다운로드 시 발생하던 OOM을 Heap 지표로 추적하고, MyBatis Cursor와 SXSSFWorkbook 기반 스트리밍 구조로 바꿔 Heap 사용량을 약 90% 줄인 과정.
🌱 새싹지워지지 않는 이미지들: 게시글 수정 API와 클라이언트를 믿는다는 것 WYSIWYG 에디터에서 본문에서 뺀 이미지가 실제로는 삭제되지 않아 디스크를 차지하던 문제를 고치고, 그 판단 로직을 어디에 두어야 했는지 돌아본 기록.
이 정원은 왜 '정원'인가요?
블로그 글은 한 번 발행하면 끝나는 경우가 많지만, 이곳의 노트는 계속 자랍니다. 막 떠오른 생각은 🌱 새싹으로 심고, 이해가 깊어질수록 다듬어 🌿 → 🌳 로 키워 나가요. 노트끼리는 링크로 서로 연결됩니다.
만든 도구: Astro(정적 HTML) · React(정원 지도·미리보기 같은 인터랙션만 island로) ·Cloudflare Pages
정원 밖의 기록
정원 밖의 일기장 →
일기장 겸 포트폴리오
개발하며 보낸 하루하루를 일기로 적고 있어요. 정원의 노트보다 조금 더 사적인 기록입니다.
- 일기
- 회고
- 포트폴리오