portrait.jpg

김 동욱

3년+ 경력의 backend web developer 입니다. 코드의 가독성을 중요시 여기며, 언어와 프레임워크의 디자인철학을 고려하여 개발하고자 노력합니다. 문제 해결을 위하여 사용 도구의 내부 구조 분석 및 응용을 즐겨 합니다. 최근 문제 해결을 위한 아키텍팅과 디자인 패턴에 관심을 갖고 있습니다. 다양한 경험을 하는 것과 새로운 도전을 중요하게 여기는 삶을 살고 있습니다.

[email protected]
010-5522-5079
서울특별시 송파구 잠실동

Skills


Python

  1. 4년 정도의 Django, Flask, Django REST framework를 사용한 백엔드 및 API 서버 개발.
  2. Celery, RabbitMQ 및 Redis를 이용한 분산처리
  3. 웹크롤링, 외부 API 사용 및 배치 프로그램 개발


Database

  1. SQL 사용하여 원하는 Query를 구현 가능
  2. 기존 Query를 분석하여 튜닝 및 최적화 가능
  3. PostgreSQL, SQLite3, mySQL, mongoDB 사용 경험
  4. mongoDB의 map & reduce를 사용하여 aggregate pipeline 구현 가능


Front-End

  1. HTML, CSS 를 이용하여 웹페이지 구현가능
  2. Javascript 및 jQuery를 사용하여 DOM 조작 가능
  3. AngularJS2.0, ReactJS를 사용해본 경험


협업 도구

  1. 3년 간 Redmine, JIRA를 사용하여 이슈를 관리한 경험
  2. 4년 간 Git 을 사용하여 형상 관리 및 배포를 해본 경험
  3. 2년 간 Gerrit, Git을 사용하여 코드리뷰를 하거나 받은 경험


그 외 언어

  1. Java, spring framework를 사용하여 간단한 서비스 프로토타입 만든 경험
  2. php, slim framework를 사용하여 간단한 서버 및 페이지 만든 경험
  3. C, boost library를 사용하여 간단한 프로그램을 제작한 경험


백엔드 외

  1. RESTful API 와 MicroServiceArchitecture에 대한 경험 및 지식
  2. Cron, Bash script를 사용하여 자동화 가능
  3. YAML와 swagger를 이용한 API 문서화
  4. 의사전달에 무리 없을 정도의 영어 실력

Yogiyo Backend web developer

Kakaopay 모듈 교체, 2017. 08 - 현재

  • 기존 python 결제 모듈을 kakaopay가 제공하는 RESTful API 로 교체

요기요 API v2 구현, 2017. 05 - 08

  • Django Rest Framework를 이용한 RESTful API 구현
  • 기존 legacy model의 foreign key 제거 및 model 간 dependency 제거
  • Micro Service Architecture를 위해 Service간 내부 통신 구현
  • ListSerializer iterator loop 최적화를 통한 성능 향상

NPOT 서비스 합병으로 인한 통합 작업, 2017. 02 - 04

  • 초기 통합을 위하여 S3 Bucket을 이용하여 레스토랑 데이터 제공
  • 기존 api wrapper를 통해 npot 전용 api 구현
  • npot 주문 처리를 위한 back office 기능 구현

레스토랑 영업시간 계산 로직 개선, 2016. 07 - 2016. 09

  • 250줄 가량의 요기요 핵심 SQL 구문 분석 및 개선 작업.
  • 너무 분량이 많았던 기존 Query문을 분리하여 Testable 하도록 개선 및 test case 작성.
  • 24시간 영업 레스토랑 대응시 문제가 있었던 기존 로직을 문제 없도록 개선 제안.


iFunFactory Backend web developer

기존 KPI 통계 배치 프로그램 및 페이지 개선, 2016. 03 - 2016. 06

  • 비효율적이던 배치 프로그램을 개선하여 2M 로그 분석 시간을 기존 10분에서 3분으로 단축.
  • Datetime range 검색의 효율을 위해 chart minimap 추가.
  • C3.js 로 구성된 프론트 엔드를 plot.js 으로 변경.
  • 기존 배치를 Monthly, Weekly, Daily, Hourly 배치로 각각 refactoring.
  • 백엔드 및 초기 프론트 엔드 담당.

