미리보기
기본 정보
- 안녕하세요! 노력하고 성장하는 1년차 백엔드 개발자 임동현입니다.
기술 스택
Java, Spring Boot, JPA, MySQL, Redis, Vue.js, aws-ecs, aws-rds, Docker
경력
티맥스 핀테크
백엔드 연구원 | FT 연구본부 | 재직 중
2024.02. ~ 재직 중 (8개월)
배달공제회 보험 계약 파트 백엔드 API 개발
코어뱅크 여신 파트 백엔드 파트
프로젝트
연세대학교 골프동아리 웹사이트
개인
2023.10. ~ 진행 중
대학 시절 설립한 동아리의 원활한 운영을 위해 신입 부원 모집을 위한 지원서 작성 / 관리, 지원 결과 이메일 전송, 회원 관리, 동아리 공지 사항 전달을 위해 개설한 사이트입니다.
- OAuth + JWT 로그인 및 자동 로그인
- 참석 현황 및 회원 관리를 위해 자주 접속하는 사이트의 사용자 경험을 향상 시키고자 자동 로그인 구현
- 참석 현황 및 회원 관리를 위해 자주 접속하는 사이트의 사용자 경험을 향상 시키고자 자동 로그인 구현
- 처리율 제한 장치 (Bucket4J)
- 동아리 지원 마지막 날 트래픽이 급증할 수 있기 때문에 처리율 제한 장치를 통한 서버 부하 감소
- 적용 전 : TPS 1.8, API 요청 성공 비율 30%
- 적용 후 : TPS 1008, 처리 제한에 넘어서는 요청의 경우, HTTP Status 429 반환
- 4년간의 데이터를 토대로 동아리 지원 마감 30분전 평균 지원자 수를 파악 후, 1분 동안 40명의 요청만 수용하도록 변경
- 동아리 지원 마지막 날 트래픽이 급증할 수 있기 때문에 처리율 제한 장치를 통한 서버 부하 감소
- 쿠폰 발급 동시성 제어
- synchronized, Pessimistic Lock, Optimistic Lock, Redisson 비교
- Pessimistic Lock 적용
- 데이터의 잦은 충돌과, Redis 추가 설치를 하지 않아도 됨에 따른 인프라 비용 감소를 위해 Pessimistic Lock 적용
업브렐라
기타
2023.07. ~ 2023.11.
신촌 기반 우산 공유 플랫폼으로서 신촌 / 한양대 거점을 기준으로 우산을 대여하고 반납하는 서비스를 개발하고 있습니다.
- 인프라
- 분산 서버를 구성함으로써 고가용성 보장
- 오토스케일링을 통해 트래픽이 급증할 경우를 인스턴스 수 증가
- CI / CD
- Rolling Update를 통해 무중단 배포
- 배포 후 에러 발생 시 ECS 태스크 버전 관리를 통해 이전 버전으로 롤백 기능 구축
- 우산 보관 지점 조회 API 382% 성능 향상
- nGrinder의 vUser 50명 기준 CPU 사용률 80%에서 35%로 감소
- CUD 작업이 적게 일어나고, 조회 기능이 많이 일어나는 데이터의 특성을 파악하고 데이터 캐싱
- Read Replicas와 Redis 중 서비스의 규모가 작고, 데이터가 적다는 점을 고려하여서 Redis 도입.
- 캐싱된 데이터가 변경되었을 때 Cache Invalidation을 통해 캐시 무효화
- 분산 서버에서의 로그인
- 분산 서버에서 어떻게 세션 로그인을 활용할 수 있을지 Spring Session 공식문서를 통한 해결방법 검색
- Redis 세션 서버를 도입하여 분산 서버에서의 로그인 구현
- Grafana & Loki 를 이용한 모니터링
- 로그 특성에 따라 로그 형식 분류를 통해 사용자 데이터 수집
- ex) 새로운 회원 가입, 우산 대여, 우산 반납 별로 로그 형식 분류를 통해 데이터 수집
- 서버 에러 로그시 슬랙 알림
- 로그 특성에 따라 로그 형식 분류를 통해 사용자 데이터 수집
교육
NEXT STEP
사설 교육 | TDD, Clean code with Java
2023.10. ~ 2023.12. | 졸업
코드스쿼드
사설 교육 | 백엔드 코스
2023.01. ~ 2023.06. | 졸업
한국방송통신대학교
대학교(학사) | 컴퓨터과학
2023.09. ~ 현재 | 재학 중
연세대학교
대학교(학사) | 체육교육학
2016.03. ~ 2022.02. | 졸업
자격증
OPIc
IM2 | ACTFL
2023.09.
외국어
영어
일상 회화 가능
자기소개
- 새로운 기술에 적응력이 좋습니다. 프로젝트를 진행하면서 새로운 기술을 사용해보고 싶을 경우, 기술을 독한한 후 블로그에 기록하고, 스터디를 통해 팀원들과 지식을 공유하며 성장하고 있습니다.
- 배운 기술을 토대로 사회에 기여합니다. 업브렐라 우산 공유 플랫폼 개발을 통해 비오는 날 30여개의 우산을 대여해줌으로써 일회용 우산 배출을 감소시키고 있습니다.
- 실제 필요한 것을 구현하는 것을 즐겨합니다. 대학시절 설립한 골프동아리의 원활한 운영을 위해 Vue.js와 Spring Boot를 이용해 동아리 홈페이지를 만들었고 100여명의 회원이 있는 사이트를 운영하고 있습니다.