Life/Book Record

[서평] 초보 웹 개발자를 위한 스프링5 프로그래밍 입문

샤아이인 2022. 1. 31.

저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다.

 

초보 웹 개발자를 위한 스프링5 프로그래밍 입문

스프링 프레임워크의 버전업으로 개선된 내용을 담았습니다.필자의 한마디 : 처음 스프링을 배우고자 하는 독자들이 입문할 때 필요한 것은 스프링의 방대한 내용이 아닌 기초와 전반적인 흐름

book.naver.com

 
 
<읽은 기간>

2021/9/12 ~ 2021/10/03

<리뷰 순서>

1) 책의 표지

2) 단원별 구성

3) 읽은 소감

우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다.

Q 이 책을 읽기 전에 필요한 수준/ 지식은?

=> JAVA 언어 정도는 명확히 알아야 읽을 수 있습니다.

다음 사진에 대상 독자에 대한 기준이 적혀있습니다. 개인적으로 이런 대상 독자층을 알려주는 책들이 좋더라고요~

Q 이 책을 읽어야 할 필요성, 어디에 도움이 될까?

=> 나는 Java, Servlet, JSP까지 공부가 완료된 상황이었다.

바로 이 책! 이 스프링 입문서 한 권을 읽기 위해 그간 준비한 밑거름이었다. (이 책에 JSP를 알아야 된다는 말이 없었다면 JSP는 공부 안 해봤을 것 같다...)

 

당연하게 이 책은 Spring 기초 내용을 학습할 수 있도록 도와주는 책이다. 아직 스프링 관련 책을 많이 읽어보진 않았지만 상당히 친절하면서 좋은 내용을 많이 다루는 책이다.

Q 이 책을 읽은 후 추후 공부는?

=> 이거 하나 읽었다고 스프링이 될 리가... SQL 공부도 꾸준하게 한 다음 JPA 도 공부해야 하고, HTML 공부 (어느 정도 하긴 함), Spring_boot 도 공부 좀 해야 하고... 스프링의 공부 범위는 너무나 방대하기에...

아마 다음으로 읽을 책을 산다면 SpringBoot 관련 책이 될 것 같다.

 

추가적으로 토비의 스프링을 사긴 샀는데, 이는 어느 정도 만들어 본 후 나중에 읽어보기 위한 + AOP는 우선 공부해보고 싶었기에 + 레퍼런스 용으로 구매하였다.

나와 같은 초심자들이 초반부터 토비의 스프링을 깊게 읽는 "맨땅에 헤딩" 하는 건 안 했으면 싶다. 필요한 부분만 우선 읽자.

 

1. 책의 표지

표지가 깔끔한 것 같다. 이상한 캐릭터 같은 거 없고, 너무 오래된 책 느낌도 안나고, 기술서적 다운 표지인 것 같다.

 

2. 단원별 구성

이 책의 구성은 다음과 같다.

위에도 나와있듯 초반부에는 기본적인 스프링의 설명을 다루고, 후반부는 MVC에 대하여 다룬다.

 

그중 가장 재미있었던 단원으로는 7장 AOP와, 9장 MVC의 주요 구성 요소16장 JSON 응답이었다.

 

● 7장에서는

AOP를 통하여 서비스 전반적으로 영향을 줄 로직을 어떻게 구성해야 하는지 간략하게 맛볼 수 있었다. 또한 AOP는 프록시를 활용하여 트랜잭션 처리 또한 가능하기에 DB를 다룰 때도 중요함을 알게 되었다.

 

● 10장에서는

기본적인 SpringMVC의 전반적인 구조에 대해 알게 되었다.

DispatcherServlet의 존재에 대해서도 알게 되었고, 전체적으로 어떤 라이프 사이클을 갖고 요청을 주고받으면서 핸들러를 찾고, 처리하고, 반환받고 View에 전달하고 등등, MVC 작동의 큰 흐름을 그릴 수 있어서 좋았다.

 

다음은 10장의 중요 부분을 정리한 블로그 글이다 관심 있다면 살펴보길 권장한다.

리뷰를 인상 깊게 공부했었던 16장 JSON 응답을 기준으로 작성하겠다.

 

3. JSON 응답 (16장)

 

책에서는 챕터 시작 부분마다 이번 챕터에서 무엇을 배울지 간략하게 몇 줄에 걸쳐 설명해 준다.

이런 부분이 책의 디테일을 결정한다고 생각하기에 좋은 구성이었다고 생각하다.

코드 설명에 관한 부분이다. 이 책에서는 보통 왼쪽처럼 대부분의 코드를 전부다 보여준다.

또한 이에 대한 짧은 설명이 밑에 보이듯 (14행 : ~~해서 ~~ 하고)와 같은 구성으로 간단하게 설명해 준다.

