아주 어려운 질문이다...
이 책은 이 질문에 대한 답을 주고 있다.
초기 .NET이 생기게 된 유래에서 부터 그렇기 때문에 .NET이라는 녀석이 나왔으며 이 녀석이 갖고 있는 .NET Framework라는게 무엇이며 얘가 제공하는게 무엇이며 우리는 이 녀석을 어떻게 보고 사용해야 하는가...등등..
전반적인 뿌리를 설명하고 있다. 이 책말고도 .NET이 무엇이라는 것을 설명한 책들이 꽤 많이 있는 것으로 아는데 개인적으로는 이 책의 설명이 가장 잘 와 닿았다.
.NET을 공부하고자 하시는 분들이라면 한번쯤 읽어두는 편이 좋을 것 같다.
에센스는 입문서가 아닙니다~
저는 에센스 시리즈를 처음 읽어 봤습니다. 그래서 닷넷 프레임워크의 핵심을 쉽게 이해하고 싶어서 이 책을 구매했습니다만 저의 착각 이였습니다. 난이도가 초/중급이긴 하지만 COM, ADO, ASP, 웹서비스가 적어도 무엇인지는 알고 보셔야 수월하게 보실 수 있다고 생각합니다. 또한 COM에 대해서는 더 많은 지식이 선행되어야 할 것 같습니다. 그에 비해 C#, VB에 대해서는 자바나 VB프로그래밍을 한번이라도 해보셨다면 소스 분석정도는 주석과 함께 쉽게 볼 수 있을 것입니다.
이 책은 총 8장으로 구성되어 있습니다.
1장. 닷넷 개요
수월하게 읽으실 수 있습니다. 아주 간략하게 닷넷, 프레임워크를 설명하고 프레임워크 목표에 중점을 두어서 설명했습니다.
2장. 공통언어실행(CLR) 환경이 부분도 새로운 기술이기 때문에(VM과 비슷하다고는 하지만) 고개를 끄덕이며 읽어 볼 수 있습니다. PE파일 어셈블리같은 용어들은 낯설긴 했지만 읽어보면 설명이 자세하게 나와있었기 때문에 어려움 없이 넘어 갈 수 있었습니다. 하지만 그리 쉽진 않습니다.
3장. 닷넷 프로그래밍본격적으로 닷넷 환경에서 프로그래밍 하는 방법을 알려줍니다. 이전과 달리 닷넷에서는 공통 프로그래밍 모델을 제공해서 관리형 C++, VB, C#에서 동일한 메소드를 사용할 수 있다는 것을 예제를 들어 설명하고 있습니다. 이 부분 과 8장이(윈도우 폼) 초급이라고 생각합니다. 이후에는 어느 정도 앞서 말한 기술에 대한 이해가 선행되어야 수월하게 읽을 수 있습니다.
4장. 닷넷 컴포넌트의 이용COM에 대한 이해는 필수입니다. 전 한번도 COM프로그래밍을 해본 적이 없어 헤맨 부분 이였습니다. 반은 그냥 그렇구나 하고 읽을 수 있었지만 트랜잭션과 같은 부분은 그냥 그렇구나하고 읽기에 너무 벅차더군요..
5장. 데이터와 XMLADO에 대한 이해가 선행되어야 하는 장입니다. ADO.NET에서는 XML이 핵심이기 때문에 연관하여 설명하고 있습니다. 이번 장도 ADO에 대한 많은 지식이 없어서 그냥 그렇구나 하고 읽어 봤습니다.
6장. 웹서비스실제 제가 책을 산 주요 목적은 닷넷 웹서비스 프레임워크를 알고 싶어서였습니다. 하지만 이 책의 목적이 에센스 인지라 아주 간략하게만 나왔습니다. 다른 분 말씀처럼 조금만 더.. 라고 생각하는 순간 끝나 버리더군요.. 기본적인 웹서비스 설명과 간단하게 웹서비스를 사용한 폼들을 예제를 들어 설명하고 있습니다.
7장. 웹폼이장에서는 ASP에 대한 이해가 필요합니다. 반은 ASP가 무엇 인지만 알고 계시면 읽기가 어렵지 않습니다. 또한 JSP에 대한 지식을 가지고 계셔도 읽기가 어렵지 않지만 뒷 부분으로 갈수록 ASP.NET의 새로운 기능들을 소개하고 있습니다. 읽으면서 JSP의 Custom 태그와 Bean이 생각났습니다. 이후 간단하게 웹서비스와 ASP.NET를 연동하여 설명했습니다.
8장. 윈도우 폼우리가 흔히 마우스로 선택하여 사용했던 컨트롤과 폼에 대해서 설명하고 있습니다. 수월하게 닷넷에서 변화된 점을 읽어보실 수 있습니다.
부록은 닷넷 지원언어, 닷넷 용어나 확장자에 대한 설명, 공통 데이터 타입, 공통 유틸리티에 대한 설명을 간략하게 하고 있습니다. 아주 상세히 옵션과 설명을 해서 이후에도 도움이 될 만한 내용인 듯 싶습니다.
또한 모든 챕터마다 마지막에 요약을 두어서 이장에서 무엇을 읽었는가 대해 생각해 볼 시간을 갖게 합니다. 저와 같으신 분들이 안 계시길 바랍니다. 어쩌면 프레임워크에 대한 입문서는 존재하지 않을 듯 싶습니다. 자세히 설명하려면 너무나 방대하고 어려워지기 때문일 수도 있겠지요.
이 책은 .NET에 관심 있는 독자가 프레임워크 목표를 이해하기 위해서 보면 좋을 책이라고 생각합니다. 저와 같이 이 한 권을 통해 프레임워크를 깨우쳐(?) 보겠다는 분들에게는 전혀 적합하지가 않네요. 하지만 한번보고 나니 용어나 개념에 대해서는 많은 도움이 됐습니다. 그만큼 책의 내용들이 제목처럼 에센스(정수, 본질..)만 뽑아서 책을 구성했기 때문에 목적에 충실한 책이라고 생각이 듭니다. 덧붙이는 말
어떤 책은 표지 그림에 대한 설명이 있던데 이 책은 없네요.. 흔히 볼 수 있는 새우라서 그런가요.. 갑자기 새우 버거가 먹고 싶네요..-.-
.NET Framework에 대한 정수를 짚어줄려는 책인것은 사실이다. 하지만, 역시 좀 더 많은 내용을 다루기에는 지면이 부족하였던 탓인지, "좀 더 ..."라는 생각이 들려는 순간 다음으로 넘어가는 부분을 만날 수 있었다. 그래서 어쩔 수 없이 microsoft사이트나 MSDN을 열어 놓고서 이 책을 볼 수 밖에 없었다.
C#이나 VB.NET이나 VC++.NET이나 ASP.NET을 잘 활용하기 위해서 그 바탕이 되는 환경인 .NET Framework를 잘 알아야 할 것이다. 물론 이 책으로 .NET Framework에 대해서 모두 알았다고는 말 할 수 없지만, .NET Framework으로 들어가는 잘 포장된 고속도로를 달리게 해 줄 표지판으로 생각을 할 수가 있을 것이다. 특히, COM이나 COM+를 공부해 본 사람들이라면 .NET Framework에서 Assemblies를 활용하여서 component기반 프로그래밍 기법을 표현하는 부분에 대해서 눈여겨 보아야 할 것 같았다. 이것은 물론 개인적인 생각이지만, 이 책은 핵심체크와 같은 책인 것 같다.
C#에 대한 글을 쓰고 있는 요즘, 『닷넷 프레임워크 에센스』(한빛미디어, 2001)는 많은 도움이 되었다. 물론 필자는 이 책의 원서를 먼저 보았다.
객체 지향을 이야기할 때도 교수님은 OOAD 같은 개발 방법론에 대한 이야기를 하고, 강사분들은 객체 지향 프로그래밍에 대해서 이야기한다. 하지만 프로그래머 입장에서는 객체 지향을 활용하기 위해 무엇을 해야 하는지, 무엇을 할 수 있는지에 대한 해답이 필요하다. 이미 객체 지향이 무엇인지는 알고 있다는 전제이지만.
닷넷의 핵심 언어라고 일컬어지는 C#은 아직은 베타 상태의 언어이다. C#이라는 언어의 특성을 탐구하고, 코드를 작성하면서 놀라워하지만, 실제 그 하부 구조를 이루고 있는 닷넷 프레임워크(.NET Framework)에 대해서는 깊이 있게 논의되지 않고 있는 것이 현실이다.
닷넷 프레임워크에 대해서 A4 2~3장짜리의 보고서 형태로 떠드는 것이 아니라, 닷넷 프레임워크의 구석구석을 깊이 있게 파헤치고 있다는 점에 이 책의 가치가 있다.
이 글을 읽는 독자들은 닷넷 관련서에 대한 여러 기억들이 있을 것이다. 수박 겉핥기 정도의 C#에 대한 소개와 간단한 문법 설명만으로 이루어진 수많은 원서들, 닷넷 프레임워크에 대한 MS Press의 그 잘나고 위대한 책을 구입해 보니 자사의 상품 브로셔를 비싼 49$나 주고 산 것이라는 느낌이 들었던 기억, 공개된 영문 문서들을 번역, 짜집기하여 내놓은 국내판 .NET과 C#에 관한 책들을 보며 분개했던 기억들이 있다.
하지만 여기 닷넷 프레임워크가 정말 무엇인지, 그것이 우리에게 어떤 것을 가져다 줄 수 있는지를 코드를 가지고 하나 하나 해부하면서 알려주는 책이 『닷넷 프레임워크 에센스』(한빛미디어, 2001)이다.
ADO.NET, XML, XSD, WSDL, 데이터 서비스와 웹 서비스, 웹 폼, 윈 폼, BCL, CTS, CLS, 상호운영성과 같이 갑자기 등장한 수 많은 용어들로 인한 혼란스러운 머리속을 깨끗하게 정리해 줄 것이다.
이 책에 수록된 모든 예제는 닷넷 SDK만을 이용해서 모든 예제를 작성했으며, 베타 2를 기준으로 한다. C#, 관리형 C++(Managed C++), Visual Basic.NET을 서로 비교하고 설명하고 있으나 대부분의 예제는 C#으로만 작성되어 있다.
C#의 기본적인 문법과 XML이 무엇인지 알고 있는 독자가 다음과 같은 것을 알고 싶을 때 유용하다.
- 데이터 서비스가 무엇인지, XML이 어떻게 이용되는지, ADO.NET을 이용하는 방법을 알고 싶을 때
- 웹 서비스에 대한 정의와 웹 서비스를 구축함으로써 가질 수 있는 장점, 웹 서비스를 작성하는 방법을 알고 싶을 때
- 웹 폼이 무엇인지 그리고 웹 폼을 이용하는 방법과 ASP.NET 프로그래밍을 하면서 데이터를 연동하는 방법을 알고 싶을 때
- 윈도우 폼이 기존에 사용하던 라이브러리(OWL, VB, MFC, API)와 무엇이 다른지, 윈도우 폼을 개발하는 방법과 웹 서비스와 연동하는 방법이 궁금할 때
독자가 C++, Java, Object Pascal과 같은 객체지향 언어에 익숙하지 않고 또한 C#을 전혀 모른다면, C# 입문서를 먼저 볼 것을 권한다(『C# 에센스』(한빛미디어, 2001)).