본문 바로가기

개발 도서 리뷰/개발 도서 리뷰

개발 도서 리뷰 (4) 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 3.5/5.0

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

나의 평점 3.5/5.0

 

 

 

추천합니다.

방금 막 스프링 기초 떼고 인텔리제이 실행했는데 한 글자도 못 치겠다면.

배울 게 너무 많아 보여서 혼란스럽고 따라치기로라도 최소한의 구현 정도는 해보고 싶다면.

이론을 배우기보다 일단 간단한 예제로 따라치며 한 번 처음부터 끝까지 진행해보고 싶다면.

기본 요청/응답 흐름, 테스트코드 작성, OAuth2 인증, AWS 배포, CI/CD를 찍먹하고 싶다면.

 

추천하지 않습니다.

스프링의 3계층 흐름에 대한 기본적인 맥락 정도는 (직접 작성할 수 있고) 이해하고 있다면.

스스로 검색하며 문제해결하는 것에 큰 불편이 없다면.

 

 

 

 

사실 이론을 다루는 책이 아닌 이런 실습용 책은 출간 이후 시간이 흐르면 흐를수록 처음 출간될 때에 비해 상대적으로 (그보다 더 질 좋은 학습용 강의나 책들이 많이 출시되므로) 가치가 하락하는 것을 뻔히 알고 있으나, 종종 동욱님의 유튜브를 재미있게 보고 있기에 팬심으로 구매했다.

 

사실대로 말하자면 난 완전히 아무것도 모르는 분야가 아니라면 따라하기 종류의 책 자체를 별로 안 좋아한다.. 오로지 팬심으로 샀다.. 이 책도 눈으로만 읽었음 ㅎ..

 

팬심은 팬심이고, 내가 읽으며 느낀 점을 사실대로 작성하였다. 우선 목차부터 살펴보자.

 

 

 

01장 _ 인텔리제이로 스프링 부트 시작하기

: 기본적인 스프링 부트 세팅 방식을 배운다.초보자들의 기초 능력 향상을 위해 처음부터 모든 의존성 세팅을 끝내놓는 것이 아닌, 점차적으로 의존성을 추가해가며 진행한다.

 

02장 _ 스프링 부트에서 테스트 코드를 작성하자

: 기본적인 테스트 코드 작성법을 배운다.또한 이후 챕터에서도 지속적으로 테스트 코드를 작성하며 진행한다.

 

03장 _ 스프링 부트에서 JPA로 데이터베이스 다뤄보자

: JPA를 활용하여 기본적인 계층구조 흐름을 만든다.JPA 하나만 설명해도 내용이 너무 많다보니 어쩔 수 없는 일이지만, 다른 것들을 다룰 때에 비해 JPA 설명은 다소 부실한 편이라고 느껴진다. 

 

04장 _ 머스테치로 화면 구성하기

: 머스테치로 간단한 화면을 구성한다.이 책을 읽고 궁금해서 기존 만들어져 있던 나의 연습용 프로젝트에 머스테치를 사용해봤는데 너무 편하다. 스프링은 왜 타임리프 같은 녀석을 채택한 걸까..?잠깐 써본 거지만 SPA가 필요한 게 아니라면 머스테치가 제일 생산성이 좋을 것 같다.

 

05장 _ 스프링 시큐리티와 OAuth2로 로그인 기능 구현하기

: OAuth2를 이용한 소셜 로그인 자체는 너무 쉬운 부분이라 큰 의미는 없지만, AOP를 활용해서 중복 코드를 제거하는 부분이 좋았다.

 

06장 _ AWS 서버 환경을 만들어보자 - AWS EC2

07장 _ AWS 데이터베이스 환경을 만들어보자 - AWS RDS

08장 _ EC2 서버에 프로젝트를 배포해보자

09장 _ 코드가 푸시되면 자동으로 배포해보자 - Travis CI 배포 자동화

