Skip to content
View kimhynsoo's full-sized avatar

Highlights

  • Pro

Block or report kimhynsoo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kimhynsoo/README.md


상태 정합성과 데이터 안전성을 중심으로, 실제 운영 가능한 서비스를 만드는 백엔드 개발자 김현수입니다.

사용자가 겪는 불편을 단순한 기능 부족이 아닌 구조적 문제로 바라봅니다. 백엔드, AI, 인프라를 함께 경험하며 안정적으로 동작하고 유지보수할 수 있는 서비스를 설계해왔습니다.


About Me

삼성청년SW·AI아카데미에서 실시간 멀티플레이 서비스, AI 기반 감정 분석 서비스, ERP AI Assistant를 개발했습니다.

기능 구현에 그치지 않고 서비스의 특성에 따라 필요한 안정성과 신뢰성을 고민했습니다.

  • 실시간 서비스에서는 사용자 간 상태 정합성과 이벤트 처리 신뢰성을 고민했습니다.
  • AI·ERP 서비스에서는 결과의 근거와 데이터 접근 안전성을 고민했습니다.
  • 팀 프로젝트에서는 일정, 역할, 사용자 피드백을 조율하며 서비스를 완성했습니다.

Portfolio

프로젝트별 문제 해결 과정과 기술적 의사결정은 아래 포트폴리오에서 자세히 확인할 수 있습니다.



Projects

DocQ

2026.01 – 2026.02 · 6명 · 팀장 / Backend · SSAFY 구미 2반 공통 프로젝트 1위

PDF 학습 자료를 퀴즈로 변환하고, 여러 사용자가 실시간으로 함께 문제를 푸는 멀티플레이 학습 서비스입니다.

저는 팀장과 백엔드 개발을 맡아 WebSocket 기반 실시간 통신과 Redis Stream 기반 답안 이벤트 처리 구조를 설계했습니다.

초기에는 네트워크 지연과 사용자별 응답 시간 차이로 인해 일부 사용자가 서로 다른 화면을 보는 상태 불일치가 발생했습니다.

이를 해결하기 위해 답안 제출 이벤트를 Redis Stream Consumer Group으로 처리하고, 답안 검증과 상태 반영이 완료된 이후 ACK를 남기도록 구성했습니다.

처리되지 않은 이벤트는 Pending으로 추적했으며, 모든 참여자의 응답이 완료되거나 10초가 지나면 다음 라운드 전환 이벤트를 WebSocket으로 일괄 전달했습니다.

이를 통해 단순 시간 기준이 아닌, 서버가 관리하는 응답 상태를 기준으로 퀴즈 흐름을 동기화했습니다.

Tech Stack

Java Spring Boot WebSocket Redis Stream PostgreSQL Vue.js Docker Jenkins

성과

  • 9일 만에 MVP 배포
  • 사용자 50명 대상 테스트 진행
  • 설문 27건 수집
  • 도출된 개선 항목의 92% 반영
  • SSAFY 구미 2반 공통 프로젝트 1위

우주드로우

2026.02 – 2026.03 · 6명 · AI / Infra · SSAFY 구미 2반 특화 프로젝트 2위

사용자의 그림과 감정 기록을 기반으로 자신의 심리 상태를 돌아볼 수 있도록 돕는 감정 드로잉 서비스입니다.

저는 AI와 인프라를 담당하며 YOLO 기반 객체 탐지 모델 학습, OpenCV 보조 특징 추출, RAG 기반 해석 구조, Docker Compose 기반 배포 환경을 구축했습니다.

초기에는 집, 나무, 사람을 하나의 객체 탐지 모델로 학습했으나 객체별 형태와 특징 차이로 인해 탐지 결과의 편차가 발생했습니다.

이를 해결하기 위해 House, Tree, Person 모델을 각각 분리해 학습하고, 객체별 탐지 결과에 OpenCV 기반 면적, 중심, 밀도 등의 보조 특징을 결합했습니다.

