본문 바로가기

저/역서 출간 소식

Essential C# 5.0 한국어판- C#의 기초와 고급을 아우르는 핵심 바이블 출간

GoDEV  김도균님, 안철진님의 번역서가 발간되었습니다.



도서명 

 Essential C# 5.0 한국어판- C#의 기초와 고급을 아우르는 핵심 바이블  

출판사

 에이콘출판사

출간일

 2014.5.30

저자

 마크 미카엘리스 | 에릭 리퍼트 

 역자

 김도균 | 안철진

ISBN-13

 9788960775572


아래의 주요 인터넷 서점에서 구입하실 수 있습니다.

교보문고: http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788960775572

Yes24: http://www.yes24.com/24/goods/13170718

알라딘: http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8960775576



출판사 리뷰를 포함하니 관심있으신 분들은 위의 링크에서 목차 확인해주세요.

Essential C# 5.0: C#의 기초와 고급을 아우르는 핵심 바이블


★ 요약 ★ 

C# 언어를 기초부터 고급까지 포괄적으로 다루는 이 책은 학습에 필요한 내용을 전달하면서 한편으로는 효과적인 소프트웨어 개발 착수에 필요한 이론적 토대도 제공한다. 또한 C# 프로그래밍 패러다임에 대한 통찰력을 제공할 뿐만 아니라, C# 5.0과 닷넷 프레임워크 4.5라는 최신 버전에 도입된 기능도 다룬다. 시간이 지나도 변하지 않는 가치를 제공해줄 책으로서, 이미 C#에 익숙한 사람에게도 늘 유용한 참고서가 될 것이다. 

★ 이 책에서 다루는 내용 ★ 

■ C#의 데이터 형식, 흐름 제어, 메소드, 매개변수 
■ 클래스, 상속, 인터페이스 등을 포함하는 C# 개체 지향 구조 
■ 신뢰할 수 있고 효과적인 예외 처리 코드 작성 
■ 코드 복잡성을 낮추기 위한 제네릭, 대리자, 람다 식, 이벤트의 사용 
■ 리플렉션과 특성을 사용한 동적 프로그래밍 
■ LINQ와 쿼리 식을 사용해 거의 모든 데이터 형식을 아우르게 질의문을 작성 
■ 비즈니스 개체를 다루는 사용자 지정 컬렉션 생성 
■ 닷넷 4.5 개발 플랫폼의 CLR(Common Language Infrastructure)과 C# 
■ 선언형 프로그래밍과 내포된 메타데이터, 리플렉션, 특성의 활용 
■ 새로운 async/await 패러다임을 포함한 다중스레딩과 동기화 
■ WinRT와 윈도우 8을 위한 C# 프로그래밍 
■ P/Invoke와 포인터, 직접 메모리 조작을 사용한 다른 언어의 코드와 상호작용 
■ C# 프로그램과 기본 런타임의 관계 

★ 이 책의 대상 독자 ★ 

이 책이 의도하는 바는 어셈블리, 링크, 체인, 스레드, 퓨전과 같은 단어를 사용해 초보자를 겁먹게 하지 않으면서도, 해당 주제가 프로그래머보다는 대장장이에게 더 어울리더라도 고급 개발자를 깨우치게 하는 데 있다. 이 책의 주요 독자는 구사할 수 있는 개발 언어에 또 다른 언어를 추가하고자 하는, 경험 있는 개발자다. 하지만 이 책은 대부분의 수준에 해당하는 개발자에게 중요한 가치를 제공하도록 신중하게 만들었다. 

★ 이 책의 구성 ★ 

