미리보기
기본 정보

경력
Gauss Lab
백엔드팀 | 인턴
2023.07. ~ 2023.08. (2개월)
태양광, 풍력 발전량 예측을 위한 기상 데이터 API 서버 구축
- 코루틴을 이용한 학습 데이터 저장 우선 순위 조정
- 기상 데이터를 저장할 때, 수백만줄의 크기의 데이터를 사람들이 자주 조회하는 지역의 것을 먼저 저장해야하는 문제가 있었습니다.
- 저는 비선점적인 커스텀 우선순위 큐에서 큐 삽입 시점에 우선순위가 높은 데이터부터 저장할 수 있도록 순서를 수정하는 로직을 추가했고, 코루틴을 이용한 멀티스레딩으로 대기열을 관리하도록 했습니다.
- 결과적으로 CPU 사용량을 기존 대비 70%~80% 수준으로 줄이고, 저장 요청이 몰렸을 때 서버가 중단되던 문제를 해결했습니다.
- 팀워크: 수치적 데이터를 기반으로 한 설득법
- DB를 선택할때 속도 뿐 아니라 회사의 예산문제와 팀원들의 기술 수준까지 고려해 최적의 기술을 선정해야했습니다.
- 저는 스프린트 초반부에 각 저장방식별 금액과 속도를 대략적인 예제 코드를 통해 계산해보고, 팀원들의 기존 지식 상황을 고려해 여러 기술 스택을 제안했고, 팀원들의 피드백을 반영해 수정하여 팀의 개발 방향을 수립할 수 있었습니다.
기술 스택:
- Kotlin
- Spring Boot
- MySQL
- JPA
- Spring Security
프로젝트
SSUspot
숭실대학교
2023.08. ~ 2023.12.
포토 스팟을 공유하고, 사용자의 취향에 맞는 사진 촬영 지점을 추천해주는 위치 기반 소셜 네트워크 서비스를 개발.
특허 출원 및 등록 진행중 (출원번호 10-2024-0034345)
- Kotlin의 Trailing Lambdas와 AOP를 활용해 JWT 토큰 캐싱 로직을 개선
- 기존 jwt 토큰을 캐시에서 다루는 코드에서 포인트컷 표현식과 @Cacheable의 key 인자의 SpEL 표현식을 잘못 지정해줬음에도 컴파일 익셉션이 아닌 런타임 익셉션이 발생했었고, 무슨 문제인지 파악하는데 많은 시간을 소모했었습니다.
- 이에 Kotlin의 Trailing Lambdas 문법을 사용하여 커스텀 코틀린 AOP 클래스 파일에 정의된 @Cacheable 캐시 메서드에 직접 캐시 키와 해당 키에 대한 함수를 인자로 전달하는 방식으로 코드를 개선했습니다.
- 그 결과 key 값 주입 문제로 모호한 런타임 익셉션이 발생하던 문제를 컴파일 가능한 상태로 개선하여 모니터링 가능하게 고칠 수 있었고 이러한 코드 스타일을 인증 체크등의 다른 분야에서도 적용하여 코틀린스러운 문법으로 코드 가독성과 유지보수성을 향상시킬 수 있었습니다.
- 자동 배포 CI/CD 파이프라인 구축
- GitHub Actions와 배포 스크립트를 이용하여 Master 브랜치에 커밋이 이루어질 때마다 자동으로 AWS S3에 Jar 파일을 업로드하고, AWS CodeDeploy를 통해 EC2 컨테이너에 Nginx Proxy를 적용하여 자동으로 배포하는 시스템을 구축했습니다.
기술 스택:
- Kotlin
- Spring Boot
- PostgreSQL
- JPA
- Spring Security
메트라이프 Hack4Job 해커톤 (대상 수상)
개인
2024.03. ~ 2024.03.
RAG와 llm을 이용한 보험 추천 상담 서비스 구현 (대상 수상)
- 보험 약관 임베딩 api 서버 구현: 보험 약관을 임베딩한 결과를 엘라스틱서치에 적재하는 서버 구축
- 상담 내용 비식별화 stream 처리 구현: 상담사와 소비자가 상담한 내용을 적재할 때 kafka streams 처리 도중 gpt api를 통해 개인정보 비식별화 후 적재하도록 구현
기술 스택:
- 임베딩 서버
- fastapi
- elastic search
- 비식별화 서버
- Spring Boot
- Java(프로듀서), Kotlin(컨슈머)
- azure openai
- Kafka Streams
자기소개
- 소통을 통해 새로운 기술을 함께 탐구하는 것을 좋아합니다.
기술 발표 세션 및 스터디를 운영했습니다.
다른 사람과 함께 공부하는 페어 프로그래밍 방식과 리딩하는 역할을 맡아 스터디원들을 이끄는 방식 모두 즐깁니다.
기술 발표:
"스프링부트 S3 이미지 업로드 기능 제네릭하게 개발하기" (2023.02)
"버추얼 스레드를 이용한 교내 서비스 로깅 시스템 개선 방안" (2024.01)
Kotlin
객체지향적이고 깔끔한 코틀린 코드 작성에 관심이 있고, 코루틴을 활용하여 처리 속도 및 리소스 사용 효율을 증가시키는 것에 관심있습니다.SpringMVC
레이어드 아키텍쳐 내에서 유지보수하기 쉬운 파일구조를 유지하려고합니다. 이에 계층별로 모듈화를 시도하여 도메인 영역의 구분을 명확히하는 멀티모듈을 시도해봤습니다.
숭실대학교 소프트웨어학부
8학기 재학 (2024.08 졸업예정)
교육
숭실대학교
대학교(학사) | 소프트웨어학부
2019.03. ~ 현재 | 재학 중
기술 스택
Kotlin, Spring Boot, React, Java