채용공고 올리기

남대영님을 응원해보세요!

좋은 제안에 열려있어요

미리보기

기본 정보

이름
남대영
직업
백엔드 개발자
이메일
wsnam0507@gmail.com
간단 소개

꾸준함을 최고의 가치로 생각하며 경험을 통해 성장하는 것을 즐깁니다.

기술 스택

기술 스택

Java, JavaScript, Spring Boot, MySQL, websockets, Kafka, Redis, React, React Native, AWS, Git

경력

회사명

(주)한국리서치

직급 | 부서 | 근무 유형

프리랜서 개발자 | TF

근무 기간

2022.10. ~ 2023.01. (4개월)

담당 업무

한국 저작권 보호원과 한국리서치에서 진행하는 해외 한류콘텐츠 침해 실태조사 프로젝트에 크롤링 개발자로 참여하였습니다.
약 30,000개의 해외 불법 콘텐츠 제공 사이트중 크롤링이 가능한 최소 1,000개 사이트에서 한국 콘텐츠 유출 빈도 데이터를 수집하는 프로젝트 입니다.

적은 시간내에 최대한 많은 사이트를 크롤링 해야했기 때문에 개발자 한명 당 크롤링 로직을 작성하는 시간을 최소화 하는것이 주 미션이었습니다.

  • 기존 파이썬으로 한땀한땀 작성하는 로직을 javascript기반의 crawlee 프레임워크를 이용해 비즈니스 로직 계층을 추가 구현하여 css selector를 넣어주는 것만으로 크롤링 코드가 완성되도록 개발하였습니다. 이를 통해 한 시간에 한 개 사이트 크롤링 코드를 생산해내던것을 평균 20분에 한개 사이트 크롤링 로직을 생산하도록 개선하였습니다. 따라서 추가 인력이 투입되더라도 온보딩 하는데 하루면 충분하였습니다.

  • 기존에 docker를 이용하여 크롤링 작업자의 컴퓨터에서 크롤링 프로그램을 돌리던것을 클라우드를 이용하여 동시에 30개 가량의 크롤링 로직을 처리할 수 있도록 설계 및 구성하였습니다. 이에 따라 하루에 5~7개 크롤링이 되던것이 자동화되어 15개 이상 사이트를 크롤링 할 수 있었습니다. 따라서 1인당 생산성이 약 3배 증가하였습니다.

  • 크롤링 작업자들이 크롤링 완료 후 크롤링 소스코드를 클라우드 서버에 배포하고 서버에서는 배포된 작업을 대기열 형식으로 처리 할 수 있는 서버를 설계 및 개발하였습니다. 비용문제로 메시지 브로커를 사용하진 못했지만 여러 크롤링 작업 서버에서 안전하게 작업을 pull 할 수 있도록 PostgreSQL의 락을 이용한 크롤링 작업 Queue를 구현하였습니다.

회사명

주식회사코드스토리

직급 | 부서 | 근무 유형

팀원 | 개발/R&D

근무 기간

담당 업무

초기 스타트업에서 사업 방향성을 잡기 위한 데모 소프트웨어를 개발 및 연구하였습니다.