1장, C# 소개: C#으로 작성한 HelloWorld 프로그램을 보인 후 해부해 본다. 독자가 C# 프로그램의 룩앤필에 익숙할 수 있게 하고 프로그램을 컴파일하고 디버깅하는 방법도 자세히 설명한다. C# 프로그램의 실행 콘텍스트와 중간 언어도 잠깐 설명한다. 
2장, 데이터 형식: 프로그램을 실행해 데이터를 처리한다. 2장에서는 C#의 기본 데이터 형식을 소개한다. 값 형식과 참조 형식이라는 두 가지 형식 범주와 형식들 간의 변환, 배열에 대한 지원 사항을 다룬다. 
3장, 연산자와 제어 흐름: 컴퓨터에서 반복 기능의 이점을 이용하려면, 프로그램 내의 루프와 조건 로직을 포함하는 방법을 알아야 한다. 3장은 C# 연산자와 데이터 변환, 전처리 지시문도 다룬다. 
4장, 메소드와 매개변수: 메소드와 매개변수의 세부 사항을 탐구한다. 값에 의한 전달과 참조에 의한 전달, out 매개변수를 통한 데이터 반환을 포함한다. C# 4.0에서 기본 매개변수 지원이 추가되었는데, 이를 사용하는 방법을 설명한다. 
5장, 클래스: 클래스라는 기본 빌딩 블록이 제공되므로, 5장에서는 이들 구문을 함께 결합해 전체 기능 형식을 구성한다. 클래스는 개체에 대한 템플릿을 정의함으로써 개체 지향 기술의 핵심을 형성한다. 
6장, 상속: 상속은 많은 개발자에게 프로그래밍 토대를 제공해주지만, C#은 new 한정자와 같은 다소 고유한 구조를 제공한다. 재정의overriding를 포함해 상속 구문의 세부 사항을 설명한다. 
7장, 인터페이스: 클래스 간에 버전을 지정할 수 있는, 상호작용 계약 정의 인터페이스를 사용하는 방식을 설명한다. C#에서는 명시적 및 암시적 인터페이스 멤버 구현 모두를 포함하며, 대부분의 다른 언어에서 지원하지 않는 추가적인 캡슐화 수준을 사용할 수 있다. 
8장, 값 형식: 참조 형식을 정의하는 것처럼 일반적이진 않지만, C#에 내장된 기본 형식과 유사한 방식으로 동작하는 값 형식을 정의해야 할 때가 가끔 있다. 8장은 구조체를 정의하는 방법과 이들 구조체에서 드러내는 고유한 특성을 설명한다. 
9장, 잘 구성된 형식: 더 고급스런 형식 정의를 설명한다. +와 형 변환처럼 연산자를 구현하는 방법을 설명하고 여러 클래스를 단일 라이브러리로 캡슐화하는 방법을 다룬다. 네임스페이스와 XML 주석을 정의하는 방법을 나타내고, 가비지 수집을 위해 클래스를 설계하는 방법을 설명한다. 
10장, 예외 처리: 4장에서 소개한 예외 처리를 확장하고, 사용자 지정 예외를 생성해 예외 계층 구조를 따르게 하는 방법을 설명한다. 이 장에서는 예외 처리의 모범 사례도 몇 가지 설명한다. 
11장, 제네릭: 제네릭은 C# 1.0에서 빠진 핵심 기능이다. 11장에서는 C# 2.0 기능 전체를 다룬다. 제네릭이라는 맥락에서 C# 4.0에서 지원을 추가한 공변covariance과 반공변contravariance을 다룬다. 
12장, 대리자와 람다 식: 대리자는 코드 내에서 이벤트 처리를 위한 패턴을 정의하는 이전의 언어와 C#을 명확히 구별짓기 시작했다. 대리자는 사실상 폴링 루틴을 작성할 필요성을 제거했다. 람다 식은 C# 3.0의 LINQ를 가능하게 한 핵심 개념이다. 12장에서는 람다 식에서 더 우아하고 간결한 구문을 제공함으로써 대리자 구문을 만드는 방법을 설명한다. 12장은 다음에 설명한 새로운 컬렉션 API에 대한 토대다. 
13장, 이벤트: 캡슐화된 대리자인 이벤트는 CLRCommon Language Runtime의 핵심 구문이다. C# 2.0의 또 다른 기능인 익명 메소드도 여기서 설명한다. 
14장, 컬렉션 인터페이스와 표준 질의 연산자: C# 3.0에서 소개된 간단하면서도 세련되고 강력한 변화는 새로운 Enumerable 클래스의 확장 메소드를 찾을 때 14장에서 한 줄기 빛을 비춰준다. 이 클래스를 사용하면 표준 질의 연산자인 완전히 새로운 컬렉션 API를 사용할 수 있으므로, 여기서 이를 자세히 살펴본다. 
15장, LINQ와 질의 식: 표준 질의 연산자를 단독으로 사용하면 해독하기 어려운 긴 구문이 나올 수 있다. 하지만 질의 식은 SQL과 유사한 대체 구문을 제공하는데, 15장에서는 이를 설명한다. 
16장, 사용자 지정 컬렉션 만들기: 비즈니스 개체를 대상으로 동작하는 사용자 지정 API를 만듦에 있어, 사용자 지정 컬렉션을 생성해야 할 때가 있다. 16장에서는 이를 생성하는 방법을 상세하게 다루며, 이런 과정에서 사용자 지정 컬렉션을 더 쉽게 만드는 상황에 맞는 키워드를 소개한다. 
17장, 리플렉션, 특성, 동적 프로그래밍: 개체 지향 프로그래밍은 1980년대 후반의 프로그램 구조에서 패러다임이 변화하는 단초를 제공했다. 마찬가지 방식으로 특성은 선언형 프로그래밍과 메타데이터의 포함을 용이하게 해 새로운 패러다임을 안내했다. 17장에서는 특성을 살펴보고 리플렉션을 통해 이들 특성을 가져오는 방법을 설명한다. BCLBase Class Library 내에서 직렬화 프레임워크로 하는 파일 입력과 출력도 다룬다. C# 4.0에서는 새로운 키워드인 dynamic이 언어에 추가되었다. 이 키워드는 C#으로 할 수 있는 일의 중요한 확장으로 런타임 때까지 모든 형식 검사를 제거했다. 
18장, 다중 스레딩: 대부분의 현대 프로그램에서는 동시 이벤트에 능동적으로 응답하도록 하면서 오랫동안 돌아가는 작업을 실행하는 스레드의 사용을 필요로 한다. 프로그램이 더 복잡해짐에 따라, 이들 고급 환경에서 데이터를 보호하기 위해 추가적인 예방 조치를 취해야 한다. 다중 스레드를 적용한 애플리케이션 프로그래밍은 복잡하다. 18장은 스레드를 사용하는 방법을 설명하고 다중 스레드 애플리케이션을 괴롭히는 문제를 피하는 모범 사례를 제공한다. 
19장, 스레드 동기화: 앞 장에서 다룬 내용을 기반으로, 19장에서는 다중스레드 코드의 명시적 제어를 단순화할 수 있는 내장 스레딩 패턴 지원을 설명한다. 
20장, 플랫폼 상호 운용성과 안전하지 않은 코드: C#은 비교적 젊은 언어이므로, C#보다는 다른 언어로 작성된 코드가 상당히 많다. 이런 기본 코드의 이점을 누리기 위해, C#은 P/Invoke를 통해 비관리 코드와의 상호 운영성을 지원한다. 게다가 C#에서는 포인터의 사용과 직접 메모리 조작을 지원한다. 포인터를 사용한 코드는 실행에 특수 권한을 필요로 하지만, 전통적인 C 기반 애플리케이션 프로그래밍 인터페이스와 완전히 상호작용하는 강력함을 제공한다. 
21장, 공용 언어 인프라(CLI): 근본적으로 C#은 기본 CLI 위에 가장 효과적인 프로그래밍 언어로 설계된 구문을 갖는다. 21장에서는 C# 프로그램이 기본 런타임과 런타임의 명세와 어떤 관련이 있는지 깊이 살펴본다. 
부록 A, C# 컴파일러와 CLI 플랫폼 다운로드 및 설치: 부록 A에서는 마이크로소프트 닷넷이나 모노와 같은, C# 컴파일러와 코드를 실행하는 플랫폼을 설정하는 내용을 설명한다. 
부록 B, 3목 놀이 소스 코드 예제: 부록 B는 3장과 4장의 일부로 나타낸 소스 코드의 전체 목록을 제공한다. 
부록 C, TPL과 C#5.0 이전의 다중 스레드 패턴: 부록 C에서는 C# 5.0 이전의 개발을 위한 다중스레드 패턴과 TPL(Task Parallel Library)에 대한 세부 내용을 설명한다. 
부록 D, C# 5.0의 Async/Await 패턴 이전의 타이머: 부록 D에서는 .NET 4.5/C# 5.0을 사용할 수 없을 때 사용하기 위한 3가지 다른 형식의 타이머를 설명한다.