rnejrl***
2018-11-18

구현 순서에 맞춰 프로젝트를 진행하며 배우는 실전 입문서 이 책은 스프링 부트 입문자의 눈높이에 맞춰 스프링 부트 환경 설정부터 커뮤니티 게시판 구현까지를 다룹니다. 스프링 부트의 기본 개념과 다양한 스프링 부트 스타터를 이용해 커뮤니티 게시판 구축 프로젝트를 구현합니다. 스프링을 몰라도 공부할 수 있도록 가능한 한 쉽게 설명하고 따라 할 수 있게 예제 코드와 그림을 제시했습니다
우선 리뷰를 시작하기 전에 필자가 Spring framwork를 접해본 경력을 말해보겠다. 국비지원학원에서 호스팅까지 완료한 프로젝트를 한 번 진행해본 적이 있고, N사에서 진행했던 boostcourse라는 온라인 교육프로그램에 참여한 적이 있다. (끝까지 수료하지 못했고 프로젝트 6개 중 3개를 진행하고 중단하였다.) spring을 잘 안다고 할 수는 없고, 혼자 공부했던 학부생 정도의 수준이라고 보면 적당한 표현이지 않을까 싶다.
우연인지 필연인지, 현재 다니고 있는 직장에서도 본의 아니게 외주 업체의 spring framework로 만들어진 프로젝트를 수정해야하는 상황이 와서 만지고 있다.
지금까지 스프링 프레임워크를 경험하면서 가장 짜증났던 점은 ‘환경 설정’이다. 잦은 eclipse의 오류, 라이브러리 하나를 쓰기 위해서 거쳐야 하는 수 많은 파일 변경과 클린 빌드에 걸리는 오랜 시간… 정말 코드를 작성하기까지 너무나도 많은 준비가 필요했다.
문제는 이런 에러들이 일어나는 근본적인 원인을 알아야 에러가 재발생하거나 유사한 오류가 발생하면 해결을 할 수 있는데, 시간이 없는 나는 구글링을 통한 주먹구구식 해결로 상황을 넘어가고 있다는 것에 있었다.
그래서 기존 spring framework의 환경설정을 간략화해서 나온 spring boot에는 관심이 갈 수 밖에 없었고, 좋은 기회가 오게되어 이번에 새로 출간된 ‘처음 배우는 스프링 부트 2’를 리뷰할 수 있는 자격이 주어졌다.
지원을 받아 작성된 리뷰이지만, 가식적인 리뷰는 소비자에게 전혀 도움이 되지 않기도 하고 필자에게 딱히 돌아오는 이득도 없으므로 굉장히 솔직하게 작성했다는 점을 먼저 밝힌다.
이 책을 한 마디로 요약 하면 개발자의 ‘자생력’을 키워주는 책이다.
스프링 부트를 어떻게 사용하고의 문제가 아니라 훨씬 근본적인 내용을 다룬다. 이러한 것을 보면서 저자의 내공이 얼마나 깊은 지를 알 수 있었다. 책의 내용 중에 스프링 부트가 어떻게 자동 환경 설정을 하는 지에 대해 다루는 부분이 있다. 사실 책을 더 읽어보면 이러한 자동 환경 설정 원리는 개발자가 크게 신경쓰지 않아도 된다. 클릭 한 번이면 해당 작업을 스프링 부트에서 모두 알아서 해주기 때문이다. 일반적인 책이었다면 아마 이렇게 어려운 동작 원리 따위는 나중에 추가적으로 공부해보라고 하면서 넘어갔을 것이다. 그런데 왜 저자는 따로 지면을 할애하여 이러한 섹션을 넣은 것일까?
이 질문에 대한 답을 책에 있는 저자의 말을 인용해서 대신해본다.
‘동작 원리가 어떻게 추상화되었는지 내부 코드를 통해 파악하면 이 과정을 좀 더 깊게 이해할 수 있기 때문입니다. 스프링 부트의 자동 설정을 정확하게 파악했으니 이제 스프링 부트를 부트답게 설정해 더 효율적으로 사용하는 방법을 알아보겠습니다.’
이 두 문장을 간략하게 말해보자면
라고 할 수 있겠다.
내가 지금까지 스프링 프레임워크를 다루면서 고통스러웠던 이유는 스프링 프레임워크가 내부적으로 어떻게 돌아가는 지를 알지 못했기 때문이고, 이러한 깊은 부분을 나의 능력으로는 탐구할 수 없었기 때문이다. 아마 대부분의 주니어 개발자 혹은 스프링 프레임워크를 처음 접하는 많은 사람들이 나와 같은 상황일 것이다. 그런데 이 책은 우리의 부족함을 메꿀 수 있도록 스프링 부투의 구체적인 동작 원리와 어떻게 소스 코드를 찾아서 읽고 이해해야 하는지를 알려준다. 필자는 이러한 부분의 차이가 초급, 중급 개발자를 가르는 기준이라고 생각한다. 만약 필자가 스프링 프레임워크를 배울 때 이렇게 직접 소스 코드를 되짚어 가며 이해를 하는 방법을 알려준 자료 혹은 스승이 있었다면 실력을 더 향상시킬 수 있지 않았을까 하는 생각이 든다.
책을 읽으며 느낀 장단점을 간단하게 정리해보겠다.
장점
단점
사실 책을 읽으면서, 완성도에 꽤나 놀랐다. 내가 스프링 프레임워크를 책으로 배울 때는 그냥 코드를 따라하면서 배웠던 것 같은데, 이 책은 읽는 사람의 사고력까지 올려주는 것 같았다. 그만큼 저자분이 목차부터 내용까지 섬세하게 신경쓰셨기 때문이리라.
개인적으로 이 책을 추천하는 대상 독자는 다음과 같다.
‘기존 스프링 프레임워크의 환경설정에 대한 시간 낭비를 줄이고, 빠른 시간에 로직에 집중하여 웹앱을 완성해보고 싶은 주니어 웹 개발자’
만약 당신이 웹 개발자이고 스프링 프레임워크를 다루고 있다면, 스프링 부트는 선택이 아닌 필수가 될 것이다. 당신 자신과 회사를 위해서 한 단계 더 실력있는 중급 개발자로 거듭나고 싶은 사람이라면 이 책을 눈여겨 보시길.
yes24 구매 링크 : 처음 배우는 스프링 부트 2