미리보기
기본 정보

[trade-off를 고려하며 생각하길 좋아합니다.] 문제를 해결하고자 집요하게 고민하고, 답을 찾아냈을 때의 성취감을 좋아합니다. 이러한 성향 덕분에 고등학교 수학 경시대회에서 1학년 금상(2등), 3학년 장려상(4등)에 입상했습니다. 개발 역시 마찬가지로, 크고 작은 문제를 해결하는 과정에서 성취감을 느끼고 있습니다. 다만, 수학과 다른 점은 개발에는 은탄환이 없습니다. 그리고, trade-off를 고려하는 동시에 더 나은 해결책을 찾기 위해 끊임없이 고민합니다. 저는 이러한 고민을 통해 해결책을 찾는 과정이 즐겁고, 이를 통해 성장하고 있습니다. - CompletableFuture를 활용해 외부 API를 비동기 처리하여 API 응답 시간 60초 → 14초 단축 - 결제 승인 요청과 DB save 쿼리 순서의 장단점을 비교하여 결제 승인 API 개발
기술 스택
Java, Spring Boot, MySQL, JPA
프로젝트
고민 상담 플랫폼
6명 - 기획자(1) 디자이너(1) FE(1) BE(3)
2024.11. ~ 2025.01.
프로젝트 소개
네이버 생성형 AI Clova를 활용하여, 사용자의 성향(감정형(F) 또는 사고형(T))에 맞춰 맞춤형 위로와 조언을 제공
기존 고민 상담 플랫폼의 백엔드 팀원 권유로 프로젝트 진행 1개월 후 합류, 프로젝트 고도화에 기여
프로젝트 기여한 점
CompletableFuture를 활용해 외부 API를 비동기 처리, API 응답 시간 60초 → 14초 단축
LEFT JOIN의 ON 절 동등 조건을 WHERE 절로 이동하여 ALL → eq_ref로 변경하여 쿼리 개선
150만 건 더미 데이터로 다양한 인덱스를 실험하고 실행 계획 분석을 통해 인덱스 설계 진행
디버깅 시 실제 외부 서버 호출로 인한 비용 문제 해결을 위해 WireMock을 활용한 테스트 코드 작성 및 OpenFeign을 커스터마이징하여 INFO 레벨 로그 추가
Prometheus & Grafana 활용해 서버의 health 엔드포인트가 down 인 경우와 ERROR 레벨의 로그시 Slack 으로 알림 연동
숙소 예약 플랫폼
개인
2024.08. ~ 2024.12.
프로젝트 목표
에어비앤비의 회원가입부터 결제 완료 후 숙소 예약까지의 과정을 클론
스프링 활용 및 테스트 코드 기반으로 신뢰성 있는 코드 작성을 목표로 진행
프로젝트 요약
EC2, ECR, RDS, Github Actions, Docker 를 활용한 CI/CD 구축
TossPayments API 를 활용한 결제 승인 프로세스 개발
Spring-Mail 을 활용한 메일 인증 기반의 회원가입 / 로그인 개발
@Async 를 활용해 메일 전송을 비동기 처리, API 최대 응답 시간 1.4초 → 0.01초로 개선
총 210개의 테스트 코드 작성, 99% 테스트 커버리지 달성, 모든 상황에 대한 Unit Test, Integration Test 진행
동시성 방지를 위해 JPA 낙관적 락 / DB 비관적 락 / 유니크 제약조건에 대한 장단점을 비교 후, 유니크 제약조건을 활용해 동시 예약 방지
S3 와 Rest Docs를 활용하여 API 문서 관리 자동화 및 배포
트러블 슈팅
포트폴리오
교육
코드스쿼드 2024 마스터즈
사설 교육 | 백엔드 과정
2024.01. ~ 2024.08. | 졸업
전남대학교
대학교(학사) | 식품영양전공
2017.03. ~ 2023.02. | 졸업
자격증
TOEIC Speaking Test
InterMediate 3, 130점 | TOEIC 위원회
2024.09.