미리보기
기본 정보
안녕하세요! 저는 개발 언어와 프로덕트에 다양한 경험과 관심을 갖고 있습니다. flutter, kotlin, golang를 좋아하며 실시간 비디오 처리 등의 개인 프로젝트를 했습니다. 아래 링크에서 제 개발 발자취와 메인 포트폴리오를 확인해보세요. https://hanguk0726.github.io/nemo_bio/ https://github.com/hanguk0726/Avatar-Vision
기술 스택
Kotlin, Flutter
경력
필락시스(PhylaxisInc.)
Go 개발자 | 개발팀
2023.10. ~ 2024.01. (4개월)
PhylaxisProxy는 Cloudflare를 떠올릴 수 있는 역방향 프록시입니다.
호스트 도메인에 대한 공격을 여러 설정으로 방어하고 자원 관리를 돕는 CDN/WAF 서비스입니다. 도전적인 과제였지만 뛰어난 동료들과 함께하여 개발을 해나갈 수 있었습니다.
저는 RateLimit, Cache, SEO 파트를 중심으로 다음 내용을 개발했습니다.
RateLimit, Cache와 관련해 램, 디스크 간의 LRU, ttl 관리, 요청 헤더 파싱, 'Avatart Vision'의 이미지 처리 경험을 통한 압축 및 캐시를 개발했습니다.
Clickhous, Kafka로 로그 및 통계 처리, SQLi, XSS 방어를 위한 요청의 쿼리, 바디 파싱,
Haproxy를 통한 인증서, Fingerprint와 로드 밸런싱 처리, 도커 패키징과 배포와 이외 나머지 기능들의 설정(waf, ddos, cache rules)을 적용하는 개발을 했습니다.
이 프로젝트를 통해 여러 단계의 거치며 필터링, 가공되는 네트워크 요청의 유기적인 흐름과 공격과 방어 주제를 통한 컴퓨팅 자원에 대한 민감성을 키울 수 있었습니다.
또한 잊고 있던 golang의 직관적 프로그래밍의 즐거움을 다시 느낄 수 있었습니다.
토기
안드로이드 개발자 | 개발팀
2022.01. ~ 2023.02. (1년 2개월)
저는 Android 개발자 역할로서 1년 2개월 동안 말그대로 혼자서 이 프로젝트를 개발하고 운영했습니다.
빠른 템포의 개발 과정에서 앱은 여러 번의 변경을 거쳤고, 그 중에는 몇 가지 크고 중요한 전환도 포함되었습니다.
저는 이 앱의 개발 과정이 Jetpack Compose와 Android에서의 주제들을 광범위하게 다루었다고 생각합니다.
앱 개발에는 캘린더, cropper 도구, 틴더 같은 스와이프 위젯, 드래그 앤 드롭 기능, 중첩 스크롤링과 탭이 있는 기타 복잡한 위젯 등 다양한 구성 요소가 포함되어 있습니다. 아키텍처는 클린 아키텍처 원칙을 따랐고, 이벤트 기반 시스템을 활용했으며, 반응형 프로그래밍을 통합했습니다.
성능 최적화를 위해 이미지나 네트워크 데이터 등을 캐싱했습니다. 또한 앱은 국제화, 웹뷰 통합, 카메라 기능, PDF 처리, 다중 모듈 시스템, 인증 등을 지원했습니다.
당시 저는 Jetpack Compose와 Android 개발을 정말 즐겼습니다. iOS 개발에 사용되는 TCA(The Composable Architecture)에서 영감을 얻어 앱의 상태 관리를 지속적으로 개선했습니다.
이 프로젝트에서 저는 회사 수준에서 다른 역할 그룹과 협력하면서 프로덕트의 생명 주기를 전체로 경험했습니다.
스냅태그
Java 개발자 | 개발팀
2021.03. ~ 2021.06. (4개월)
Snaptag 앱은 안드로이드 카메라로 촬영된 픽셀에서 미리 적용해둔 특정 정보를 얻습니다.
제 역할은 안드로이드 카메라 파트를 최적화하여 픽셀 캡처에서 정보 추출까지의 과정을 최적화 하는 것이었습니다.
캡처된 카메라 프레임은 JNI를 통해 연결된 C++ 모듈로 전달됩니다.
이 앱 개발한 것은 안드로이드 카메라 기능에 대한 깊은 분석을 할 수 있는 귀중한 경험이었습니다.
프로젝트
아바타 비전
개인
2023.02. ~ 2023.05.
ffmpeg 없이 flutter와 rust로 만든 영상 일기 앱.
영화 아바타의 한 장면에서 영감을 받아 이 앱을 만들었습니다.
이 앱은 SF UI/UX를 제공하고 사용자에게 비디오 일기 기능을 제공합니다.
웹캠과 마이크 장치의 입력을 디코딩하여 사용자에게 표시하고, 데이터를 MP4 형식으로 muxing하는 데 필요한 단계를 처리합니다.
모든 세부 사항은 아래에 링크된 Medium 아티클에서 찾을 수 있습니다.
https://github.com/hanguk0726/Avatar-Vision
이외의 제 개발 경험을 모두 개인 웹사이트에 상세히 기록했습니다.
https://hanguk0726.github.io/nemo_bio/