미리보기
기본 정보
반복 작업 없이 자동화하는 것과 효율적인 인프라에 관심이 있습니다. 소통의 중요성을 알고 더 나은 커뮤니케이션을 위해 지속적으로 고민하고 있습니다. 동료들과 개발경험을 나누며 함께 성장하는 것에 재미를 느낍니다.
경력
주식회사프리딕션(PredictionCorp.)
사원 | 백엔드 개발
2023.01. ~ 2024.10. (1년 10개월)
재직 중 학습한 13개의 대주제와 30여개의 주요 업무 히스토리에 대한 기록을 남겼습니다. (노션 페이지)
QB(큐비)
회원 수 100만, MAU 30만, 전 과목 내신대비 교육 앱
2024.06 - 2024.10
담당 업무
(공진단) 영어 컨텐츠 기능 개발: 영단어, 구문분석, 영문법을 interactive하게 학습하는 컨텐츠
주요 경험
베이스 이미지 경량화, multi-stage build 도입 -> 용량 약 45% 감축
이미지 레이어 최적화, Docker Buildx 원격 캐시 사용 -> 실서버 배포 시간 60% 이상 감축
Doppler 서비스를 활용한 프로젝트 시크릿 중앙 관리 및 AWS Lambda로 시크릿 변경 알림 자동화
프로젝트 환경 변수를 Slack으로 공유할 때의 보안 리스크와, GitHub Secret으로 관리할 때의 의사 소통 비효율 최소화
Doppler에서 GitHub Secret 동기화하여 시크릿 조회 및 수정 가능 -> 시크릿 내용 공유 불필요해짐
Doppler 웹훅과 Lambda를 사용해 시크릿 변동에 대한 슬랙 알림 자동화 -> 휴먼 에러 방지
Poetry 도입으로 패키지 및 가상환경 관리 경험 개선
자동 관리되는 lock 파일과 이를 기반으로 가상 환경을 동기화하여 협업 안정성 개선
pre commit에 추가하여 Git 커밋마다 pyproject.toml과 poetry.lock, 그리고 가상환경 간의 동기화 여부 자동 확인
큐비에디터
학습자료 한글 타이핑 및 문제 은행 웹 서비스
2023.11 - 2024.05
담당 업무
api 서버 전체 개발
회원관리, 기출 문제은행, 커스텀 시험지, 한글 타이핑, 결제 등 담당
주요 경험
3계층 코드 아키텍처 도입과 이에 따른 DB 트랜잭션 관리
QB 태국 프로젝트에서 경험한 단일 계층 코드 아키텍처의 단점을 보완하고자 router, service, repository 계층 분리 -> 유지보수성 개선
SQLAlchemy scoped_session 도입 및 @transactional 데코레이터를 제작해 request-local한 DB 트랜잭션 관리 -> 데이터 정합성 개선, DB 커넥션 효율화
PDF -> HWP 타이핑 신청 시 단일 파일로 제한되던 기능을 다중 파일이 가능하도록 기능 개선 (파일 당 100MB 한도, 최대 20개)
I/O 작업 시 멀티스레딩 적용 및 FastAPI 백그라운드에서 S3와 통신하여 응답시간 단축
SSE & Redis 활용 실시간 유저 알림 기능 개발
브라우저 새로고침 없이 유저가 실시간으로 서비스 내 상태 변화를 확인할 수 있도록 하기 위해 도입
Redis List 자료구조로 클라이언트에 푸시할 메세지가 저장되는 메세지 큐 구현
FastAPI 메인 스레드에서 SSE 연결된 클라이언트에 비동기적으로 메세지 푸시
QB 태국
태국 중고등 수학, 과학 문제풀이 앱
2023.02 - 2023.10
담당 업무
api 서버 & admin 페이지 전체 개발
회원관리, 연습문제풀이, 오답노트, 모의고사, 결제, 데이터 추출 등 담당
주요 경험
AWS Lambda 활용 문제별 해설 영상 트랜스코딩 자동화
자동화를 통해 개발자의 관여 없이 상용 서비스에 노출할 수 있는 영상 제작이 가능해짐
원본 영상 업로드 및 변환된 영상 목록을 확인, 삭제할 수 있는 admin 페이지 UI 개발
S3 PUT 트리거가 설정된 Lambda에서 python-ffmpeg-video-streaming 라이브러리를 활용하여 AOS와 IOS를 모두 지원하는 스트리밍용 영상 병렬 제작
GitHub Actions 활용 전사 백엔드 개발서버 자동배포 시스템 구축
GitHub Secret과의 연동을 고려하여 프로젝트 환경 변수를 .env 형식으로 관리하도록 수정
EC2에서 GitHub private repo에 대한 Git 작업이 가능하도록 SSH 키 설정
워크플로우 로직: EC2에 SSH 접속 후 git pull을 통해 코드를 갱신하여 Django 앱 autoreload
워크플로우 사내 전파를 통해 배포 안정성에 기여
기술 스택
Python3, Poetry, FastAPI, SQLAlchemy, Alembic
MySQL, Redis, S3, DynamoDB, OpenSearch
Docker, ECS, EC2, Nginx, Lambda, GitHub Actions
프로젝트
Jigumulmi(지구멀미)
개인
2024.03. ~ 진행 중
'지구멀미'는 채식 정보 공유 서비스로, 지구의 빠른 변화 속도를 늦추기 위해 우리의 식생활부터 변화를 시작하자는 취지에서 개발되었습니다.
팀의 유일한 백엔드 개발자로써 API 서버 및 모니터링 시스템의 인프라 구축과 기능 개발을 담당하고 있습니다. 운영에 필요한 데이터에 접근하고 조작할 수 있는 ADMIN 페이지의 고도화도 함께 진행중입니다.
최소한의 비용으로 AWS 클라우드에서 상용, 개발 환경의 API 서버를 운영 중이며, GitHub Actions를 통한 CI/CD 작업으로 테스트와 배포 자동화가 이루어지고 있습니다.
학습한 지식과 기술에 대해 꾸준하게 기록해나가고 있으며, DB와 ORM을 중심으로 기본을 충실히 다져나가고 있습니다.
GitHub: jigumulmi repository
학습 기록: notion
기술 스택
Java21, Spring Boot3, Spring Security, Springdoc,
JPA, QueryDSL
JUnit5, Mockito
FluentBit, Loki, Prometheus, Grafana
MySQL, S3
EC2, Docker, GitHub Actions
포트폴리오
기술 스택
python3, FastAPI, SQLAlchemy, MySQL, Java, Spring Boot, JPA, CI/CD, AWS
교육
연세대학교
대학교(학사) | 나노과학공학과, 경제학과
2017.03. ~ 2022.08. | 졸업
외국어
영어
원어민 수준