확장메뉴
주요메뉴


소득공제 PDF
이펙티브 C# (3판)
eBook

이펙티브 C# (3판)

: 강력한 C# 코드를 구현하는 50가지 전략과 기법

[ PDF ]
리뷰 총점9.9 리뷰 10건 | 판매지수 648
정가
17,500
판매가
17,500(종이책 정가 대비 30% 할인)
구매 시 참고사항
  • 2020.4.1 이후 구매 도서 크레마터치에서 이용 불가
{ Html.RenderPartial("Sections/BaseInfoSection/DeliveryInfo", Model); }

품목정보

품목정보
발행일 2017년 11월 20일
이용안내 ?
지원기기 크레마, PC(윈도우 - 4K 모니터 미지원), 아이폰, 아이패드, 안드로이드폰, 안드로이드패드, 전자책단말기(일부 기기 사용 불가), PC(Mac)
파일/용량 PDF(DRM) | 22.61MB ?
글자 수/ 페이지 수 약 301쪽?
ISBN13 9791162249888
KC인증

이 상품의 태그

객체지향의 사실과 오해

객체지향의 사실과 오해

15,000 (0%)

'객체지향의 사실과 오해' 상세페이지 이동

떨림과 울림

떨림과 울림

9,000 (0%)

'떨림과 울림' 상세페이지 이동

지금 이 순간을 살아라

지금 이 순간을 살아라

7,500 (0%)

'지금 이 순간을 살아라' 상세페이지 이동

파운데이션 1 : 파운데이션

파운데이션 1 : 파운데이션

10,000 (0%)

'파운데이션 1 : 파운데이션' 상세페이지 이동

7가지 동시성 모델

7가지 동시성 모델

17,500 (0%)

'7가지 동시성 모델' 상세페이지 이동

딥러닝 텐서플로 교과서

딥러닝 텐서플로 교과서

19,600 (0%)

'딥러닝 텐서플로 교과서' 상세페이지 이동

데이터 중심 애플리케이션 설계

데이터 중심 애플리케이션 설계

26,000 (0%)

'데이터 중심 애플리케이션 설계' 상세페이지 이동

Tucker의 Go 언어 프로그래밍

Tucker의 Go 언어 프로그래밍

33,600 (0%)

'Tucker의 Go 언어 프로그래밍' 상세페이지 이동

게임 프로그래밍 패턴

게임 프로그래밍 패턴

24,500 (0%)

'게임 프로그래밍 패턴' 상세페이지 이동

이펙티브 C# (3판)

이펙티브 C# (3판)

17,500 (0%)

'이펙티브 C# (3판)' 상세페이지 이동

나는 4시간만 일한다

나는 4시간만 일한다

10,360 (0%)

'나는 4시간만 일한다' 상세페이지 이동

데이터 시각화 교과서

데이터 시각화 교과서

22,400 (0%)

'데이터 시각화 교과서' 상세페이지 이동

THE GOAL 2 (더골 2) - 국내 출간 17주년 기념 전면 개정판

THE GOAL 2 (더골 2) - 국내 출간 17주년 기념 전면 개정판

12,500 (0%)

'THE GOAL 2 (더골 2) - 국내 출간 17주년 기념 전면 개정판' 상세페이지 이동

밑바닥부터 시작하는 딥러닝 3

밑바닥부터 시작하는 딥러닝 3

30,400 (0%)

'밑바닥부터 시작하는 딥러닝 3' 상세페이지 이동

마스터 알고리즘

마스터 알고리즘

15,400 (0%)

'마스터 알고리즘' 상세페이지 이동

학교에서 알려주지 않는 17가지 실무 개발 기술

학교에서 알려주지 않는 17가지 실무 개발 기술

16,000 (0%)

'학교에서 알려주지 않는 17가지 실무 개발 기술' 상세페이지 이동

최소한의 선의

최소한의 선의

11,500 (0%)

'최소한의 선의' 상세페이지 이동

개발 7년차, 매니저 1일차

개발 7년차, 매니저 1일차

17,600 (0%)

'개발 7년차, 매니저 1일차' 상세페이지 이동

스프링 인 액션

스프링 인 액션

24,500 (0%)

'스프링 인 액션' 상세페이지 이동

모두의 알고리즘 with 파이썬

모두의 알고리즘 with 파이썬

11,200 (0%)

'모두의 알고리즘 with 파이썬' 상세페이지 이동

소개 책소개 보이기/감추기

목차 목차 보이기/감추기

