문준호

Developer | ✉️ junho234323@gmail.com | 2000.10.15

TypeScript, Node.js, NestJS를 주로 사용하며 AWS 를 활용한 아키텍처 설계에 관심을 가지고 있습니다.

3년 동안 레거시 서비스 유지보수/리팩토링과 신규서비스 개발의 경험을 가진 개발자입니다.

약 900건의 기능 개발/유지보수 업무를 처리하며 항상 사이드 이펙트를 고려하는 마인드를 가졌고, 주니어들로 뭉쳐진 유지보수팀에서 개발환경 개선과 팀원들의 성장을 위해 상황에 맞는 새로운 기술 스택을 도입하고 리팩토링하며 작은 문제들을 해결해 왔습니다.

"쿠팡 상품 이전 웹 서비스"라는 신규서비스를 설계부터 오픈까지 혼자 도맡았으며, 누적 9만 명의 신규 사용자와 약 8천만 건의 대규모 데이터를 안정적으로 가공/관리 하였습니다.

대규모 데이터 처리와 고가용성을 가진 아키텍처 설계 경험을 바탕으로 백엔드 개발자로서 전문성을 발휘하고, 또 키우고자 합니다.

경력

수상 & 자격증

프로젝트

쿠팡 상품 이전 웹 서비스 신규 개발 | (주)넥슨코리아 | 2020.07 ~ 2021.03

최소한의 정보를 입력하여 타 마켓에서 판매중인 상품을 쿠팡 Wing 으로 쉽게 이전할 수 있는 웹 서비스를 쿠팡에 제공
타 마켓에서 [API/스크랩핑]을 통해 상품정보를 수집한 뒤 가공하여 쿠팡에 전달

누적 이전 상품 수 : 71,133,478 / 누적 신규 사용자 수 67,006 - 2022.03.23 기준

Node.jsMysqlSocket.ioAmazon SQSRedisAmazon ECSDockerGitHub ActionsAmazon CloudWatchNext.jsSassAmazon S3

담당 역할 :

  • Client
    • Next.js 기본 구조를 기반으로 화면 영역 개발
    • 모바일 반응형 지원
    • Socket.io를 활용해 서버측 작업 진행사항을 클라이언트에 실시간 노출
  • Server
    • AWS SNS, SQS를 이용하여 비동기 방식의 데이터 처리 시스템 구축
    • 영구히 저장할 필요 없는 데이터의 많은 I/O를 감당하기 위해 REDIS 사용
    • 작업 조회/통계 어드민 개발 - 크론을 통해 통계 데이터 주기적 계산
    • AWS ECR, ECS, Docker 를 통한 분산 서버 환경, 무중단 배포 구현
  • 쿠팡팀과 지속적인 미팅 및 메일을 통한 커뮤니케이션으로 전반적인 프로젝트 진행
  • GitHub Actions 를 통한 배포 자동화, 슬랙 배포 알림 구현

결과 및 성과 :

  • 누적 이전 상품 수 : 71,133,478 / 누적 신규 사용자 수 67,006 - 2022.03.23 기준
  • 플레이오토 회사 인지도 상승 및 신규 사용자 인입으로 유료 회원 전환률 약 8% 상승
  • 제휴사(쿠팡) 로부터 계약금을 통한 매출 증가 기여

상품 이전 웹 서비스 공통화 버전 개발 | (주)넥슨코리아 | 2021.04 ~ 2021.07

쿠팡에만 제공 했던 상품 이전 웹 서비스를 여러 제휴 쇼핑몰 제공을 위해 공통화 버전 개발
고가용성, 유지보수성을 위한 개선도 함께 진행

쿠팡 / 위메프 / 11번가 / 올웨이즈 제공중

TypeScriptNode.jsNestJSMysqlTypeORMAmazon RDSSocket.ioAmazon SQSRedisAmazon ECSDockerGitHub ActionsAmazon CloudWatchReactAtomic Designstyled-componentsAmazon S3

담당 역할 :

  • Client
    • Atomic Design 패턴으로 인한 컴포넌트 재사용성 극대화
  • Server
    • TypeORM 도입으로 유지보수 편의성 확보
    • NestJS 도입으로 유지보수 편의성 확보
    • IDC Database => AWS RDS 마이그레이션으로 유연한 대처 가능
    • 쓰기(Master), 읽기(Slave) DB 분리로 트래픽 분산
  • TypeScript 도입으로 유지보수 편의성 확보

결과 및 성과 :

  • 추가 제휴사 인입 시 공통 로직 구현 x - 개발 비용 감소
  • 정적타입(TypeScript), ORM(TypeORM), 프레임워크(NestJS) 도입으로 유지보수 편의성 확보
  • 제휴사로부터 계약금을 통한 매출 증가 기여

솔루션 내 상품상세 영역 서비스 분리 및 리팩토링 | (주)넥슨코리아 | 2022.05 ~ 2022.08

