경력

Embedded 소프트웨어 개발자

2021.07 - 현재
Rsupport Co., Ltd

- 임베디드 기반 FCGI 웹 서버 개발, MQTT 통신 개발

- XWindow 기반 리눅스 어플리케이션 개발

- TDD 작업

- CI/CD 빌드서버 구축

- HTTPS, MQTT, TLS, IPC통신, CI/CD, GIT

- ARM cross compile, Xwindow, fcgi web server

Embedded 소프트웨어 개발자

2017.02 - 2021.07
Opticis Co., Ltd

- PC와 임베디드 기기간 여러 비디오 월 컨트롤 어플리케이션 개발 (WPF, ASP.NET, Xamarin)

- 라이센스용 서버 구축 (ASP.NET)

- HTTP, RTSP, TFTP, IGMP, MULTICAST, GIT

- ARM cross compile, u-boot, kernel, device driver, network switch routing, sqlite 경험

프로젝트

[Rsupport] 원격제어 임베디드 제품 포팅 개발

2023.09 - 현재
- 다른 보드에 기존 개발 내용 포팅하여 보드에 맞게 개선 작업 진행
- 추가적으로 보드 내 스토리지 실시간 ON/OFF기능 개발, 자동 펌웨어 업데이트 기능 개발
- 프론트 개발자와 협업 진행
#ArmCrossCompile #OTA #EMMC

[Rsupport] 빌드서버 (CI/CD) 구조 개선

2023.07 - 2023.08
[docker, jenkins]
- 도커 컨테이너 구조로 빌드서버 구축
- 기존 vmware에서 OS 리소스를 많이 가짐을 확인, 도커 컨테이너 구조로 개선
#Docker #Container #Shell #CentOS7 #Ubuntu #ArmCrossCompile

[Rsupport] 원격제어 리눅스 제품 구조 개선

2022.09 - 2023.06
[XWindow, Wayland 연구]
- XWindow, Wayland 연구 및 에이전트 설계 개선 작업 동료들과 동참
#XWindow #Wayland #Qt #Architecture

[Rsupport] 원격제어 임베디드 제품 설정 사이트 개발

2021.07 - 2022.08
[FCGI, c++ 개발]
- RVBOX 제품에 IP 설정 사이트를 구축하여 IP 설정기능(WIFI도 포함), 로그 분석기능, 장비등록 기능, 펌웨어 업데이트 기능 개발 진행
- 프론트 개발자와 협업 진행
- IP 설정 시에 LED GPIO 작업 반영
#HTTPS #TLS #Proxy #SHA256 #AES256 #웹서버 #FCGI #MQTT

[Opticis] 임베디드 제품 KVM 기능 확장

2020.01 - 2020.03 보류, 2020.09 재시작 -
[WPF, Qt 개발]
- IPVDS(IP Video Distribution System) 제품에 KVM (Keyboard, Video, Mouse) 기능을 같이 이용할 수 있도록 확장 개발 진행
#MVVM #Qt4.6 #SHA256 #HTTP

[Opticis] 임베디드 제품 기능 개선

2020.06 - 2020.08
[C, C++ 개발]
- U-BOOT - RW, RO 영역을 상호 복구 가능하게끔 개선
- KERNEL - Switching을 위한 hotkey를 개발
- AUDIO MODULE - 각 MODULE에 맞는 호환성 보완
- SNAPSHOT - client pulling, server push 방식을 모두 사용하는 서버로 재구축
- IPC 변경 - 특정 앱(msgd)에서 pipe가 자주 깨지는 점을 고려, UDS socket으로 개선
#CGI #U-BOOT #WM8903

[Opticis] PC 서버 방식 비디오 월 제품 KVM Client 구현