또한 LLM이 임의로 심리 결과를 생성하지 않도록 논문과 해석 가이드를 기반으로 한 RAG 구조를 적용했습니다.

이를 통해 객체별 탐지 편차를 줄이고, 근거가 포함된 해석 결과를 제공할 수 있도록 구성했습니다.

Tech Stack

Python FastAPI YOLOv8 OpenCV LangChain RabbitMQ Docker Compose AWS S3

성과

  • House / Tree / Person 객체 탐지 모델 분리
  • OpenCV 기반 면적, 중심, 밀도 등 보조 특징 추출
  • RAG 기반 근거 중심 해석 구조 설계
  • Docker Compose 기반 AI 서버 배포
  • SSAFY 구미 2반 특화 프로젝트 2위

Y-ECOUNT

2026.04 – 2026.05 · 6명 · Backend / AI / Infra

ERP 데이터를 기반으로 메타데이터 커스터마이징과 자연어 질의 기반 AI Assistant를 제공하는 서비스입니다.

저는 백엔드, AI Assistant, 인프라를 담당하며 메타데이터 Resolver, Workflow Engine, 자연어 SQL 검증 구조, Jenkins 기반 CI/CD 파이프라인을 설계했습니다.

ERP의 회사별, 업무별, 사용자별 규칙을 코드에 직접 작성하면 요구사항이 변경될 때마다 애플리케이션 코드를 수정해야 하는 문제가 있었습니다.

이를 해결하기 위해 ERP 규칙을 메타데이터로 관리하고, DEFAULT → TENANT → BUSINESS → USER 우선순위에 따라 설정을 병합하는 Resolver를 설계했습니다.

저장 시점에는 Workflow Engine이 메타데이터 설정을 기반으로 필수값, 중복, 범위, 재고 부족 등의 규칙을 순차적으로 검증하도록 구성했습니다.

자연어 SQL 기능에서는 LLM이 생성한 쿼리를 그대로 실행하지 않고, 허용 테이블·컬럼 Allowlist, AST 검증, 회사 ID 조건 강제 주입을 적용했습니다.

이를 통해 멀티테넌트 환경에서 사용자의 자연어 질의 범위는 확장하면서도 회사별 데이터 접근 범위를 통제했습니다.

Tech Stack

TypeScript NestJS PostgreSQL Redis Next.js Docker Compose Jenkins Nginx

성과

  • 메타데이터 기반 ERP 커스터마이징 구조 설계
  • DEFAULT → TENANT → BUSINESS → USER Scope 병합 구조 설계
  • Workflow Engine 기반 저장 시점 검증 흐름 구현
  • 자연어 SQL Allowlist·AST 검증 구조 설계
  • 회사 ID 조건 강제 주입을 통한 데이터 접근 범위 통제
  • Jenkins CI 병렬화로 빌드·테스트 시간 단축



Contact



Pinned Loading

  1. DocQ DocQ Public

    [🏆 SSAFY 공통 프로젝트 우수] PDF 기반 실시간 멀티플레이 보드게임 'DOCQ'

    Vue

  2. WoojuDraw WoojuDraw Public

    [🏆 SSAFY 특화 프로젝트 우수] 미술치료 기반 AI 심리 분석& 기록 서비스 '우주드로우'

    TypeScript

  3. Y-ECOUNT Y-ECOUNT Public

    [SSAFY 자율 프로젝트] AI 기반 메타데이터 중심 통합 워크플로우 ERP 'Y-Ecount'

    TypeScript

  4. SSAFY-Gumi4-Algorithm-Study/baekgorithm SSAFY-Gumi4-Algorithm-Study/baekgorithm Public

    [SSAFY 스터디] 백호의 알고리즘

    Java

  5. SSATOP/BaaS SSATOP/BaaS Public

    1 4

  6. pjhcsols/nangman pjhcsols/nangman Public

    2023년 아이들의 공간을 찾아주는 서비스

    Java 1 2