이력서
허세진 이력서
- Email: hsj3925@gmail.com
- 전화번호: 오프라인 이력서에 기재
- GitHub: https://github.com/Dehkartes
- Portfolio: https://dehkartes.notion.site
- Position: Software Engineer (신입)
- 생년: 2001년
About me
성장하는 개발자
초등학생 때 참여하게 된 로봇 동아리에서 코딩을 접하게 되었습니다. 동아리에서 코딩으로 문제를 해결하는 즐거움을 배운 이후 소인수 분해 프로그램 등 다양한 알고리즘을 구현했습니다. 알고리즘을 구현하고 프로그램을 개발하면서 논리적 사고와 문제해결 능력을 키웠습니다. 또한 비대면 학습을 하는 환경에서 혼자서 공부한 기술을 내 것으로 만드는 역량까지 갖추게 되었습니다.
대학생이 된 이후 초등학생 때부터 키워온 역량을 바탕으로 다양한 프로젝트에서 주도적으로 문제를 해결했습니다. 이런 능력이 성적에 반영되어 평균 평점 4.31의 우수한 성적으로 졸업했습니다. 졸업 후 항해99에서 백엔드 부트캠프와 플러스 AI 과정을 이수하는 등 끊임없이 도전하고 배우며 성장하는 개발자로서 변화하는 기술 환경 속에 발전하고 있습니다.
기술력 있는 개발자
백엔드 부트 캠프를 이수하면서 사용자에게 더 많은 편의성을 제공해 주는 인공지능 기술에 관심이 생겨 AI 부트 캠프까지 수료하게 되었습니다. AI 부트 캠프에서 자연어 처리와 관련된 다양한 기술을 배우고 이력서를 챗봇으로 제공하는 프로젝트를 시작했습니다. 해당 프로젝트에서 이력서 본문은 FAISS를 활용해 벡터화하고 사용자 질의와 추출된 이력서 내용을 바탕으로 프롬프팅하여 RAG를 구현하였습니다.
LLM에서 생성한 토큰을 실시간 웹페이지로 스트리밍하는 기능을 구현하기 위해 FastAPI와 TextIteratorStreamer를 활용하였습니다.
추가로 비용 효율성을 고려해 시스템 최적화에 집중했습니다. AWS EC2에서 실행되던 서버를 웹 서버와 API 서버로 분리했습니다. 웹 서버는 EC2 프리 티어에서 구동, API 서버는 On-Premise 환경에서 구동하고 있습니다. API 서버의 호출 비용 절감을 위해 LG EXONE 모델을 4bit 양자화시켜 경량화된 로컬 LLM으로 운영했습니다.
이러한 과정을 통해 문제 해결 능력과 효율적인 시스템 설계 역량을 키울 수 있었으며, 이를 기반으로 다양한 기술적 도전에 대응할 준비가 되어 있습니다.
협업하는 개발자
실생활의 문제를 해결하기 위해 고민하고, 이를 바탕으로 프로젝트를 설계하며 SLDC를 경험했습니다. 객체 탐지를 사용한 쓰레기 무단투기 감지 시스템 프로젝트 기획 과정에서 아이디어를 구체화할 때 효과적인 커뮤니케이션 역량을 발휘했습니다. 팀에서 무단투기 감지 방식을 결정할 때, 의견은 행동 탐지와 객체 탐지 두 가지 방식으로 나뉘어졌습니다. 행동 탐지는 넓은 문제 영역을 해결할 수 있었고 객체 탐지는 빠르게 모델을 완성할 수 있었습니다. 팀원들과 기술적 특징과 현재 상황에 대한 충분한 논의가 이뤄졌습니다. 그 결과 빠르게 완성돼야 하는 상황을 고려하여, 팀에서 객체 탐지 방식으로 결정되었습니다. 충분한 커뮤니케이션과 빠른 의사결정 통해 프로젝트는 K-Hackathon 11 본선에 진출하여 사업단장상을 수상하는 성과를 거두었습니다. 협업과 기술적 도전 속에서 문제를 해결하고 목표를 달성하는 경험은 제게 큰 성장을 안겨주었습니다.
Tech Stack
Language
-
Java
JVM의 바이트 코드 실행과 GC에 대해서 이해하고 있으며 다양한 라이브러리를 응용하여 비즈니스 로직을 구현할 수 있습니다.
-
Python
알고리즘 트레이닝 주력 언어이며 간단한 툴이 필요할 때 Python으로 구현하였습니다.
Database
-
MySQL
관계형 데이터베이스를 사용한 프로젝트에서 메인 DB로 사용하였습니다.
-
Redis
In-memory DB의 특징을 살려 캐싱 용도로 사용하였으며, Redisson으로 MSA 환경에서 동시성 처리 솔루션을 구현하였습니다.
Framework
-
Transformer, LangChain
LLM 모델 구현에 사용합니다. 필요에 따라 모델을 수정하여 비즈니스 로직에 적용할 수 있습니다.
-
Streamlit
데모 서비스 구현에 사용하였습니다.
-
Spring boot
Bean, IoC/DI, PSA, AOP 개념을 이해하고 있으며, JPA 설정을 통한 DB 연동 경험이 있습니다.
ETC
-
Git
팀 프로젝트에서 협업을 위해 사용하였습니다. Branch를 나누어 프로젝트 복원에 사용하였고, .ignore 설정을 통해 불필요한 파일 공유를 제어했습니다.
-
Docker
Docker Compose 설정을 통해 빠르고 편리하게 독립된 가상 환경을 구축하기 위해 사용했습니다.
-
AWS
R53 - ALB - EC2 환경을 구성한 경험이 있으며 현업에서 운영 중인 인프라의 비용 관리 경험이 있습니다.
Career
CELLKEY
2023.09 - 2023.12
Spring Boot, Maria DB, AWS, Python
인턴십
- Python 단백질 분석 기능 구현
- 단백질 raw file을 Python으로 읽어 세부정보(화학식, 분자량 등)을 엑셀 스프레드시트에 출력
- 멀티 쓰레딩 적용으로 단백질 파일 처리 속도 분당1회 → 분당7회 향상
- AWS 인프라 비용 분석
- Megazone Cloud Billing 사용
Project
Virtual Dehkartes
Service Link: https://fractarium.com/
Git Link: https://github.com/Dehkartes/Virtual_Dehkartes/
2024.11 ~ 진행 중
1인 개발
Transformer, FAISS, FlastAPI, BeautifulSoup, Streamlit, R53, EC2, ALB
챗봇 이력서 서비스
- 역할
- AI, 풀 스택, 데브옵스, 프로젝트 기획 및 PM
- 주요 기능 구현
- RAG 구현
- 이력서 크롤링
- Text embedding
- Vector DB Retrieval
- LG EXAONE 모델 4bit 양자화
- 토큰 1개 생성 속도 개선(26.6초 → 0.4초)
- LLM 생성 토큰 스트리밍
- AWS → On-Premise migration
- 웹서버(Streamlit), LLM API 서버(FastAPI) 분리
- 서버 유지 비용 개선(월 18.391$ → 6.923$)
- RAG 구현
Preorder
2024.04 - 2024.05
1인 개발
Spring Boot, MySQL, Redis, Docker
스프링 학습을 위한 모의 쇼핑몰 API
- 역할
- 프로젝트 기획, PM, 백엔드 개발 및 데브옵스
- DB 스키마 설계 및 Docker 환경 구축
- 주요 기능 구현
- MSA 구축
- Scale out 비용 최적화를 통해 서버 비용 절감 및 시스템 확장성 향상
- Gradle로 서브 모듈 관리 및 Docker로 실행 환경 관리
- WebClient 서브 모듈 통신으로 모듈 간 안정적인 데이터 교환
- 재고 연산 동시성 처리
- Redisson Distribution Lock을 사용한 멀티 프로세스 환경에서의 동시성 문제 해결
- Redis Look Aside + Write Back 캐싱 사용
- 응답 속도 분당 2,300개 → 4,200개 향상
- 이메일 인증 모듈
- Google SMTP 환경 구축
- 인증용 난수 코드 생성
- Spring Java Mail Sender를 사용한 이메일 발송
- MSA 구축
Automatic Crackdown System
2023.06 - 2023.08
MySQL, Python, Flask, YOLO, .Net
객체 탐지를 사용한 쓰레기 무단투기 감지 시스템
3인 개발
- 역할
- 백엔드, 프로젝트 기획 및 PM
- DB 스키마 설계
- 주요 기능 구현
- CCTV 이미지 프레임 송수신: TCP 소켓 통신으로 구현
- 단속 시간 기록 DB 저장
- 연속적인 이미지 프레임 객체 탐지: YOLO detect 모듈 튜닝
- YOLO detect 모듈이 이미지 배열 처리를 지원하지 않아, 이미지 배열을 순회하며 각 이미지에 대해 처리하도록 코드 변경
- 성과
- K-Hackaton 11 본선 진출, 사업단장상 수상
OCR 건물 검색
2023.03 - 2023.05
4인 개발
Spring, Python, Flask, Naver Cloud Platform, MySQL
간판 인식을 통한 건물 검색 서비스
- 역할
- 백엔드, 데브옵스, 프로젝트 기획 및 PM
- 주요 기능 구현
- deep-text-recognition-benchmark 모델 학습
- OCR API: 네이버 클라우드 OCR 및 On-premise 인프라 설정
- Base64 이미지 송수신 및 디코딩
- 성과
- 평점 A+
Activity
부트 캠프
항해 99 취업 리부트 코스 2기 (백엔드)
- 2024.03 - 2024.06
- 알고리즘, 스프링 부트 학습
- MSA, 동시성 처리, 캐싱, 백엔드 Restful API 구현
교내 특별 과정
###
우송 기업 멤버십 인공지능 응용 SW 개발 과정
- 2023.03 - 2023.06
- 인공지능, 머신러닝 학습
- 선형 회귀 이해, Tensorflow를 사용한 선형 회귀 모델 구현
우송 비트 Windows Developer 고급과정 34기
- 2021.08 - 2022.02
- .NET 학습
- 서버/클라이언트 구조 이해, GUI 소프트웨어 구현
자격증
AWS Certified Solutions Architect Associate
- 2023.10 취득
Education
우송대학교
2020.03 - 2024.02
IT 융합학부 스마트IT·보안 전공 공학사
- 평점 평균: 4.31 / 4.50
Leave a comment