portfolios

Experiences


서버 개발자 인턴, Town Company (2016.11.18 ~ 2017.02.21)


대학생 공동구매 웹서비스인 타운어스(TownUs)의 REST API 서버 유지보수 및 테스트 코드를 개발함.

기존 레거시 서버 코드에 테스트 코드가 없어 REST API 테스트 코드를 추가하여 테스트 가능한 환경을 구성함. 테스트 코드를 추가함으로써 리팩토링이 조금 더 수월해짐.

서버 및 프론트엔드 코드 분석 후 미사용 API, 데이터베이스 테이블, 클래스, 함수들을 제거하여 유지보수를 수월하게 만듬.

일부 RESTful하지 않은 API 수정 및 전체 코드베이스 Reformatting을 통한 깔끔한 코드베이스 유지.

일부 비효율적인 API를 리팩토링하여 서비스 속도 개선.

다양한 사이즈의 이미지를 유동적으로 생성하고 캐싱할 수 있는 이미지 리사이징 서버 개발.

  • 수행업무 및 역할 : 타운어스 REST API 서버 유닛 테스트 코드 작성 및 관리. 코드베이스 유지보수 및 관리. API 성능 개선, 이미지 리사이징 서버 개발.
  • 기술 스택
    • Server & Backend : AWS (EC2, ELB, RDS, S3), Django REST Framework, Flask, MySQL
    • Utility : Vagrant (로컬 서버 환경 구성), CloudFlare, Boto3 API
  • 협업 : JIRA, Confluence, Github (코드 리뷰)
  • 코드관리 : Github
  • URL : https://townus.co.kr


웹개발 외주, Upground (2016.04 ~ 2016.05)


소프트웨어 교육 스타트업 Upground의 회사 웹사이트 및 관리자 기능을 개발함.

기본적인 Viewing용 페이지와 유저시스템, 게시판, 메일링 (유저 인증, 비밀번호 초기화, 문의 메일, 에러 메일 : Gmail SMTP 사용), 관리자 기능 (Django Admin 사용)을 개발함.

  • 수행업무 및 역할 : (1인 개발) 웹 프론트엔드 개발, 웹 애플리케이션 서버 개발, 웹서버 및 DB 구성, Static file 캐싱, 일부 기획단계 참여
  • 기술 스택
    • Server & Backend : Ubuntu 14.04 on DigitalOcean, Nginx, Django (with Admin), MySQL
    • Frontend : jQuery, Sass (Scss), Foundation
    • Utility : Fabric (배포 자동화용), CloudFlare (CDN, SSL)
  • 협업 : Trello
  • 코드관리 : Github
  • URL : https://theupground.com


웹개발자, 17.71inches (2015.05 ~ 2016.03)


** 재학하며 근무하고 주로 방학때 개발작업을 하여 실질 근무 (개발) 기간은 약 5-6개월 **

웹 기반의 동영상 및 레포트기반 금융교육 플랫폼을 개발함.

유저시스템, 유저의 고객관리 시스템, 유저의 고객용 레포트를 위한 금융정보 크롤러, 동영상 스트리밍 서비스, 동영상 및 레포트 기반 학습관리 시스템, 마이크로 블로그 서비스, 결제모듈 포팅 (PHP to Python) 및 연동, 관리자 기능을 개발함.

스타트업 초창기에 들어가 초기 세부기획부터 진행하였으며, 개발 도중 기획이 초기 기획에서 많은 부분이 바뀌게되어 재개발하여 현재 기능을 완성함. 그러나 교육 컨텐츠 공급 부분에서 문제가 생겨 런칭은 하지 못하고 사업을 접게 되었음.

  • 수행업무 및 역할 : (1인 개발) 아키텍쳐 구성, 웹 프론트엔드 개발, 웹 애플리케이션 서버 개발, AWS 구성 및 기능 개발, 결제 모듈 포팅 및 연동, 크롤러 개발, 전체 기획단계 참여
  • 기술 스택
    • Server & Backend : AWS (EC2, RDS, S3), Flask, MySQL (on RDS)
    • Frontend : jQuery, Sass, Bootstrap
    • Utility : AWS (ElasticBeanstalk, CloudFront, Elastic Transcoder, Lambda, SES, Route 53), Selenium (Ajax 페이지 크롤링용), Boto API
  • 협업 : Slack, Asana
  • 코드관리 : Github


웹개발 외주, Reshare (2014.02 ~ 2014.04)


나눔 공유 플랫폼인 Reshare라는 이미 개발이 진행되고 있던 웹서비스에 추가 기능 개발과 보수작업을 함.

