|
IT관련 서적을 정독하려면 시간이 많이 걸린다. 책에서 설명하는 개념을 이해해야 하고, 책에 적혀 있는 프로그램을 직접 수행시켜 보려면, 항상 생각지도 않은 문제들이 튀어나와 시간을 잡아 먹기 때문이다. 더구나, (IT관련 서적들이 보통 500 페이지 내외인데 비하여) 이 책은 850페이지나 되며, 책의 내용을 초급이 아닌 중급레벨로 맞춰져 있기 때문에, ASP.NET MVC(Model-View-Controller)에 대해서 어느 정도 경험이 있는 독자가 아니라면, 읽는데 적지 않은 시간이 소요될 것으로 보인다.
------------- 이 책은 크게 3개의 Part로 나뉘어져 있다. Part 1에서는 ASP.NET MVC 3를 소개하고, Part 2에서는 Part 1에서 나왔던 개념들에 대해서 좀 더 자세히 설명하고, Part 3에서는 보안/인증, 배포에 대한 내용을 설명하고 있다.
Part 1에서는 ASP.NET MVC 3 가 무엇인지, MVC 패턴의 설명, C#언어의 특징(람다 식(Lambda Expression), LINQ(Language Integrated Query)), Razor 뷰엔진(View Engine), MVC를 위한 도구들(Ninject, 단위테스트, Moq)을 설명하고 있다. 7~9장까지는 스포츠스토어(Sports Store)를 위한 웹 응용프로그램을 개발하면서 탐색, 장바구니, 관리자 페이지 등에 대한 프로그램 예를 보여주고 있다.
Part2에서는 Part1에서 간단히 설명하거나, 예로 보여주기만 했었던 개념들에 대해서 좀더 심도있게 설명하고 있다. 비주얼 스튜디오 MVC 프로젝트 만들기/디버깅하기, 사용자의 URL에 의한 요청(Request)이 어떤 컨트롤러의 액션 메서드에 매핑되는지에 대한 라우팅 시스템(Routing Sytsem), 요청을 처리하기 위한 로직을 담고 있는 .NET 클래스인 컨트롤러(Controller)와 실제 특정한 로직을 수행하는 해당 클래스의 액션 메서드(Action Method)에 대해서 설명하고 있다. 13장에서는 요청처리 파이프라인(Pipeline) 안에 추가된 로직을 삽입하는 기능인 필터(Filter)에 대해서 설명하고 있고(권한, 액션, 결과, 예외와 같이 4종류 필터), 컨트롤러 확장성에 관한 이야기, Razor 뷰엔진을 효과적으로 다루는 등 뷰에 에 관한 설명, 템플릿 기반 뷰 도우미 메서드를 통해서 접근할 수 있는 모델 템플릿 시스템(Model Template System)에 관한 설명, 브라우저가 보내온 HTTP 요청 내부의 데이터를 서버 측의 .NET 객체로 생성하는 모델 바인딩(Model Binding)에 관한 설명, 사용자가 전달한 데이터가 모델 바인딩하기에 적합한지 검사하는 모델 유효성 검사(Model Validation)에 관한 설명, MVC 프레임워크에서 Ajax 와 jQuery를 사용하는 방법에 대하여 설명하고 있다.
Part3에서는 웹 보안 이슈, 취약점, ASP.NET MVC 프레임워크(특히, Razor 뷰 엔진)의 보안 특징 및 보안을 유지하기 위해 주의해야 할 점, 인증/권한/허가와 구축된 MVC 응용프로그램을 배포하는 방법에 대해서 설명하고 있다. ----------------
이 책의 아쉬운 점이라면, 최근에 자바 진영의 책이나 Head First 책들을 봐서 눈이 높아져서 그런지, 클래스에 대한 설명을 할 때, UML로 Class Diagram을 그려주고, 좀 더 그림이 많이 들어 갔더라면 이해가 쉽지 않았을 까 하는 생각이 든다. (ASP.NET MVC 패턴의 개념을 이해한 사람에게 보다 상세한 코드나 설정정보를 제공한다는 측면에서 유용하지만) Java 측의 MVC 패턴 관련된 책을 읽었더라면 벌써 몇 번은 나와야 할 Class Diagram이 거의 보이지 않고, ASP.NET MVC 3를 위한 아키텍처에 관한 개괄적인 내용들에 관한 그림 역시 너무 단순한 그림으로 설명하고 있어 개념을 잡는데 쉽지 않을 수도 있을 것 같다. 원저자들의 이런 노력이 아쉽다.
국내에서 ASP를 기반으로 프로젝트를 수행했었던 개발자라면, "태요의 ASP"로 유명한 김태영님을 모를 리 없을 것이다. 자신의 이름을 걸고, 번역에 상당한 노력을 했다는 생각이 절로 드는 번역서이다. (이 책의 역자들과 상관없는) 다른 번역서를 리뷰할 때, 워낙 정리가 덜 된 상태에서 출간된 번역서를 읽었던 경험이 있어서 그런지 역자들의 노고에 다시 한번 찬사를 보내지 않을 수 없다. |
|
이번 번역서의 챕터를 살펴보면 눈길을 끄는 것이 있습니다. 각 챕터 시작에 역자의 이름과 메일 주소가 나와 있는 것입니다. 대단한 자신감인지, 책임감있게 번역했다는 의미인지는 모르겠지만 지금까지의 번역서와 매우 색다르다는 느낌을 받았습니다. 구글 번역기 돌린 듯한냄새를 진하게 풍겼던 "모바일 디자인 & 개발"이라는 책과는 매우 대조적이었습니다.
먼저 이 책은 초급자가 보기에는 난이도가 조금 있는 책입니다. 책 초반부에 초급자를 위한 배려가 있지만 내용 곳곳에는 '초급자들은 좀 더 공부를 하고 오라'는 오오라가 뿜어져 나오고 있습니다.
중급자라 하더라도 MVC에 익숙하지 않으면 책을 넘기는 속도가 매우 더딜 수 있는데요, 빠른 시간에 건성으로 훑어보기 보다는 시간을 충분히 가지고 익히는 것이 큰 도움이 될 듯합니다. 천천히 내용을 익혀가다보면 내용 중간 중간에 흩어져있는 저자의 내공을 주워담는 재미도 느낄 수 있습니다.
기존 웹 폼방식의 ASP.NET을 주로 다루는 프로그래머분들에게는 MVC를 개인적으로 적극추천하고 있습니다. 기존 ASP.NET의 가장 큰 문제 중 하나가 ViewSate와 POST Back입니다. 프로그래머 입장에서는 빨리 개발을 완료할 수 있고, 다루기도 쉽다고 생각할 수 있지만, 시간이 지날 수록 사용자들 입장에서는 서비스 품질이 떨어지는 결과를 맞이하곤 합니다. 특히나 스킬이 들쭉날쭉한 프리랜서 집단에 의해 만들어진 서비스들은 유지보수를 하게 되면서 완전히 새롭게 뒤집는 경우도 있게됩니다. MVC는 이러한 단점을 매우 멋지게 해결해줄 수 있어 프로그래머나 사용자나 모두 윈윈이 되는 것 같습니다.
MVC관련 한글(번역서)중에는 본 서적의 시리즈가 우수한 편에 들어간다고 생각됩니다. 에디션이 거듭되면서 책의 내용이 점점 좋아지고, 전작에서 부족한 부분을 메워가고 보정해가고 있음(진화라고 할까요?)을 느낄 수 있습니다. 이러한 진화를 통해 이번 에디션은 꽤 잘 다듬어진 결과물이 된 것 같습니다. 번역 역시 앞선 에디션부터 김태영(태요 공동체)씨가 계속 해와서인지 번역의 매끄러움과 완성도도 진화했음을 알 수 있습니다.
원서의 경우 마지막 장까지는 791쪽의 문서(PDF 문서기준)입니다만, 폰트와 번역의 특성으로 인해 852쪽으로 다소 늘어났습니다.
책의 내용은 매우 높게 평가하지만, 구성과 종이 재질에 있어서는 다소 실망스런 부분도 있습니다.
폰트는 명조체와 고딕체를 각 용도에 맞게 사용한 듯 하지만, 고딕체 영역에서는 줄간격이나 폰트 자체로 인해 가독성이 조금 떨어지는 감이 있습니다. 책을 번역하고 나니 편집자 입장에서는 늘어난 쪽수에 대한 부담감이 있었을 것으로 추측이 되지만, 페이지를 줄이기위해 가독성을 떨어진 것은 악수인 듯 합니다.
두 번째 실망은 종이 재질입니다. 아주 반질 반질한 재질에 매우 색깔도 좋습니다만, 책이 정말 무겁습니다. 기술서적, 특히 버전이나 시간이 지날 수록 달라지는 기술서적은 소장의 가치가 일반 소설책과 비교할 수 없이 떨어지는데도, 마치 100년은 끄떡없을 책인양 너무 좋은 재질로 책을 만든 것이 아닌가 합니다. 44,000원의 다소 부담스런 책값이 내용을 위한 비용보다 종이값 때문이라면 좋은 서적을 세상에 널리 퍼지지 못하게하는 장벽이 되지 않을까 싶습니다.
앞서 초급자용은 아니라고 했으나 초급자들에게도 이 책을 추천하고 싶습니다. 누구나 성장하듯이 초급자가 항상 초급자는 아닐테니, 조금 성장한 후에 이 책을 읽는다면 더 많이 성장된 자신을 발견할 수 있을 것 같습니다.
시간이 지나면 쓸모가 없어질 수도 있겠지만, 소장해두고 싶은 몇 안되는 책인것 같습니다. |
|
이 책은 생각보다 두꺼운 800 페이지 정도
이 책은 ASP.NET MVC3 프레임워크 에 대해서 다룬다는데
나는 ASP.NET 플랫폼, ASP.NET MVC, ASP.NET 웹폼
이 책은 비쥬얼스튜디어 2010 을 기준으로 ASP.NET MVC 를 다루고 있다.
책에서 다루는 내용은 참 괜찮은거 같다.
해당 기능을 어떻게 사용하는지에 대한 내용은 전반적으로 넓게 다루는데 반해
항상 vs 기반의 책을 읽을때마다 느끼는거지만
MVC 3 에 대해서 살펴보기엔 괜찮은 책인거 같다.
|
|
ASP.NET MVC를 현업에서 사용하게 되어 마땅히 도움받을 도서를 한권 찾다가 이 책을 구매하게 되었다. ASP로 국내에서 이름을 날리고 계신 김태영 씨의 이전 ASP.NET 도서 등도 무척이나 즐겁게 읽었기 때문에 Taeyo의 선택 이라는 문구는 이 책의 선택에 큰 힘이 되었다. 도서를 구매한 후 1년 남짓 미명하에 벌써 새버전의 옷을 입고 버전업 도서가 발매되었다. 도서에 대해 간단히 이야기하자면 기본적인 부분으로 이해해야 할 기초 학습을 먼저하고 쇼핑몰을 만들어나가며 ASP.NET MVC에 대한 기반을 다지도록 설명하고 있다. 이후 프로젝트 기반의 예제를 통해 MVC에 어느 정도 익숙해지고 나면 ASP.NET MVC의 세부 내용으로 심화 학습하게 된다. 이는 MVC를 처음 접하는 초심자들에게 적합한 학습 형태로 생각이 된다. 이 부분이 도서의 훌륭한 장점이 아닌가 싶다. 하지만 단점 아닌 단점으로서는 이 책의 내용은 웹 프로그래밍에 어느 정도 익숙한 사람이 아닌 완전한 초보자를 배려하지는 않는다는 점이다. 이 책을 통해 웹 프로그래밍을 배우려는 생각은 가지지 않는 것이 좋다. 물론 MVC에 관심을 가지는 사람이라면 아마 초심자는 아닐거라고 생각한다. 기존 도서와의 차별점은 개발 환경이 비쥬얼 스튜디오의 버전이 2008에서 2010 으로 ASP.NET MVC에서 ASP.NET MVC 3 환경으로 변화하였다. 새 도서에서는 이 미묘하다면 미묘한 차이 부분을 채우고 있다. 또한 ASP.NET MVC 3에서 새롭게 도입된 편리한 문법인 Razor에 대한 설명도 잊지 않고 하고 있다. ASP.NET MVC를 익히려는 분들에게 이 책은 결코 나쁘지 않은 선택이라고 말하고 싶다. |
|
ASP.NET MVC는 기존 ASP.NET WebForm의 단점을 최소화 시키고, 웹 고유의 기능들을 최대한 활용시킬 수 있도록 많은 배려를 했다. ASP.NET MVC의 빠른 버전 업데이트도 눈에 띈다. 또한 NInject나 Visual Studio를 이용한 단위 테스트, 도메인 주도 개발 등의 기능을 강화함으로써 자바 기반 오픈 소스에 어느 정도 대적할 수 있는 토대를 만들어 놨다. 이 책에도 이러한 부분들을 집중적으로 설명하고 있다. 원서 자체도 훌륭하고, 번역에도 많은 공을 기울인 흔적이 역력하다. |