영한님 JPA 시리즈 중에 세번째로 들은 강의인데 진짜 말로 표현할 수 없을 정도로 도움이 많이 되었습니다. 프론트엔드는 리액트로, 백엔드는 노드로 개발하다가 노드JS 백엔드의 현실적 한계를 느끼고 스프링으로 넘어오고 나서 가장 큰 고통을 안겨준 게 JPA였습니다. 어노테이션 종류만 해도 89개나 되는 JPA를 튜토리얼 형식의 코칭이 없이 혼자 독학하려고 하니 망망대해에 생수병 엮어서 만든 뗏목을 타고 항해에 나선 것 마냥 앞이 캄캄하더라구요. 어쨋건 독학하는 중에 유데미나 유튜브 올라온 강의들, 그리고 JPA 관련해서 유명한 Thorben Janssen, Vlad Mihalcea 같은 사람들 블로그나 책도 읽어봤는데 새로운 지식을 파편화된 블로그나 너무 기술적으로 깊이 파고 들어가는 책으로 읽으니 전체적인 그림이 잘 그려지지 않고 "실무에서 실제로 이렇게 쓰긴 하나? 성능 이슈나 유지보수 측면에서는 어떻지?" 하는 의문이 계속 들어서 결정 장애만 생겼습니다. 그리고 유데미 강의들은 대부분 JPA와 하이버네이트를 깊게 다루지 않고 바로 스프링 데이터 JPA부터 가르치니 간단한 개인 프로젝트 하나만 만들려고 해도 복잡한 쿼리를 위해 JPQL/HQL, Criteria API, JOOQ, MyBatis, QueryDSL, 네이티브 SQL 중에 뭐를 써야 할 지, 각각의 장단점이 뭔지 모르니 아직 실무에서 접하지 않은 초보자 입장에서 골치가 아팠습니다. 반면에 영한님 강의에서는 다른 무엇보다 제일 도움을 많이 받은 게 실무에서는 이런 방식을 쓴다, 혹은 잘 쓰지 않는다, 이유는 대충 이러하다 등등 꿀팁을 강의 중간중간에 섞어서 전달해주시는 거였습니다. 사실 이런 팁들이 개발자에 따라 의견이 많이 갈릴 수 있고 강의하시는 입장에서 그냥 안전하게 API 사용법 나열 정도로만 넘어가면 이런 의견 표명(?)에 대한 부담을 피해갈 수 있는데 그럼에도 공을 들여서 조목조목 설명해주셔서 JPA를 어떻게 써야 할 지 방향을 잡을 수 있었습니다. 영한님의 JPA 강의 시리즈는 새로 JPA 배우는 개발자에게는 등대와 같은 존재입니다. 스프링에 새롭게 입문하셨거나 쓰신 지 오래 되지 않은 주니어 개발자 분들께 강력 추천드립니다.
Steve Jo님 JPA는 역사도 오래되고, 그만큼 성숙해서 많은 영역을 다루기 때문에 처음 학습하면 정말 망망대해에 떠 있는 느낌이지요. 저도 처음에는 참 쉽지가 않았습니다^^ 실무에서 많은 영역에서 사용하면서 어떤 기능이 중요한지, 그리고 어떤 기능은 사용하지 않는지 등을 많이 정리했는데 그런 부분이 도움이 되신 것 같아요. 열심히 들어주셔서 고맙습니다!