게임 내 아이템 지급 등 GM 업무 가능한 API 구현, 2016. 01 - 2016. 03

  • 아이템 지급, 이벤트 생성, 계정 밴 등과 같은 게임 내 GM 업무를 웹 대쉬보드에서 가능케 하도록 API 및 해당 library 구현.
  • 해당 기능을 데모할 수 있도록 php로 데모 서버 구현.
  • API protocol을 정하여 dynamic하게 아이템 지급 및 삭제가 가능하도록 구현.
  • 백엔드 및 초기 프론트 엔드 담당.

PayPal 용 결제 페이지 구현, 2015. 12 - 2016. 01

  • 자사 프로덕트를 paypal 을 이용하여 구매할 수 있는 페이지.
  • Django, python social auth를 이용하여 소셜 로그인 / 가입 가능하도록 구현.
  • 결제 트랜잭션을 구현하여 결제 중 문제가 생기더라도 rollback이 가능하도록 구현.
  • 백엔드 및 초기 프론트엔드 담당.

각종 iaas provider, openstack horizon dashboard 부착, 2015. 09 - 2015. 11

  • AWS, rackspace, DigitalOcean 에서 제공하는 라이브러리로 기존 구현된 자사 제품 인터페이스에 맞도록 구현.
  • cloud-init의 userdata를 이용하여 VM 구성 초기화를 통일.
  • 로드밸런서 서비스를 제공하지 않는 provider를 위해 HA proxy 를 cloud-init으로 설치할 수 있도록 제공.
  • 백엔드 담당.

Activity log를 분석하는 KPI 통계 구현, 2015. 07 - 2015. 09

  • 게임 내에서 발생하는 activity log들을 가지고 일반적은 KPI 수치들을 볼 수 있도록 한 작업.
  • KPI에 필요한 activity log를 설정하고 php, python, c# 라이브러리로 제공하도록 구현.
  • mongoDB aggregation을 최대한 이용하여 1차로 데이터를 합산하고 python을 이용하여 2차로 가공하여 API로 제공.
  • 데모 데이터 생성을 위해 Brownian motion alogrithm 사용.
  • KPI를 좀더 직관적으로 보이게 하기 위해 C3.js 사용하여 front-end 작성.
  • 백엔드 및 초기 프론트 엔드 담당.

Kiwiple Backend web developer

일본 라인 스탬프 카드 서비스 개발, 2015. 01 - 2015. 05

  • 라인 앱을 이용해 점포의 스탬프 카드를 관리하는 서비스.
  • python, flask를 이용하여 프로토타입을 만들어 예상 가능한 문제점과 비지니스 로직을 검토하고 Spring framework를 이용하여 실제 구현. 
  • 팀 단위 작업으로, 비지니스 로직 구현 및 백엔드 작업 담당.

지번 주소 정규화 개선, 2014. 12 - 2015. 01

  • 유저에 의해 정규화 되지 않은 지번이 들어올 경우, 정규화 하는 프로그램. 
  • 기존 오토마타 구조에서 TRIE 자료구조를 사용하여 성공률 60% > 90% 이상 개선 및 띄어쓰기 없는 지번의 경우도 처리 가능하도록 개선.
  • 팀 단위 작업으로 로직 개발.

스크랩퍼 및 크롤러 제작 및 API 구현, 2014. 09 - 2014. 12

  • python의 라이브러리와 celery 를 이용하여 쿠폰 관련 데이터를 수집하고, flask를 이용하여 해당 크롤러를 조작하거나 모은 데이터를 보여주는 API 구현


개인 작업

유전자 변형 비율 계산 프로그램 MongoDB 이전 작업, 2017. 06

  • 기존 file 을 사용하던 프로그램을 모두 MongoDB 에 저장하고 처리할 수 있도록 변경
  • python click 모듈을 사용한 cli 기반
  • python Async mongodb module인 Motor를 사용하여 기존의 6배로 속도 향상

유전자 변형 비율 계산 프로그램, 2014. 12 - 2016. 01

  • 특정 문자열을 포함한 시퀸스 추출 및 변형 비율 통계 계산 프로그램. 연세대학교 생명공학 대학원 박사의 요청으로 시작.
  • Levenshtein edit distance 를 사용하여 유전자들의 변형 비율 조사.
  • 빠른 시퀸스 추출을 위해 c의 boost library 를 사용하여 추출.

쇼핑몰 레이아웃 자동 제작 프로그램, 2013. 12 - 2014. 01

  • 옷본의 각 부위별 수치 레이아웃 입력 자동화 툴 제작.
  • html, javascript, jQuery 로만 구성.

Powered by CakeResumePowered by CakeResume
Powered by CakeResumePowered by CakeResume