메타스쿨 - 가상 공간에서 수업을 진행할 수 있는 툴

  • 1:N 영상 스트리밍 방식을 연구하고 데모 소프트웨어 개발 (https://bit.ly/sfuffff)
  • 수업 공간에서 채팅할 수 있는 채팅 서버 개발
  • Jenkins를 이용한 언리얼 데디케이트 서버 CI/CD 인프라를 구축하여, 개발자의 PC에서 패키징 이후 USB로 실행 파일을 옮기는 방식에서 중앙 빌드서버에서 빌드 후 다운로드 할 수 있는 방식으로 변경 해 생산성을 높였습니다.

프로젝트

프로젝트명

마진킹

소속/기관명

개인/기타

프로젝트 기간

2024.01. ~ 진행 중

프로젝트 내용

마진킹은 MAU 4,100명까지 성장하였고 가파른 성장세를 보이고 있는 프로젝트 입니다.

  • 이해관계자와의 모든 소통을 담당하고 있습니다.

  • 400만건+ 거래 내역을 0.5초 이내로 조회할 수 있도록 데이터베이스 쿼리 최적화

  • 블록체인 상에서 일어나는 모든 트랜잭션 기록을 주기적 수집/가공

  • 암호화폐 매매를 주 컨텐츠로 하는 유튜브 스트리머의 선물거래 포지션 정보를 추적하는 기능 구현

    • 스트리머 화면을 캡쳐하고 Google Cloud Vision의 OCR을 통해 해당 스트리머의 포지션을 실시간으로 추적합니다.

  • 초당 0 ~ 100+건 이상의 실시간 데이터를 웹사이트 화면에서 안정적으로 렌더링 합니다.

    • 리액트의 렌더링 프레임보다 빠른 수신으로 인해 대기열 기반의 안정적인 렌더링 시스템을 설계하였습니다.

    • 거래 체결 데이터는 데이터베이스에도 적재되며 400만건+ 데이터를 안정적으로 적재 및 조회하고 있습니다.

프로젝트명

마시멜로우

소속/기관명

(주)프롬디언노운

프로젝트 기간

2024.03. ~ 진행 중

프로젝트 내용

초기 서비스의 백엔드 담당

  • 초기 서비스의 리소스 할당을 위한 QPS 산출

  • ECS를 통한 dev, staging, production 서버 분리

  • AWS 네트워크 설계

  • Github actions를 통한 CI/CD

프로젝트명

로또투어

소속/기관명

(주)프롬디언노운

프로젝트 기간

2024.02. ~ 진행 중

프로젝트 내용

주변 로또 판매점을 보여주는 앱 서비스 입니다.
초기 서비스부터 운영까지 맡고있으며
로또투어에서는 React Native를 주로 개발하였고 백엔드는 일부 파트만 담당하였습니다.

백엔드

  • 주변 판매점을 조회하는 API의 성능을 개선하였습니다.

    • EC2와 nGrinder, Pinpoint를 이용하여 TPS를 확인하였고, 당시 유저들의 서비스 유입량과 MAU를 확인하여 적정 TPS에 못미치는 점을 확인하였습니다.

    • 인스턴스 스펙이나 데이터베이스 스펙을 올리는 방법이 제일 쉬운 방법이었지만 비용 문제로 인해 배제하였습니다.

    • 특정 좌표에서 SQL 함수 ST_Distance_Sphere를 이용하여 데이터베이스에 저장된 범위 내 판매점을 검색했었습니다. 이 경우 Table Fullscan이 발생했습니다.

    • MBRCONTAINS를 이용하여 가상 바운딩박스를 만들고 좌표를 검색하는 방식으로 변경하였고 이 경우 실행계획에서 index range scan으로 탐색하는 것을 확인했습니다.

    • 결과적으로 해당 API에서 41.2 TPS -> 101.1 TPS로 6,000개 데이터 조회 쿼리 성능이 약 2.4배 개선되었습니다.

React Native

  • FlatList의 성능을 개선하였습니다.

  • 네이버 지도 라이브러리를 수정하여 마커 이미지를 변경할 수 있도록 개선하였습니다.

  • 애드몹 연동

프로젝트명

블로그부스터

소속/기관명

(주)그로우부스터

프로젝트 기간

2022.11. ~ 2023.06.

프로젝트 내용

네이버 블로거를 위한 SaaS 프로젝트를 네이버 블로거와 협업하여 개발한 프로그램 입니다.
현재는 담당하지 않으며 해당 프로그램의 개발 및 유지보수를 담당하였습니다.

  • 레거시 서비스를 인계받아 레거시 시스템 개편

포트폴리오

URL

link

https://github.com/devdynam0507

깃허브

교육

소속/기관명

동탄고등학교

종류 | 전공

고등학교 | 이과

재학 기간 | 재학 상태

2016.03. ~ 2019.01. | 졸업

대외활동

활동명

비동기 서버 프레임워크 armeria contribute

소속/기관명

LINE

연도

2022

내용

라인에서 관리하는 오픈소스 프레임워크인 armeria에 기여하였습니다.

  • 전역 예외 처리를 사용하지 않는 경우 간단한 fallback을 이용할 수 있도록 기능 추가
  • 다중 예외 발생 시 옵션값에 따라 스택 트레이스 출력 라인수를 조절 할 수 있는 기능 추가
활동명

Junction X Hackathon 2021 Microsoft Track 3등

소속/기관명

Junction

연도

2021

내용

Microsoft에서 제공하는 툴을 이용해 미팅 기록 서비스를 만들었습니다.
PowerAutomate를 이용해 팀즈로 기록된 미팅 영상에서 회의 내용을 추출하여 Power BI로 시각화 할 수 있도록 개발하였습니다.

자기소개

자기소개

댓글