서인석

InSeock Suh

About Me

소프트웨어 개발자로써 초기 경력 동안 여러 임베디드 리눅스 환경에서 클라이언트 사이드의 어플리케이션들을 개발하였습니다.

이후 새롭게 도전하여 이제는 백엔드 개발자로 경력을 이어가고 있으며 부족한 부분을 채워나가고자 노력하고 있습니다.

항상 더 나은 소프트웨어를 위하여 주로 개인 프로젝트를 통해 업무와 관련된 주제나 관심있는 주제 혹은 다양한 기술에 대하여 직접 구현해보는 것으로 학습하고 있습니다.



Skills

  • C/C++ / GoLang / Python
  • Linux / AWS / Docker
  • Redis / MySQL / ElasticSearch
  • echo / GRPC / Kafka
  • ROS / Gstreamer / WayLand
  • Jenkins / Git / JIRA


Experience

다이렉트클라우드랩

https://www.directcloudlab.co.kr/

2024.02 ~

백엔드 팀

Golang, echo, AWS, MySQL, Redis, ElasticSearch

B2B 클라우드 파일 스토리지 서비스 백엔드 개발

  • 서비스 개발
    • 레거시 API 리팩토링을 통한 응답 속도 약 20% 개선
    • 레거시 데이터베이스 쿼리 최적화를 통한 처리 성능 약 40% 향상
    • 레거시 batch 에 대하여 비동기 병렬처리구조로 리펙토링 진행하여 소요시간 약 70% 단축
    • 신규 서비스에 대한 구조 및 API 설계 및 구현
    • 대규모 파일 Cold Storage 적용을 위한 서비스 구조 설계 및 구현
    • 팀내 TDD 문화 정착을 위한 테스트 코드 작성 룰 수립 및 환경 적용
  • 인프라 및 운영
    • 시스템의 통계 데이터 수집을 위한 ElasticSearch 인덱스 설계 및 구현
    • ElasticSearch 비용 절감을 위한 Warm/Cold Storage 적용 방안 수립

오비고

https://obigo.com/

2020.03 ~ 2023.10

어플리케이션프레임워크 팀

C++14/17, Chromium, MySQL, Gstreamer, Wayland, DRM

차량용 브라우저 및 웹 어플리케이션 프레임워크 개발

  • 2023 상반기 우수사원 수상
  • 차량용 브라우저 개발
    • Chromium 기반 차량용 브라우저 엔진 개발 및 업그레이드
    • 미디어
      • FFmpeg → Gstreamer 기반 미디어 스택 재구현
      • Cnemo Media engine 포팅 및 미디어 스택 재구현
      • 임베디드 플랫폼별 미디어 파이프라인 설계 및 구현
      • OTT 서비스 지원을 위한 브라우저 EME 스택과 각 DRM 솔루션 연동 구조 설계 및 구현
        • Widevine DRM(L3) 연동 및 Plugin 구현
        • PlayReady DRM(SL2000) 연동 및 Plugin 구현
        • CoreTrust DRM 연동을 위한 C++ ASIO 기반 HLS 프록시 서버 구현
    • 그래픽
      • Wayland window system 연동 (렌더링, Touch Input 처리)
      • Transparent Hole 기능 포팅 (미디어 화면 출력)
      • 임베디드 플랫폼상 GPU Rasterize 연동 및 Tile 변경 감지 후 재조정을 통한 성능 최적화
        • GPU 사용으로 인한 20%의 CPU 사용량 개선
    • 네트워크
      • 임베디드 플랫폼의 네트워크 환경(내부 proxy 서버, whitelist/blacklist 등) 연동
  • 웹 어플리케이션 프레임워크
    • 임베디드 플랫폼 연동을 위한 Web Application Lifecycle 구조 설계 및 구현
    • 임베디드 플랫폼내 Web Application Window 관리 구조 설계 및 구현
    • DBus IPC 통신 기반 플랫폼 연동 (볼륨, 재생, Window 관리등)
    • QT5 기반 HTML5 어플리케이션 프레임워크 SDK 개발
    • MISRA, CERT C++ secure coding 표준 적용

스프링클라우드

2018.01 ~ 2020.03

플렛폼개발 팀

C++11, ROS, Gstreamer, Python, Flask, FFmpeg, MySQL, Kafka, MQTT, WebSocket, Docker

자율주행 차량 데이터 수집 및 관제 시스템 개발

  • 자율주행 차량 운행데이터 관제 연동 단말기
    • Camera, GNSS, LiDAR, Radar, IMU, CAN 등 멀티 센서 데이터 연동 구현
    • Docker 기반 센서 획득 어플리케이션 모듈화
      • 관련 내용 특허 등록
        • 센싱데이터 전송장치 및 방법(등록번호:1021977350000)
        • 자율주행 시스템(등록번호:1022613060000)
    • TCP, MQTT, WebSocket, Kafka 등 다양한 통신 인터페이스 구현
      • JSON/Protobuf 기반 데이터 전송 규격 설계
    • 멀티 Camera RTSP 서버 구현
      • 영상 합성을 통한 75%의 네트워크 대역폭 절약
  • 자율주행 셔틀 운영자 모니터링 시스템
    • Kafka 기반 데이터 전송 구조 설계 및 구현
    • 네트워크 모니터링 기능 구현
    • HTTP 기반 MJPEG 스트리밍 서버 구현
      • GPU 인코딩으로 CPU 사용량 30% 개선
  • 차량 관제 웹 어플리케이션
    • Flask, MySQL 기반 백엔드 구현 (데이터 수집/저장)
    • React 기반 프론트엔드 구현 (차량 위치, 영상, 인지데이터 표출)
    • ROS 기반 센서 데이터 연동 및 전송 시스템 구현

