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
github.com/ISSuh개인 깃허브 저장소
- 개인 프로젝트, 예제 및 테스트 코드들이 저장된 개인 Github 저장소
Blog
issuh.github.io개인 기술 블로그
- 공부한 내용에 대하여 정리하여 기록하기 위한 블로그
proxy 코드 자동생성 툴
- proxy pattern 기반 코드를 자동으로 생성하는 툴 개발
- 생성할 proxy 코드에 대한 middleware 등록 및 실행 구현
- DB 트랜잭션에 대한 지원 구현
consistent hashing 패키지
- consistent hashing 패키지 구현
소규모 object 를 위한 object storage 구현
- api server, metadata storage, data storage 역할을 하는 3가지 주요 컴포넌트로 구성
- GRPC 기반 내부 통신 구현
- RestAPI 기반 객체 업로드/조회/삭제등 기능 구현
- MongoDB 를 통한 객체의 metadata 설계 및 저장 및 관리 구현
- LevelDB 를 통한 객체의 chunk 단위 저장 및 관리 구현
task 기반 비동기 처리 패키지
- Chromium 의 내부 task 기반 비동기 처리를 위한 worker를 Golang 스타일로 구현
실시간 방송 Platform의 Backend
- 요구사항에 대하여 DDD 방법론을 응용하여 개발 진행
- Event Storming, Context Map, Aggregation 도출등 진행과정 문서화
- MSA 아키텍처로 각 API 서버 구현
- Kafka 이벤트 기반 동기화 구현
- 미디어 처리 구현
- RTMP 스트림을 MpegTs segment로 Transmuxing 구현
- FFmpeg를 통한 Transmuxing 및 Transcoding 구현
- 스트리밍을 위한 HLS 미디어 서버 구현
Distribute persistence key/value storage
범용 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 구현
linux 환경에서 screen sharing을 위한 screnn capture server
- gtk 기반 screen capture module 구현
- screen capture image를 mpeg로 압축 구현
- screen sharing을 위한 서버 구현
header only RPC 프록시, 서비스 library
- ASIO library를 사용하여 async 통신 기반 RPC 프록시, 서비스 구현
ROS image 스트림을 위한 멑티 세션 RTSP 서버 노드
- libx264 기반 ROS Image를 h.264로 인코딩 구현
- Live555 기반 멀티 세션 RTSP 서버 구현
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)