이게 끝이 아니라 간단 설명이 끝나면 이후 본문에서 명확하게 설명해 주신다.

 

오른쪽의 구성은 다른 차선책이나, 여러 옵션 상황, 직접 변경하기 너무 많은 코드를 고쳐야 하는 경우 부분 코드를 설명해 주는 부분이다. 부분적으로 만 봐도 앞뒤 글의 흐름이 있기 때문에 읽는데 전혀 불편함이 없었다.

 

또한 객체를 설명하거나, 도표, 그림이 필요한 경우 위와 같이 간단한 그림을 통하여 이해할 수 있다.

중간중간 <노트>라고 껴있는 깨알 팁이나, 부가적인 설명 또한 좋았다!

 

결과 화면들 또한 캡처하여 본문에 모두 실려 있다.

물론 나도 하나하나 코드를 다 타이핑해가면서(백문이 불여일타) 결과까지 확인했지만, 이 결과가 정확한지 알려면 책에 담겨 있는 결과와 비교를 해봐야 한다. 이런 면에서 모든 결과를 확인할 수 있어서 좋았다.

 

또 복습을 할 때는 나 같은 경우 빠르게 글만 읽어보는데, 이때도 결과를 눈으로 확인할 수 있어서 좋았다.

 

오른쪽 사진의 경우 POST 방식으로 JSON 데이터를 보내기 위해 크롬 확장 앱을 사용하여 어떻게 전송하는지를 살펴보는 그림이다.

 

4. 읽은 소감

최범균님이 원래 좀 책을 잘 쓰신다는 것을 알고 있어서(배민의 영한님이 토비님 라이브 방송에서 말해주신 적이 있다) 그런가 읽는 동안 정말 편안하였다.

이제 막 입문한 뉴비가 어디까지 공부해야 하고, 어느 부분을 아직 하지 말아야 할지 명확하게 알고 있는 분이라 그런지

책에서 그런 디테일을 느낄 수 있었다.

 

예를 들어 AOP 단원을 생각해 보면, 처음부터 AOP의 모든 기술과 과정을 명시하지 않았다.

막 입문한 사람에게 필요한 것은 AOP의 전체 구성과 기능이 아닌, 전체적 흐름의 큰 숲이다.

아직 나무를 볼 실력이 아닌 초보자가 너무 깊게 파 버리는 에너지 소모를 사전에 차단하셨다.

그렇다고 AOP 설명을 아예 안 하느냐? 그러기에는 너무 중요한 내용이다. Spring의 3개 핵심 core 중 하나인 AOP를 아주 기본적인 수준에서 명확하게 설명한 것이 이 책의 장점이라 생각한다.

 

그다음으로 느낀 부분은 MVC의 전체 숲을 보는 단원이었다.

뒤에서 차례로 하나하나 세부사항을 보기 전 큰 숲을 보는 공부는 정말 좋은 공부다.

그냥 딥 다이브 하면 지금 공부하는 부분이 어디서 뭘 하는 부분인지 모르게 되고, 이는 정말 의미 없는 공부에 해당한다.

이런 부분에서 숲을 보게 하는 부분들이 정말 좋았다.

 

일단 읽어보면 어떤 느낌인지 알 거다.

아 물론 더 세부적인 원리와 깊은 내용은 이 책에 없다.

제목에 "초보 웹 개발자를 위한"이라고 명확하게 적혀있는 점 인지하길 바란다.

 

유튜브의 빵형 님께서는 최범균님의 Spring 4.0 도 읽어보길 추천하셨다.

이 입문자 웹 프로그래밍 책도 좋기는 하지만 너무 애노테이션 기반의 설명을 이룬 책이라 하셨다.

따라서 이에 대한 더 깊은 원리를 설명한 4.0을 추천하신 것이다.

 

Spring 4.0 이 책도 좋은 것은 안 봐도 알 것 같다.

 

다만 4.0이나 3.0이나 지금 Spring-5 시점에서는 모두 예전 내용이기 때문에 좀 더 유명한 토비의 스프링 3.1을 읽어보는 것이 원리를 이해하기에는 더 좋은 책이 아닐까 싶다? 따라서난 토비의 스프링을 구매했다.

 

● 장점

1) 좋은 설명

2) 좋은 실습 코드에 더불어 간략하고 단순한 도식들

3) 초심자에게 알맞은 설명과 깊이

사실 뭔가 배우면서 부정적인 부분을 잘 못 느끼는지라... 대부분의 처음 공부하는 사람들은 다들 좋아할 만한 책이라 생각합니다.

● 단점

단점은 없는 것 같다. 이런 게 바로 기술서적 다운 책이다.

 

요약: Spring 입문서로 난 추천한다. 초심자는 읽어보길 권장한다.

댓글