c#, PHP 기반 솔루션 내 상품상세 영역 속도 개선 및 불편사항 해결을 위해 독립적인 서비스 분리 및 리팩토링
(Client: c# -> React / Server: PHP -> NestJS)

TypeScriptNode.jsNestJSMysqlAmazon RDSRedisAmazon ECSDockerGitHub ActionsAmazon CloudWatchReactstyled-componentsAmazon S3

담당 역할 :

  • Client
    • styled-components 를 통한 컴포넌트 분리 및 프론트 기본 구조 개발
    • Redux 를 이용한 상태관리 구조 개발
  • Server
    • PHP -> NestJS 도입으로 유지보수 편의성 학보
    • REDIS를 이용한 캐싱으로 조회영역 속도 개선
    • AWS ECR, ECS, Docker 를 통한 분산 서버 환경, 무중단 배포 구현
  • GitHub Actions 를 통한 배포 자동화, 슬랙 배포 알림 구현

결과 및 성과 :

  • 첫 로딩 속도 및 저장 기능 속도개선 - 약 3~4초 => 1초 미만
  • .exe 프로그램 => 웹 리팩토링으로 상시 배포 가능
  • 정적타입(TypeScript), 배포 자동화(GitHub Actions) 도입으로 유지보수 편의성 확보

통합 지원쇼핑몰 어드민 개발 | (주)넥슨코리아 | 2022.02

사업부별 지원쇼핑몰 어드민이 각각 존재하여 한번에 관리할 수 있는 통합 어드민 개발
사업부별 각각 상이한 DB 스키마 통합

TypeScriptNestJSMysqlAmazon RDSAmazon ECSDockerGitHub ActionsAmazon CloudWatchReactstyled-componentsAmazon S3

담당 역할 :

  • Client
    • 페이징 처리 및 API 연동
  • Server
    • 사업부별 DB 스키마 통합
    • 엑셀 통한 등록/수정 기능 개발
    • AWS ECR, ECS, Docker 를 통한 분산 서버 환경, 무중단 배포 구현
  • GitHub Actions 를 통한 배포 자동화, 슬랙 배포 알림 구현

결과 및 성과 :

  • 지원 쇼핑몰 추가/수정 시 관리 영역 통합으로 비용 감소

솔루션 내 레거시 웹 영역 리팩토링 | (주)넥슨코리아 | 2021.11 ~ 2022.01

약 100개의 쇼핑몰 상품정보 중 공통화할 수 없는 정보를 추가 입력하는 영역이며, 소스양이 비대함에 따라 개발 유지보수/신규개발 시간이 오래 소요됨
조금 더 편한 개발 환경 제공을 위해 리팩토링
(Client: JQuery -> React / Server: PHP -> NestJS)

TypeScriptNode.jsNestJSMysqlAmazon ECSDockerGitHub ActionsAmazon CloudWatchReactstyled-componentsStorybookReduxAmazon S3

담당 역할 :

  • Client
    • UI 컴포넌트 공통화 - 심각한 UI 소스 파편화 해결
    • 최초 개발시 템플릿 생성 기능
    • Redux 를 통한 상태관리 구조 개발
    • Storybook 을 통한 빠른 컴포넌트 파악 - 약 100개가 넘는 쇼핑몰별 영역에서 사용하는 공통 컴포넌트
  • Server
    • NestJS 를 통한 공통된 구조 개발 - 신규 쇼핑몰 연동 시 정해진 동일한 구조로 개발
    • HTTP 통신용 공통 함수 개발 - 로그인 스크랩핑 및 응답 받은 쿠키 재사용 로직, 공통된 에러처리
    • AWS ECR, ECS, Docker 를 통한 분산 서버 환경, 무중단 배포 구현
  • TypeScript 통한 필요 코드 강제화, 자동완성, 타입추론
  • GitHub Actions 를 통한 배포 자동화, 슬랙 배포 알림 구현

결과 및 성과 :

  • 사용자 - UI 개편 및 공통화로 사용자 경험 개선
  • 개발자 - 개발 시간 대폭 감소 - 평균 1~2일 => 약 4시간

플토 통합홈페이지 EMP API 개발 | (주)넥슨코리아 | 2020.03 ~ 2020.06

사업부별 각기 다른 홈페이지가 존재하여 통합홈페이지 개발 결정
사내에서 운영하는 여러 페이지 및 계정정보를 통합하는 과정에서 EMP 솔루션 부분 API 개발

PHPMysqlOpenAPI Initiative

담당 역할 :

  • Server
    • 기존 홈페이지 기능을 타팀에서 사용할 수 있도록 API 제공 및 구조 개발
    • 회원/솔루션 영역, 통합 어드민 관련, 도움말/문의 관련 영역 개발
  • 타팀과의 지속적인 커뮤니케이션을 통해 기능 구현

결과 및 성과 :

  • 통합홈페이지를 통해 사용자 분산 인입 감소

쇼핑몰 통합관리 솔루션 엔진 개발 | (주)넥슨코리아 | 2018.10 ~ 2019.12

[스크랩핑 / API] 연동으로 이루어진 쇼핑몰과의 HTTP 통신, 화면 제어 부분을 개발 및 유지보수
다양한 형태의 데이터 가공 경험과 e-commerce 시장에 대한 이해도 증가
10년을 넘게 서비스해온 솔루션을 개발하면서 기존 소스 분석력 증가

PHPMysqlJavaScriptjQueryC Sharp

담당 역할 :

  • 수많은 API 제공 쇼핑몰과 메일을 통한 직접적인 커뮤니케이션 진행
  • 고객응대팀에서 생성한 이슈에 대해 비개발적인 용어로 커뮤니케이션 진행
  • 약 900건의 기능 개발 및 유지보수 업무 처리

결과 및 성과 :

  • 다양한 기능 개발 및 유지보수 업무를 통해 솔루션 이슈 처리
  • 커뮤니케이션 능력 상승
© Moon Junho. 2024