토비의 스프링 을 3독째 정독하면서 내가 느낀 점을 간단히 작성한다..
우선, 이 리뷰는 스프링프레임워크의 기능보다, 개발 철학에 중점을 둔 리뷰임을 밝힌다.
토비의 스프링은 읽으면 읽을수록, 감탄을 자아내게 하는 책이다..
우선 저자인 이일민 님은 스프링에 대한 깊은 이해 뿐만 아니라,
객체지향적 설계, 테스트주도개발, 리팩토링 뿐만 아니라, 애자일, eXtreme Programming 에도 조예가 깊은 분임을 느낄수 있었다.
책 전반에 걸쳐
객체지향적 설계,
리팩토링,
테스트주도개발
의 중요성에 대해 꾸준히 강조하고 있다. 또한 이 책에는 애자일, eXtreme Programming 개발 방법론에 대해서도
나온다. 딱 애자일, eXtreme Programming 이라고 명시 돼 있진 않지만,
이책의 내용에는 항상 마틴 파울러, 켄트 백이 강조하던 내용이 녹아있음을 느낄 수 있었다.
예를 들어, vol1. 3장 248p 에 '고정된 작업 흐름을 갖고 있으면서 여기저기서 자주 반복되는 코드가 있다면, 중복되는 코드를 분리할 방법을 생각해보는 습관을 기르자' 라는 문구가 있는데 이러한 조언을 책 전반에 걸쳐 꾸준히 계속 강조하고 있다..
또, 251p에는 '비슷한 기능이 새로 필요할 때마다 앞에서 만든 코드를 복사해서 사용할 것인가? 물론 아니어야 한다. 한두 번까지는 어떻게 넘어간다고 해도, 세번 이상 반복된다면 본격적으로 코드를 개선할 시점이라고 생각해야 한다.'
이 문구 또한 책 전반에 걸쳐 꾸준히 강조하고 있는데, 이러한 내용은 마틴파울러의 책 '리팩토링' 켄트 백의 책 'eXtreme Programming'에서도 강조하고 있는 내용이다.
이러한 내용을 계속 강조하는 이유는 결국 스프링 프레임워크와 아주 긴밀하게 연관된다..
이일민님이 책 전반에 걸쳐 꾸준히 강조하고 있는 이런 내용들이 바로 스프링 프레임워크의 개발철학 인 것이다.
나는 토비의 스프링을 공부하신 분이시라면, 무조건 2독 이상을 권하고 싶다.
vol. 2에 스프링의 각종 기능에 대해 깊이 있게 공부를 하신 분이시라면, 의당 스프링 프레임워크의 개발철학에 관심을 가질 것이다.
토비의 스프링을 정독 후, 스프링 프레임워크 철학에 대해 다시금 공부하고픈 욕구를 느끼고
다시 vol.1 을 읽었을 때, 난. 감탄을 할 수 밖에 없었다.
감탄은, vol.1 7장에서 절정에 달했다..(7장의 내용이 궁금하신 분은 구입해서 보시길..)
3독을 마치고나서, 스프링프레임워크의 소스를 보고, 다시 한번 감탄을 할 수 밖에 없었다.
난 미국의 스프링 레시피, 스프링 인 액션. 그리고 일본의 스프링 책도 볼 기회가 돼서 봤으나,
스프링의 웹개발에 도움을 주는 기능에 대해서만 설명을 하고 있을 뿐, 스프링의 개발 철학에 대한 설명은 없었다.
마지막으로, 이렇게 훌륭한 책이 한국에 있다는 것에 정말 큰 기쁨과 감사를 느끼며,
이렇게 훌륭한 책을 써주신 이일민님께 진심으로 감사의 말씀을 전하고 싶다.