Java & Spring 기반 주니어 백엔드 개발자 이준입니다

프로필 Profile
🎂 99년 5월 21일 출생
🏫 고성고등학교 (2015.03. ~ 2018.02.)
👨🎓 강릉원주대학교 컴퓨터공학과 졸업 (2018.03. ~ 2025.02.)
🪖 육군 만기 전역 (2019.09.16 ~ 2021.04.05)
📧 [email protected]
📞 +82 1071701430
🔗 GitHub marso34 - Overview
프로젝트 Project
🕓 2024.09 ~ 2024.11
| 3개월
Ramble - 1:1 화상 채팅 서비스
랜덤 화상 채팅 서비스
Java
Spring Boot
Spring Data JPA
QueryDSL
MySQL
Caffeine Cache
WebSocket
Swagger UI
React Native
Expo
Typescript
WebRTC
역할 : Full-Stack (Full-Stack 개발 2인, AI 개발 1인, 기획 1인)
- REST API 개발
- OAuth2 기반 로그인/회원가입 (Google, Apple)
- JWT 인증/인가
- WebSocket & STOMP - Chat, 시그널링 개발 (WebRTC 시그널링)
- Swagger를 활용한 API 문서화
Trouble Shooting
- Refresh Token Rotation
- Access Token - jwt black list (Caffeine Cache)
- WebSocket 인증/인가
- 작성 중…
🔗 GitHub Ramble-BE
🔗 GitHub Ramble-FE
🕓 2024.09 ~ 2024.11
| 3개월
약톡톡 - 빠르고 안전한 약 공급
안드로이드 앱으로 주문하는 약 IoT 자판기
Java
Spring Boot
Spring Data JPA
QueryDSL
MySQL
H2
Swagger UI
GitHub Actions
AWS
- EC2
RDS
역할 : Back-End (BE 개발 2인, Android 개발 1인, Embedded 개발 1인)
- REST API 개발
- Open API(의약품 허가정보) 활용 약 정보 수집
- MySQL GIS를 활용한 위치 기반 조회
- Swagger를 활용한 API 문서화
- GitHub Actions를 활용한 자동 배포
Trouble Shooting
- Query 최적화
- Entity를 조회할 경우에 연관 관계의 조회 Query가 추가로 발생하는 N+1 Query 문제 발생
- JPQL, Query Annotation의 Fetch Join을 통해 해결 가능하지만 문법 오류, 로직 오류를 발견하기 어려움
- JPA의 경우 여러 조건에 맞는 조회를 위한 각 메서드가 별도로 필요
- QueryDSL을 사용해서 Fetch Join과 조건에 맞는 Filter를 적용
- 예외 처리
- API 통신 과정에서 예외가 발생할 경우 FE에서 응답 받는 response의 형태가 달라 예외 처리에 문제 발생
- Android(kotlin)에서 Retrofit을 통해 통신할 때 정상적인 response와 예외 상황에서 response가 다를 경우 response.errorBody의 값을 얻어올 수 없는 문제
- Error와 응답 DTO를 감싸는 ResponseDto를 생성해 응답 형태 통일
🔗 GitHub ytt-medicine-vending-machine
🕓 2022.09 ~ 2023.12
| 1년 3개월
기술 스택 Tech Stack
자격증 Certificate
수상 Prize
경험 Experience