채용공고 올리기

미리보기

직업
백엔드 개발자
이름
이지수
이메일
earthlyz9.dev@gmail.com
간단소개
어제보다 성장한 오늘의 나를 추구합니다. 고민, 역경, 배움, 성장의 무한 굴레를 즐기는 지구력이 강한 개발자입니다. RESTful 한 API 개발, 대규모 데이터 수집 및 분석을 위한 데이터 파이프라인 구축, GitHub Actions 와 AWS 를 이용한 CI/CD 구축 등을 비롯한 인프라 세팅의 경험이 있습니다. 습득 속도가 빨라 어떤 기술이든 빠르게 이해하고 적용할 수 있으며, 다양한 협업 및 문서화 툴을 능숙하게 다룰 수 있습니다. 업무 관련 사항을 문서화하는 것을 좋아하고 습관화하며 무엇보다 새로운 기술에 대해 논의하는걸 좋아합니다!

기술 스택

기술 스택
Python
Django
Docker
PostgreSQL
MySQL
AWS
Node.js
GitHub
Spring Boot

경력

회사명
크리스비
직책 • 부서
Backend Developer • -
근무 기간 (근무 형태)
2023.08. - 재직 중
(1년 6개월 | 정규직)
담당 업무

사용중인 주요 기술 스택
Python, Django Ninja, Django Channels, Celery, Playwright, Docker Compose, AWS, GitHub Actions

  • 대량의 데이터 관리와 차트를 통한 시각화를 지원하는 대시보드 서비스를 위한 RESTful API 개발

  • 다양한 소스로부터 대규모 데이터를 수집하고 가공하는 데이터 파이프라인 구축

  • 사내 클라우드 리소스 관리

  • 인플루언서 관리 솔루션 검수 및 유지 보수

  • 다양한 소스에서의 데이터를 수집하는 백오피스 소프트웨어 유지 보수

  • 기존 베타 서비스 유지 보수 및 추가 기능 개발

프로젝트

프로젝트명
대량의 데이터 관리와 차트를 통한 시각화를 지원하는 대시보드 서비스를 위한 RESTful API 개발
소속/기관명
크리스비
프로젝트 기간
2023.10. - 진행 중
(1년 4개월)
프로젝트 설명

세부 기술 스택

python, django-ninja, django-ninja-extra, pytest, ruff, mypy, pre-commit, black, GitHub Actions, GitHub Container Registry, AWS, CloudFlare, Sentry, polars

초기 프로젝트 세팅
  • Django Ninja 를 중심으로 한 프로젝트 구성

  • Docker compose, GHCR 와 GitHub Actions 를 이용한 CD 구축

  • pytest 와 GitHub Actions 를 이용한 CI 구축

  • black, Ruff, mypy, pre-commit hook 등을 이용한 코드 스타일 통일 및 코드 퀄리티 유지

  • EC2, RDS, Cloudwatch, S3 등 필요한 AWS 리소스 할당

  • 용이한 협업과 QA 를 위한 테스트 서버 별도 구축

  • Sentry 연동

  • CloudFlare 를 이용한 도메인 작업

코어 API 개발
  • django-ninja, django-ninja-extra 를 이용한 controller based api 개발

  • Owner-Editor-Viewer 로 이루어진 유저 권한 시스템 구축 및 django-guardian 을 이용한 per-object-permission 도입

  • swagger 를 사용한 API 문서 생성 및 관리

  • 고객사 구독 구매에 따른 상태 변경 등의 스케줄링 작업과, 처리 시간이 긴 요청에 비동기적으로 대응하기 위해 rabbitmq 와 celery 도입

  • 주문 및 마케팅 데이터를 다양한 각도에서 필터링할 수 있도록 하는 excel-like 조회 API 구현

  • polars 를 사용해 30여가지 종류의 차트 데이터를 생성하고 성장률, 매출액 대비 비중 등 다양한 보조 지표에 대한 연산 결과 제공

프로젝트명
다양한 소스로부터 대규모 데이터를 수집하고 가공하는 데이터 파이프라인 구축
소속/기관명
크리스비
프로젝트 기간
2023.10. - 진행 중
(1년 4개월)
프로젝트 설명

세부 기술 스택

