장바구니 담기 close

장바구니에 상품을 담았습니다.

모어 이펙티브 C#

모어 이펙티브 C#

  • 빌와그너
  • |
  • 한빛미디어
  • |
  • 2019-05-06 출간
  • |
  • 300페이지
  • |
  • 183 X 236 X 12 mm /528g
  • |
  • ISBN 9791162240892
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




C# 개발자를 위한 ‘알아두면 쓸모 있는 신비한 팁 50가지’
이 책은 저자의 전작인 『이펙티브 C#』과 시리즈를 이루는 대표 서적이다. 저자가 C# 커뮤니티에 기여한 바는 적지 않은데, 그중 단연 돋보이는 활동 중 하나가 이 책을 저술한 것이 아닐까 싶다. 10여 년 전 출간된 『이펙티브 C#』의 초판본은 출간 즉시 미국은 물론 전 세계 C# 개발자들에게 큰 영감을 주었을 뿐 아니라, 실용적인 고급 안내서로서 모든 개발자가 반드시 읽어야 하는 필독서로 자리매김하였다. 이 책은 그러한 『이펙티브 C#』의 2부라고 할 수 있으며 1부에서 미처 다루지 못한 내용과 고급 활용 기법을 담았다.

이 책은 단순히 언어와 프레임워크의 체계와 구현 특성만을 설명하는 것에 그치지 않는다. 현업에서 C#을 이용하여 개발할 때 흔히 겪는 문제와 그 해결책, C#에 새롭게 추가되고 개선된 내용을 적재적소에 사용하는 방법, 문제의 발생 원인을 찾고 이를 개선하는 방법과 같이 다른 책에서는 쉽게 접할 수 없는 내용을 다룬다.

주요 대상 독자는 C#을 주 언어로 하는 전문 개발자다. C# 구문과 기능을 이미 알고 있다고 가정하며 C#을 전반적으로 다룰 줄 아는 독자가 대상이다. 따라서 C# 언어의 기본 기능이나 특징은 다루지 않는다. 대신 C#이 현재 제공하는 모든 기능을 실제 업무에 어떻게 접목시킬 수 있는지를 알려준다. C#의 기본 기능뿐 아니라 공용 언어 런타임(CLR)과 JIT 컴파일러에 대해서도 이해하고 있다고 가정한다.

주요 내용
● 1장_ 데이터 타입
● 2장_ API 설계
● 3장_ 태스크 기반 비동기 프로그래밍
● 4장_ 병렬 처리
● 5장_ 동적 프로그래밍
● 6장_ 글로벌 C# 커뮤니티에 참여하기


목차


CHAPTER 1_ 데이터 타입
아이템 1_ 접근 가능한 데이터 멤버 대신 속성을 사용하라
아이템 2_ 변경 가능한 데이터에는 암묵적 속성을 사용하는 것이 낫다
아이템 3_ 값 타입은 변경 불가능한 것이 낫다
아이템 4_ 값 타입과 참조 타입을 구분하라
아이템 5_ 값 타입에서는 0이 유효한 상태가 되도록 설계하라
아이템 6_ 속성을 데이터처럼 동작하게 만들라
아이템 7_ 튜플을 사용해서 타입의 사용 범위를 제한하라
아이템 8_ 익명 타입은 함수를 벗어나지 않게 사용하라
아이템 9_ 다양한 동일성 개념들 사이의 상관관계를 이해하라
아이템 10_ GetHashCode()의 위험성을 이해하라

CHAPTER 2_ API 설계
아이템 11_ API에는 변환 연산자를 작성하지 말라
아이템 12_ 선택적 매개변수를 사용하여 메서드 오버로드를 최소화하라
아이템 13_ 타입의 가시성을 제한하라
아이템 14_ 상속보다는 인터페이스를 정의하고 구현하는 것이 낫다
아이템 15_ 인터페이스 메서드와 가상 메서드의 차이를 이해하라
아이템 16_ 상태 전달을 위한 이벤트 패턴을 구현하라
아이템 17_ 내부 객체를 참조로 반환해서는 안 된다
아이템 18_ 이벤트 핸들러보다는 오버라이딩을 사용하라
아이템 19_ 베이스 클래스에 정의된 메서드를 오버로드해서는 안 된다
아이템 20_ 이벤트가 런타임 시 객체 간의 결합도를 증가시킨다는 것을 이해하라
아이템 21_ 이벤트는 가상으로 선언하지 말라
아이템 22_ 명확하고 간결하며 완결된 메서드 그룹을 생성하라
아이템 23_ 생성자, 변경자, 이벤트 핸들러를 위해 partial 클래스와 메서드를 제공하라
아이템 24_ 설계 선택지를 제한하는 ICloneable은 사용을 피하라
아이템 25_ 배열 매개변수에는 params 배열만 사용해야 한다
아이템 26_ 지역 함수를 사용해서 반복자와 비동기 메서드의 오류를 즉시 보고하라

CHAPTER 3 태스크 기반 비동기 프로그래밍
아이템 27_ 비동기 작업에는 비동기 메서드를 사용하라
아이템 28_ async void 메서드는 절대 작성하지 말라
아이템 29_ 동기, 비동기 메서드를 함께 사용해서는 안 된다
아이템 30_ 비동기 메서드를 사용해서 스레드 생성과 콘텍스트 전환을 피하라
아이템 31_ 불필요한 콘텍스트 마셜링을 피하라
아이템 32_ 비동기 작업은 태스크 객체를 사용해 구성하라
아이템 33_ 태스크 취소 프로토콜 구현을 고려하라
아이템 34_ 비동기 메서드의 반환값을 캐시하는 경우 ValueTask를 사용하라

CHAPTER 4 병렬 처리
아이템 35_ PLINQ가 병렬 알고리즘을 구현하는 방법을 이해하라
아이템 36_ 예외를 염두에 두고 병렬 알고리즘을 만들라
아이템 37_ 스레드를 생성하지 말고 스레드 풀을 사용하라
아이템 38_ 스레드 간 커뮤니케이션에는 BackgroundWorker를 사용하라
아이템 39_ XAML 환경에서 스레드 간 호출을 이해하라
아이템 40_ 동기화에는 lock()을 최우선으로 사용하라
아이템 41_ 락은 가능한 한 좁은 범위에 적용하라
아이템 42_ 잠긴 영역에서는 외부 코드 호출을 삼가라

CHAPTER 5 동적 프로그래밍
아이템 43_ 동적 타이핑의 장단점을 이해하라
아이템 44_ 제네릭 타입 매개변수의 런타임 타입을 활용하려면 동적 타이핑을 사용하라
아이템 45_ 데이터 주도 동적 타입에는 DynamicObject나 IDynamicMetaObjectProvider를 사용하라
아이템 46_ 표현식 API의 사용법을 익혀두라
아이템 47_ Public API에서는 동적 객체 사용을 최소화하라

CHAPTER 6 글로벌 C# 커뮤니티에 참여하기
아이템 48_ 가장 인기 있는 답이 아닌 최고의 답을 찾으라
아이템 49_ 명세와 코드 향상에 기여하라
아이템 50_ 분석기를 사용해서 자동화 처리를 고민하라

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.