채용공고 올리기

구인영님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
구인영
직업
간단 소개

- 수학적인 사고로 생각해 효율적인 코드가 무엇인지 고민합니다. - 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.

댓글