채용공고 올리기

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

이직/구직 중이에요
성실함
책임감
목표 지향적
꼼꼼함
학습 지향

미리보기

직업
백엔드 서버 엔지니어
이름
김현수
간단소개
안녕하세요. 준비된 백엔드 개발자 김현수입니다.

자기소개

자기소개

지식을 진화시키는 개발자

끈기 있는 문제 해결

이전 프로젝트에서 발생했던 동시성 이슈를 프로젝트가 끝난 후에도 해결해보기 위해 개인 프로젝트 및 성능테스트를 통해 근본적인 해결책을 찾아냈습니다. 어려운 문제도 끝까지 파고들어 해결하기 위해 노력합니다.

체계적인 학습과 공유

모든 기술에는 기반 개념에 대한 깊은 이해가 필요하다고 생각합니다. 저는 얻은 인사이트와 해결 과정을 블로그에 정리하여 기록하는 것을 습관화하고 있습니다. 현재까지 약 400여 개의 포스팅을 작성했으며, 이 과정에서 지식을 스스로 정리 및 공유하고 있습니다.

성장을 위한 도전

프론트엔드와의 협업 경험 부족을 극복하기 위해 프론트엔드 개발자와 사이드 프로젝트를 진행하였으며, Swagger를 활용한 API 문서화 및 코드 컨벤션 도입으로 협업 효율 향상을 경험했습니다.

기술 스택

기술 스택
Java
Spring Boot
JPA
MySQL
Spring Security
JWT
Docker
docker-compose
Git
aws-ec2
oauth2
github-actions
Redis
rabbitmq
JIRA

프로젝트

프로젝트명
BooTakHae | 동시성 제어 & Look Aside 캐싱 전략
소속/기관명
항해99
프로젝트 기간
2024.04. - 2024.05.
(2개월)
프로젝트 설명

Skills - Java, Spring Boot, Spring Data JPA, Spring Security, MariaDB, JWT, Redis, Spring Cloud Gateway, Spring Cloud Netflix, RabbitMQ, Docker, Docker-Compose


  • 상품 주문 시 발생하는 동시성 이슈를 Lock을 활용하여 제어(자세히 보기)

    • 문제 : 재고 관련 race condition으로 인한 관리 어려움이 발생함.

    • 의사결정 : Pessimistic Lock을 활용하여 동시성을 제어하기로 결정함.

    • 적용 : @Lock 어노테이션을 사용하여 Pessimistic Lock 적용함.

    • 영향 : 30개의 멀티 스레드가 동시에 요청하여 5,000개 재고를 정상 처리하도록 하여, 데이터 신뢰성이 향상됨.

  • 상품 목록 조회 시 발생한 성능 저하 이슈를 캐싱을 활용하여 개선(자세히 보기)

    • 문제 : 상품 목록 조회 시 데이터베이스 접근으로 인한 성능 저하가 발생함.

    • 의사결정 : Redis Cache를 활용하여 자주 조회되는 고정 데이터 캐싱하기로 결정함.

    • 적용 : Look Aside 캐싱 전략을 활용하여 상품 목록의 고정 데이터를 캐시에 저장하여 조회 시 활용함.

    • 영향 :

      상품 목록 조회 성능이 36.22ms에서 5.49ms로 85% 개선되어 사용자 경험이 향상됨.

  • Scheduler 마이크로 서비스 분리(자세히 보기)

    • 문제 : 하나의 서비스 내 Scheduler 로직 적용 시 스케일 아웃 때 인스턴스마다 스케줄링 동작을 중복 수행되는 문제 발생함.

    • 의사결정 : scheduler-service 분리.

    • 적용 : 스케줄링 서비스 분리 후 주문 상태 변경 요청 시 서비스 의존도를 줄이기 위해 비동기 통신으로 처리하도록 RabbitMQ 도입 및 사용함.

    • 영향 : 중복 동작 없이 정상적으로 스케줄링 처리 완료함.

  • 마이크로서비스 아키텍처 구현: Spring Cloud, 컨테이너화를 통한 효율적인 시스템 구축

    • Spring Cloud Gateway와 Netflix Eureka를 활용하여 동적 라우팅 및 서비스 디스커버리를 구현.

    • 도커와 도커 컴포즈를 활용하여 마이크로 서비스의 개별 이미지 빌드 및 다중 컨테이너 관리로 배포와 관리의 용이성 높임.


프로젝트명
Daejangjangi | AWS 배포 & 소셜 로그인 구현 & S3 이미지 업로드
소속/기관명
사이드 프로젝트
프로젝트 기간
2024.09. - 진행 중
(5개월)
프로젝트 설명

Skills - Java, Spring Boot, Spring Data JPA, Spring Security, MySQL, OAuth2, AWS, Amazon EC2, Amazon S3, Docker, Docker Compose, Github Actions


  • 클라우드 기반 CI/CD 파이프라인 구축 및 클라우드 서비스 활용

    • Github Actions와 AWS CLI 기반의 자동 배포 파이프라인 구현.

    • 대장툰 이미지 및 릴스 영상 업로드 기능 구현을 위해 Amazon S3 연동 및 이미지 업로드 구현.

  • OAuth2.0을 통한 Google 소셜 로그인 /회원가입을 구현

    • JWT를 활용한 토큰 기반 인증 구현 및 토큰 탈취 리스크를 줄이고자 유효기간을 짧게 설정.

    • 사용자 경험을 증진시키고자 accessToken과 refreshToken을 분리.

    • refreshToken 탈취 리스크를 줄이고자 RTR 방식으로 refreshToken을 주기적으로 갱신하도록 구현.

포트폴리오

타입
URL
깃허브
link
Github 주소
URL 링크
link
개발 블로그
URL 링크
link
MSA 스터디
깃허브
link
BooTakHae 포트폴리오

교육

소속/기관
항해99
종류 | 전공명/전공계열
사설 교육 | 취업 리부트 코스
재학 기간 (재학 상태)
2024.03. - 2024.06. (졸업)
소속/기관
플레이데이터
종류 | 전공명/전공계열
사설 교육 | MSA 대용량 트래픽 처리 과정
재학 기간 (재학 상태)
2023.06. - 2023.12. (졸업)
소속/기관
목포해양대학교
종류 | 전공명/전공계열
대학교(학사) | 해양메카트로닉스 학부
재학 기간 (재학 상태)
2015.03. - 2019.01. (졸업)

자격증

자격증명
정보처리기사
점수/급 | 발급 기관
필기 합격 | 한국산업인력공단
취득월
2024.08
자격증명
SQLD
점수/급 | 발급 기관
SQLD-050013527 | Kdata
취득월
2023.10
댓글