2024. 10. 29. 19:48ㆍ부트캠프 TIL
1. 프로그래머스 사용
1-1) sql 문제 : 특정 옵션이 포함된 자동차 리스트 구하기
ㄴ 문제 : 자동차 정보 테이블에서 네비게이션 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요
문제풀이)
1) 문제를 읽고 필요한 조건들을 체크한다
- 특정 정보만 조회하라는 조건이 없기때문에 *로 전체 데이터를 조회
2) 옵션 네비게이션
- LIKE 활용하여 조회
3) 자동차 ID 내림차순
- ORDER BY DESC 활용
4) 최종 완성 쿼리문
-
SELECT * FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
2. 심화 개인과제 Lv5 관련 코드 리팩토링
※ lv 5에 대한 주제로 본인의 코드를 돌이켜보고, 개선해야할 부분에 대해서 생각하고 문제 해결과정을 작성하고 실제로 적용해보는 과제이다. 아직 미완성 형태이지만 오늘 지난번 뉴스피드 프로젝트에서 본인이 맡은 파트에 대해서 리팩토링을 일부분 진행했다.
https://kuk1938.tistory.com/184
- 프로젝트 참고 링크
- 캡쳐본 기준으로 해결해나가는 과정을 그려나가면된다.
[5] - 뉴스피드 프로젝트 담당파트 리팩토링
@Query 어노테이션을 활용한 nativeQuery를 줄이거나 없애보기
1) 문제 인식 및 정의
- 뉴스피드 프로젝트 담당파트 리팩토링
2) 해결방안
- jpa에서 count() 집계함수를 설정하는 방법 찾아서 적용(현재는 @Query어노테이션에서 nativeQuery로 사용중)
- 친구요청 관련된 예외처리에 대한 근본적인 다른 로직 고민(현재는 count()로 구한 데이터개수 기준으로 체크중)
3) 처음 프로젝트를 시작할때 jpa의 대해서 잘 알고있었다면 굳이 count함수를 위해서 nativeQuery를 활용하지 않고 진행이 가능했을텐데란 생각을했다.
쿼리를 직접 작성하게 되면서 Repository에서 코드가 길어졌었는데 해결방안들을 사용하여 코드개선을 진행해서 훨씬 코드가 보기 편해졌다.
※ 아직 미완성
- 기존 코드 nativeQuery를 사용했지만 불필요한 코드들이 많이 생긴 것을 볼 수 있다.
- 아직 미완성이지만 수정중인 코드
- 역시나 JPA에 제공되는 쿼리를 찾아보니 COUNT() 쿼리가 있었고, 해당 방법으로 nativeQuery들을 대부분 수정했다.
- 수정한 덕에 불필요한 코드가 꽤 많이 줄어든 것을 확인할 수 있다. 아직 미완성으로 좀 더 수정을 진행할 예정이다.
'부트캠프 TIL' 카테고리의 다른 글
[68] 부트캠프 TIL - 본캠프 49일차 (6) | 2024.10.31 |
---|---|
[67] 부트캠프 TIL - 본캠프 48일차 (0) | 2024.10.30 |
[65] 부트캠프 TIL - 본캠프 46일차 (0) | 2024.10.28 |
[64] 부트캠프 TIL - 본캠프 45일차 (8) | 2024.10.25 |
[63] 부트캠프 TIL - 본캠프 44일차(Spring 조별프로젝트 KPT 회고) (2) | 2024.10.25 |