채용공고 올리기

이현수님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
이현수
직업
백엔드 개발자
간단 소개

경력

회사명

Gauss Lab

직급 | 부서 | 근무 유형

백엔드팀 | 인턴

근무 기간

2023.07. ~ 2023.08. (2개월)

담당 업무

태양광, 풍력 발전량 예측을 위한 기상 데이터 API 서버 구축

  1. 코루틴을 이용한 학습 데이터 저장 우선 순위 조정
  • 기상 데이터를 저장할 때, 수백만줄의 크기의 데이터를 사람들이 자주 조회하는 지역의 것을 먼저 저장해야하는 문제가 있었습니다.
  • 저는 비선점적인 커스텀 우선순위 큐에서 큐 삽입 시점에 우선순위가 높은 데이터부터 저장할 수 있도록 순서를 수정하는 로직을 추가했고, 코루틴을 이용한 멀티스레딩으로 대기열을 관리하도록 했습니다.
  • 결과적으로 CPU 사용량을 기존 대비 70%~80% 수준으로 줄이고, 저장 요청이 몰렸을 때 서버가 중단되던 문제를 해결했습니다.
  1. 팀워크: 수치적 데이터를 기반으로 한 설득법
  • DB를 선택할때 속도 뿐 아니라 회사의 예산문제와 팀원들의 기술 수준까지 고려해 최적의 기술을 선정해야했습니다.
  • 저는 스프린트 초반부에 각 저장방식별 금액과 속도를 대략적인 예제 코드를 통해 계산해보고, 팀원들의 기존 지식 상황을 고려해 여러 기술 스택을 제안했고, 팀원들의 피드백을 반영해 수정하여 팀의 개발 방향을 수립할 수 있었습니다.

기술 스택:

  • Kotlin
  • Spring Boot
  • MySQL
  • JPA
  • Spring Security

프로젝트

프로젝트명

SSUspot

소속/기관명

숭실대학교

프로젝트 기간

2023.08. ~ 2023.12.

프로젝트 내용

포토 스팟을 공유하고, 사용자의 취향에 맞는 사진 촬영 지점을 추천해주는 위치 기반 소셜 네트워크 서비스를 개발.
특허 출원 및 등록 진행중 (출원번호 10-2024-0034345)

  1. Kotlin의 Trailing Lambdas와 AOP를 활용해 JWT 토큰 캐싱 로직을 개선
  • 기존 jwt 토큰을 캐시에서 다루는 코드에서 포인트컷 표현식과 @Cacheable의 key 인자의 SpEL 표현식을 잘못 지정해줬음에도 컴파일 익셉션이 아닌 런타임 익셉션이 발생했었고, 무슨 문제인지 파악하는데 많은 시간을 소모했었습니다.
  • 이에 Kotlin의 Trailing Lambdas 문법을 사용하여 커스텀 코틀린 AOP 클래스 파일에 정의된 @Cacheable 캐시 메서드에 직접 캐시 키와 해당 키에 대한 함수를 인자로 전달하는 방식으로 코드를 개선했습니다.
  • 그 결과 key 값 주입 문제로 모호한 런타임 익셉션이 발생하던 문제를 컴파일 가능한 상태로 개선하여 모니터링 가능하게 고칠 수 있었고 이러한 코드 스타일을 인증 체크등의 다른 분야에서도 적용하여 코틀린스러운 문법으로 코드 가독성과 유지보수성을 향상시킬 수 있었습니다.
  1. 자동 배포 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를 통해 개인정보 비식별화 후 적재하도록 구현

기술 스택:

  1. 임베딩 서버
  • fastapi
  • elastic search
  1. 비식별화 서버
  • Spring Boot
  • Java(프로듀서), Kotlin(컨슈머)
  • azure openai
  • Kafka Streams

자기소개

자기소개
  • 소통을 통해 새로운 기술을 함께 탐구하는 것을 좋아합니다.
    기술 발표 세션 및 스터디를 운영했습니다.
    다른 사람과 함께 공부하는 페어 프로그래밍 방식과 리딩하는 역할을 맡아 스터디원들을 이끄는 방식 모두 즐깁니다.

기술 발표:
"스프링부트 S3 이미지 업로드 기능 제네릭하게 개발하기" (2023.02)
"버추얼 스레드를 이용한 교내 서비스 로깅 시스템 개선 방안" (2024.01)

  • Kotlin
    객체지향적이고 깔끔한 코틀린 코드 작성에 관심이 있고, 코루틴을 활용하여 처리 속도 및 리소스 사용 효율을 증가시키는 것에 관심있습니다.

  • SpringMVC
    레이어드 아키텍쳐 내에서 유지보수하기 쉬운 파일구조를 유지하려고합니다. 이에 계층별로 모듈화를 시도하여 도메인 영역의 구분을 명확히하는 멀티모듈을 시도해봤습니다.

숭실대학교 소프트웨어학부
8학기 재학 (2024.08 졸업예정)

https://github.com/julymeltdown

교육

소속/기관명

숭실대학교

종류 | 전공

대학교(학사) | 소프트웨어학부

재학 기간 | 재학 상태

2019.03. ~ 현재 | 재학 중

기술 스택

기술 스택

Kotlin, Spring Boot, React, Java

포트폴리오

URL

link

https://github.com/julymeltdown

깃허브
댓글