티스토리챌린지(15)
-
[21] Spring - 복잡한 쿼리 QueryDSL로 바꾸기
📁️- github 참고https://github.com/kuk1157/spring-plus/commit/bc94468b00c609b9e8b2abeefcb6563077cae77a feat: 레벨 3-10 복잡한 쿼리 QueryDSL 적용 · kuk1157/spring-plus@bc94468kuk1157 committed Nov 20, 2024github.com 📓 - 전체흐름 요구사항)- 제목, 담당자의 닉네임, 시작&종료일(생성일기준) 검색 가능하도록- 제목과 담당자의 닉네임은 부분적으로 일치해도 검색되도록- 일정의 제목, 담당자의 수, 댓글의 수를 조회 / 검색 결과는 페이징 처리되도록 반환 1) API한개 새로생성2) 제목, 닉네임, 시작&종료일 @RequestParam으로 넘기기 3) 검색 ..
2024.11.22 -
[19] Spring - Spring Security 트러블 슈팅
📁️ 필수 과제 참고 - 과제 최종 Commit 내역 🛠️ 트러블슈팅 - Spring Security 적용후에 발생한 api 403에러 문제 1. 개요- Spring Security을 적용할때 발생한 API 403에러(코드와 메시지도없음)에 대한 트러블 슈팅을 작성해보겠습니다. 2. 배경- gradle에서 의존성 추가 및 설정파일을 만들고 WebSecurityConfig 파일을 생성했습니다. - Spring Security에서 사용할 커스텀필터 파일을 생성했습니다. 3. 발단- 로그인, 회원가입을 진행하기 위해 해당되는 경로의 API들은 접근허용하도록 설정했습니다. 4. 전개- 로그인, 회원가입을 제외한 다른 API들은 모두 403에러가 나타나는 현상을 확인했습니다.- 원인을 검색해보니 erro..
2024.11.21 -
[18] Spring - QueryDSL 사용방법
📁️ github 참고https://github.com/kuk1157/spring-plus/commit/05cae3c4514c95331958ca1f9303da8c52a5985b refactor: 레벨 2_8 QueryDSL로 변경 · kuk1157/spring-plus@05cae3c- gradle QueryDsl 의존성 추가 - JPAQueryFactory bean등록, Custom, Impl 파일 세팅 - Impl에서 QueryDSL 작성github.com 🛠️ QueryDSL 사용방법 QueryDSL로 바꿀 코드)- 해당 JPQL을 QueryDSL로 변경할 예정이다. 1. gradle 파일에 의존성 추가 // QueryDSL implementation 'com.querydsl:que..
2024.11.20 -
[17] Spring - QueryDSL 트러블슈팅
📁️ github 참고https://github.com/kuk1157/spring-plus/commit/05cae3c4514c95331958ca1f9303da8c52a5985b refactor: 레벨 2_8 QueryDSL로 변경 · kuk1157/spring-plus@05cae3c- gradle QueryDsl 의존성 추가 - JPAQueryFactory bean등록, Custom, Impl 파일 세팅 - Impl에서 QueryDSL 작성github.com 🛠️ 트러블슈팅 - QueryDSL 적용 중에 발생한 no property found for type오류 1. 개요- QueryDSL을 적용할때 발생한 no property found for type 오류에 대한 트러블 슈팅을 작성해보겠습니다..
2024.11.19 -
[16] Spring - JPA-Plus 과제 필수레벨_2
📁️ 과제 요구사항)[레벨2]2-6) JPA Cascade- 할일을 새로 저장할 때 할일을 생성한 유저는 담당자로 자동 등록되도록 해야한다.- JPA의 cascade 기능을 활용해서 구현해야한다. 2-7) N+1 문제- CommentController 클래스의 getComments() API를 호출할 때 N+1 문제가 발생하고있음.- user정보를 조인으로 처리하면되는데 댓글 조회시 유저테이블까지 따로 조회해서 불필요한 쿼리를 조회하는 것을 말함.- 위 캡쳐본처럼 테이블 조회를 하지 않도록 처리하기. 2-8) QueryDSL- JPQL로 작성된 findByIdWithUser를 QueryDSL로 변경해야한다.- N+1문제가 발생하지 않도록 주의! 2-9) Spring Security - 기존 Filter..
2024.11.19 -
[15] Spring - JPA-Plus 과제 필수레벨_1
📁️ 과제 요구사항)[레벨1]1-1) 코드 개선 퀴즈 - @Transactional의 이해- 할일 저장 기능 api controller에서 해당 에러가 발생하고있다.- 해당 에러가 발생하지 않고 정상적으로 기능이 동작하도록 코드를 수정해주세요. 1-2) 코드 추가 퀴즈 - JWT의 이해- User의 정보에 nickname을 JWT에서 추가해주세요.- User의 닉네임을 프론트엔드단에서 필요하다고 합니다. 1-3) 코드 개선 퀴즈 - AOP의 이해- UserAdminController 클래스의 changeUserRole()메소드가 실행 전 동작해야합니다.- AdminAccessLoggingAspect 클래스에 있는 AOP가 개발 의도에 맞도록 코드를 수정해주세요. 1-4) 테스트 코드 퀴즈 - 컨트..
2024.11.18