
미리보기
- 직업
- 백엔드 개발자
- 이름
- 이현수
- 이메일
- quintuplets2000@gmail.com
- 간단소개

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