playwright, chromium, python, django-ninja, django-ninja-extra, polars, asyncio, aiohttp, celery, rabbitmq, GitHub Actions

  • 다수의 3rd party 서비스로부터 크롤링, open api 등 다양한 방식으로 데이터를 수집하는 collector 모듈 구현 (Celery & asyncio 사용)

    • 크롤링을 기반으로 한 collector 의 경우, playwright 의 auto-wait 기능을 적극사용하여 timeout 예외의 발생을 방지하였으며, 에러 발생 시 스크린샷을 s3 에 업로드하는 방식으로 오류 원인을 빠르게 파악하고 보수할 수 있도록 조치함

    • api 방식의 collector 의 경우 access token 의 교환 및 만료 시각, 응답 페이징 등을 고려하여 누락되는 데이터 없이 수집할 수 있도록 함

  • 표준화하기 어려운 다양한 채널과의 연동을 처리하는 connector 모듈 구현

    • 모든 데이터소스 connector 가 공통의 인터페이스를 가지게 하여 세부 연동 과정은 달라도 공통의 프로세스를 거치도록 강제함

    • dynamic import 를 이용해 적절한 connector 가 호출되도록 처리

  • polars 를 이용해 수집된 데이터를 전처리하고 분석하였으며, 적재적소에 LazyFrame 을 이용해 쿼리 속도를 높임

    • 적은 데이터를 처리할 때나, 연산 결과를 곧바로 이용해야할 때에는 최적화 과정의 오버헤드를 줄이기 위해 일반 DataFrame 을 사용했으며 대량의 데이터를 복잡한 과정을 거쳐 전처리할 때에는 LazyFrame 사용

  • celery group 과 chaining 을 사용하여 분석 데이터를 이용한 다양한 종류의 차트 데이터 생성

    • 새로운 차트 타입이 추가될 때마다 체계적이고 일관적인 방식으로 개발할 수 있도록 확장성 높은 차트 모듈 설계

      • 차트의 구성 정보에 따라 적절한 DataFrameBuilder 모듈과 DataGenerator 모듈 호출

  • API 서버와 분리된 별개의 서버에 batch job 만을 위한 큐 및 celery worker 를 위치시켜 컴퓨팅 리소스 분산

  • 수집 - 분석 - 차트 데이터 생성의 흐름을 가지는 daily batchjob 을 모니터링할 수 있는 다양한 수단 마련

    • 각 과정에 대한 로그를 저장하고 django admin 을 커스텀하여 각 과정별 로그를 쉽게 볼 수 있도록 조치

    • 각 과정에서 실패했을 때의 재시도 api 를 만들어둠으로써 실패한 batchjob 을 빠르게 정상화할 수 있도록 함

    • 슬랙봇을 연동하여 daily batchjob 에 대한 리포트를 생성하였으며, 이를 기반으로 빠르게 대응함

프로젝트명
인플루언서 관리 솔루션 검수 및 유지 보수
소속/기관명
크리스비
프로젝트 기간
2023.12. - 진행 중
(1년 2개월)
프로젝트 설명

세부 기술 스택

DRF, AWS, docker compose, nginx, gunicorn, GitHub Actions, postgresql, CloudFlare

  • 외주 업체로부터 DRF 기반의 백엔드 애플리케이션 코드를 이관받아 검수

  • lazy loading을 eager loading으로 전환하여 데이터베이스 쿼리 속도를 크게 개선하고, n+1 문제를 해소

    • 1분 이상 걸리던 조회 쿼리를 5초 안에 수행되도록 최적화

  • 개발 기간 동안 외주업체와의 기술적인 커뮤니케이션 담당 및

    AWS IAM 유저를 이용한 AWS 리소스 할당 (EC2, RDS, SES, S3)

  • 이관받은 어플리케이션에 대한 CI/CD 재구축 및 인프라 세팅

    • GitHub Actions workflow 구축을 통한 지속적인 배포 달성

    • docker compose 도입

    • nginx daemon 을 docker service 로 전환

    • 높은 트래픽 처리를 위한 gunicorn 도입

    • 서버 에러 대응을 위해 Sentry 를 도입하고 적절한 예외 처리를 추가해나감으로써 점진적으로 오류를 줄여나감

프로젝트명
크롤러를 이용한 데이터 수집을 지원하는 백오피스 소프트웨어 유지 보수
소속/기관명
크리스비
프로젝트 기간
2023.08. - 진행 중
(1년 6개월)
프로젝트 설명

세부 기술 스택

python, django-ninja, django-channels, celery, celery-beat, docker compose, AWS, GitHub Actions, Sentry

  • 다양한 채널에서의 데이터 수집을 관장하는 백오피스 소프트웨어 유지 보수

  • 각 수집 태스크별 로그와 수집 태스크 목록의 상태값들을 실시간으로 열람할 수 있도록 django-channels 도입

프로젝트명
기존 베타 서비스 유지 보수
소속/기관명
크리스비
프로젝트 기간
2023.08. - 진행 중
(1년 6개월)
프로젝트 설명

세부 기술 스택

python, django-ninja, celery, docker compose, AWS, GitHub Actions, Algolia, Sentry

  • 검색 기능을 위한 Algolia 도입 및 Celery 를 이용한 비동기적 인덱스 업데이트 작업

  • 새로 추가된 차트 기능에 대한 API 지원 (기간별 성장률, VAT 계산 등)

  • 새로운 고객사를 위한 대시보드 구축 지원

교육

소속/기관
연세대학교
종류 | 전공명/전공계열
대학교(학사) | 경영학과
재학 기간 (재학 상태)
2019.03. - 2024.02. (졸업)

자격증

자격증명
SQL개발자
점수/급 | 발급 기관
SQLD | 한국데이터산업진흥원
취득월
2024.06
자격증명
정보처리기사
점수/급 | 발급 기관
1 | 한국산업인력공단
취득월
2023.06
자격증명
TOEIC
점수/급 | 발급 기관
990 | TOEIC
취득월
2022.09
자격증명
컴퓨터활용능력
점수/급 | 발급 기관
1 | 대한상공회의소
취득월
2019.10

포트폴리오

타입
URL