구동재 Dongjae Koo
Backend & AI Software Engineer
실시간 양방향 통신 백엔드 및 실무형 컴퓨터 비전 최적화에 강점을 가진 개발자입니다. 인프라 하드웨어 디버깅부터 대규모 모바일 리팩토링까지, 문제의 원인을 끝까지 추적하여 해결합니다.
PROJECTS OVERVIEW 프로젝트 한 눈에 보기
야추 온라인 (Yacht Dice Online)
2023.08 ~ 현재 (1인 개발)
실시간 1:1 온라인 주사위 게임. 대규모 크로스 플랫폼 리팩토링, 안정적인 웹소켓 세션 관리 및 라즈베리 파이 인프라 직접 배포.
VLM 성능 평가 및 CV 자동화 인프라
2024.12 ~ 2025.02 (현장실습)
오픈소스 Vision Language Model(VLM) 및 객체 검출 모델 벤치마크 프로그램과 학습 데이터셋 생성 파이프라인 자동화 툴 개발.
KEY SKILLS & STRENGTHS 핵심 역량
Real-time Network
웹소켓 기반 양방향 실시간 통신 서버 설계, 중복 세션 차단, Ping-Pong 하트비트, 좀비 방 메모리 누수 방지(GC) 등 서비스 안정성 보장.
Computer Vision & AI
PyTorch/Hugging Face 기반 추론 가속화, PaliGemma VLM 분석, YOLO 객체 검출 활용, OpenCV 다중 스레드 영상 프레임 분석 및 실시간 차량 추적 계측.
Infrastructure & OS
Linux(Ubuntu/Debian) 환경 구축, 라즈베리 파이 4 기반 서버 운영, 포트포워딩/DDNS 라우팅, 커널 모니터링 및 하드웨어 디버깅.
야추 온라인 (Yacht Dice Online)
실시간 멀티플레이 모바일 주사위 게임
SCREENSHOTS 동작 화면
KEY IMPLEMENTATIONS 핵심 구현 사항
-
실시간 양방향 WebSocket 통신 & 커스텀 프로토콜 설계
오버헤드가 큰 HTTP 통신 대신 Node.js `ws` 기반의 실시간 네트워크 구축. `식별자:데이터1#!#데이터2` 형식의 경량 커스텀 프로토콜을 구현하여 통신 페이로드 최소화 및 실시간 패킷 전송 효율 극대화.
-
서버 측 구글 Play Games OAuth 2.0 보안 인증 구현
클라이언트의 ID 위조 스푸핑 공격을 차단하고자 구글 Play Games 로그인 시 획득한 `serverAuthCode`를 Node.js 백엔드로 송신, `google-auth-library`로 구글 API 서버에 직접 검증하는 3-legged 로그인 플로우 설계.
-
안정적인 게임 세션 관리 기법 도입
동일 계정 다중 접속 시 기존 커넥션을 해제하는 중복 세션 강제 종료(Kick), 30초 주기 Ping-Pong 하트비트로 좀비 소켓 관리, 10분 주기 백그라운드 클리너(GC)로 빈 방 리소스 누수 방지.
-
반응형 UX 및 프론트엔드 최적화
서버 측 난수 결과에 동기화되는 50ms 랜덤 롤링 애니메이션, 로컬 실시간 점수 프리뷰(Score Preview) 족보 연산 탑재. Indigo/Navy 톤의 심미성 높은 테마 제작.
ARCHITECTURE EVOLUTION 점진적 아키텍처 진화 과정
Java Swing GUI
객체지향 설계 원칙(OOP) 및 주사위 판정 알고리즘을 적용한 싱글 플레이 주사위 게임 개발.
Java TCP Socket C/S
컴퓨터망 전공 지식을 기반으로 TCP 소켓 통신 멀티스레드 서버를 구축해 로컬 멀티플레이로 확장.
Kotlin Android
모바일 이식을 위해 Kotlin 기반 Native 앱으로 전면 재설계 후 Google Play 최초 스토어 출시.
Flutter & Node.js WebSockets (Remastered)
크로스 플랫폼 앱 재개발. 백엔드를 Node.js 웹소켓 서버로 리팩토링 및 1인 인프라(라즈베리파이) 구축.
TROUBLESHOOTING 핵심 문제 해결 사례
라즈베리 파이 게임 서버의 간헐적 리부팅/정지 현상
DHCP 임대 및 네트워크 설정을 진단했으나 특이사항이 발견되지 않아, 하드웨어 계층 진단을 수행. 시스템 커널 로그(`dmesg`) 분석 중 주기적으로 `UnderVoltage` 경고 발생 감지.
해결 조치전원 아답터의 전압 강하가 원인임을 식별하고 정격 전압(5V/3A)을 보장하는 고성능 전용 아답터로 교체하여 인프라 다운 현상을 완전히 제거함.
Google Play Games SDK 배포본 로그인 장애
로컬 및 내부 테스트 환경에서는 구글 로그인이 정상 동작하였으나 스토어 출시 후 인증 실패가 발생. 구글 플레이 스토어가 배포 빌드 시 서명하는 'Play 앱 서명(App Signing)' 지문이 로컬 서명과 상이함을 확인.
해결 조치Google Play Console에서 발급된 실제 운영 서명 키의 SHA-1 지문을 Google Cloud Console의 OAuth 클라이언트 자격 증명에 추가 등록하여 인증 장애 해결.
🏆 성과 및 배운 점
1,000+ 명의 활성 유저 유입 시 발생하는 실시간 동시성 문제(좀비 소켓, 중복 세션 등) 예외처리를 극복하며 대규모 실시간 세션 서버 관리 능력을 배양했습니다. 단순 코드 개발에 그치지 않고, 하드웨어 커널 단의 트러블슈팅과 사설 네트워크 인프라 구축을 완수하며 풀스택 및 인프라 전반을 다루는 하드코어 엔지니어링 감각을 습득했습니다.
VLM 성능 평가 및 CV 자동화 인프라
Vision Language Model 평가기 및 객체 추적 자동화 툴셋
SCREENSHOTS 동작 화면
KEY MODULES 핵심 개발 모듈
-
VLM & CV Model Evaluator (PyQt5 데스크톱 어플리케이션)
PaliGemma VLM, ResNet, Segformer, YOLO 등 상이한 태스크의 AI 모델을 하나의 GUI로 벤치마킹할 수 있는 통합 평가기 구현. 추론 가속화 및 배치 프로세싱 설계. BLEU, ROUGE, METEOR 등의 언어 평가 지표 및 mAP, IoU 등의 컴퓨터 비전 평가지표 모듈화 탑재. `xlsxwriter` 기반 통계 엑셀 리포트 자동 생성.
-
Auto-Label-Generator (멀티스레드 데이터셋 수집기)
YOLOv11 객체 검출 모델을 도로 위 환경의 RTSP/비디오 프레임에 상시 적용. 검출된 객체 중 타겟 차량 클래스(Car, Bus, Truck, Motorcycle, Bicycle, Person)를 식별 및 영역 자동 크롭 후, 디렉토리별 분류 저장 및 레이블 파일 자동 생성을 통해 학습셋 생성 효율성을 극대화.
-
Vehicle Counter (OpenCV 궤적 분석 차량 계측 시스템)
비디오/실시간 RTSP 환경에서 YOLOv11 기반 실시간 다중 객체 추적 수행. 객체의 과거 프레임 좌표 이동 궤적(Trajectory Analysis)을 분석하여 고정 상태의 객체를 배제하고, 실시간 주행 차량의 양방향 진입 통행량을 정량 계측.
KEY OUTCOMES 주요 수행 성과
정량적인 VLM 도입 의사결정 근거 수립
동일한 하드웨어 환경 및 데이터셋 상에서 다수의 오픈소스 VLM 성능(텍스트 생성 품질, 이미지 분할 정확도, 검출 속도)을 교차 검증하고 시각화 툴을 통해 비교 분석 리포트를 제공하여 차량 탑재용 최적 VLM 선정을 견인함.
데이터셋 생산 자동화로 업무 소요시간 단축
기존에 엔지니어들이 일일이 수작업으로 비디오를 정지하여 캡처하고 레이블링 툴을 돌려 학습용 데이터셋을 만들던 과정을 RTSP 영상에서 자동으로 추출 및 크로핑하여 레이블링하는 툴을 제공하여 시간 자원을 대폭 절감함.
🏆 성과 및 배운 점
단순히 모델을 학습시키는 연구 단계를 넘어, 실무 현업에서 AI 모델들의 성능을 객관적으로 평가하고 비교하는 **정량적 평가 프레임워크**의 필요성을 절감하고 직접 구축하였습니다. 또한 현업 연구원들이 마주하고 있는 병목 지점(학습용 데이터 수집 및 전처리)을 파악하고 멀티스레드 기반 자동 크롭 툴을 제작함으로써 개발 프로세스 효율성을 대폭 개선하는 데이터 중심 엔지니어링 역량을 확보했습니다.