초기 설계의 책임 분리 개념도입니다. 물리 배치·전체 통신 경로를 표현한 도식은 아니며, TCP 후속 개발의 예외와 구분합니다.
문제와 판단
DB 영역과 사용자 화면·외부 시스템의 접근 구간을 구분해야 했습니다. 서버별 관리 부담을 고려하면서도 당시 접근 조건과 통신 요구에 맞춰 책임을 분리했습니다.
구현과 결과
초기 설계에서 DB 접근을 Business Server에 모으고 Gateway·외부 연계·TCP 처리 서버의 역할을 나눴습니다. Kafka 브로커와 Consumer, JSON·BER 데이터 변환 및 저장을 구현하고 Docker 배포와 로그 누적 문제 조치까지 수행했습니다.
외부 메시지→Kafka Consumer→JSON·BER 변환→업무 데이터 저장
실제 서비스 화면 보기서비스 화면 · 지도 화면 구현은 다른 개발자 담당 · 촬영 시점은 개인 참여 기간과 구분
02
2025.12–2026.05 · 엑스콜로
도로공사 ITS 성능평가 시스템
수집·분석 영역 설계·개발 리딩 및 구현
기존 계산 규칙을 유지하며, 장비별 차이와 저장 흐름을 분리하다.
설계 판단
평가 상태·파일 검증과 분석 실행·저장·완료는 공통 API 흐름으로 구성하고, 장비마다 다른 입력·계산·결과 형식은 분석 전략으로 분리했습니다.
핵심 구현
VDS의 작업 데이터와 확정 결과를 구분했습니다. 수정한 차로의 결과를 무효화하고 서버에서 다시 계산하되, 다른 차로의 저장 결과는 보존하도록 구현했습니다.
동일 데이터 비교에서 확인한 대상교통량 차이
기존 프로그램 · 대상교통량 34신규 프로그램 수정 전 · 대상교통량 33
이미지를 누르면 원본 크기로 열립니다. 테스트 담당자가 전달한 수정 전 비교자료입니다.
차이 발견
동일 데이터를 적용한 비교 리포트에서 대상교통량 차이를 확인했습니다.
기준 확인·수정
기존·신규 시스템의 대상교통량 판단 기준을 확인하고 수정했습니다.
재비교
배포 반영 후 재비교로 해당 수치의 일치를 확인했습니다. 운영 배포는 다른 담당자가 수행했습니다.
수정·재비교 결과는 본인 확인에 근거합니다. 이 이미지 자체가 수정 후 결과이거나 전체 테스트 일치의 근거는 아닙니다.
03
2024.03–2026.06 · 초기 개발 및 후속 개선·지원
FTMS 공통 지도 라이브러리
공통 API 설계·개발·배포 / 예제·교육·적용 지원
한 프로젝트의 요구를 다음 프로젝트에서 쓸 수 있는 기능으로.
사용 가이드 예제 · 예제 개발·교육·기술 지원 담당
공통화와 확장
지도 표현·마커·링크·이벤트·오버레이를 공통 API로 제공했습니다. 부산 프로젝트의 폴리라인·면적 측정 요청을 반영하고, 경찰청 고도화에서 재사용하면서 추가 요구를 개선했습니다.
다른 개발자의 적용까지
옵션·콜백과 사용 예제, 교육·기술 지원을 제공했습니다. 경찰청·화성 ITS의 다른 개발자가 지도 화면을 구현했으며, 청라하늘대교 운영 서비스에도 적용됐습니다.
EXPERIENCE
넓게 경험하고, 백엔드로 깊이를 더해왔습니다.
모바일·웹 개발 경험을 바탕으로 2022년부터 백엔드 중심으로 업무를 수행했습니다.
2025.08–재직 중
필베러 책임연구원
LLM·RAG 문서 질의응답 데모의 백엔드·웹 인터페이스 개발
2022.01–2026.06
엑스콜로 대리·과장
업무 서버·외부 데이터 연계, 서버 구조 및 분석 흐름 설계, 공통 지도 개발·지원, 운영 앱 유지보수
2021.11–2022.03
십칠(17) TF 프로젝트 리드 개발자
React Native 앱 개발, 백엔드 요구사항·설계 지원, 기획·디자인 협의
2017.04–2021.07
엑스콜로 사원·대리
Android·React Native 앱, 금융권 웹 서비스 및 Legacy 연동
필베러·엑스콜로 및 십칠·엑스콜로에는 각각 겸직 기간이 있습니다. 재직 기간과 프로젝트 참여 기간을 구분합니다.
Java · Spring / Spring BootJPA · Querydsl · MyBatisPostgreSQL · KafkaDockerReact · TypeScript · OpenLayersAndroid · React Native
모바일·웹 경험은 API를 사용하는 쪽의 요구와 변경 영향을 이해하는 기반입니다. 기술적 판단은 근거를 갖고 나누고, 동료가 적용할 수 있도록 코드와 예제로 설명합니다.