Work
  • Nov 2021 - Current
    NSUSLAB Korea
    Backend Engineer

    게임 데이터 서비스팀

    • 게임 히스토리 데이터 파이프라인 구축 및 운영 : 게임 서버에서 발생하는 대규모 히스토리 데이터를 요구사항에 맞게 가공·적재하고, 타 팀이 활용할 수 있는 데이터 파이프라인을 설계·운영. Logstash–Kafka 기반으로 안정적인 스트림 처리 환경을 구축하여 게임 데이터 분석 및 조회 서비스의 기반 마련.
    • 포커크래프트 백엔드 개발 및 운영 : 유저 게임 히스토리 및 통계 데이터를 시각적으로 제공하는 메인 플랫폼을 개발·운영. 방대한 데이터 환경에서 검색 성능을 개선하기 위해 OpenSearch를 도입하고, 토너먼트·히스토리 검색 기능을 구현하여 대규모 데이터 조회의 안정성과 속도를 확보.
    • NPM 프로모션 서비스 개발 및 운영 : 포인트 적립, 리더보드, 상금 요청, 프로모션 생명주기 관리 기능을 제공하는 이벤트 시스템을 구축. RDB 쿼리 기반 랭킹 조회의 성능 한계를 개선하기 위해 Redis Sorted Set(ZSet)을 활용한 실시간 랭킹 시스템으로 전환, 응답 속도를 수 초 단위에서 수십 ms 수준으로 최적화.
    • Ask Fedor 유료 분석 서비스 개발 : 포커크래프트 내 유료 기능으로, 3rd-party AI 분석 모듈을 연동하여 유저 핸드 플레이 분석 및 코칭 피드백 제공. Xsolla 및 Stripe 결제 모듈을 연계해 안정적인 결제·정산 프로세스를 확보하고, 유료 서비스로의 확장을 실현.
    • 스토리지 아키텍처 최적화 : 서비스 특성상 ‘올타임’ 데이터를 제공해야 하여 RDS에 수백 TB 단위 데이터가 축적되면서 스토리지 비용 증가·수동 샤딩 문제 발생. 접근 패턴 분석 결과 최근 1년 데이터의 조회 빈도가 가장 높음을 확인, RDS에 핫데이터를 유지하고 나머지는 Redshift Serverless로 이관하는 Zero-ETL 구조를 설계. 이를 통해 스토리지 비용을 약 75% 절감하고, 운영 복잡도를 낮추며 성능을 최적화.
    • 테스트 및 품질 관리 프로세스 수립 : 통합테스트부터 단위테스트까지 점진적으로 도입하고, JaCoCo 기반 코드 커버리지를 측정. 정적 코드 분석 도구(Lint, Checkstyle, SpotBugs)를 도입하여 코드 품질을 개선하고, CI 파이프라인 내 테스트 실행을 정착시킴.
    • 배포 및 인프라 개선 : 스크립트 기반 수동 배포에서 Jenkins 파이프라인을 통한 자동화 배포 체계로 전환. AWS CodeDeploy와 EKS(Kubernetes)를 활용하여 일부 서비스의 컨테이너 기반 배포 파이프라인을 구축, 무중단 배포와 확장성 확보.
    • 모니터링 및 관측성 고도화 : 초기 Slack 알림 기반 오류 모니터링에서 CloudWatch, RDS Performance Insights, New Relic 대시보드를 도입하여 서비스 성능과 장애를 실시간 가시화. 로깅 방식을 AOP에서 Filter 기반으로 전환해 활용성을 높이고, 장애 탐지 및 대응 속도를 단축.
    • 배치/데이터 처리 개선 : 기존에 DB를 메시징 시스템처럼 사용하면서 발생하던 락·성능 저하 문제를 해결하기 위해 Kafka 기반 파이프라인으로 전환. 게임 서버 로그를 Logstash로 추출 후 Kafka로 수집, 분석·조회 서비스로 안정적으로 전달.
    • 서비스 안정성 강화 : 외부 API 호출 시 장애 전파를 방지하기 위해 Circuit Breaker 패턴을 도입하고, Rate Limiting으로 악의적·상업적 데이터 요청을 차단. SSE(Server-Sent Events)를 활용하여 대용량 다운로드 진행 상황을 실시간으로 표시, 사용자 경험을 향상.
    • 비밀(시크릿) 관리·보안 강화 : 애플리케이션 설정의 민감 정보(키/토큰/자격증명) 보호를 위해 1차로 Jasypt로 프로퍼티 단위 암호화를 적용하고, 이후 Vault를 도입해 중앙 집중형 시크릿 관리를 구축. 배포 파이프라인과 연계하여 런타임 주입/자동 갱신 흐름을 정립, 환경별 시크릿 표준화를 달성.
  • Feb 2019 - Oct 2021
    ESE
    Software Engineer

    스마트 서비스/관제 플랫폼 개발 및 운영

    • 통합관제 및 재난안전 플랫폼 개발 : 도시 시설물 정보, CCTV 영상, 소방·경찰 등 유관기관 데이터 연계 기반의 스마트시티 통합관제 플랫폼 및 재난안전 통합 플랫폼을 개발·운영. 코로나19 현황 대시보드를 포함하여 GIS 기반 시각화를 통해 지자체 맞춤형 모니터링 서비스 제공.
    • 폐쇄망 환경 이슈 관리 체계 구축 : 공공기관 특성상 외부 SaaS 도구(Jira 등) 사용이 불가능한 환경에서 Redmine을 폐쇄망에 설치·운영. 이슈 트래킹과 프로젝트 현황 관리 체계를 마련하고, 사용자·권한 관리 및 로그/백업 체계를 통해 보안성과 안정성을 확보하여 협업 효율을 크게 향상.
    • 코어 모듈 및 공통 API 아키텍처 도입 : 프로젝트별로 중복되는 기능을 모듈화하고, 사설 Git 레포지토리와 Nexus를 통해 버전 관리 및 배포 체계를 운영. 이를 통해 코드 재사용성을 높이고 신규 프로젝트 개발 속도를 단축, CI/CD 확장성을 고려한 구조까지 설계.
    • 스트리밍 비용 최적화 및 경량 스트리밍 구현 : Wowza 스트리밍 서버의 높은 라이선스 비용 문제를 해결하기 위해 저사용량 환경에서는 오픈소스 RTSPtoWeb을 적용, RTSP 스트림을 WebRTC로 변환(프로토콜 변환)하는 구조를 도입. Google STUN 서버를 활용하고 coturn 기반 TURN 확장까지 고려하여 비용을 크게 절감. 또한 hls.js 라이브러리를 활용하여 영상 스트리밍 기능을 구현·커스터마이징함으로써 지자체 맞춤형 경량 뷰어를 제공.
    • 이기종 데이터 및 프로토콜 연계 : SOAP, REST API, Excel 파일, 영상 프로토콜(RTSP/Onvif 등), IoT 센서 데이터 등 다양한 형식의 데이터를 연계·변환·표준화하여 플랫폼 내에서 일관된 인터페이스를 제공. 이를 통해 복잡한 멀티 프로토콜 환경에서도 안정적인 데이터 통합 및 서비스 운영 달성.
    • 맞춤형 대시보드 UI/UX 구현 : 지자체별 요구사항에 맞추어 차트, 지도, 영상 스트리밍 등 UI 요소를 최적화된 오픈소스 라이브러리로 구현. Chart.js/D3.js, hls.js, OpenLayers/Leaflet, 알림/토스트 팝업 및 인터랙션 라이브러리 등을 커스터마이징하여 신속히 기능을 반영, 고객별 차별화된 사용자 경험을 실현.

    주요 성과

    • Wowza 사용 대비 경량 지자체 환경에서 라이선스 비용 전액 절감 (연간 수천만 원 규모 절감 효과)
    • 공통 API·모듈화 적용으로 신규 프로젝트 초기 세팅 및 개발 소요 기간 30% 이상 단축
    • 폐쇄망 환경에 맞춘 Redmine 운영으로 사내 프로젝트 관리 체계 수립, 협업 효율 대폭 향상