콘텐츠 바로가기
본문 바로가기


블로그 전체검색
이것이 C#이다

[도서] 이것이 C#이다

박상현 저

내용 평점 5점

구성 평점 5점


 

c# 책중 좋은 책의 3판이 나왔다.

본인은 지인의 부탁으로 Unity 네트워크 프로그래밍을 하기 위해서 들여다 보던중

Unity는 C# Script로 코딩을 하는것을 알게 되었다.

 

이전에 c, c++ , mfc , java, javascript, typescript, swift 등은 해봤지만

c#은 처음이라...낯설었다

unity 서적에도 c# 에 대한 설명은 있으나 

unity 자체가 분량이 많은 프로그램이라 어쩔수 없이 c#은 맛보기 수준이다.

이때 위책이 나와 읽게 되었다.

 

책이 전반적으로 편집도 잘되어 있어 가독성도 좋고

내용 서술형식이 되게 친근하다, 가끔 왜 해당 지식을 배워야 되는지, 

마치 강의실에서 베테랑 프로그래머에게 꿀팁을 전달 받는 느낌으로 편하게

설명을 해준다.







 

이전에 몇몇 주요 언어들을 해봐서 목차를 보며 내가 생소한 부분을 먼저 보았다

일단, 개발환경은 

visual Studio 이다. 윈도우 개발시에는 책내용 그대로 따라하면 된다

visual studio 2022 community를 설치하면된다


 

 

참고로 본인은 올해부터 iOS app도 개발하기 위해 macBook Pro M2 PRO도 구매해서 

사용중이라

맥북에서도 설치를 시도 해봤다. 

맥북은 visual studio for mac 2022가 별도로 있다.

물론, 설치는 되지만, 책내용과 차이가 있어 하다가 말았다.

질문을 하니 답변도 왓다



설명도중 위와 같이 어라..이게 뭐지...하는순간 바로 설명들어간다.


위와 같이 중요한것은 그림으로...자세히....


본인은 다른책에서 긴가민가 하는 리터럴의 의미를 여기서 보다 명확히 이해했다

ㅎ... 편집을 잘한건지... 저자가 설명을 잘한건지..


 

챕터 2에선 hello world 격의 초간단 프로그램을 코딩하며 얼개를 소개한다.

책의 내용도 windows 개발환경에서 설명을 한다.

여기서 맥에선 달라서 windows 에서만 진행했다.

 

이책의 특징이 한가지 한줄 코드를 설명하며 

이게 어떤 의미가 있는지 상세히 설명하며

특히 자문 자답식의 진행을 한다, 

술술 읽히는 재미가 있다.

여기서 잠깐 이라는 것을 만들어 따로 설명하는데

정말 , 아 그렇구나 할정도로 유익하다.

편집에서 점수를 잘주고 싶은 이유가

가독성이 좋으며 저자의 생각을 이책의 디자인 담당자가 잘표현해낸듯 하다.

거추장 스럽지도 이상하지도 않게 잘 이해가 되도록 표현되어 좋았다.

책을 읽으며 생소한 용어가 나와 이게 뭘까 하고 잇으면 

얼마 지나지 않아 바로 설명이 되어 있다.

이미 유사 언어들을 많이 해서 내가 아는 내용들은 건너 뛰려다 

앗, 하고 놀라부분이 

값형식, 참조형식 부분이다. 그림으로 간단하지만 정확히 이해될수 있게 해준다.

특히 힙, 스택, 참조 ,값 개념을 이제까지 읽어온 어떤 책보다도 설명을 잘하는듯하다.

자료형 변환도 코딩하다 보면 종종사용하지만 사용할때마다 써도 문제 없을까 하는데

변환시 문제나 제약등을 설명을 하고있다.

부끄러운 이야기이지만

부동소수점 설명을 보고나서 , 과연 나는 이제까지 부동소수점을 껍데기로 이해했나 