CHAPTER 1 C# 언어 요소
아이템 1: 지역변수를 선언할 때에는 var를 사용하는 것이 낫다
아이템 2: const보다는 readonly가 좋다
아이템 3: 캐스트보다는 is, as가 좋다
아이템 4: string.Format()을 보간 문자열로 대체하라
아이템 5: 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라
아이템 6: nameof() 연산자를 적극 활용하라
아이템 7: 델리게이트를 이용하여 콜백을 표현하라
아이템 8: 이벤트 호출 시에는 null 조건 연산자를 사용하라
아이템 9: 박싱과 언박싱을 최소화하라
아이템 10: 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라

CHAPTER 2 .NET 리소스 관리
아이템 11: .NET 리소스 관리에 대한 이해
아이템 12: 할당 구문보다 멤버 초기화 구문이 좋다
아이템 13: 정적 클래스 멤버를 올바르게 초기화하라
아이템 14: 초기화 코드가 중복되는 것을 최소화하라
아이템 15: 불필요한 객체를 만들지 말라
아이템 16: 생성자 내에서는 절대로 가상 함수를 호출하지 말라
아이템 17: 표준 Dispose 패턴을 구현하라

CHAPTER 3 제네릭 활용
아이템 18: 반드시 필요한 제약 조건만 설정하라
아이템 19: 런타임에 타입을 확인하여 최적의 알고리즘을 사용하라
아이템 20: IComparable[T]와 IComparer[T]를 이용하여 객체의 선후 관계를 정의하라
아이템 21: 타입 매개변수가 IDisposable을 지원할 경우를 대비하여 제네릭 클래스를 작성하라
아이템 22: 공변성과 반공변성을 지원하라
아이템 23: 타입 매개변수에 대해 메서드 제약 조건을 설정하려면 델리게이트를 활용하라
아이템 24: 베이스 클래스나 인터페이스에 대해서 제네릭을 특화하지 말라
아이템 25: 타입 매개변수로 인스턴스 필드를 만들 필요가 없다면 제네릭 메서드를 정의하라
아이템 26: 제네릭 인터페이스와 논제네릭 인터페이스를 함께 구현하라
아이템 27: 인터페이스는 간략히 정의하고 기능의 확장은 확장 메서드를 사용하라
아이템 28: 확장 메서드를 이용하여 구체화된 제네릭 타입을 개선하라

CHAPTER 4 LINQ 활용
아이템 29: 컬렉션을 반환하기보다 이터레이터를 반환하는 것이 낫다
아이템 30: 루프보다 쿼리 구문이 낫다
아이템 31: 시퀀스에 사용할 수 있는 조합 가능한 API를 작성하라
아이템 32: Action, Predicate, Function과 순회 방식을 분리하라
아이템 33: 필요한 시점에 필요한 요소를 생성하라
아이템 34: 함수를 매개변수로 사용하여 결합도를 낮추라
아이템 35: 확장 메서드는 절대 오버로드하지 마라
아이템 36: 쿼리 표현식과 메서드 호출 구문이 어떻게 대응되는지 이해하라
아이템 37: 쿼리를 사용할 때는 즉시 평가보다 지연 평가가 낫다
아이템 38: 메서드보다 람다 표현식이 낫다
아이템 39: function과 action 내에서는 예외가 발생하지 않도록 하라
아이템 40: 지연 수행과 즉시 수행을 구분하라
아이템 41: 값비싼 리소스를 캡처하지 말라
아이템 42: IEnumerable[T] 데이터 소스와 IQueryable[T] 데이터 소스를 구분하라
아이템 43: 쿼리 결과의 의미를 명확히 강제하고, Single()과 First()를 사용하라
아이템 44: 바인딩된 변수는 수정하지 말라

CHAPTER 5 예외 처리
아이템 45: 메서드가 실패했음을 알리기 위해서 예외를 이용하라
아이템 46: 리소스 정리를 위해 using과 try/finally를 활용하라
아이템 47: 사용자 지정 예외 클래스를 완벽하게 작성하라
아이템 48: 강력한 예외 보증을 준수하는 것이 좋다
아이템 49: catch 후 예외를 다시 발생시키는 것보다 예외 필터가 낫다
아이템 50: 예외 필터의 다른 활용 예를 살펴보라

출판사 리뷰 출판사 리뷰 보이기/감추기

