채용공고 올리기

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

좋은 제안에 열려있어요

미리보기

기본 정보

이름
남대영
직업
백엔드 개발자
간단 소개

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

기술 스택

기술 스택

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로 실행 파일을 옮기는 방식에서 중앙 빌드서버에서 빌드 후 다운로드 할 수 있는 방식으로 변경 해 생산성을 높였습니다.

프로젝트

프로젝트명

Engage mo`ment

소속/기관명

(주)프롬디언노운

프로젝트 기간

2024.01. ~ 진행 중

프로젝트 내용

초기 서비스의 백엔드 담당
// TODO: 런칭시 내용 채워야 함

프로젝트명

감자비트

소속/기관명

개인 포트폴리오

프로젝트 기간

2024.02. ~ 진행 중

프로젝트 내용

가상자산 거래소 포트폴리오

프로젝트명

마진킹

소속/기관명

프리랜서

프로젝트 기간

2024.01. ~ 진행 중

프로젝트 내용

코인 커뮤니티 외주

  • 코인 커뮤니티 외주 팀장을 맡아 진행하고 있는 프로젝트 입니다.
  • 이해관계자와의 모든 소통을 담당하였고 일을 분배하였습니다.
프로젝트명

마시멜로우

소속/기관명

(주)프롬디언노운

프로젝트 기간

2024.03. ~ 진행 중

프로젝트 내용

초기 서비스의 백엔드 담당

  • 초기 서비스의 리소스 할당을 위한 QPS 산출
  • ECS를 통한 dev, staging, production 서버 분리
  • AWS 네트워크 설계
  • Github actions를 통한 CI/CD
    // TODO: 런칭시 내용 정리
프로젝트명

로또투어

소속/기관명

(주)프롬디언노운

프로젝트 기간

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배 개선되었습니다.

// TODO: (좌표 조회 RDB -> 캐시로 옮기는 것 작성 필요)
// TODO: (좌표 조회 RDB -> 캐시로 옮기는 것 작성 필요)

React Native

  • FlatList의 성능을 개선하였습니다.
  • 네이버 지도 라이브러리를 수정하여 마커 이미지를 변경할 수 있도록 개선하였습니다.
  • 애드몹 연동
프로젝트명

블로그부스터

소속/기관명

(주)그로우부스트

프로젝트 기간

2022.11. ~ 2023.06.

프로젝트 내용

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

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

포트폴리오

URL

link

https://github.com/devdynam0507

깃허브

교육

소속/기관명

동탄고등학교

종류 | 전공

고등학교 | 이과

재학 기간 | 재학 상태

2016.03. ~ 2019.01. | 졸업

대외활동

활동명

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

소속/기관명

line

연도

내용

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

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

Junction X Hackathon 2021 Microsoft Track 3등

소속/기관명

Junction

연도

내용

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

자기소개

자기소개

안녕하세요 고등학생때 마인크래프트로 프로그래밍에 입문하여 지금까지 즐겁게 코딩하고 있는 개발자 남대영 입니다.

개발할 땐 분야에 얽매이지 않으며, 제가 주력으로 공부하고 있는 분야는 백엔드 입니다.
꾸준함을 최고의 가치로 생각하며 경험을 통해 성장하는 것을 즐깁니다.

전역 후 다양한 경험을 통해 사람들을 만나고 짧지만 다양한 사람들과 일을 해보면서 저의 부족한 점을 많이 돌아볼 수 있게 되었습니다.
첫 회사에서는 미숙했지만 조직생활을 할 때 어떤 마인드로 해야할지 감을 잡을 수 있었고,
퇴사후에 참여했던 크롤링 프로젝트에서는 불가능할것도 끝까지 물고 늘어지다보면 해결방법을 찾아 어떻게든 해낼 수 있다는 자신감을 얻었습니다.

다양한 팀에서 개발하는 경험을 통해 어떤 사람들과 일을 하느냐에 따라 제가 낼 수 있는 퍼포먼스도 달라질 수 있다는 것을 깨닫게 되었습니다.

소프트웨어는 혼자 만들어지는것이 아니라고 생각합니다.
따라서 좋은 결과물을 만들어내기 위해 제가 좋은 팀원이 되어야 한다고 생각하게되었으며
그러기 위해 제가 좋은 사람이 되려고 노력하고, 실력 쌓는것도 미루지 않습니다.

제가 그리는 커리어의 마지막에는 Netty를 개발하신 이희승님처럼 개발자를 위한 개발자가 되는것입니다.

댓글