공부하는 스누피

토비의 스프링 3.1 (vol.1) 본문

IT 도서

토비의 스프링 3.1 (vol.1)

커피맛스누피 2022. 1. 11. 23:51

이일민 저. 정가 40,000원

 

토비의 스프링은 개발자 필독서로 꼽히는 책으로, 특히 스프링을 다루는 백엔드 개발자들은 많이 들어본 이름일 것이다. 유명한 책이지만 권당 880 페이지에 달하는, 전공 서적과 맞먹는 분량 덕분에 완독하기 힘들다고 소문이 나 있다. 괜히 힘들다고 할 수록 정복하고 싶어지는 욕심이 나기도 했고, 당시 이펙티브 자바를 완독해 언어 보다는 프레임워크에 대해 알고 싶어서 스터디를 꾸려 완독에 도전해 보기로 했다. 

 

네트워크, 컴퓨터 구조같은 비슷한 분량의 책을 혼자 독파한 적은 몇 번 있었지만, 토비의 스프링은 프레임워크를 다루기 때문에 학부생 대상인 전공 서적과는 결이 다르다고 느꼈다. 어떤 기술에 대한 개념을 다루는 것은 같은데 접근하는 방식이 달랐다. 주니어 개발자가 스프링으로 작은 프로젝트를 하면서 '이건 왜 이렇지?'라는 질문을 반복하며 깊게 들어가는 방식이었다. 매 장마다 코드를 개선하는 과정을 통해 IoC, DI 같은 스프링의 주요 개념들이 무엇인지, 왜 필요한지 알 수 있게 한다.

 

스프링은 이전에 2권 정도의 책을 읽으면서 공부했었지만 핵심 개념은 끝까지 피상적으로 외우기만 하고 이해하지 못했었다. 두 책 모두 클론 코딩에 가까운 실습을 통해 스프링에 익숙해지도록 하는 방식이었다면, 토비의 스프링은 실습을 병행하면서 왜 이 개념이 이렇게까지 중요한지 항상 강조한다. 책 초반에 Jdbc Connector를 이리저리 수정하면서 최대한 확장에 자유로운 구조로 만들어 나가는 실습을 진행하는데, 이때 처음으로 인터페이스가 왜 필요한지 알게 되었다. 단순히 인터페이스는 클래스들의 명세서라고만 암기했었던 나에게 적지 않은 충격을 주었다.

 

그래서 이 책은 나에게 개발자로서 공부하는 방법을 알려준 책이라 할 수 있다. 초반 뿐만 아니라 책 끝까지 어떤 코드를 좀 더 나은 코드로 개선시키는 과정에서 스프링이 어떻게 쓰이는지 자연스럽게 알게 해 준다. 개념부터 던져둔 다음 그걸 이해하고 실습으로 넘어가는 방식과는 다르게, 코드를 만져 보면서 어느새 스프링에 스며들 수 있다. 두꺼운 책이니 개념에 대한 설명도 다른 책 보다는 자세해야 하는 건 당연한 것이기 때문에, 이 책의 장점은 개념 설명보다는 스프링을 공부시키는 방식에 있다고 할 수 있다. 배우고자 하는 사람이 880쪽의 분량을 견딜 수만 있다면..

 

책을 읽기 전에 백기선 님의 유튜브 영상을 본 적이 있다. 토비의 스프링을 정독하려고 하지 말라는 내용이었다. 맞는 말이라고 생각했고, 스터디를 시작할 때 꼭 필요한 내용만 읽자고 말하기까지 했다. 하지만 책을 읽다 보니 버릴 것 없이 다 읽고 넘어가야 할 것만 같아, 결국 마지막 챕터를 제외한 모든 챕터를 문서화까지 다 해 버렸다. 스터디원들이 신입 교육 연수 기간이거나, 취업 준비 중이었기 때문에 가능한 일이었던 것 같다. 만약 책에 투자할 시간이 적거나 한 책을 오랫동안 읽고 싶지 않은 사람이라면, 정독은 별로 추천하지 않는다.

 

요즘 Spring은 레거시 중의 레거시에서나 겨우 볼 수 있는 오래된 기술이라고 여겨진다. 그래서 Spring boot에 익숙한 개발자나, 아예 Spring을 처음 접해보는 개발자는 이 책에 적응하기 힘들 수도 있다. 간단히 어노테이션만 달면 되는 일인데 일일이 xml 파일을 편집하고 빈을 설정해주는 게 번거로울 수 있다. 그래도 가끔은 지름길보다는 돌아가더라도 확실히 작동 원리를 이해해보는게 더 도움이 되지 않을까 한다.

 

+
집에 바선생이 출몰한 적이 있었는데, 3시간에 달한 대치 끝에 토비의 스프링으로 제압한 경험이 있다. 당장은 안 읽고 모셔두더라도 가끔 호신용(?)으로 쓰일 수 있을 것 같다 ^_^

+
정말 오랜만에 글을 쓴 것 같다. 한 달 조금 넘게 쉬었는데 체감상 3달은 된 것 같았다. 책을 읽고 나서 몇 달이 지나 버리면 그때의 감상을 잊어버릴 것 같아, 숙제를 빨리 해치우는 기분으로 글을 쓰려고 했다. 첫 문단을 쓰고 지우길 몇 번 반복하다가 나도 모르게 아쉬워 사족까지 달고 있는 걸 보니 앞으로도 자주 읽고, 배우고, 기록해야겠다는 생각이 든다.

 

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=19505561 

 

토비의 스프링 3.1 Vol. 1

스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크를 개발하려고 하는 아키텍트에 이르기까지 모두 참고할

www.aladin.co.kr

 

Comments