논리적인 사고와 유연한 변화를 중요시하며, 가독성과 호환성을 위한 코드 설계 및 구현, 리펙토링 그리고 버그 체크 및 디버깅 능력에 상당한 자신이 있는 편입니다.
새로운 알고리즘을 구현하는 것이 취미이며, 기타 소프트웨어 관련 최신 정보들 및 기술들을 공부하는 것을 좋아합니다.
프로그램 만드는 것, 정확히는 어떠한 문제에 대한 해결 과정과 방법을 중요시하며 즐겨합니다.
결론은 개발자로서 문제에 대한 해결과 새로운 것을 창조하는 것이 재밌습니다.
높은 수준의 UI / UX 설계 및 개발이 가능하며, Java 를 이용한 OOP - Design Pattern, Clean Code, Debugging, 서버 및 내부 데이터 flow 간의 Asynchronous IO, 데이터 구조에 대한 높은 수준의 이해가 있습니다. 복잡한 디자인을 요구하는 부분으로 인해 Custom 한 view 간의 인터렉션에도 대응이 가능하며, RESTful API를 사용한 back-end service 와의 개발 경험 및 오픈 소스 분석 및 참여, SDK 및 기능 별 내부 코어 라이브러리를 개발하는데 많은 경험 그리고 비즈니스 레벨의 영어 실력을 보유하고 있습니다.
개발 전 생산성 높은 클린 코드 구현을 위한, 개발 분석에 뛰어나며, 전체 view 설계 및 자체 성능 부분 개선을 위한 debugging 과 profiling / unit test code 구현 부분 처리에 익숙합니다. 현재 앱 개발로는 개발 생산성 및 코드 readability 을 위해 MVP 패턴을 기본으로 하며 유저에게 block 의 경험을 주지않는 비동기 형태의 UX 개발을 위해, RxJava / RxAndroid / Retrofit 을 메인 코어로 사용하고 있습니다.
인공지능 IoT 디바이스 앱 개발 및 관리 / 어플리케이션 Framework 및 SDK 개발 및 관리
Representative project : Desk, Fanwiki, VVID
(Kotlin / Kotlin native) : billing-module, curl-generator, login-module, logger
(Java) : DisplayFramework, CIC framework
인공지능 IoT 디바이스 앱 개발 및 관리 / 바로풀기 안드로이드 어플리케이션 개발 및 관리 / 바풀 관련 SDK 개발 및 데이터 수집
▢ 인공지능 IoT 디스플레이 디바이스 어플개발 (2017.12-2018.4)
- 이미지 프로세싱 기술 개발 (이미지에서 HSV / HSL / RGB 를 조합한 형태의 알고리즘 구현으로 이미지에서 인간의 사고에서 가장 합당한 색을 뽑아내는 기술)
- 이미지에서 사람 얼굴 인식 기술 개발 (Face detection 으로 사람의 얼굴인지를 판단하는 알고리즘 개발)
- 기존의 Android Annotations 형태에 + View 가 모든 기능을 담당하던 부분 리펙토링
- 2.5 이후 및 리뉴얼 버전 3.0 ~ 4.0 개발 담당
- 메모리 Heap 분석과 프로파일링 + Leak canary 및 View 재설계를 통한 성능 향상
- API call 시 SharedPreferences + RxJava + Repository 디자인 패턴을 통한 캐시를 활용하여
유저의 경험 대폭 향상
- MVP (Model-View-Presenter) 를 기본 베이스로 코드 재구현 및 유닛 테스트 커버리지 개선 및 향상
- 복잡한 디자인 부분에 대한 view 트리구조 개선 및 저사양 기기에 대응 (OS 별로 코드 분리 - OOP)
- 비동기적 UX 개발 및 적용 (RxJava + RxAndroid + Retrofit)
Java, Kotlin, Android, RxJava, RxAndroid
▢ 바로풀기 안드로이드 어플 (2015.12-2017.12)
바풀풀기 리뉴얼 개발 및 운영 관리
- 기존의 Android Annotations 형태에 + View 가 모든 기능을 담당하던 부분 리펙토링
- 2.5 이후 및 리뉴얼 버전 3.0 ~ 4.0 개발 담당
- 메모리 Heap 분석과 프로파일링 + Leak canary 및 View 재설계를 통한 성능 향상
- API call 시 SharedPreferences + RxJava + Repository 디자인 패턴을 통한 캐시를 활용하여
유저의 경험 대폭 향상
- MVP (Model-View-Presenter) 를 기본 베이스로 코드 재구현 및 유닛 테스트 커버리지 개선 및 향상
- 복잡한 디자인 부분에 대한 view 트리구조 개선 및 저사양 기기에 대응 (OS 별로 코드 분리 - OOP)
- 비동기적 UX 개발 및 적용 (RxJava + RxAndroid + Retrofit)
- https://play.google.com/store/apps/details?id=com.incombine.app.bapul
Java, Android, RxJava, RxAndroid, Retrofit, Android Annotations
▢ 바풀 계정 관리 SDK (2017.3-2017.9)
바풀 전체 서비스 계정관련 AccessToken 관리 SDK 개발
- 기존의 바로풀기 서버에서 로그인을 하는 것이 아닌, 계정 전체를 따로 한번에 관리하도록 개발
- 페이스북의 AccessToken 관리 sdk 와 유사하며 RxJava + Retrofit 사용
- MVP 패턴, SingleTon 패턴, Builder 패턴, Repository 패턴으로 구성되어 있으며, 최초 init 이후,
Activity onStart() / onStop() lifecycle 시 토큰 갱신여부 체크 및 갱신 하는 방식
Java, Android, RxJava, RxAndroid, Retrofit
▢ 바풀 자동답변 SDK (2017.2-2017.9)
질문 이미지 머신러닝 인식 관련 input 을 담당하는 SDK 개발
- 바로풀기 자동답변과 관련된 모든 API 에 집합체
- MVP 패턴, SingleTon 패턴, Builder 패턴으로 구성되어 있으며, 자동답변 호출 후, 지정한
callback 에서 결과 값을 받는 구조 (실제로는 수 번의 call 이 연달아 거쳐가는 방식)
Java, Android, RxJava, RxAndroid, Retrofit
▢ 이미지 편집 라이브러리 (2017.1-2017.9)
바로풀기 이미지 Crop 및 편집 부분 개발에 적용
- 이미지 crop 및 편집 관련 개발에 핵심 코어로 적용
- Matrix 를 사용한 형태로 bitmap 재생성에 대한 부담에 없으며, 데코레이션에 대한 부분이 다 존재함
- 핵심 코어 : https://github.com/DanielWorld/ImageCropper
Java, Android
▢ 바풀 동영상 플레이어 라이브러리 (2017.4)
바로풀기 이주의 10분 무료체험 강의 동영상 플레이어 개발
- ExoPlayer 를 이용한 플레이어로 wrapper 형태로 개발되어짐
Java, Android, ExoPlayer
▢ 무음 카메라 라이브러리 (2016.11-2016.12)
바로풀기 무음 카메라 개발에 적용
- Camera1, Camera2 API 및 스마트폰, 태블릿에도 호환이 되는 라이브러리 개발
- TextureView 를 베이스로 API 별 view size, 카메라 센서 각도, 기기의 회전 각도,
orientation 을 계산 및 처리하는 알고리즘 구현
- 핵심 코어 : https://github.com/DanielWorld/CameraLibrary
Java, Android
▢ 바풀 유저 트래킹 SDK (2015.12-2016.3)
유저들의 화면별 체류 시간 및 유저의 행동을 트래킹 및 빅데이터 분석을 위한 SDK 개발
- 3rd party 라이브러리가 존재하지 않는 pure 한 sdk 형태로 개발
- SingleTon Pattern, Factory Pattern 적용
- 바로 전송하는 부분과 DB 에 저장 후, 특정 시간에 전송하는 2가지 방식이 있으며, 바로 전송이
실패하는 경우에는 DB 에 저장 후, 특정 시간에 전송하는 방식
Java, Android
안드로이드 어플리케이션 개발을 메인 포지션으로 담당 / 기타 개발 서포트
▢ 포토앤데코 (2015.7-2015.9)
리뉴얼 및 코드 개선 작업
- 소스 리펙토링 및 성능 개선작업
- https://play.google.com/store/apps/details?id=net.creamhouse.photoanddeco_kakao
Java, Android, SQLite
▢ 사진꾸미기 (2015.6-2015.7)
리뉴얼 및 코드 개선 작업
- 소스 리펙토링 및 성능 개선작업
- https://play.google.com/store/apps/details?id=com.cream.scribble
Java, Android, SQLite
▢ 대한펜싱협회 (2015.5)
커뮤니티 항목 중 스포츠인권익센터 추가 작업
- 게시판 기능 개발
- 글쓰기, 글수정, 파일업로드, 이미지 업로드 및 삭제 등 기능 추가
- http://fencing.sports.or.kr/info/list?code=rule
Java, Android, SQLite
▢ FC서울 (2015.4-2015.5)
FC서울 안드로이드 어플 리뉴얼 작업
- 시즌회원, 멤버십 바코드 인식 확대
- 어플 UI 변경
- 선수소개 부분 해당 선수 정보가 없을 시 마네킹 선수 이미지 대체
- 경기시작시 일부 기기에서 경기일정 오류발생 부분 수정
- https://play.google.com/store/apps/details?id=com.gssports.fcseoul
Java, Android, SQLite
▢ SK 플래닛 AMP SDK (2015.2-2015.3)
안드로이드 AMP Tracking SDK 기능 리뉴얼
- OS 2.3 이하 기기 64k 메소드 limit in dex 이슈 수정
- send 기능 축소 및 역할 변경
- 민감한 개인정보 수집 제거 및 기타 수집목록 변경
- OS 2.3 기기 부터 트래커 작동 (Google Ad ID OS 2.3 기준)
- 관리자 페이지에서 앱 트래커 작동 중단 기능 추가
Java, Android, SQLite
▢ SK 플래닛 AMP SDK (2014.10-2015.1)
안드로이드 AMP Tracking SDK 개발
- 리퍼러 및 유저 기기, 계정 등 기타 정보들을 수집하여 서버에 전달
- 어플로 부터 수집 받은 리퍼러, 유저 고유 정보를 통해 광고 대행비를 받는 시스템 (CPA)
Java, Android, SQLite
▢ SK 와이번스 기록시스템 (2014.7-2014.10)
KBL 팀 전체 타자 선수 개인기록 (타율, 도루율 등등) 부분 기록 DB 쿼리 작성 및 페이지 개발
- 선수 개인기록 부분 기록 쿼리 작성 및 화면에 데이터 호출 작업
- 팀 기록 부분 기록 쿼리 작성 및 데이터 호출 작업
Java, Spring Framework, MySQL
Namgyu Park — op7773hons@gmail.com — https://github.com/DanielWorld —