Profile

증명사진

조우진 (Woojin Joe)

 

 

라인플러스, 개발7실 Software Engineer

메일: jwj0831@gmail.com


View Woojin Joe's profile on LinkedIn

About me

학부~대학원: Passion, Getting to know myself, Experiment & Challenge

  • 학부 시절 컴퓨터공학을 열정적으로 공부하면서 학생으로서 다양한 도전을 함.
  • 그 도전 중 하나로 졸업 작품이 한 공모전에서 대상을 수상하게 되었고 중소기업청 청년창업사관학교 2기로 창업 교육 및 지원금을 받음
  • 3개월 간 창업 교육을 받으며 앱개발을 하다가 중도 퇴소를 결정함
  • 퇴소의 주요한 이유: CEO가 나의 Goal이 아니었음, 창업의 두려움 등
  • 진로에 대한 고민을 학생 신분으로 연장하기 위해 대학원 진학
  • 분산 시스템 및 CEP(Complex Event Processing)를 공부 중 오픈소스 CEP 엔진 Esper의 Java 코드를 읽으면서 OOP답게 설계된 구현 코드의 아름다움을 맛 봄
  • ActiveMQ와 AngularJs를 사용한 Sensor Network 관련 구현 논문을 준비하면서 개발의 즐거움과 개발의 흥미를 알아가게 됨
  • 대학원 과정 중 주말에는 SpaceCloud(유휴공간 사업)라는 스타트업에서 파트타임으로 일하면서 1.0 버전 론칭

티몬: Professional, Code Reading, Documentation

  • PHP로 작성된 운영서비스의 코드를 처음 접하면서 개인의 토이프로젝트 수준이 아닌 서비스를 위한 개발은 어떻게 해야하는지 알아가게 됨
  • 한참 PHP로 작성된 시스템을 하나씩 Java로 전환하는 과정에서 기존 레거시 코드 분석
  • 사내 Confluence 도입이 된 지 얼마 안 되었을 때 입사하게 되어 담당 파트의 시스템 분석 내용 꾸준히 Wiki화
  • 상품 정보의 변경사항을 불필요하게 동기적으로 여러 시스템과 연동된 것을 MQ 기반으로 전환
  • rabbit mq php 라이브러리를 리얼 서버에 올리다가 library path 설정이 stage와 real 서버가 달라서 30분간 결제 장애를 일으킴;
  • 신규 상품 등록 프로젝트 진행하면서 Spring 기반 프로젝트 구축 경험
    • Senior 한 분이 module로 나눌 것을 제안했을 때, 이 때 당시만 해도 module 단위 구성에 대한 개념을 잘 몰랐음
  • Java 전환 프로젝트가 진행될 때  “Spring 코드 리딩” 사외 스터디를 통해서 Spring을 좀 더 잘 이해할 수 있었음
  • 신규 프로젝트의 CMS를 Angular(당시 2)와 Webpack으로 직접 구축
    • 이 때 경험을 바탕으로 앵귤러 첫걸음 출판

라인플러스: Global, Scale, Deep Inside

  • 대용량 트래픽 핸들링, 좀 더 많은 권한과 책임에 목마름으로 라인플러스 이직
  • Global 서비스를 위한 인프라 구성과 코드레벨의 준비가 무엇이어야 하는지 배움
  • 기존 Elasticsearch(이하 ES) 클러스터를 인계받으면서 ES를 공부하면서 운영
  • 커널 셋팅 변경 및 TCP 레이어의 상태 변화등을 필요에 의해서 모니터링하고 디버깅
  • 이전 직장에서 Sever to Server의 연동업무를 주로 했던 것과 달리 실제 앱 클라이언트의 서비스 API를 개발하면서 하위버전을 고려한 개발을 알아감
  • Ansible을 활용하여 수십대의 서버 인스턴스의 설정 및 운영 경험

 

Project History

  • Trivia
    • Vue.js로 CMS 멀티페이지 프로젝트 셋팅 및 기본 템플릿 코드 작성
    • WAS, 채팅 세션 등 전체 서버 구축
    • Spring boot CLI를 활용한 채팅 부하 테스트 툴 개발 후 병목 지점 profiling 개선
      • cpu의 jetty의 lock 코드 => concurrent 패키지 사용한 개선버전 적용
      • 메모리 릭 현상 =>  websocket의 압축 기능 버그 발견 후 제거
  • 7
    • https://www.facebook.com/groups/elasticsearch.kr/permalink/1461542723931563/?hc_location=ufi
  • Deal  구조개선
    • RabbitMQ, CouchBase를 활용하여 상품 등록 생성
  • DD 프로젝트 1차 (1월 중순 ~ 4월 말)
  • T 프로젝트 어드민
    • AngularJS
      • ui-grid
      • ui-sortable
    • SpringMVC
    • Java8?… Stream?
  • C 프로젝트 어드민
    • AngularJS
    • Spring MVC
    • 기획, API 개발, C 데이터 활용 하는 사람, 총괄 기획 사이에서 직접 만나서 조율하여 불필요하게 기획전 어드민을 추가할 필요가 없었던 점은 커뮤니케이션의 중요성을 깨닫게 해 준 일
  • Conceptually Manageable Sensor Network(2014.02 ~ 2014. 12) https://github.com/jwj0831/CSN-Library
  • 희년함께 부채탕감 홍보 페이지 http://jubileekorea.net/
  • 메리힐 원룸 안내 페이지 http://merryhill.co.kr/
  • 스페이스클라우드 (2014.04 ~ 2014. 09) http://www.spacecloud.kr/
  • M2M/IoT based data logger for Lake So-yang (2013.01 ~ 2013. 06 ) https://github.com/jwj0831/m2m-smartlogger
  • WordPress 기반 웹사이트 제작 (2013.05 ~ 2013.07) https://github.com/jwj0831/hananuri-theme / https://github.com/jwj0831/landliberty-theme
  • 지하역사 Job Manager (2013.04 ~ 2013.05) https://github.com/jwj0831/jobmanager
  • Ethical Shop(착한 가게) Project 기획 및 아이폰 앱 개발 (2011.09~2012.05) https://github.com/jwj0831/ethicalshop

Publications

Education

  • 2013/07/01 Software Testing (수료증)
  • 2013/07/02 Jenkins (수료증)
  • 2013/10/25 MongoDB (수료증)
  • 2013/11/5 Amazon Web Service Essential 수료 (Certification)
  • 2016/05~06 Functional Programming Principles in Scala 수료 (Certifiacation)
  • 2017/11 Machine Learning 수료 (Certification)
  • 2017/11~12 Deep Learning Specialization 3 강좌 수료
    • Neural Network and Deep Learning (Ceritification)
    • Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization (Certification)
    • Structuring Machine Learning Projects (Certification)

Prensentation

  • 2017/07/22 앵귤러 첫걸음 출간 세미나 “앵귤러 아키텍쳐 하루만에 훑어보기” (발표자료)
  • 2018/08/30 네이버 golang meetup 발표 “이더리움 geth 클라이언트 코드로 이해하는 Go” (발표자료)

 

Open Source

Translations

Extra Activities

  • 한빛리더스 시즌 2 1기
  • 한빛리더스 7-8기
  • 제이펍 출판사 베타리더 2기
  • 중앙 서울 마라톤 2011년, 2013년 풀코스 완주, [확인]