C# 개발자를 위한 ‘알아두면 쓸모있는 신비한 팁 50가지’
이 책의 초판이 국내에 소개된 지도 벌써 10여 년이 지났다. 그 사이에 C# 커뮤니티는 폭발적으로 성장했고, 수많은 개발자가 주요 언어로 C#을 사용하게 되면서 개발 영역도 확대되었다. 이러한 가운데 저자는 6.0 이상의 최신 C#을 효율적으로 사용하는 방법에 초점을 맞추어 새롭게 이번 3판을 준비했다. 이전 판에서 다뤘지만 더 이상 유용하지 않은 항목들은 과감히 쳐냈고, C#과 .NET Framework에 새롭게 추가된 내용과 C# 커뮤니티의 축적된 경험을 정리하여 새로운 항목으로 구성했다.

이 책의 대상 독자는 C#을 주요 언어로 사용하는 전문 개발자다. 따라서 이미 C#의 문법과 언어 기능을 충분히 숙지하고 있는 개발자가 읽는다는 가정하에 쓰였다. C# 자체의 기능을 세부적으로 설명하기보다는, 그러한 기능을 개발 현장에서 어떻게 적용하고 문제를 해결할 수 있을지를 알려준다. 나아가 C#의 최신 기능을 이용하여 양질의 코드를 작성하는 방법을 안내한다.

이 책의 초판과 3판을 모두 번역한 김명신 역자는 국내에서 .NET 기술과 관련해 최고봉을 다툴 정도로 조예가 깊은 개발자다. 다수의 개발서를 집필/번역한 임백준 저자의 표현대로, 빌 와그너라는 걸출한 저자와 김명신이라는 뛰어난 프로그래머 역자의 조합은 독자에게 좀처럼 만나기 어려운 축복이다. 성능과 효율을 고려하면서 우아한 코딩을 하고 싶은 개발자라면, 매끄럽게 술술 읽히는 이 번역서를 통해 흥미로운 팁을 잔뜩 얻을 것이다.

★ 주요 내용
1장- C# 언어의 명세를 넘어 관용적으로 사용되는 주요 표현 방법
2장- .NET에서 효율적으로 리소스를 관리하는 데 꼭 알아야 할 상세 내용
3장- 재사용성과 성능 향상에 필요한 제네릭 항목들
4장- C#의 독특한 특징이자 강력한 기능을 제공하는 LINQ 활용법
5장- 안정적인 애플리케이션 개발에 필요한 예외 처리 기법

추천평 추천평 보이기/감추기

1990년대 중반부터 자바로 많은 개발업무를 수행해온 나는 2000년대 후반에 들어서 본격적으로 C#을 익혔다. 아마 3.5 버전이었을 텐데 매우 신선했다. 2000년대 초반에 1.0 버전이 나왔을 때 C#은 자바를 흉내낸 언어에 불과했다. 하지만 2000년대 후반에는 이미 발전이 정체된 자바를 뛰어넘었다. C#은 자바의 닮은꼴로 시작했지만 지금은 스칼라와 더 많은 공통점을 가지고 있을 정도로 진보를 거듭했다. 스칼라를 만든 마틴 오더스키가 스칼라를 발전시키는 과정에서 C#의 영향을 일부 받았다고 밝혔을 정도다.
나는 C# 5.0이 등장한 2013년을 전후해서 스칼라를 주로 사용하게 되었고, 따라서 2017년에 발표된 7.0은 물론 2015년에 발표된 6.0의 기능조차 제대로 알고 있지 못하다. 로슬린 컴파일러나 async-await 정도가 내가 기억하는 C#의 마지막 혁신이다. 이 책은 바로 나처럼 C# 6.0 이후의 언어적 특성이 궁금한 사람이 읽으면 좋은 책이다. 유명한 ‘Effective’ 시리즈물의 장점도 생생하게 살아있다.
처음 C#을 공부하던 시절 내가 좋아한 저자가 3명 있었다. 그들의 이름은 빌 와그너(Bill Wagner), 조 알바하리(Joe Albahari), 그리고 존 스키트(Jon Skeet)였다. 와그너는 물론 이 책을 쓴 저자다. 조 알바하리는 오라일리에서 나오는 C# 책의 저자인데 그가 만든 링큐패드 (LINQPad)라는 편집기를 가지고 많은 학습용 코드를 작성했던 기억이 있다. 존 스키트는 설명이 필요없는 업계의 고수다. 스택오버플로에서 최고의 포인트를 보유하고 있는 그는 일반대중이 척 노리스를 가지고 농담을 만들어내는 것처럼 프로그래머 사이에서 존 스키트 농담의 대상으로 이용된다. “존 스키트는 0으로 나눌 수 있다”는 식의 농담이다.
그 무렵에 닷넷락스(.NETRocks!)라는 팟캐스트 방송을 열심히 들었는데, 앞의 세 명은 종종 방송에 등장해서 C#을 공부하는 사람들에게 많은 도움과 영감을 주었다. var 키워드를 놓고 와그너와 스키트는 가벼운 논쟁을 벌이기도 했다. 나는 미국에서 일했기 때문에 이런 저자들의 글과 말을 모두 영어로 소비했다. 세 사람은 영어로 표현하는 방식이 매우 간결하고 이해하기 쉽다는 공통점을 가지고 있다. 내가 세 사람을 특별히 좋아하는 이유다. 기술적으로 심오한 이야기는 조금만 잘못해도 씹을 수 없을 정도로 딱딱하게 굳기 마련이다. 그걸 부드럽게 풀어서 다른 사람이 소화하기 편하게 만들어주는 능력에 커다란 가치를 부여하는 나로서는 특히 와그너의 ‘Effective’ 시리즈가 최고다.
와그너의 책을 우리말로 번역한 버전은 이번에 처음 읽었다. 그리고 놀랐다. 번역이 부드럽게 잘 되어 있어서 원서로 읽을 때보다 내용이 더 잘 이해되는 것이다. 번역 자체가 가지고 있는 한계 때문에 영어권에서 생활하는 사람에게 원서보다 역서가 더 잘 읽히는 경우는 드물다. 그 어려운 일을 김명신 역자가 해낸 것이다. 그럴 수 있는 것이, 김명신 역자는 그냥 역자가 아니라 스스로 국내에서 닷넷 기술에 관한 한 최고봉을 다툴 정도로 조예가 깊은 사람이기 때문이다. 빌 와그너라는 걸출한 저자와 김명신이라는 뛰어난 프로그래머 역자의 조합은 독자에게 좀처럼 만나기 어려운 축복이다. 이 정도 조합이면 닷넷 기술을 쓰지 않는 사람이라고 해도 이 책은 무조건 읽어야 옳다. 이 책을 읽고 나면 프로그래밍 실력이 두 눈금 정도 향상될 것이다. 내 이름을 걸고 약속한다.
우면동에서, 임백준

