[Spring 5기] Spring 심화 주차 개인 과제
🌱 Lv1 코드 개선
🌿 Lv2 N+1 문제
🪴 Lv3 테스트코드 연습
🌳 Lv4 API 로깅
🌷 Lv5 위 제시된 기능 이외 '내'가 정의한 문제와 해결과정
🌹 Lv6 테스트 커버리지
2025.02.21(금) ~ 2025.02.27(목)
| 02-21
| 02-24 |
02-25 |
02-26 |
02-27 |
Lv1 Lv2 |
Lv3 |
Lv4 |
Lv5 |
Lv6 |
접기/펼치기
java
┗ org
┃ ┗ example
┃ ┃ ┗ expert
┃ ┃ ┃ ┣ domain
┃ ┃ ┃ ┃ ┣ auth
┃ ┃ ┃ ┃ ┃ ┣ controller
┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthController.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ SigninRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ SignupRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ SigninResponse.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ SignupResponse.java
┃ ┃ ┃ ┃ ┃ ┣ exception
┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthException.java
┃ ┃ ┃ ┃ ┃ ┗ service
┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthService.java
┃ ┃ ┃ ┃ ┣ comment
┃ ┃ ┃ ┃ ┃ ┣ controller
┃ ┃ ┃ ┃ ┃ ┃ ┣ CommentAdminController.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ CommentController.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ CommentSaveRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CommentResponse.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ CommentSaveResponse.java
┃ ┃ ┃ ┃ ┃ ┣ entity
┃ ┃ ┃ ┃ ┃ ┃ ┗ Comment.java
┃ ┃ ┃ ┃ ┃ ┣ repository
┃ ┃ ┃ ┃ ┃ ┃ ┗ CommentRepository.java
┃ ┃ ┃ ┃ ┃ ┗ service
┃ ┃ ┃ ┃ ┃ ┃ ┣ CommentAdminService.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ CommentService.java
┃ ┃ ┃ ┃ ┣ common
┃ ┃ ┃ ┃ ┃ ┣ annotation
┃ ┃ ┃ ┃ ┃ ┃ ┗ Auth.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthUser.java
┃ ┃ ┃ ┃ ┃ ┣ entity
┃ ┃ ┃ ┃ ┃ ┃ ┗ Timestamped.java
┃ ┃ ┃ ┃ ┃ ┗ exception
┃ ┃ ┃ ┃ ┃ ┃ ┣ InvalidRequestException.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ ServerException.java
┃ ┃ ┃ ┃ ┣ manager
┃ ┃ ┃ ┃ ┃ ┣ controller
┃ ┃ ┃ ┃ ┃ ┃ ┗ ManagerController.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ManagerSaveRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ManagerResponse.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ManagerSaveResponse.java
┃ ┃ ┃ ┃ ┃ ┣ entity
┃ ┃ ┃ ┃ ┃ ┃ ┗ Manager.java
┃ ┃ ┃ ┃ ┃ ┣ repository
┃ ┃ ┃ ┃ ┃ ┃ ┗ ManagerRepository.java
┃ ┃ ┃ ┃ ┃ ┗ service
┃ ┃ ┃ ┃ ┃ ┃ ┗ ManagerService.java
┃ ┃ ┃ ┃ ┣ todo
┃ ┃ ┃ ┃ ┃ ┣ controller
┃ ┃ ┃ ┃ ┃ ┃ ┗ TodoController.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ TodoSaveRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ TodoResponse.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ TodoSaveResponse.java
┃ ┃ ┃ ┃ ┃ ┣ entity
┃ ┃ ┃ ┃ ┃ ┃ ┗ Todo.java
┃ ┃ ┃ ┃ ┃ ┣ repository
┃ ┃ ┃ ┃ ┃ ┃ ┗ TodoRepository.java
┃ ┃ ┃ ┃ ┃ ┗ service
┃ ┃ ┃ ┃ ┃ ┃ ┗ TodoService.java
┃ ┃ ┃ ┃ ┗ user
┃ ┃ ┃ ┃ ┃ ┣ controller
┃ ┃ ┃ ┃ ┃ ┃ ┣ UserAdminController.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ UserController.java
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ UserChangePasswordRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserRoleChangeRequest.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ UserResponse.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserSaveResponse.java
┃ ┃ ┃ ┃ ┃ ┣ entity
┃ ┃ ┃ ┃ ┃ ┃ ┗ User.java
┃ ┃ ┃ ┃ ┃ ┣ enums
┃ ┃ ┃ ┃ ┃ ┃ ┗ UserRole.java
┃ ┃ ┃ ┃ ┃ ┣ repository
┃ ┃ ┃ ┃ ┃ ┃ ┗ UserRepository.java
┃ ┃ ┃ ┃ ┃ ┗ service
┃ ┃ ┃ ┃ ┃ ┃ ┣ UserAdminService.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ UserService.java
┃ ┃ ┃ ┣ global
┃ ┃ ┃ ┃ ┣ auth
┃ ┃ ┃ ┃ ┃ ┣ AuthUserArgumentResolver.java
┃ ┃ ┃ ┃ ┃ ┣ JwtFilter.java
┃ ┃ ┃ ┃ ┃ ┗ JwtUtil.java
┃ ┃ ┃ ┃ ┣ common
┃ ┃ ┃ ┃ ┃ ┣ logging
┃ ┃ ┃ ┃ ┃ ┃ ┣ annotation
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthLogging.java
┃ ┃ ┃ ┃ ┃ ┃ ┣ request
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CustomHttpRequestWrapper.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ RequestWrapperFilter.java
┃ ┃ ┃ ┃ ┃ ┃ ┣ response
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CustomHttpResponseWrapper.java
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResponseWrapperFilter.java
┃ ┃ ┃ ┃ ┃ ┃ ┣ AuthCheckAspect.java
┃ ┃ ┃ ┃ ┃ ┃ ┗ AuthCheckInterceptor.java
┃ ┃ ┃ ┃ ┃ ┣ GlobalExceptionHandler.java
┃ ┃ ┃ ┃ ┃ ┗ PasswordEncoder.java
┃ ┃ ┃ ┃ ┗ config
┃ ┃ ┃ ┃ ┃ ┣ FilterConfig.java
┃ ┃ ┃ ┃ ┃ ┣ PersistenceConfig.java
┃ ┃ ┃ ┃ ┃ ┗ WebConfig.java
┃ ┃ ┃ ┣ web
┃ ┃ ┃ ┃ ┗ weather
┃ ┃ ┃ ┃ ┃ ┣ dto
┃ ┃ ┃ ┃ ┃ ┃ ┗ WeatherDto.java
┃ ┃ ┃ ┃ ┃ ┗ WeatherClient.java
┃ ┃ ┃ ┗ ExpertApplication.java
[테스트코드 명세] 접기/펼치기
| Repository |
findByEmail |
|
|
✅ |
| Repository |
existByEmail |
|
|
✅ |
| UserService |
getUser |
|
|
✅ |
| UserService |
getUser |
InvalidRequestException |
"User not found" |
✅ |
| UserService |
changePassword |
|
|
✅ |
| UserService |
changePassword |
InvalidRequestException |
"User not found" |
✅ |
| UserService |
changePassword |
InvalidRequestException |
"새 비밀번호는 기존 비밀번호와 같을 수 없습니다." |
✅ |
| UserService |
changePassword |
InvalidRequestException |
"잘못된 비밀번호입니다." |
✅ |
| UserService |
deleteUser |
|
|
✅ |
| UserService |
deleteUser |
InvalidRequestException |
"User not found" |
✅ |
| UserAdminService |
changeUserRole |
|
|
✅ |
| UserAdminService |
changeUserRole |
InvalidRequestException |
"User not found" |
✅ |
| UserController |
getUser |
|
|
✅ |
| UserController |
changePassword |
|
|
|
| UserAdminController |
changeUserRole |
|
|
|
| TodoRepository |
findAllByOrderByModifiedAtDesc |
|
|
✅ |
| TodoRepository |
findByIdWithUser |
|
|
✅ |
| TodoService |
saveTodo |
|
|
✅ |
| TodoService |
getTodos |
|
|
✅ |
| TodoServicde |
getTodo |
|
|
✅ |
| TodoServicde |
getTodo |
InvalidRequestException |
"Todo not found" |
✅ |
| TodoController |
saveTodo |
|
|
|
| TodoController |
getTodos |
|
|
|
| TodoController |
getTodo |
|
|
|
| ManagerRepository |
findByTodoIdWithUser |
|
|
✅ |
| ManagerService |
saveManager |
|
|
✅ |
| ManagerService |
saveManager |
InvalidRequestException |
"Todo not found" |
|
| ManagerService |
saveManager |
InvalidRequestException |
"담당자를 등록하려고 하는 유저가 일정을 만든 유저가 유효하지 않습니다." |
✅ |
| ManagerService |
saveManager |
InvalidRequestException |
"등록하려고 하는 담당자 유저가 존재하지 않습니다." |
|
| ManagerService |
saveManager |
InvalidRequestException |
"일정 작성자는 본인을 담당자로 등록할 수 없습니다." |
|
| ManagerService |
getManagers |
|
|
✅ |
| ManagerService |
getManagers |
InvalidRequestException |
"Todo not found" |
✅ |
| ManagerService |
deleteManager |
|
|
|
| ManagerService |
deleteManager |
InvalidRequestException |
"User not found" |
|
| ManagerService |
deleteManager |
InvalidRequestException |
"Todo not found" |
|
| ManagerService |
deleteManager |
InvalidRequestException |
"해당 일정을 만든 유저가 유효하지 않습니다." |
|
| ManagerService |
deleteManager |
InvalidRequestException |
"Manager not found" |
|
| ManagerService |
deleteManager |
InvalidRequestException |
"해당 일정에 등록된 담당자가 아닙니다." |
|




- JDK:
corretto-17 Amazon Corretto 17.0.13 - aarch64
TIL_Spring_심화_트러블슈팅
[과제]_패키지_구조_변경하기
[과제]_에러_메세지_개선