sphilee / resume

나석주 개발 이력서

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

소개

깃헙 프로필 사진

경력

프로젝트

Toss 토스 로고

비바리퍼블리카, 2019.2-

BankService Silo에서 프론트엔드 개발을 하고 있습니다.

Geek's Diary

개인 프로젝트, 2017.5-

개발자를 위한 TIL(Today I Learned) 작성 툴로 Markdown과 코드를 혼합하여 작성할 수 있는 문서 편집기와 버전 관리 시스템의 연동이 큰 특징입니다. 2019년 1월 3일에 베타 버전을 배포하였으며 GitHub 저장소 주소는 seokju-na/geeks-diary 입니다.

개발

  • Electron 프레임워크 기반의 데스크탑 애플리케이션
  • TypeScript 언어로 작성하였으며 Angular 프레임워크 사용
  • Karma, Jasmine, Mocha를 이용하여 테스트 자동화
  • 높은 퀄리티의 코드를 유지하기 위해 노력 - DI를 적극 활용, 단위 테스트 꼼꼼히 작성
  • ngrx를 사용한 상태 관리

TownUS 타운컴퍼니 로고

타운컴퍼니, 웹 프론트엔드 개발, 2017.8-2018.3, 2018.8-12

모든 단체를 위한 공동구매 플랫폼, 타운어스의 신규 플랫폼 개발에 웹 프론트엔드 부분을 맡아 프로젝트를 진행하였습니다. 모바일 사용자 유입이 많아 모바일 웹 개발을 위주로 진행하였으며, 전체적인 UI/UX 개선, 단체의류 커스터마이징 기능 강화, 조직 문화 개선 등의 작업을 하였습니다.

개발

  • TypeScript 언어로 작성하였으며 Angular 프레임워크 사용
  • Karma, Jasmine을 이용하여 테스트 자동화
  • RxJS 라이브러리를 이용하여 UI 인터랙션을 처리

DevOps

  • Jira로 이슈 트래킹 및 칸반 보드를 이용하여 애자일 개발 프로세스 진행
  • Travis CI로 지속적 통합 유지
  • 테스트 주도 개발 실천
  • GitHub를 통해 매 Pull Request 마다 코드 리뷰 실천
  • Sentry 모니터링으로 버그 트래킹
  • GitFlow를 이용하여 배포 전략 맞춤

항공예약 시스템 모바일 웹 개발

프리랜서, 웹 프론트엔드 개발, 2017.4-7

프리랜서로 주식회사 오마이트립에서 항공예약 시스템인 ohmytrip의 모바일 웹 개발을 담당하였습니다. 편도, 왕복, 다구간 항공 일정을 사용자가 달력에서 선택할 수 있는 등, 복잡한 UI를 구현하는 과정이 챌린지였습니다.

  • JavaScript(ES6+) 언어로 작성하였으며 AngularJS 프레임워크 사용
  • Azure DevOps(구 VSTS)로 이슈 트래킹

HIMS(Hotel Intelligent Management System)

두닷두, 웹 프론트엔드 개발, 2016.3-2017.2

두닷두에서 호텔 관리 시스템의 B2B향 관리자용 웹 사이트를 혼자 맡아 개발하였습니다. 호텔 매니저들이 방의 상태를 확인하고 갱신하거나 스마트 워치로 등록한 이슈들을 실시간으로 트래킹 하는 기능을 개발하였습니다. 부 기능으로 호텔 용 모바일 기기에 등록가능한 디지털 사이니지를 편집하는 기능도 개발하였습니다.

개발

  • JavaScript(ES6+) 언어로 작성하였으며 AngularJS 프레임워크 사용
  • Karma, Jasmine을 이용하여 테스트 자동화
  • Selenium 드라이버를 이용하여 E2E 테스트 자동화
  • 웹 소켓을 이용하여 실시간 이슈 트래킹 구현
  • 디지털 사이니지 편집기 구현
  • 수백 개의 항목을 AngularJS 컴파일러가 처리하는데 성능 문제가 발생하여, WebWorker에서 Virtual DOM으로 항목을 계산하고 DOM에 계산된 값을 패치하는 방식으로 문제 해결

DevOps

  • Travis CI로 지속적 통합 유지
  • Gulp로 빌드, 배포 환경 구축

보유 기술 및 사용도구

웹 프론트엔드

typescript javascript react angular rxjs html5 sass jest karma nodejs

  • 주로 사용하는 언어는 TypeScript, JavaScript 입니다.
  • React 라이브러리를 능숙하게 사용하며, Redux 구조에 익숙합니다.
  • Angular, AngularJS 프레임워크를 능숙하게 사용할 수 있습니다.
  • JavaScript VM이 어떻게 작동하는지 이해하고, 브라우저의 동작 원리를 이해합니다.
  • Less, Sass를 주로 사용합니다.
  • Web API를 능숙하게 사용할 수 있고, 웹 접근성을 고려하여 UI를 개발할 수 있습니다.
  • 어떤 방식의 UI 테스트가 쉽게 깨지지 않고 효율적일지 고민합니다.
  • BEM 방법론을 선호합니다.
  • RxJS 라이브러리를 능숙하게 다루며, 반응형 프로그래밍에 익숙합니다.

아키텍처 및 디자인 패턴

  • 종속성 반전, 단일 책임 원칙, DRY 등 좋은 소프트웨어를 만들기 위한 원칙을 지키려고 노력합니다.
  • MVP, MVC, MVVM, Flux 아키텍처를 이해합니다.

DevOps

  • 칸반을 이용한 애자일 개발 프로세스에 익숙합니다.
  • 테스트 주도 개발을 실천합니다.
  • 코드 리뷰가 습관화 되어 있습니다.
  • Travis CI로 지속적 통합을 진행할 수 있습니다.

활동

  • 제 2회 고려대학교 해커톤: 고카톤 운영진 (2017.5-2017.8)
  • 제 5회 대학생 연합 해커톤 UNITHON 운영진 (2017.5-2017.7)
  • Naver D2SF 캠퍼스 파트너 1기 (2016.11-2017.3)
  • 실전 SW 창업 연합 동아리 REAL 5기 운영진 (2016.11-2017.6)
  • 소프트웨어 마에스트로 6기 연수생 (2015.7-2016.6)

더 보기

About

나석주 개발 이력서