싶을정도로 쉽고 정확히 설명해준다.

중간중간 보다 자세히 알고싶으면 다른 책도 소개해준다.


 

생소하지 않은 부분은 건너 뛰려다 내가 알았던거 같은것도 더잘, 제대로 다시 상기시켜주는듯해서 그냥 쭉 읽게 되는 마성의 매력이 있다. 저자가 인도하느대로 따라가게 되는.ㅎㅎㅎ

위처럼 박싱 언박싱의 개념도 그림으로 풀어 설명해준다

그리고 문자열 이 코딩에서 의외로 중요한데



그것도 기법에 따라 비교 설명해준다

그리고 이책에서 처음본 패턴 매칭이 되게 생소했다

책에서도 이기능은 무척 사랑받는 기능중의 하나이고 꾸준히 업그레이드 되고 잇다고 해서 들여다 보았다


 

이부분은 여러 패턴매칭중 중간쯤이후는 약간 아리송해서 

유튜브 설명을 보았다 책을 보고 영상을 보니 그래도 낳았다


이 책의 유튜브 강의는 총 23강으로 모두 올려져 있다


 

 


매개변수가 값의 복사임을 설명하고


출력전용 매개변수라는 독특한 개념을 왜 사용하는것이 좋은지 이유를 설명한다.


명명된 인수도 사용이유를 설명하고


선택적 인수의 사용이유, 


위와 같이 알쏭 달쏭한 경합 상황을 전개시키며 이렇게 코딩을 하면 않된다고 설명한다.


이책에서는 그래픽을 정말 잘 활용하여 혼동되는 개념을 비교 설명을 잘한다.

특히 스택과 힙의 개념을 간단명료 설명하여 이해를 돕는다.


 

이책의 마법은 실제 이런 코딩을 왜 해야 되는지를 이유를 아주 재미있게 자극적으로 설명하여

계속 읽혀지도록 유도를 한다. 코딩책에서 항문외과가 등장할줄은...


많은 실무를 통해 왜 이런 코딩을 해야 되는지 몸으로 배워야 알수있는 이유들로 기능의 필요성을 설명하여 중요성을 강변한다.


클래스와 구조체를 설명하면서 구조체가 왜 필요할까? 를 위와 같이 설명을 해준다.


위와 같은 설명을 보면 온갖 산전수전공중전의 고초를 겪은 저자의 내공에서 우러나오는 설명이

격한 공감을 일으키니...계속해서 공감하며 술술 읽어나가데 된다. ^^


인터페이스의 효용성을 설명한다


때로는 내부 속사정을 위처럼 비주얼 스튜디오 툴로 까보이며 확인 시켜주기도 한다.


레코드의 장점을 설명하기 위해 보기좋게 비교 설명한다.


설명을 한참하다 관계서적을 추천하기도 하며


지칠만 하면 저렇게 유혹을 하며 계속 읽어가게 한다.


일반화 프로그래밍의 주요 개념을 보기좋게 설명한다. 

이 책의 깔끔한 편집과 저자의 설명의 찰떡같은 콤비가 참 책을 읽기 편하게 좋게 한다.


대리자의 주요 개념도 일단, 그림으로 정리 설명하고


 

그림으로 설명하며 번호매겨가며 요약 정리해준다.



주요 개념을 step by step , 한걸음 한걸음 ....설명한다.


이 책의 주제인 C# 을 배우면 다른 언어에 비해 무엇이 좋은지...

LINQ 라는 생소한 개념을 공부하면서 더욱더 책을 계속읽게 빨아들이는... 


주요 개념을 역시 그래픽으로... 해깔리지 않도록....


음...내가 읽어온 550페이지에서도 확인시켜준다... C# 공부하고 있는거 잘하는거야....^^;;;


리플렉션, 애트리뷰트는 정말 , 이게 뭐야? 

이런것도 공부해야 되나 싶어도

