Projects
현업에서 생긴 일
HR SaaS 백엔드 · 2025.12 –Text-to-SQL 에이전트
2025.12 – 2026.04자연어 질문을 사내 DB 쿼리로 바꾸는 엔진. 14개 기업 사례를 조사한 뒤 Multi-Agent 파이프라인으로 구현했다. 가장 어려웠던 건 100개 테이블에서 필요한 5개를 고르는 일이라 Multi-stage Retrieval을 붙였고, 암호화된 컬럼은 225회 실험으로 방식을 비교했다. 24,500줄, 315개 테스트, 외부 서비스 6개.
LLM 및 AX 인프라 구축
2026.04 –LLM 기능을 프로덕션에 올리면서 필요해진 기반. 프롬프트를 중앙에서 관리하고 호출을 추적하려 Langfuse 운영 환경을 사내에 구축했고, 조회 지연을 Redis 캐시와 분산 락으로 걷어냈다. 기획자가 프롬프트를 직접 다룰 수 있게 관리 전략을 잡고 사용량 미터링을 붙였다. Provider 장애 자동 전환, 컨텍스트 윈도우를 넘는 입력의 Map-Reduce 분할도 여기 있다.
Kafka 이벤트 흐름
2026.07retry가 우연히 맞아떨어져 돌아가던 파이프라인에서 두 토픽 사이 순서 race를 로그로 재구성하고, 새 토픽을 만들지 않고 발행자 게이트로 막았다. 별건으로, 독립 서비스 여섯 개가 같은 group id 리터럴을 하드코딩해 하나의 컨슈머 그룹으로 묶여 있었고 리밸런싱 generation이 16,453까지 올라가 있었다.
레거시 SaaS 운영 개선
2026.07 – 2026.08인수받은 멀티테넌트 SaaS에서 반복되던 운영 문제를 추적했다. ECS CPU spike는 JSON_EXTRACT full scan을 제거해 해결했고, 같은 과정에서 트리 탐색을 HashMap 인덱스로 바꿨다. Hibernate의 영속성 컨텍스트 동작과 SSO JIT 프로비저닝 경합도 재현 가능한 조건으로 좁혀 검증했다.
오픈소스
2026.04 –쓰던 도구의 소스를 읽다 고칠 것을 발견하면 패치를 올린다. Apache Kafka에서는 Mockito 업그레이드로 드러난 테스트 조건을 바로잡고, StickyTaskAssignor의 수렴 지연과 인증 장애 후 Consumer CPU busy spin을 수정했다. 4.2·4.3 백포트까지 이어갔으며, 기존 JMX 이름을 깨뜨리는 메트릭 변경은 직접 닫았다. Langfuse Java SDK에는 Python·JS에만 있던 프롬프트 변수 컴파일을 추가했고, OpenSearch는 색인과 검색 경로를 소스로 따라가며 읽었다.
기술 공유
2026.04Anthropic AI Fluency 과정을 사내에서 함께 이야기하고 정리한 자료. AI에 맡길 일과 사람이 확인할 일을 공통 과제로 나누고, 제품 사실을 프롬프트에 옮긴 과정과 점수 비교 실험에서 놓친 조건을 세 편으로 정리했다.
개인 프로젝트
카페 운영 관리 플랫폼. 쿠폰 발급과 구매 이력, 영업시간 관리를 다룬다. 이벤트성·일회성 쿠폰이 늘어나면서 분기문이 감당이 안 돼 전략 패턴으로 갈아엎었고, 구매 이력은 개인정보보호법 때문에 원장 데이터로 따로 설계했다. EC2에서 반년 동안 재현되던 Thread Starvation도 여기서 잡았다.
이 사이트. 글 사이의 참조를 D3.js 지식그래프로 그린다. 조회수는 Vercel Web Analytics를 서버에서 조회해 보여준다.
관련 글 1편
spring-mock
Spring 내부 구조를 이해하려고 Vanilla Java로 HTTP 서버부터 직접 구현했다. 소켓, 멀티스레딩, HTTP 프로토콜 핸들링.