다산지앤지

2017.07 ~ 2017.08

인턴

R, Python

  • AIM 데이터 사용량 통계 분석
  • SVM 알고리즘을 이용한 에너지 사용량 예측 모델 구현


Personal Projects

개인 깃허브 저장소

  • 개인 프로젝트, 예제 및 테스트 코드들이 저장된 개인 Github 저장소

개인 기술 블로그

  • 공부한 내용에 대하여 정리하여 기록하기 위한 블로그

proxy 코드 자동생성 툴

  • proxy pattern 기반 코드를 자동으로 생성하는 툴 개발
  • 생성할 proxy 코드에 대한 middleware 등록 및 실행 구현
  • DB 트랜잭션에 대한 지원 구현

consistent hashing 패키지

  • consistent hashing 패키지 구현

sos

github.com/ISSuh/sos

Golang, GRPC, MongoDB, LevelDB

소규모 object 를 위한 object storage 구현

  • api server, metadata storage, data storage 역할을 하는 3가지 주요 컴포넌트로 구성
  • GRPC 기반 내부 통신 구현
  • RestAPI 기반 객체 업로드/조회/삭제등 기능 구현
  • MongoDB 를 통한 객체의 metadata 설계 및 저장 및 관리 구현
  • LevelDB 를 통한 객체의 chunk 단위 저장 및 관리 구현

task 기반 비동기 처리 패키지

  • Chromium 의 내부 task 기반 비동기 처리를 위한 worker를 Golang 스타일로 구현

myStream

github.com/ISSuh/mystream

Java 17, Spring Boot 3, JPA, MySQL, Kafka, Golang, RTMP, HLS

실시간 방송 Platform의 Backend

  • 요구사항에 대하여 DDD 방법론을 응용하여 개발 진행
    • Event Storming, Context Map, Aggregation 도출등 진행과정 문서화
  • MSA 아키텍처로 각 API 서버 구현
  • Kafka 이벤트 기반 동기화 구현
  • 미디어 처리 구현
    • RTMP 스트림을 MpegTs segment로 Transmuxing 구현
    • FFmpeg를 통한 Transmuxing 및 Transcoding 구현
  • 스트리밍을 위한 HLS 미디어 서버 구현

nlink

github.com/ISSuh/link

C++14, HTTP, Framework

범용 micro service framework

  • plugin 방식의 runtime user module load 및 running 환경 구현
  • task 기반의 async 환경 구현
  • 기본 네트워크 스택 구현
    • TCP, UDP socket 클라이언트, 서버 구현
    • HTTP parser 및 routing 구현
    • HTTP 클라이언트, 서버 구현
    • RPC 프록시, 서비스 구현

Cross Platform(Win, Linux)용 State Machine header only library 구현

  • standard library만 사용하여 구현
  • task 기반 concurrency state 구현

remote_display_viewer

github.com/ISSuh/remote_display_viewer

C++11, GTK, GoLang

linux 환경에서 screen sharing을 위한 screnn capture server

  • gtk 기반 screen capture module 구현
    • screen capture image를 mpeg로 압축 구현
  • screen sharing을 위한 서버 구현

SimpleRPC

github.com/ISSuh/SimpleRPC

C++11, ASIO

header only RPC 프록시, 서비스 library

  • ASIO library를 사용하여 async 통신 기반 RPC 프록시, 서비스 구현

Image2RTSP

github.com/ISSuh/image2rtsp

C++11, ROS, H264, RTSP

ROS image 스트림을 위한 멑티 세션 RTSP 서버 노드

  • libx264 기반 ROS Image를 h.264로 인코딩 구현
  • Live555 기반 멀티 세션 RTSP 서버 구현

CudaImageProcessing

github.com/ISSuh/CudaImageProcessing

C++11, ROS, CUDA

CUDA 기반 ROS image 변환 노드

  • CUDA, NPP, nvJPEG 기반 ROS Image 변환 구현
    • 이미지 크기 변환
    • 이미지 Gray Sacle 변환
    • 이미지 Jpeg 압축


Education

학력

  • 고려대학교 세종캠퍼스 컴퓨터정보학과 학사 졸업 (2011.03~ 2018.02, 3.71/4.5)
  • 환일 고등학교 졸업 (2009.03 ~ 2011.02)

수상이력

  • 교내 캡스톤 디자인 경진대회 최우수상 수상 (2017.12)
  • 2017년도 1학기 성적우수 표창장 (2017.07)
  • 2016년도 1학기 성적우수 총장상 (2016.08)
  • 2015년도 2학기 성적우수 학장상 (2016.02)

자격증

  • 정보처리기사 (2017.11)
  • TOEIC 815 (2016.10)