계속읽다보면 .Net 프로그램 계층 구조까지 그려 가며 설명해준다


애트리뷰트는 또 뭐대 하지만...

산전수전 공중전 겪어오며 이런 기능이 있으면 좋겠다 싶을 이유를 들어가며

설명하면 저자의 내공이 느껴지기도 한다. 그냥... 잼있다...


호출자 정보 애트리뷰트는 정말 끌린다...

격한 공감 백퍼.... 이런 기능도 잇다니...


이런 애트리뷰트도 아쉬운점이 잇다니...

하면서...그러면 어떻게 하면 좋을까요?  책을 사서 읽어보세요 ^^;;;


사실, 쓰레드가 깊이 들어가면...대략 난감해지는 쉽지 않은 주제이다.

여기서는 상태 변환을 위처럼 일단 정리 하여 보여준다.


스레드가 상황에 따라 어떻게 중지를 시키는지 시점 비교를 그래픽으로 비교설명한다.


비슷한 두 개념을 보기좋게 비교 설명한다,


 

주요 개념을 그래픽으로 설명하여 주요 개념을 정리해준다.


async, await는 비동기에서 주요 개념인데

역시...그래픽으로...

 

이책에서 해깔리거나 어려운 개념을 어떻게 동영상으로 설명하는지 확인 해봤다




듣다 보니 책에 없는 내용도 나온다.

역시 난해한 개념 이해는 지면보다 

영상이 좋은듯 하다.

 

20장 winform  내용에선 드디어

콘솔 만 활용하는 내용이 아니라

C# 으로 window GUI programming 을 하는 내용을 다룬다

먼저 텍스트 코딩 c# 코딩으로 GUI 코딩을 해보는 내용을 설명한다.

예전엔 message Hooking 이라고 하는데

filtering 이라고 소개한다.

 

하나씩 하나씩 하다가 

중반쯤이후에는

Form designer를 사용하여 

드래그앤드랍으로 코딩하는것을 아래와 같이 설명한다.

드디어 템플릿을 "windows forms 앱" 템플릿을 사용하기 시작한다.






앞에서 비동기 내용에서 설명한 내용으로 파일전송 프로그램을 만들어 본다

네트워크 내용에선 전형적인 TCP/IP 코딩을 설명하며




TCP/IP스택에 대해서 간단히 요약설명을 한후

위처럼 패킷 전송에서 송수신 버퍼의 처리과정과 역할을 그래픽으로 단계별로

설명을 잘한다



네트워크 송수신 프로그램에서 핵심인 자체 프로토콜 제작도 

해본다. 전반적인 흐름을 또 위처럼 한눈에 전과정을 이해하기 쉽도록 그래픽으로

일목요연 설명한다. 어떻게 설명을 해야 핵심을 잘이해 할수 있는지 저자는 알고 있는듯하다

 

마지막 장에선 가비지 컬랙터를 설명한다.

가비지 컬렉터의 내부 동작을 설명한다.

 






가비지 컬렉터의 동작을 이 책에서 이렇게 쉽고 자세히 설명하는것을 처음 본다.

내부 동작 원리를 그림으로 설명해주니 

가비지 컬렉터를 어떻게 사용해야 문제가 않되는지 이해로 자연스럽게 전개가 된다.


 

840여페이지 내용이라 길면 긴내용이지만

저자의 내공과 화술과, 그리고 깔끔한 전개와 가독성 높은 편집이 

그리 어렵지 않게 읽히도록 책이 만들어져 

재미있었다.

 

C#을 재미있게 배워보고 싶은 분들에게 강강강~추한다.

C#으로 즐거운 여행을 이책과 함께 떠나보세요 ^^

 

YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.


http://blog.yes24.com/blog/blogMain.aspx?blogid=reviewers
 
취소

댓글쓰기

저장
덧글 작성
0/1,000

댓글 수 0

댓글쓰기
첫 댓글을 작성해주세요.

PYBLOGWEB3