미리보기
기본 정보

- 수학적인 사고로 생각해 효율적인 코드가 무엇인지 고민합니다. - Java, ORM, Restful API 등을 이용해 CRUD 및 이외 기능을 구현하는 데 익숙합니다. - 호기심을 흘려보내지 않고 오늘의 성장을 위한 밑거름으로 사용합니다.
자기소개
[물음표를 통한 성장]
저는 모든 개발 과정에서 드는 의문으로 성장한 사람입니다.
가장 최근 반려동물 통합 플랫폼을 주제로 프로젝트를 진행한 경험이 있습니다. 당시 QueryDSL의 BooleanExpression을 통해 검색 기능을 구현한 팀원이 제목에 인덱싱을 적용해 봤지만 더미 데이터로 테스트했을 때 큰 개선이 이루어지지 않았다고 말했습니다. 이를 듣고 다른 팀원과 함께 역 인덱스 구조로 빠르게 검색이 가능한 Elasticsearch를 적용해 기능 개선을 했습니다. 이후 왜 인덱싱으로는 성능 개선이 이루어지지 않았는지 궁금해 개인적으로 회고하는 시간을 가졌습니다. 팀원의 인덱싱 적용에서 제한을 두지 않고 FullText를 이용해 제목 문자열 그대로 인덱싱을 한 것을 찾을 수 있었습니다. 테이블의 인덱싱은 불용어 처리가 자동으로 되지 않기 때문에 직접 제한을 뒀어야 한다는 것을 알 수 있었고 팀원들에게도 이를 공유해 함께 추가적으로 학습할 수 있었습니다.
저는 이렇게 궁금증을 통해 성장할 수 있는 사람입니다. 이런 제가 기업의 성장에 함께 할 수있기를 소망합니다.
기술 스택
Java, Spring Boot, MySQL, backend, JPA, Redis, MongoDB
프로젝트
Wuzuzu
기타
2024.04. ~ 2024.05.
Wuzuzu
overview
반려동물 관련 장소 조회, 물품 거래, 커뮤니티 등을 이용 가능한 통합 플랫폼
stack
Backend: Java, SpringBoot, SpringSecurity, JWT, Elasticsearch, QueryDSL, AWS SQS, STOMP
API: IAM PORT, SMTP, KAKAO OPEN API, Geolocation API
Database: MySQL, Redis
LoadTest: Jmeter
Implemented Features
로그인, 회원가입
로그인 시 RefreshToken Redis로 관리해 AcessToken 재발급에 사용
HashSet 자료구조 이용해 TokenBlacklist 관리해 로그아웃 한 사용자 토큰 재사용 불가하도록 구현
이메일 인증
Redis 사용으로 인증 코드의 인증 만료 시간 등 관리
마이페이지(정보 조회 및 수정)
페이지네이션 공통화
검색 기능 Elasticsearch 를 통해 개선
TroubleShooting
사용자 인증이 필요한 API 호출 시 DB에서 사용자 판단을 하는 상황 발생
불필요한 쿼리가 발생함과 동시에 호출 때 마다 DB를 조회해 성능 저하 문제 인식
개선 방향: JWT Claims에 필요한 정보 load해 DB 조회 없이 인증 가능하도록 개선
Achivement
검색 기능 개선
약 80% 응답 속도 개선, 오타 처리
Paging 처리: Util 생성으로 공통화 작업 중복 코드 개선
자격증
SQL
개발자 | 한국데이터산업진흥원
2024.09.