2명이서 개발을 진행하였으며, 유저간 C2C (Customer to Customer) 거래를 할 수 있는 기능에 대한 추가 개발 작업과 기존 코드의 버그사항들을 수정하는 작업을 함.

  • 수행업무 및 역할 : (2인 개발) UI 컴포넌트 추가 및 수정, 신규 기능 추가, 일부 기존 코드 수정
  • 기술 스택
    • Server & Backend : Tomcat, Spring, Hibernate, MySQL
    • Frontend : jQuery, RequireJS, Bootstrap
  • 협업 : Trello, Github
  • 코드관리 : Github
  • URL : http://reshare.kr




Projects


Toureco (2015.09 ~ 2015.10)


공공 API를 활용한 경진대회를 나가기위해 개발했던 매쉬업 서비스로, 공공 데이터중 여행관련 API를 활용해 현재 사용자의 조건에따라 여행지를 추천해주는 서비스를 개발함. 2명이서 개발을 진행하였으며, 웹 인터페이스 개발과 API 연동, 초기 조건 데이터 분류를 위한 데이터 가공 스크립트를 개발함. (추천 알고리즘은 공동 개발자가 개발)

  • 수행업무 및 역할 : (2인 개발) 웹 프론트엔드 개발, 웹 애플리케이션 서버 개발, 데이터 가공 스크립트 개발, API 연동, Heroku 구성, 전체 기획단계 참여
  • 기술 스택
    • Server & Backend : Heroku, Django
    • Frontend : jQuery
    • API : Tour API 3.0
  • 협업 : Slack, Github
  • 코드관리 : Github
  • URL : https://mighty-taiga-1972.herokuapp.com




Open Source


Tensorflow 문서 공동 번역 참여


https://github.com/tensorflowkorea/tensorflow-kr

Github에서 Tensorflow 한국어 공동 번역에 참여.

  • g3doc/tutorials/mnist/download 번역 : #68
  • g3doc/api_docs/python/constant_op 번역 : #90
  • g3doc/api_docs/python/string_ops 번역 : #93
  • g3doc/tutorials/linear/overview 번역 : #94
  • g3doc/api_docs/python/test 번역 : #95
  • g3doc/api_docs/python/script_ops 번역 : #96
  • g3doc/how_tos/tool_developers/index 번역 : #137
  • g3doc/resources/glossary 번역 : #144
  • g3doc/api_docs/python/client 번역 : #145


Effective Go 한국어 공동 번역


https://github.com/golangkorea/effective-go

Github Golangkorea 그룹에서 Effective Go 한국어 공동 번역에 참여.

Effective Go의 Formatting, Names, Methods, The blank identifier, Errors, A web server 챕터를 맡음.

  • Formatting 번역 : #16
  • Names 번역 : #18
  • Methods 번역 : #24
  • Errors 번역 : #25
  • A web server 번역 : #28
  • The blank identifier 번역 : #32


johanna


https://github.com/addnull/johanna

A collection of boilerplate Python scripts that can do provisioning/deprovisioning of a simple backend system

  • Python 3 지원 : #22
  • 스크립트명에 대한 이슈 수정 : #32


raynor


https://github.com/addnull/raynor

Web based GUI for johanna

  • johanna를 위한 Django기반 대쉬보드 개발 : #3


learnGitBranching


https://github.com/pcottle/learnGitBranching

An interactive git visualization to challenge and educate

  • 기존 번역 수정 : #388
  • 한국어 번역 추가 : #389
  • UI 개선 Proposal (Issue - 진행중): #390




Personal Development


commit-alarm


https://github.com/geekhub-lab/commit-alarm

Python과 AWS Lambda를 활용한 일일커밋을 돕는 커밋 알람봇

알람봇 개발기


sorting


https://github.com/mingrammer/sorting

여러가지 sorting algorithm을 시각화 할 수 있는 쉘 커맨드 프로그램. (개발 진행중)


go codelab


https://github.com/mingrammer/go-codelab

GDG DevFest Incheon 2016의 Go 언어 코드랩을 위해 개발한 코드랩 튜토리얼

코드랩 페이지


gomo


https://github.com/mingrammer/gomo

Go로 만든 터미널용 간단한 메모앱


pyreportcard


https://github.com/mingrammer/pyreportcard

Python 레포지토리 분석 서비스. PEP8, Pyflakes를 활용한 linting 분석과 코드 분석 및 보안 분석툴을 활용한 코드 퀄리티를 점수화하여 리포트 해주는 서비스


commonregex


https://github.com/mingrammer/commonregex

자주 사용되는 Regex 표현식을 모아둔 Go 라이브러리


go-todo-rest-api-example


https://github.com/mingrammer/go-todo-rest-api-example

Go로 REST API 개발하기 튜토리얼 제작


fitter


https://github.com/mingrammer/fitter

Python 기반 이미지 리사이징 서버


meetup-api


https://github.com/mingrammer/meetup-api

Go 기반의 meetup 서비스 Web/Bot API 서버




Personal Translation