2020.04 - 2020.05
[C# 개발]
- NVUS-MultiController - KVM Client, NVUS-Streamer - KVM Server로 Client에서 키보드, 마우스조작을 할 수 있도록 구현
#Marsharing #WebSocketSharp

[Opticis] License Manager

2019.04 - 2019.05
[ASP.NET 개발]
- License 티켓 및 키 발행 웹페이지 제작
#AES256 #bootstrap

[Opticis] PC 서버 방식 비디오 월 제품 개발

2019 - 2019.12
[WPF 개발]
- IPVDS와는 다른 서버방식의 비디오 월 컨트롤러/뷰어 설계 및 개발
- IPVDS도 연동될 수 있도록 설계 및 개발
#MVVM #IGMP #MULTICAST #RTSP #SHA256 #OOP

[Opticis] IPVDS UNICAST(IP Video Distribution System Unicast)

2018
[WPF, EpollServer 개발]
- Multicast로만 운용되던 IPVDS를 Unicast로 설계 및 개발
- 외부망에서 Unicast로 받은 데이터를 다시 Multicast로 데이터를 내부망에 던지는 방식
#WPF #MVVM #SQLITE #VLAN #Routing #MULTICAST #UNICAST #EpollServer

[Opticis] 비디오 월 제어 모바일 앱 개발

2018
[Xamarin 개발]
- Android 모바일용 비디오 월 제어 앱 설계 및 개발
#Xamarin #MULTICAST #SQLITE

[Opticis] 미디어 플레이어 설계 개발

2017
[WPF, FCGI 개발]
- 학교용 미디어 플레이어 설계 및 개발 (특히, Schedule 기능)
#X11 #OpenGLES #GTKSharp #BoostLib #FCGI #WPF #MVVM #DAO #SQLITE

경력 전 프로젝트

Log Pose

2016.10
Mixare 오픈소스를이용하여 AR기반의 학교내 길안내 및 정보에 대한 어플리케이션을 제작. [추후 링크 수정]

FFmpeg를 이용한 Android 동영상플레이어

2016.07
잡매칭경진대회 당시 FFmpeg 라이브러리를 ndk방식으로 연결지어 안드로이드내에서 ffplay를 통해 동영상을 재생하는 프로그램 제작.

Kang's Blog

2014.06
2014년 웹 프로그래밍 수업 당시 프로젝트를 JSP를 기반으로 한 웹페이지를 구현, MVC 패턴을 이용하였으며, Ibatis방식의 데이터베이스 연결을 사용.

영상처리 프로젝트 MFC

2014.06
영상처리 수업 당시 프로젝트를 C++기반의 MFC 프로그램을 제작하여 화소 점, 화소 영역, 기하학적 변환 등의 처리가 가능.

웹 서버 프로젝트

2013.06
고급 시스템 프로그래밍 수업 당시 리눅스를 설치하고 리눅스 내에서 http 웹서버를 구축하기 위한 파일들을 vi editor로 작성하고, 원하는 웹페이지를 출력할 수 있도록 함.

자격증

네트워크 관리사 2급

2022.10
한국정보통신자격협회

정보처리기사

2016.07
한국산업인력공단

워드프로세서

2013.02
대한상공회의소

정보처리산업기사

2012.11
한국산업인력공단

정보기기운용기능사

2012.06
한국산업인력공단

MCAS Master

2010.08
마이크로소프트사

어학자격증

OPIC - IM2

2019.09 - 2021.09
ACTFL

봉사활동

월드프렌즈 IT 봉사단 in Vietnam

2014.08.01 - 2014.08.30
한국정보화진흥원

월드프렌즈 IT 봉사팀으로써 타이 응우옌 대학에서 1개월동안 반응형 모바일 웹페이지 구현 및 문화 전파 봉사활동을 다녀왔습니다. 활동 사진은 해당 블로그 를 참고.

논문

Korean Institute of Information Scientists and Engineers

에러에 강한 HEVC 비디오 스트리밍을 위한 타일 예측 유닛(Prediction Unit)의 분할 정도에 기반한 불균등 오류 보호(Unequal Error Protection; UEP) 기법을 제안한 논문.

기술

일반

객체지향 프로그래밍

형상 관리 (git)

CI/CD 관리

임베디드 리눅스 & 리눅스 엔지니어링

디자인 패턴

네트워크

알고리즘


프로그래밍 언어 & 프레임워크

C/C++

C# - WPF, Winform, Xamarin

MySQL

SQLite


개발 도구 경험

Visual Studio Code, Visual Studio, Eclipse, Intellij, vi, QtCreator