About Me
Project
문답을 통해 쉽고 간편하게 CS(Computer Science) 공부를 도와주는 모바일 어플리케이션
- 팀프로젝트 (백엔드 30% 기여, post 관련 기능)
- kotlin 1.9.20, spring boot 3.2
- 페이징 처리 방식 시스템 성능 개선
- Offset 기반의 페이징을 No-Offset 방식으로 변경해 약 15% 향상
- 동적 쿼리를 도입하여 다양한 페이징 요구 사항에 유연하게 대응
- 유저가 버그를 신고하면 실시간으로 관리자에게 슬랙 알림을 보내는 버그 레포팅 시스템 구축
- 사용자의 월별 답변 갯수 집계 기능에서 복합 인덱스를 생성하여 쿼리 응답 속도를 약 28% 향상
기프티콘 전문 중고거래 플랫폼으로, 사용하지 않거나 만료가 임박한 기프티콘을 판매하고 저렴한 가격으로 구매할 수 있는 환경을 제공하는 서비스
- Java 17, Spring Boot 3.1, Mybatis, Mysql, Redis
-API 응답 일관성과 시스템 안정성 향상
- ReturnValueHandler를 커스터마이징하여 공통 응답 포맷 적용하여 통일된 응답 구조로 데이터 전달 일관성 확보
- ResponseEntityExceptionHandler를 커스터마이징하여 전역 예외 처리기 구현하여 예외 발생 시 표준화된 에러 응답 제공 및 로그 기록
- 시큐리티 프레임워크 없이 직접 OAuth 로그인을 구현하여 회원 가입 프로세스를 간소화
- 회원가입 시 메일 전송 기능을 동기에서 비동기로 전환하여 이메일 인증 API의 지연 문제 해결 및 처리 시간을 5.12s에서 0.78s로 단축
- 쿠폰 발급 시 데이터 일관성 문제 해결
- 시스템 안정성을 향상시키기 위해 Redisson 라이브러리를 사용하여 안전한 락 구현
- Redis 분산 락과 AOP를 활용하여 동시성 제어로 데이터 일관성 확보
Facebook, Thread, Twitter와 같은 SNS 서비스
- Java 11, Spring Boot 2.7, JWT, Mysql, Redis, AWS
- 로그인 처리 안정성 및 성능 개선
- 분산 환경에서 Redis를 활용해 스토리지를 분리하고 토큰 기반 인증으로 전환하여 안정성 및 성능 개선
- Redis 기반 글로벌 캐싱 시스템 구축하여 인기 게시글 응답 속도 응답 속도 약 30% 향상
- 서버 안정성 유지 및 메모리 사용량 관리
- Redis의 allkeys-lfu 캐시 제거 정책 채택으로 서버 안정성 유지 및 메모리 사용량 효과적 제한
- Redis 인스턴스를 토큰 저장과 캐시로 분리하여 부하를 분산하여 처리 능력 및 응답 속도 향상
Education
f-lab
2023.07 ~ 2024.01
깊이있게 학습하는 방법을 익혀 사수가 없어도 혼자 성장할 수 있는 개발자로 성장할 수 있도록 멘토링을 진행하여, 자바의 기본 개념들을 학습한 후 프로젝트를 통해 설계, 구현, 문서화를 포함한 전체적인 과정에 참여하여 문제 해결 능력과 소프트 스킬을 배웠습니다.
멋쟁이 사자처럼 백엔드
2022.09 ~ 2022.02
Java/Spring을 배우고 프로젝트에 적용하는 부트캠프로 회고 문화와 효울적인 스터디 진행하는 방법을 배웠습니다. 또한, 프로젝트를 진행할 떄 구현 뿐 아니라 프로젝트 일정 관리, 협업 방식, API 설계 등을 배웠습니다.