[서평] 스프링 부트 퀵스타트
저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다.
<읽은 기간>
2021/10/24 ~ 2021/11/19
<리뷰 순서>
1) 책의 표지
2) 단원별 구성
3) 읽은 소감
우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다.
Q 이 책을 읽기 전에 필요한 수준/ 지식은?
=> 일단 당연하게 JAVA는 알아야 한다. 그 외로 약간의 스프링 기본 내용을 알고 있어야 한다.
스프링을 몰라도 읽을 수는 있겠지만, 그보다 같은 저자가 작성한 스프링 퀵 스타트 먼저 읽어보길 권장한다.
Q 이 책을 읽어야 할 필요성, 어디에 도움이 될까?
=> 나는 Java, Servlet, JSP, Spring MVC, SQL(oracle, mysql) 기본 내용들까진 다 학습한 상태였다.
하지만 아직 스프링 부트만 다루는 책을 읽어본 적이 없어서 선택하게 되었다.
빠르게 스프링으로 개발 가능한 환경을 제공하는 SpringBoot는 현시대에 JAVA 웹 개발에서 거의 필수적인 스택이다.
이 책은 누구든 스프링 부트로 빠르게 게시판을 만들어보면서, 최선 스택들을 전부 한번식 사용해 보고 싶다면 이 책은 매우 적합한 책이다.
다음 사진에도 나와있듯, 이 책에서는 간단한 게시판 하나를 완성하는데 많은 시간을 들인다.
그때그때 필요한 스택들을 바로 사용할 수 있을 정도의 설명은 항상 다 해주신다. Quick Start라는 말이 적합한 책이다.
Q 이 책을 읽은 후 추후 공부는?
=> 뭐 계속 만들어야 할 것이다. 이 책을 읽은 후로 나 같은 경우 따로 코로나 바이러스 세계 현황 카운터를 웹으로 구현하였다.
로그인, 로그아웃, 회원가입, 당일 확진자 수 표현, 누적 확진자 수 표현, 약간의 css 처리 등을 하여 아주 간단한 웹 프로그램을 구현하였다.
이때 이 책의 도움을 많이 받았다. 중간중간 필요한 내용들을 레퍼런스로 찾듯 빠르게 찾아 사용하기도 하였다.
이 책 말고 스프링 부트 쇼핑몰 프로젝트 라는 책도 있는데, 그 책도 기회가 된다면 읽어볼 예정이다. (된다면...)
1. 책의 표지
루비페이퍼 책들은 표지가 전부 깔끔해서 좋다. 또한 모르는 사람이 보면 소설책처럼 보일 정도로 심플하다.
디자인은 마음에 드는 편이다.
2. 단원별 구성
Chapter 01 스프링 부트 시작하기
Chapter 02 의존성 관리와 자동설정
Chapter 03 테스트와 로깅, 빌드
Chapter 04 JPA 퀵스타트
Chapter 05 스프링 데이터 JPA
Chapter 06 스프링 부트 화면 개발
Chapter 07 스프링 부트 시큐리티
Chapter 08 웹 애플리케이션 통합
이중 4장, 7장을 가장 재미있게 읽었다.
● 4장 에서는 JPA
처음으로 JPA에 입문하는 시간이었다. 그동안 혼자서 SQL, 데이터 베이스론 을 어느 정도 공부해왔는데, 이게 다 JPA 공부를 해보고 싶어서 쌓아온 밑거름이었다.
Entity에 대한 내용 또한 새롭고 재미있었으며, mapping 관계에 대한 공부 또한 재미있었다.
또한 사용하면서 느낀 점이 아주 잘, 조심스럽게 사용해야 한다는 점이다.
대충 알고 막 사용하기에는 위험요소가 도사리는 양날의 검과 같은 기술인 것 같다.
● 7장 에서는 Security
SpringSecurity에 대하여 공부해 본 시간이었다. 이전에 세션 쿠키를 사용하여 로그인 처리를 하는 과정을 진행해 본 적이 있었다.
하지만 Security를 사용하니 정말 편하게 로그인 처리를 할 수 있었다.
다만 전반적인 Security에 대한 기본기가 없다 보니, 해당 API들이 어떻게 돌아가고 사용되는지 이해가 되지 않아 다른 블로그들 또한 많이 봤다.
그중 다음 블로그가 Security에 대한 개념 정리를 가장 잘 해놨다 생각한다.
리뷰를 인상 깊게 공부했었던 4장 JPA를 기준으로 작성하겠다.
3. JPA 퀵 스타트
책에서는 챕터 시작 부분마다 이번 챕터에서 무엇을 배울지 간략하게 몇 줄에 걸쳐 설명해 준다.
해당 기술이 왜 탄생했는지, 이전에는 어떤 문제가 있어 이런 기술들이 나오게 되었는지 점진적으로 설명해 주신다.
이런 부분이 책의 디테일을 결정한다고 생각하기에 좋은 구성이었다고 생각하다.
또한 위와 같이 인터페이스와 구현체에 대한 설명을 항상 해주셨다.
어떠한 인터페이스를 사용하는 여러 구현체(밴더) 들에 대하여도 알게 되었다.
또한 설정에 관하여 항상 자세하게 설명해 주신다.
이 책을 읽으면서 설정 때문에 골머리 아픈 적은 없었던 것 같다. 물론 버전이 조금 안 맞을 수는 있지만, 이는 구글링 하면 다 처리 가능하다.
예를 들어 이 책에서는 eclipse 가 버전이 좀 예전 버전을 사용하는데, 나 같은 경우 그냥 2021/6월 버전으로 설치하여 사용하였다.
이클립스와의 버전 충돌 같은 건 진행하면서 스스로 해결하였다. (예를 들어 STS가 책에서는 3버전인데, 현시점에는 4가 나와 4를 사용하였다)
다만 아쉬운 점은 이클립스(혐클립스)를 사용한다는 점... 인텔리제이 ultimate를 사용하고 있는 입장에서 인텔리제이 없으면 못 산다..
또한 책을 읽다 보면 중간중간 설정, API 대한 설명을 위와 같이 깔끔하게 정리해 주신 점 또한 좋았다.
또한 모든 설정을 설명해 주시기보다는 필요하고, 자주 사용하는 것들 위주로 설명해 주신다.
필요할 때는 매우 상세한 설명.
JPA를 배울 때 중요하다 느낀 점 중 하나는, 내가 사용한 코드가 어떤 SQL로 바뀌는지이다.
이를 설명해 주시는 부분은 위와 같이 번호를 하나씩 부여하여 따로 설명해 주신다.
처음 공부하는 입장에서 매우 좋은 설명이었다. 하나의 큰 흐름을 이해하기 아주 적합한 설명 방식이었다.
마지막으로 그림 설명.
필요할 때는 도식을 이용하여 상세하게 설명해 주신다.
글만 읽다 보면 머리에 추상적으로 남을 내용들을 그림으로 보여주시니 매우 쉽게 이해할 수 있었다.
4. 읽은 소감
그냥 좋음 이 책 무조건 좋음, 2번 추천함. 스프링 부트 입문서로 매우 좋다고 생각함.
우선 책을 집필하신 채규태 라는 분은 삼성 멀티캠퍼스에서 강의도 하시는 강사로 알고 있다.
여러 사람을 가리키고 있는 분이라 그런지 초심자에게 뭐가 필요한지 잘 알고 계신다.
그러한 저자의 경험과 노하우를 바탕으로 설명을 아주 잘 해주신다고 생각한다.
다만 이 책은 퀵 스타트라는 점에서 모든 것을 설명하지 않는다. JPA만 봐도 영한 님의 JPA 책을 보면 JPA만 다루는데도 이 책보다 두껍고 양도 많다. (외쳐 god영한!)
어느 정도 스프링 부트 개발의 한 사이클을 돌려본다는 점에서 매우 좋은 책이다.
● 장점
1) 좋은 설명
2) 좋은 실습 코드에 더불어 간략하고 단순한 도식들
3) 초심자에게 알맞은 설명과 깊이
이 책은 그냥 너무 좋아서... 뭐 자세하게 설명할 필요가 없다 생각된다. 루비페이퍼 책들이 항상 좋은 내용과 인상을 주는 것 같다.
● 단점
단점은 없는 것 같다. 이런 게 바로 기술서적 다운 책이다.
요약: SpringBoot 입문서로 난 추천한다. 초심자는 읽어보길 권장한다.