미리보기
기본 정보

안녕하세요. 백엔드 개발자 이재헌입니다. 실무에서는 안정적인 서비스 운영과 기능 개발에 집중하고 있으며, 퇴근 후에는 도메인 지식과 관심 기술을 학습하며 부족한 역량을 보충하고 있습니다. 장기적으로는 개발 생태계를 폭넓게 이해하고, 아키텍처 설계와 기술적 방향을 주도하는 아키텍트로 성장하는 것을 목표로 하고 있습니다.
자기소개
안녕하세요. MLOps 플랫폼을 개발하는 백엔드 개발자 이재헌입니다.
상황에 맞는 도구를 적절히 골라 빠르게 문제를 해결하는 데 집중합니다. jsTree, Envers 등을 활용해 운영 효율을 높이는 백오피스 기능을 개발한 경험이 있습니다.
LLMOps 도메인 개발에 참여했습니다. DB 모델링부터 개발, 테스트까지 한 사이클을 완료하고, 서비스 안정화와 사용자 편의성 개선을 지속적으로 이어가고 있습니다.
기존의 방식을 개선하기 위해 내부 세미나를 열고, 기술 도입의 필요성을 공유했습니다. QueryDSL을 도입해 코드의 가독성을 높이고, LangChain을 적용해 다양한 벡터스토어, 임베딩 모델 확장에 유리한 구조로 개선한 경험도 있습니다.
애플리케이션과 인프라를 잇는 구조 개선 중 일부를 담당했습니다. 플랫폼 내부 서비스의 접근 방식을 도메인 + HTTPS로 전환해 보안성과 편의성을 높였습니다.
기술 스택
Java, Spring Boot, MySQL, JPA, Docker, Thymeleaf, jQuery, Kubernetes, Kafka, Linux
경력
주식회사에이프리카
사원 | 개발팀 | 재직 중
2023.12. ~ 재직 중 (1년 6개월)
MLOps 유지보수 및 고도화
LLMOps 신규 도메인 개발 (벡터스토어 관리, 임베딩모델 관리)
Istio 기반 라우팅 제어 및 인프라 연계
백오피스 기능 개발
프로젝트
LLMOps 도메인 개발
에이프리카
2024.09. ~ 진행 중
벡터스토어, 임베딩 모델 관리
개요
사용자가 직접 벡터스토어, 임베딩 모델을 생성하고 관리할 수 있는 기능을 개발.
주요 작업
벡터스토어, 임베딩 모델 관리 기능 개발
목록 조회, 상세 조회, 저장 폼 UI 개발
DB 모델링, CRUD, 페이징, 검색 API 개발
각 벡터스토어, 임베딩 모델 마다 공개 범위를 설정하고, Spring AOP 기반의 읽기/쓰기/실행 인가 로직 적용
실시간 파드 상태 조회 기능 개발
MetricBeat로 벡터스토어, 임베딩 모델 파드의 상태(
생성
,실행
,반납
등)를 수집해 kafka로 전송애플리케이션에서 kafka 메시지를 수신해 DB에 상태 정보 업데이트
파드 상세조회 화면에서 polling 방식으로 상태 정보를 실시간으로 반영
벡터스토어 문서 업로드 잡 개선
개요
문서를 벡터스토어에 업로드하는 쿠버네티스 Job을 개발하고, 업로드 진행 과정을 Kafka 메시지로 발행하여 사용자에게 실시간으로 표시하는 기능을 구현함.
기존 Weaviate Client 중심의 구조를 LangChain 기반으로 변경하여 다양한 벡터스토어와 임베딩모델 확장에 대응할 수 있도록 구조를 개선함.
주요 작업
벡터스토어 문서 업로드 LangChain 통합
LangChain을 기반으로 문서 업로드 구현 :
문서 로딩
→청크 분할
→벡터화
→벡터 저장
기존 Weaviate Client 중심의 벡터스토어 연동 코드를 LangChain 기반으로 재구성하여, Weaviate 외에도 Qdrant, Milvus 등 다양한 벡터스토어 문서 업로드 확장이 가능하도록 개선
HuggingFace, OpenAI, 사내 임베딩 모델 등 여러 임베딩 모델 확장이 가능하도록 개선
대용량 벡터화 처리
문서 벡터화 시 payload 크기 제한 문제를 해결하기 위해 일정 바이트 단위로 분할하여 처리
문서 업로드 실시간 상태 조회
문서 업로드 진행 과정을 kafka 이벤트(
문서 로딩
,청크 분할
,벡터화
,벡터 저장
)로 발행애플리케이션에서 이벤트 수신 후 클라이언트에서 진행 상태를 실시간으로 반영
플랫폼 내부 서비스 접근 방식 개선
에이프리카
2025.04. ~ 2025.05.
개요
플랫폼 내부 서비스인 모델 인퍼런싱 서버, 벡터스토어, Jupyter Notebook 등 외부 노출이 필요한 파드에 대해 기존의 IP + NodePort 기반의 접근 방식을 도메인 + HTTPS 방식으로 개선하여, 보안성과 사용성을 향상시킨 프로젝트.
주요 작업
Let's Encrypt + cert-manager 와일드 카드 인증서를 Istio Gateway에 적용하여 서브도메인에 대한 HTTPS 접속 환경 구성
VirtualService 로 서브도메인 기반의 내부 서비스 라우팅 규칙 설정
기존 IP + NodePort 방식 대비 접근 편의성과 보안성 개선
백오피스 기능 개발
에이프리카
2024.01. ~ 2024.04.
메뉴 관리
개요
고객사 마다 메뉴의 순서와 구조를 다르게 구성해야 하는 요구사항이 많았고, 메뉴 수정 시 매번 SQL로 직접 수정하는 방식에 불편함이 있었음.
문제 해결
jsTree
를 활용해 전체 메뉴를 트리 형태로 시각화.드래그 앤 드롭 이벤트를 API와 연동하여 메뉴의 순서 변경, 부모 노드 변경을 쉽게할 수 있도록 구현
폼 기반으로 메뉴 정보(이름, URL, 아이콘 등)와 접근 권한을 설정할 수 있는 기능도 추가하여,
관리자가 메뉴 구성 전반을 UI 상에서 쉽게 편집할 수 있도록 개선
사용자 상태 이력 관리
개요
운영 중 사용자 계정이 알 수 없는 이유로 잠금 상태로 변경되는 사례 발생.
JPA Auditing으로 수정자/수정일시는 기록되지만, 어떤 필드가 언제, 어떻게 변경되었는지에 대한 구체적인 이력 관리가 필요해짐.
문제 해결
spring-data-envers
를 적용해 기존 로직을 수정하지 않고, 사용자의 상태 변경 이력을 자동으로 저장.사용자 별 변경 이력을 확인할 수 있는 UI를 만들어 변경된 필드, 이전 값, 수정자, 수정 일시를 조회할 수 있도록 구현.
고객 응대를 위한 정확한 이력 확인이 가능해졌고, 보안 감사(Audit) 기능을 고도화함
포트폴리오
교육
전북대학교
대학교(학사) | IT정보공학
2017.03. ~ 2023.02. | 졸업