-
[2020.03.23] 실전! Querydsl (인프런)후기/인터넷 강의 2020. 3. 31. 23:58728x90반응형
목차
- 섹션 0. Querydsl 소개 / 2 강의 / 05 : 31
- 섹션 1. 프로젝트 환경설정 / 5 강의 / 39 : 51
- 섹션 2. 예제 도메인 모델 / 1 강의 / 17 : 22
- 섹션 3. 기본 문법 / 13 강의 / 104 : 53
- 섹션 4. 중급 문법 / 7 강의 / 75 : 25
- 섹션 5. 실무 활용 - 순수 JPA와 Querydsl / 4 강의 / 53 : 20
- 섹션 6. 실무 활용 - 스프링 데이터 JPA와 Querydsl / 5 강의 / 40 : 12
- 섹션 7. 스프링 데이터 JPA가 제공하는 Querydsl 기능 / 4 강의 / 48 : 12
- > 총 41 강의, 6시간 24분
드디어 영한님 JPA 시리즈의 마지막(아마도?) 강의도 다 들었다. 실무에서 RDB를 주로 사용하고 JPA/Query DSL을 많이 쓰다보니 더 깊게 알아야겠다 싶어서 들은 강의였는데 모두 유익한 시간이었다. 시리즈별로 겹치는 내용도 좀 있고 했지만 그 나름대로도 의미있는 시간이었다.
Spring Data JPA만으로는 해결하기 힘든 복잡한 쿼리를 작성해야 할 때가 있다. 그 때 사용하는 것이 바로 Query DSL이다. 복잡한 Dynamic Query를 실제 SQL이 아닌 자바 코드로 작성할 수 있게 도와주는 것이다. 그렇기에 컴파일 시점이나 어플리케이션 구동 시점에 에러를 잡을 수도 있다.
작년 새로운 모듈을 개발할 때에 클라이언트쪽에서 복잡한 검색 기능을 요구했었다. 그전까지는 Spring Data JPA로 해결이 되었지만 이번에는 불가능할 정도였다. 그래서 Query DSL을 사용했었고 만족스럽게 구현을 할 수 있었다. 복잡한 Dynamic Query를 Mybatis나 Spring Data JDBC 같은 것을 사용했더라면 일일히 복잡한 쿼리를 작성한다고 고생했을 것이다. 그렇지만 장점만 있는 것은 아니었다. 많은 테이블들이 조인을 하기 때문에 아무 생각없이 돌아가게만 만들면 성능적으로 엄청난 저하가 발생할 수 있었다. 관련해서 사수님이 튜닝을 하셨지만 아직도 성능 관련 warning이 나는 부분이 있긴 하다... (빨리 고쳐야지)
앞으로 복잡한 비즈니스 요청이 들어와도 JPA와 Query DSL을 사용하여 유지보수와 성능 둘 다 잡을 수 있는 개발자가 될 수 있도록 계속 연마해야겠다.
반응형'후기 > 인터넷 강의' 카테고리의 다른 글
[2021.03.14] 모든 개발자를 위한 HTTP 웹 기본 지식 (인프런) (0) 2021.03.15 [2020.03.23][제작] 실무자가 알려주는 Git - 입문편 (인프런) (0) 2020.04.06 [2020.02.01] 실전! 스프링 데이터 JPA (인프런) (0) 2020.03.01 [2019.12.16] 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 (인프런) (0) 2020.01.12 [2019.10.17] 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 (인프런) (0) 2019.11.17