
김대휘 (Daehwi Kim)
dhxl50@gmail.com
About
연구자들이 복잡한 유럽 공고문을 자연어로 쉽게 탐색할 수 있도록 RAG 챗봇을 직접 기획·구축했고, 개발자 간 협업을 더 편리하게 만들기 위해 스펙 주도 개발 방식을 도입했습니다. 기술을 통해 누군가의 문제를 실용적으로 해결하는 개발자로 성장하기 위해 꾸준히 노력하고 있습니다.
Work Experience
(주) 애자일소다
서울
DS팀 인턴
Dec. 2024 - Dec. 2025
보험약관 PDF에서 질병분류코드(KCD)를 자동 추출·정형화하는 LLM 기반 약관 분석 파이프라인 구축
기존 수작업 매핑 대비 약관 1건당 처리 시간 60분 → 3분으로 단축하여 처리 지연 및 오류 가능성 개선
KIST Europe
Germany
Research Intern
Feb. 2025 - Aug. 2025
Horizon Europe 연구자용 챗봇 시스템 구축
pgvector + HNSW 최적화를 통해 검색 응답 시간 740ms → 150ms로 단축
Education
경희대학교
컴퓨터공학과
Mar. 2019 - Feb. 2026
학점: 4.16/4.5
장학금 수상: 성적우수장학금(2023), 국가이공계우수장학금(2023–2025)
Skills
Backend Development
- Java / Spring
- Spring Boot 기반의 REST API 서버 개발 경험
- Spring Security 기반 JWT 인증/인가 로직 구현
- 인증 체인 분리를 통한 멀티 로그인 기능 구현
- Python / LangGraph
- Python 기반의 API 및 웹 크롤링 자동화 경험
- LangGraph를 활용한 LLM 에이전트 워크플로우 설계, 구현 및 배포
Database & Cache
- MySQL / PostgreSQL
- 트랜잭션 충돌 및 동시성 문제 해결을 위한 비관적/낙관적 락 도입 경험
- pgvector를 활용한 임베딩 기반 유사도 검색 시스템 구현 경험
- Redis
- 토큰 관리 및 캐싱 관리 / Sorted Set을 사용한 실시간 랭킹 기능 구현
- Pub/Sub 구조를 활용한 실시간 메시지 브로드캐스트 처리
DevOps & Cloud
- Docker
- Docker Compose 기반의 설정으로 개발 환경 구축 간소화
- Docker Swarm의 Rolling Update 전략을 활용, 무중단 서비스 배포
- Cloud
- 주요 리소스(EC2, RDS, S3)를 활용해 서비스 배포, Bastion Host 및 Nginx 리버스 프록시를 통한 보안 구성 강화
- GCP Cloud Run의 사이드카 패턴을 활용, 서버리스 환경에서 최소 비용으로 서비스 배포
CI/CD & Monitoring
- Github Actions
- GitHub에 코드 푸시 시, 자동으로 Docker 이미지 빌드 → 푸시 → 서버 배포가 이루어지는 CI/CD 파이프라인 구성
- GitHub Actions와 Bash 스크립트를 활용해 단일 서버 환경에서 Blue-Green 방식의 무중단 배포 구성
- Monitoring
- Prometheus와 Grafana를 활용해 모니터링 시스템 구축, 에러 발생 시 Slack 알림으로 운영 대응 속도 개선
Awards
UMC 5기 데모데이 대상
UMC
UMC 5기 경희대학교 서버 파트장으로 참여
기업-학생회 제휴 서비스 Spon-us 개발 및 데모데이 대상 수상
경희대학교 SW 해커톤 우수상
경희대학교
프로젝트: 주루마블
역할: 전반적인 로직 구현 담당
Projects
Horizon Europe Agent | Horizon Europe 검색 서비스
Mar. 2024 - now
- Horizon Europe과 관련된 정보를 쉽고 빠르게 찾을 수 있는 RAG 기반 챗봇
- 사용자의 질문을 이해한 뒤, 공고(Call), 프로젝트(Project), 가이드라인(Guide) 중 가장 적절한 항목을 자동으로 선택해 응답
- 챗봇에게 자연스럽게 질문하기만 하면, 복잡한 문서를 직접 찾지 않아도 필요한 정보를 바로 확인할 수 있음
- 서비스 링크
- 기여
- 1인 개발로 기획, 설계, 구현, 배포를 모두 담당
- Cloud Run의 사이드카 패턴을 활용하여 최소 비용으로 배포, CI/CD 단순화 및 cold start 최소화
- PostgreSQL과 pgvector를 이용하여, 구조화된 데이터를 임베딩 기반으로 검색할 수 있도록 구성
- HNSW 인덱스 적용 및 ef_search 파라미터 튜닝을 통해 벡터 검색 속도를 0.74초에서 0.15초로 단축, Recall 95% 이상 달성
- 사용 기술
- 챗봇 구성: Python, LangChain, LangGraph, Next.js
- 데이터베이스: PostgreSQL, pgvector
- 인프라 및 배포: LangGraph Server, GCP Cloud Run(Serverless)
- LLM(응답 및 임베딩): OpenAI API
GoalMate | 목표달성 멘토링 서비스
Jan. 2025 - Mar. 2025
- 목표 설정과 달성 과정을 지원하고, 동기 부여를 제공하는 멘토링 플랫폼
- 멘토가 코칭 프로그램 형태의 목표를 제안하면, 관심 있는 멘티가 신청해 함께 도전
- 멘토는 매일 1:1 피드백과 실전 팁을 제공하며, 멘티는 꾸준한 실행과 피드백을 통해 성장을 경험
- Github
- 기여
- 1인 개발로 설계부터 개발 및 배포까지 모두 담당
- Swagger Codegen을 이용한 OpenAPI 스펙 기반 API 설계 및 구현
- Docker 및 Docker Swarm을 이용한 단일 컨테이너 환경에서의 무중단 배포 구성
- 스프링 시큐리티 체인 분리를 통한 관리자 로그인 구성 및 관리자 페이지 구축
- 문제 해결
- 스펙 주도 개발 도입을 통한 커뮤니케이션 비용 절감 및 개발 효율화
- OpenAPI 스펙을 먼저 작성하고, Swagger Codegen으로 Controller 인터페이스 를 자동 생성한 뒤 API 구현
- 프론트엔드 팀도 OpenAPI 스펙 기반으로 Stub 코드를 사전에 생성할 수 있게 지원하여, 백엔드 개발과 병렬로 작업 가능
- API 문서로 인한 불필요한 커뮤니케이션 비용을 줄임으로써 전반적인 개발 생산성 향상
- 문서와 코드의 일치성이 보장되어 관리비용 감소 및 오류 가능성 최소화
- Swagger 관련 어노테이션이 코드에서 제거되어 코드 가독성 향상
- 롤링 업데이트 시 요청 유실 문제 해결
- Spring Boot의 Graceful Shutdown 기능 설정 및 docker stop -t 옵션을 통해 종료 유예 시간을 설정하여 graceful shutdown 보장
- Blue-Green 배포 시, k6 부하 테스트를 통해 요청 유실 없이 정상 응답 처리되는 것을 확인
- Zero-Downtime 배포 환경 구현, 서비스 안정성과 배포 효율성 모두 향상
- Docker Swarm 기반의 Rolling Update 전략으로 전환, update_config, healthcheck, restart_policy 등의 설정을 통한 무중단 배포 환경 구성
- 스펙 주도 개발 도입을 통한 커뮤니케이션 비용 절감 및 개발 효율화
- 사용 기술
- Backend: Java 17, Spring Boot 3, Spring Security 6
- 데이터베이스 및 캐시: MySQL, Redis
- 인프라 및 배포: AWS EC2, RDS, GitHub Actions
- API 문서화: Swagger, Swagger codegen
티키타자 | 웹기반 실시간 타이핑 게임
Jan. 2024 - Mar. 2024
- 누구나 쉽게 즐길 수 있는 실시간 키보드 타이핑 게임을 목표로 개발한 웹 기반 서비스
- '문장', '단어', '코드' 중 하나의 모드를 선택해 방을 생성하고 게임을 시작할 수 있음
- 게임 중에는 상대방의 타이핑 상황이 실시간으로 표시되며, 가장 먼저 타이핑을 완료한 사용자가 승리
- Github
- 기여
- 프로젝트 의존성 관리를 위한 멀티 모듈 구조 도입
- Websocket + STOMP를 활용한 PUB-SUB 구조의 실시간 인게임 로직 구현
- Redis를 활용해 빠른 조회가 필요 한 일회성 데이터(게스트, 인게임) 관리
- GitHub Actions와 ECS를 이용한 롤링 업데이트 방식의 CI/CD 구축
- 문제 해결
- 멀티 컨테이너 환경에서 STOMP 메시지 누락 문제 해결을 위한 Redis Pub/Sub 도입
- STOMP 인메모리 메시지 브로커를 활용하여 실시간 이벤트 처리 기능을 초기 구현
- Scale-Out 테스트 중, 멀티 컨테이너 환경에서 실시간 메시지가 간헐적으로 누락되는 현상 발생
- CloudWatch 로그 확인 결과, 각 컨테이너가 서로 다른 인메모리 브로커 인스턴스를 사용하고 있어 서버 간 메시지 동기화가 이루어지지 않는 구조였음
- 메시지를 중앙에서 처리하기 위해 Redis Pub/Sub을 외부 메시지 브로커로 도입, 모든 인스턴스가 동일한 Redis 채널을 구독하도록 구성하여 이벤트 동기화 문제 해결
- 모든 인스턴스가 Redis Pub/Sub를 통해 동일한 채널을 구독함으로써 멀티 컨테이너 환경에서도 실시간 메시지의 일관성 유지 및 누락 문제 해결
- 라우팅 시 웹소켓 연결 단절 문제 대응 및 게임 시작 동기화 처리
- 게임 대기실에서는 STOMP 기반 웹소켓 연결을 통해 유저 상태를 실시간 공유
- 게임이 시작되면 페이지가 라우팅되며 기존 웹소켓 연결이 끊기는 구조였고, 모든 유저가 다시 웹소켓에 연결되기까지 게임 시작 시점이 어긋나는 문제 발생
- 게임 대기실과 인게임의 웹소켓 엔드포인트를 분리하고, 게임 시작 시 서버는 즉시 인게임 관련 데이터를 Redis에 저장하여 상태를 유지
- 모든 유저가 인게임 웹소켓에 재연결되면, 서버는 Redis에서 상태를 조회하여 동기화 된 게임 시작 신호(start-event)를 일괄 전송
- 웹소켓 연결 단절 문제를 구조적으로 해결, 각 클라이언트가 정 확히 같은 시점에 게임을 시작하도록 보장
- Redis를 활용한 인게임 상태 관리로 서버 간 상태 공유 및 유저 재접속 처리에도 유연하게 대응
- 멀티 컨테이너 환경에서 STOMP 메시지 누락 문제 해결을 위한 Redis Pub/Sub 도입
- 사용 기술
- Backend: Java 17, Spring Boot 3, Spring Security 6
- 데이터베이스 및 캐시: MySQL, Redis
- 실시간 통신: WebSocket, STOMP
- 인프라 및 배포: ECS, RDS, ElastiCache, GitHub Actions
- API 문서화: Swagger
주루마블
경희대학교 SW 해커톤
전반적인 로직 구현 담당
부루마불을 재해석한 PC 기반 파티 게임
Python과 PyQt를 활용하여 GUI 환경에서 주사위, 이동, 미션 수행 등 핵심 게임 로직 구현
게임 진행에 따라 동적으로 룰이 적용되고 인터페이스가 반응하도록 설계 및 구현
사용 기술: Python, PyQt
Certifications
정보처리기사
한국산업인력공단
Jan. 2025
AWS Certified Solutions Architect – Associate
Amazon Web Services
Sep. 2024
SQLD
한국데이터산업진흥원
Dec. 2023
리눅스마스터 2급
한국정보통신진흥협회
May. 2017
OPic IH
ACTFL
Jul. 2025
GitHub