[도서 리뷰] 스프링 부트 입문자를 위한 <처음 배우는 스프링 부트 2>



한빛미디어의 서평 이벤트로 <처음 배우는 스프링 부트 2> 책을 받아 읽어 보았다. 정말 초심자의 입장인 나의 상태로 책을 읽어 보았기에, 알맞은 눈높이에서 리뷰를 진행할 수 있을 것 같다는 생각으로 리뷰를 남겨본다.

1장

스프링 부트에 대한 기본적 소개와 간단한 특징들을 다루고 있다. 스프링 부트가 스프링에 비해 간결한 설정 방법을 가질 수 있는 이유는 무엇인지, 책을 관통하는 프로젝트 '커뮤니티 게시판'의 설계를 위해서는 어떠한 설계도가 필요한지에 대한 이야기가 주를 이룬다. 이후, starter가 포함하고 있는 의존 관계에 대한 짧은 설명이 등장하는데 사실 이 부분은 스프링 부트 혹은 스프링을 전혀 접해보지 못했다면 이해할 수 없는 부분이었던 것 같다. 하지만, 책을 두 번 째 보면서 그 중요성을 다시 느낄 수 있는 부분이었다.

2장

스프링 부트 기반의 프로젝트를 생성하기 위해 필요한 환경 설정에 대한 내용을 다룬다. 즉, 이번 장에서는 JDK, IntelliJ 그리고 빌드 툴인 Gradle의 활용법 등이 상세 내용으로 등장한다. JDK와 IntelliJ의 경우 스프링 부트 교재를 본다는 가정 하에 이 책을 보는 모든 독자가 아는 부분일 것이기 때문에 이 부분들을 줄이고, Gradle의 특징이나 활용법에 대해 더 다루었으면 좋았을 것 같다. 아무래도 maven 기반의 프로젝트를 실습해와본 독자들이 많았을 것이고, 나 같은 경우도 gradle 기반의 프로젝트를 처음 따라 배워보았다. 따라서 막히는 부분에 있어 검색할 때 정보가 많이 나오지 않아 답답한 부분이 종종 있었다. gradle에 대한 설명이 조금 더 추가되어 있었더라면 이러한 가려운 부분을 조금이나마 해결해줄 수 있었을 것 같다! 이후 중요한 애노테이션 설정들에 대한 설명이 들어간 것들은 아주 만족스러웠다.

3장

3장은 스프링 부트 테스트를 다루고 있다. 테스트 스타터로 뭉쳐진 의존성을 통해 스프링 부트가 얼마나 쉽게 테스트의 수행이 가능할 수 있는지 실습을 통해 보여주고 있는 장이다. TDD는 개발을 함에 있어 매우 중요한 덕목(?)으로 여겨지기 때문에 책에 등장해야 할만한 적합한 주제이긴 하나, 갑작스러운 등장이 약간 당황스러웠던 장이었던 것 같다. 3, 4장의 위치가 바뀌고 4장에서 생성하는 모듈들에 대한 단위 테스트를 실습하는 것을 이후에 보여주었다면 더 나은 구성이었을 것 같다는 생각을 해본다.

4장

가장 도움을 많이 받았던 스프링 부트 웹에 대한 설명을 다루고 있는 4장이다. 기본적인 게시판의 구현을 실습하며, 어떠한 전체 구조를 지녀야 웹 페이지를 설계할 수 있는지에 대한 지식을 얻을 수 있었던 장이었다. 또한 게시판 구현에서 어려움을 많이 발생시키는 페이징 처리나, 서버 사이드 템플릿 '타임리프'에 대한 정보를 다루고 있었던 것도 아주 만족스러웠다. 아마 나 같은 초심자에게는 이번 4장과 6장이 책에서 얻을 수 있는 가장 좋은 정보를 담고 있는 장이라고 생각한다.

5장

스프링 시큐리티와 oAuth에 대한 내용을 담고 있는 5장이다. 이 장 역시 알짜배기 장이었던 것 같다. 스프링 시큐리티가 사실 초보가 처음 접하기엔 어려운 부분이라고 생각하는데 좋은 설명과 실습으로 개념을 잘 진행할 수 있도록 구성이 잘 짜여져 있었던 장이다. 그리고 요즘 핫한 기술인 oAuth를 다루고 있다는 점에서 좋은 점수를 주고 싶다. 각종 sns와 어떻게 연동을 할 수 있는지를 친절한 설명을 통해 도와주고 있다.

6장

4장과 함께 굉장히 마음에 들었던 6장이다. 6장은 REST API 서버를 다루고 있다. 최근 Rest API에 대한 관심이 굉장하다고 생각한다. 내가 최근에 접해서 그 인기를 늦게 체감한 것일 수도.. 각설하고, 이 장이 특히 좋았던 이유는 Rest API의 구성을 MVC 패턴으로도 한 번, 스프링 데이터 레스트로도 한 번 설계해보며 그 설명의 끈을 이어나간다는 점이다. 저자의 섬세함이 돋보인 장이라고 생각한다. 초기 설정을 위해 DB로 사용하고 있는 MySQL에 대한 설명이 조금 들어있었다면 좋았을 것 같기는 하지만, 이 정도는 독자가 삽질하며 배워봐도 좋은 부분이라고 생각한다. 실제로 나는 mysql connector 설정 때문에 삽질을 많이 했다.. MySQL이 8 버전 이후로 넘어가면서 많은 default 설정들이 바뀌었던 것 같다. 그럼에도 삽질을 통해 웹 서버와 API 서버를 연동했을 때, 이 장의 빛을 다시 느낄 수 있었다!

7장

마지막 장은 스프링 부트 데이터 배치를 다루고 있다. 사실 이 장은 리뷰를 하기 민망할 정도로 주의 깊게 보지 못했다. 아직 어렵다.. 이후에 다시 실습해보면 리뷰를 할 수 있을 것 같다! 다만 평이 좋은 것을 보니 좋은 내용을 다루고 있는 것 같다.


총평

리뷰 이벤트를 통해 증정 받은 도서이긴 하지만 주위에 누군가 스프링 부트를 배워보고 싶다고 하면 주저없이 추천을 해주고 싶은 책이다. 책이 짧은게 아쉬울 정도로 알짜배기 내용들을 잘 녹아내고 있는 책이라고 생각을 한다. 아마, 조금의 분량이 더 주어졌다면 분명 더 좋은 퀄리티의 책이 되었을 것 같다. 저자 분이 처음 집필한 책이라고 들었는데 아마 이후에 더 좋은 책의 저자가 되실 것 같다. 초심자의 시선으로 유익하게 볼 수 있었다 :)

<처음 배우는 스프링 부트 2>의 자세한 내용은 한빛미디에 홈페이지에서 확인하실 수 있습니다.


+ Recent posts