오랜만에 출간되는 C# 관련 Effective 서적이다. 10여 년 전에 출간된 『Effective C#(1판)』과 마찬가지로 알아두면 쓸모있는 재치있는 팁들로 채워져 있다. 물론 Effective 시리즈답게 이제 막 개발을 시작하는 이들에게는 다소 어려울 수 있는 내용이겠지만, 이미 C#을 사용하고 있는 개발자라면 상당히 도움될 만한 흥미로운 팁들로 잔뜩 채워져 있다. 특히 성능과 효율을 고려하면서 우아한 코딩을 하고 싶은 개발자라면 이 책에서 설명하는 다양한 기법이 좋은 팁이 될 것이다. 또한, 예상보다 읽기에 그렇게 부담스러운 서적은 아니기에 ‘오홍~’ 하면서 편하게 읽어볼 수 있을 듯하며, 어쩌면 읽을 때마다 새로운 깨달음을 얻을 수 있을지도 모른다. 그렇기에 여력이 된다면 시간을 두고 천천히 여러 번 보시기를 조심스럽게 권해 본다.

김태영(Taeyo)

개발자라면 항상 효율과 생산성 측면에서 수많은 고민을 거듭하게 된다. 통상은 같은 개발 언어와 플랫폼을 사용하는 다른 개발자들과의 소통을 통하여 고민거리를 공유하고 조언이나 경험담을 통하여 문제를 해결하거나 고민을 해소하게 된다. 아마도 개발자들이 커뮤니티, 콘퍼런스와 개발 서적 등에 목말라 하는 이유가 거기에 있지 않을까 하는 생각이 든다. 안타깝게도 국내에서는 이러한 고민의 무게를 덜어줄 수 있는 전문 개발 서적은 전혀 없다시피 하다. 이런 환경에 비추어보면, 『Effective C#』의 세 번째 개정판 출간은 매우 놀랍고도 환영할 만한 일이다. 게다가 C# 전문가인 김명신 님의 훌륭한 번역까지 더해졌으니 더할 나위 없다. 한 걸음 더 나아가고자 하는 개발자들에게 일독을 권한다.

회원리뷰 (3건) 회원리뷰 이동

한줄평 (7건) 한줄평 이동

총 평점 10.0점 10.0 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 구매후 즉시 다운로드 가능
  •  배송비 : 무료배송
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
뒤로 앞으로 맨위로 공유하기