About me
Introduction
Recent Interests
Contact
1년차 주니어 백엔드 개발자입니다.
혼자서가 아니라 모두와 함께, 끊임없이 성장하고픈 개발 학생입니다.
검은 머리 파뿌리 되어서도 개발을 하고 싶습니다.
새로운 배울 거리는 언제나 환영합니다!
- Design pattern
- Rust
- GraphQL
Skills
| Backend | Python3
Python asyncio
SQLAlchemy, alembic
Django, Django Rest-Framework
PostgreSQL
|
| --- | --- |
| Frontend | JavaScript (ES8)
React
Redux (react-redux)
|
| DevOps | Linux
Docker
Kubernetes
|
| Collaboration & Other tools | Git
Github
VS Code
|
Work Experience
알고리마
2020.12 ~ 2021.12
- 인공지능 교육 웹 플랫폼 유지보수
- 머신러닝 서버 아키텍쳐 개선 (blog link)
- SOLID 원칙을 따라 머신러닝 서버 리팩토링
- 언어: Python 3
- 기존:
머신러닝 서버에서 훈련Training, 추론Inference, 평가Evaluation 혹은 파이썬 코드 실행Execution 등의 작업들의 실행을 분기문에서 결정.
모든 작업들이 하나의 머신러닝 실행 클래스 안에 있는 메소드에서 실행되었고, 의존성이 뒤섞여 있는 상태.
- 개선:
"머신러닝 서버에서 실행할 수 있는 작업"이라는 추상 클래스를 만들고 이 추상 클래스를 상속받아서 각 작업들을 구현.
각 작업 클래스들을 작업 요청과 매핑하여 분기문을 제거.
- GCP 서비스 사용 방식 개선
- Affinity와 node selector, taint & tolerance를 활용한kubernetes pod scheduling 정책 설정
- Pub/Sub message flow control 개선 (blog link)
- 100여개 django E2E 테스트 코드 추가
- django rest-framework의 APITest를 활용한 E2E테스트
- Python 3 코드 실행환경 Sandboxing
- Python 3 TemporaryFile와 subprocess, named pipe를 활용
- TemporaryFile의 임시 디렉토리를 생성시킨 후 subprocess의 자식 프로세스를 spawn할 때 working directory를 임시 디렉토리로 설정. 자식 프로세스에서 Python 3 코드를 실행케 하고 실행 결과를 named pipe로 출력
- 개발환경 Dockerize
- docker compose를 활용하여 front와 backend, DB등 여러 컴포넌트를 쉽게 이미지 빌드 및 컨테이너화
- 자격시험 플랫폼 개발
- DB 스키마 설계
- REST API 설계
- django rest-framework의 generics와 model serializer를 활용하여 django model을 RESTful API설계에 활용
- Front 개발자와의 협업을 위해 API 문서화
- notion 페이지를 만들어서 API 정보 공유
- Code owner로서 모든 백엔드 PR 리뷰
Personal Experience
2021.08 ~ 2021.11
- 2021 오픈소스 컨트리뷰션 아카데미 멘티
- 프로젝트 한글 번역 기여
오픈소스 툴을 활용한 CTIP 환경 구성
2020.03 ~ 2020.06
- Google Compute Engine과 Docker 기반 서버에 Jenkins, Sonarqube, Github을 연동한 CTIP 환경 구성
- GCP에 프로비저닝한 클라우드 서버에서 Docker를 사용한 Jenkins 서버와 Sonarqube 서버를 컨테이너로 실행
- Github Webhook과 Jenkins를 연동하여 master branch에 코드가 push되면 Jenkins로 코드가 전달되도록 구성
- notion에서 issue tracking하여 버그, 문서 등의 이슈 정리
Certificate
2020.11 ~ 2023.11
- Tensorflow의 Sequential을 이용한 간단한 딥러닝 모델 생성
- 딥러닝 모델을 picklize 혹은 h5 파일로 저장 및 불러오기
- callback hook을 활용한 early stopping
Education