안녕하세요. 김영한입니다.
어느정도 준비가 되어서 다음 강의 계획을 전해드립니다.
강의: 실전! 스프링 데이터 JPA
오픈: 11월 말(예정)
추가로 실전! Querydsl 강의도 12월 오픈 목표로 준비중입니다.
처음 강의를 기획 했을 때, 다양한 실무 프로젝트에 스프링부트와 JPA를 적용하면서 배우고 느낀, 노하우를 여러분께 생생하게 전해드리고 싶었습니다. 그래서 먼저 JPA 기본기를 탄탄하게 다지고, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 개발하고, 성능을 최적화 하는 방법을 전해드렸습니다.
강의를 들으신 분들은 아시겠지만, 스프링 부트와 JPA만 사용해도 개발 생산성이 정말 많이 증가하고, 개발해야할 코드도 확연히 줄어듭니다. 여기에 스프링 데이터 JPA를 사용하면, 기존의 한계를 넘어 마치 마법처럼, 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있습니다. 그리고 반복적으로 개발해온 기본적인 CRUD 기능도 스프링 데이터 JPA가 모두 제공합니다.
Querydsl은 자바 언어의 한계를 넘어서, 쿼리를 문자가 아니라 진짜 자바 코드로 작성할 수 있게 도와줍니다. 정말 많은 개발자들이 고민해온 동적 쿼리 문제를 깔끔하게 해결할 뿐만 아니라, 문법 오류도 컴파일 시점에 모두 잡아줍니다.
스프링 부트와 JPA라는 기반 위에, 이 두 환상적인 프레임워크를 더하면 개발이 정말 즐거워집니다. 지금까지 조금이라도 단순하고 반복이라 생각했던 개발 코드들이 확연하게 줄어듭니다. 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있습니다. 그리고 Querydsl 덕분에 쿼리를 작성하는 것 조차도 자바 코드로 작성할 수 있어서 즐겁습니다.
스프링 데이터 JPA를 강의에서 사용하지 않은 이유
스프링 데이터 JPA와 Querydsl은 제가 실무에서 항상 즐겨 사용하는 기술입니다. 그런데 제가 지금까지 진행한 다음 강의에서는 의도적으로 이 기술들을 사용하지 않았습니다.
스프링 데이터 JPA는 JPA를 정말 편리하게 사용하도록 도와주는 기술입니다. 하지만 JPA의 너무 많은 부분을 자동화하고 추상화 해버립니다. 따라서 JPA에 대한 이해 없이, 처음부터 스프링 데이터 JPA를 사용하면, 깊이있는 내부 동작 방식을 이해하기 어렵습니다.
그래서 실전! 스프링 데이터 JPA 강의에서는 순수하게 JPA로 개발한 코드를 먼저 보여드리고, 그 다음에 스프링 데이터 JPA로 변경해서 어떤 차이가 있는지 비교하는 식으로 진행합니다.
실무 위주
스프링 데이터 JPA는 너무 많은 기능을 제공합니다. 그리고 겉으로 보기에는 정말 멋지지만 아직 실무에서 사용하기에 부족한 기능들도 있습니다. 실무에서 자주 사용하는 기능 위주로 설명하고, 실무에서 사용하기에 아직은 부족한 기능들은 과감하게 내용을 줄였습니다. 그리고 가장 중요한 실무에서 스프링 데이터 JPA를 어떻게 사용하면 좋은지 다양한 실무 노하우들을 녹였습니다.
기대해주세요^^ 감사합니다.