필자는 김영한님의 강의를 처음부터 끝까지 수강하였습니다.
덕분에 막막했던 스프링/JPA의 신뢰성 있고 정제된 정보를 효율적으로 체득할 수 있었습니다.
대한민국 스프링 개발자라면 꼭 들어야 하는 교과서와 같은 강의라고 생각이 듭니다.
비용 문제로 망설여지시는 분들이 많을 거라고 생각이 드는데 확실히 말씀드릴 수 있는 것은 비용 그 이상의 값어치를 한다는 것입니다.
어쩔 수 없는 경우가 아니라면 모두 수강하시는 것을 강력히 추천드립니다.
다만 강의의 난이도가 초급으로 설정되어 있지만 제가 체감하는 강의 수준은 주니어 개발자 정도 인것 같아 처음 진입 용도로는 내용이 어려울 수 있습니다.
스프링 개발자로 진입하고자 하시는 입문자 분들께는 아래의 사이트를 먼저 따라해보시고 김영한님의 스프링 입문 강의 수강을 우선적으로 추천드립니다.
영한님의 강의를 듣고 있으면 재미있습니다.
마치 실력있고 친절한 동아리 선배님이 자기가 개발하다가 발견한 꿀팁을 알려주듯이 강의해주는 느낌입니다.
스프링 초기의 개발 방법에서 현재 사용되고 있는 방식까지 차례차례 개선시키며 왜 지금은 이렇게 간단하게 사용되는지 이해할 수 있습니다.
하지만 대부분의 시간을 이전의 개발 방식이나 원리에 대해 설명하고 현재 현업에서 사용하는 방식에 대해서는 짧게 나오기 때문에 단순히 빠르게 사용법을 익히시려는 분들은 답답할 수 있습니다.
두괄식 구성을 좋아하는 저로써도 처음엔 강의의 핵심 목적도 모른 채 순서대로 강의를 봐야하고 어떤 부분부터 핵심인지 확실한 구분이 되지 않아 이 부분은 아쉬움이 남았습니다. (물론, 여러번 더 보면 자연스럽게 구분이 됩니다.)
그럼에도, 영한님의 강의는 독보적입니다.
스프링/JPA의 신뢰성 있고 정제된 정보를 이렇게 알차게 얻을 수 있는 방법이 현재로서는 영한님의 강의를 대체할 자료가 거의 없습니다.
(스프링은 정말 객체지향적으로 유연하게 잘 만들어진 프레임워크지만 공식적인 비디오나 가이드 문서를 제공하는 등의 친절함은 없어 아쉬움이 많습니다.)
어쩌면, 앞서 설명드린 단점이라 느낀 부분도 영한님의 큰 그림(한번 더 보시라!)의 일부일 수도 있겠다는 생각이 드는군요.
인프런에서 공식적으로 제공해주는 로드맵이 있습니다.
자세한 정보는 다음 링크에서 확인하실 수 있습니다.
개인적인 평가를 선택 - 추천 - 필수 순으로 나눠 보았습니다.
모든 강의를 수강하기에는 시간과 돈이 아까운 분들을 위해 구분하였습니다만 모두 좋은 강의들이니 순서대로 완강을 추천드립니다.
Spring
[선택/필수]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
무료 강의입니다. 스프링의 모든 기능을 따라 쳐보면서 실행시키고 눈으로 익힐 수 있습니다.
기존 주니어 개발자나 시니어 개발자 분들은 선택 수준이지만 진입하시는 분들에게는 필수라고 생각됩니다.
[필수X2]스프링 핵심 원리 - 기본편
스프링의 핵심 개념인 스프링 컨테이너와 스프링 빈, Ioc에 대한 이해를 할 수 있습니다.
[필수]모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 핵심 개념과 올바른 HTTP API 설계 방법을 학습할 수 있습니다.
HTTP를 이해하는 것은 생각보다 훨씬 중요합니다.
스프링만 익히겠다고 이 강의를 패스하시는 분들이 있는데 결국 이 강의의 내용이 전방위적으로 사용되기 때문에 필수로 수강하시길 바랍니다.
[필수X2]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
초반에는 서블릿을 활용하여 자바 코드로 스프링 MVC를 만들어봅니다.
그리고 점차적으로 코드를 개선시켜 나가면서 스프링 MVC의 Dispatcher Servlet을 구현합니다.
최종적으로는 해당 강의를 통해 스프링 MVC가 어떻게 동작하는 지 이해할 수 있습니다.
[추천]스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프로 웹사이트를 개발할 수 있게됩니다.
웹사이트를 개발할때 중요한 개념인 검증, 쿠키, 세션, 필터, 인터셉터, 예외처리 등을 학습할 수 있게 됩니다.
[추천]스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스와 트랜잭션에 대한 이해를 할 수 있습니다.
[선택]스프링 DB 2편 - 데이터 접근 활용 기술
DB를 사용하는 여러가지 방법을 소개합니다.
이후 트랜잭션 전파 부분을 설명하는데 이것이 이 강의의 핵심입니다.
[추천]스프링 핵심 원리 - 고급편
프록시와 AOP를 이해할 수 있습니다. 스프링의 핵심이지만 내용이 어렵습니다.
[선택]스프링 부트 - 핵심 원리와 활용
서비스 배포와 이후의 관리에 대한 고민을 해보신 이후에 수강을 추천드립니다.
톰캣, 자동구성, 외부설정 방법, 모니터링에 대한 내용을 담고 있습니다.
JPA
[필수x2]자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA의 전반적인 개념 이해를 할 수 있습니다. 이후의 강의는 여기에서 확장된 강의이기 때문에 정말 중요합니다.
[추천]실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실제로 JPA를 활용하여 어떻게 프로젝트를 구성하는 지에 대한 강의입니다.
타임리프를 템플릿 엔진으로 하여 웹사이트를 만들어보게 됩니다.
[추천]실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA를 활용하여 어떻게 API 서버를 구성하는 지에 대한 강의입니다.
추가로 쿼리를 어떻게 튜닝해서 최적화를 할 수 있는지에 대한 내용이 있는데 이게 핵심입니다.
하지만 내용이 많지 않기 때문에 돈이 부족하시다면 N + 1 문제와 쿼리 최적화에 대한 키워드로 따로 공부하셔도 될 것 같습니다.
[필수]실전! 스프링 데이터 JPA
현업에서는 대부분 스프링 데이터 JPA를 사용하여 편리하게 CRUD를 수행합니다.
스프링 데이터 JPA의 사용법을 숙지하실 수 있습니다.
[선택]실전! Querydsl
Querydsl의 사용법을 숙지하실 수 있습니다.
쿼리문을 필요로하는 경우, 동적 쿼리가 필요한 경우
Querydsl을 사용하여 함수를 사용하듯이 효율적으로 해결할 수 있습니다.
모든 강의를 수강하고자 하시는 분들께 제가 추천하는 순서는 Spring 로드맵을 스프링 DB 2편 까지 수강 후 JPA 로드맵을 모두 수강한 다음 나머지 Spring 로드맵 강좌를 수강하는 것입니다.
물론 정답은 없습니다만 강의를 다 수강한 시점에서 최적화된 순서로는 다음과 같다고 생각됩니다.
영한님에 대해 궁금하신 분들은 다음 링크를 추천드립니다.
안녕하세요 혹시 전부 다 듣는데 어느정도 걸리셨는지 알 수 있을까요? 너무 듣고는 싶은데 현업이랑 병행하면서 들으려니 강의 수가 상당히 많아서 걱정이네요ㅜㅜ