: AWS 배포 및 관리 대해서만 책 1/3 이상을 할애하고 있다.그 만큼 책만 읽으며 따라해도 될 정도로 자세하게 다루지만 스프링 부트 자체 기능 구현에 더 관심이 있는 분이라면 조금 띠용할지도.

 

10장 _ 24시간 365일 중단 없는 서비스를 만들자

11장 _ 1인 개발 시 도움이 될 도구와 조언들

: 이런 부분도 생각해볼 수 있구나 하면서 읽을만한 부분이다.

 

 

 

 

우선 책 재질도 좋고 풀컬러로 아주 선명하게 인쇄되어 코드도 굉장히 눈에 잘 들어온다.구질구질하게 인쇄된 책에 적혀있는 코드를 읽어본 적이 있는 사람이라면 이게 얼마나 큰 장점인지 알 것이다.. 특히 주석이 너무너무 선명해서 눈이 편하다.또한, 분량이 부담스럽지 않으면서도 쓸데 없는 부가 설명은 가차없이 잘라내고 필요한 설명들만 담백하게 남겨놔서 거부감 없이 술술 읽히며, 썼던 코드를 몇 페이지에 걸쳐서 내용을 추가하고 우려먹으며 페이지만 늘리는 경우도 많은데 이 책에서 한 번 등장한 클래스는 큰 수정사항이 없는 이상 다시 등장하지 않는다.(내 생각에 이 부분은 정말 특장점이다. 바뀐 코드가 어디인지 틀린 그림찾기하고 있으면 정말 화가 난다.)

 

아마 내가 이 책이 출간됐을 당시에 바로 읽었다면 적어도 4점은 주지 않았을까?

 

하지만 아쉽게도 지금은 2019년과 달리 양질의 강의와 교재가 너무 넘쳐흘러서, 책에서 다루고 있는 팁들은 대다수의 자바 스프링을 공부 중인 사람들이 본인이 수강하는 기초 강의에서 이미 다 익히고 나오는 부분들이다.AWS 배포 경험도 기본적인 취업 스택이 되어버린지 너무 오래라 유튜브에 검색하면 무려 10분도 안되는 동영상에서 어떻게 해야하는지 속성으로 다 알려주기 때문에(..) 이 부분을 강점으로 가져가기도 애매하다. 그렇다고 이 책도 딱히 심화 파트를 다루는 것은 아니니 말이다.

 

참고로 2019년에는 김영한님의 강의도, 남궁성님의 강의도 없었다. 백기선님의 강의는 아마 2018년에 출시된 것으로 알고 있으나 입문자가 듣기에는 어려운 강의라는 평이 많다. 따라서 지금 기준으로만 보고 이 책의 내용이 부실하다고 한다면 조금 억울한 일이긴 하다..

 

그래도 이 책의 가치가 이것에서 끝나는 것은 절대 아니다. 개인 프로젝트를 진행/관리하는데 있어서 동욱님의 깨알 조언들이 여기저기 잘 녹아들어 있기 때문에 그런 것들을 읽는 재미도 쏠쏠하며, 혹은 정말 스프링 기초를 방금 막 떼고 나온 사람의 경우 기본적인 흐름을 익히는 것에 도움이 될 수도 있다.

 

또한 지금은 2019년에 비해 양질의 정보를 쉽게 얻을 수 있는 것은 사실이지만, 파편화된 정보들을 힘들게 취합해서 하나의 프로젝트를 만드는 것보다는 우선 떠먹여주는대로 맛이나 한 번 보고 "아.. 이런 맛이구나!"하면서 내 입맛대로 새로 요리하는 게 더 효율적일 수도 있다.이 부분은 오직 취향이라 본인 성향이 맞다면 이 책은 여전히 괜찮은 책이다.가벼운 마음으로 읽어볼만한 책이니 궁금하면 구매해서 읽어보는 것도.. 돈 아까운 책은 절대 아니다.

 

한줄평. "괜찮은 책이지만 현 시점에서는 조금 애매하다."