옮긴이의 글 = 3 쇼를 시작하며 = 4 1장 기본에 숨겨진 함정 = 15 1.1 선수 선서는 반드시 처음에 하자 : 선언 처리 = 16 1.2 트랙에 흰 선을 그리자 : 데이터 구조 정의 = 25 1.3 개회식 다음은 선수 선서 : 순차 처리 = 36 1.4 A코트는 테니스지만 B코트는 배드민턴 : 병렬 처리 = 45 1.5 네트를 정리하면서 공 준비하기 : 비동기 처리 = 53 1.6 잊지 말고 뒤처리하기 : 강제 종료 = 61 1.7 선수가 규칙에 어긋난 행동을 하면 : 예외 처리 = 70 1.8 경기 해설자는 정말 필요한가 : 주석 = 77 2장 기본 기능 = 85 2.1 루프의 버그는 경계에 숨어있다 = 86 2.2 계속 변하는 조건의 함정 = 93 2.3 Format 메서드의 함정 = 102 2.4 서식 변경과 중괄호 = 106 2.5 checked 컨텍스트의 장단점 = 114 2.6 unsafe 컨텍스트는 필요한가? = 127 2.7 포인터 망상 = 131 2.8 switch와 데이터형 = 141 2.9 goto의 위기 : 안전한 사용법과 위험한 사용법 = 150 2.10 예외를 캐치하는 이유와 캐치하지 않는 이유 = 160 2.11 TryParse에서 결과를 보지 않는 경우 = 165 2.12 다른 형에 대입하기 = 171 2.13 아무것도 하지 않는 객체 = 177 2.14 테스트와 목(mock) = 184 3장 LINQ = 191 3.1 First와 FirstOrDefault 중 선택은? = 192 3.2 First와 Single 중 선택은? = 197 3.3 OrderBy와 Sort 중 선택은? = 204 3.4 배열과 IEnumerable〈T〉중 선택은? = 210 3.5 여러 개의 짧은 쿼리와 하나의 긴 쿼리 중 선택은? = 217 3.6 로컬 쿼리와 리모트 쿼리 중 선택은? = 228 3.7 Cast와 OfType 중 선택은? = 233 3.8 ToArray와 ToList 중 선택은? = 238 3.9 Length/Count와 Count() 중 선택은? = 246 3.10 애저의 위기 : Take는 되지만 Skip은 안 된다? = 252 3.11 식을 동적으로 구축해서 한계를 돌파하자! = 256 3.12 인스턴스화는 필요한가? = 260 3.13 열거 데이터의 순서를 변경할 수 있는가? = 266 4장 코드 비교를 통해 차이점 배우기 = 271 4.1 object vs. dynamic = 272 4.2 초등학생도 작성할 수 있는 프로그램 vs. 초등학생은 작성할 수 없는 프로그램 = 277 4.3 문과생도 작성할 수 있는 프로그램 vs. 문과생은 작성할 수 없는 프로그램 = 282 4.4 논리적으로 사고하는 사람 vs. 논리적으로 사고하지 않는 사람 = 285 4.5 돈을 밝히는 프로 vs. 쿨한 매니아 = 290 4.6 소통이 원활한 팀 vs. 소통이 원활하지 않은 팀 = 294 4.7 긴 코드 vs. 짧은 코드 = 301 4.8 심리적으로 안정적인 코드 vs. 심리적으로 불안한 코드 = 306 4.9 의존성을 분리한다? vs. 분리하지 않는다? = 310 4.10 캡처 실수! = 315 4.11 지역 변수의 좀비화 = 321 4.12 전용 DLL은 필요하다? 필요하지 않다? = 325 4.13 고정된 쿼리 식 vs. 움직이는 쿼리 식 = 328 4.14 식은 실행하기 전까지는 알 수 없다 = 332 4.15 위임형을 정의해야 한다? = 339 5장 클라우드 = 345 5.1 스토리지의 두 가지 키 사용법 = 346 5.2 애저 스토리지는 미로? = 352 5.3 애저 테이블의 전방 일치 = 356 5.4 애저 테이블에서 복수 조건의 OR 일치 = 359 5.5 ETag로 확실한 수정을! = 363 5.6 애저 블롭의 메타 데이터 = 367 5.7 Worker 롤(role)은 정말 필요한가? = 370 5.8 나는 몇 번째 인스턴스? = 373 5.9 WebApp으로 스케일 아웃하는 방법 = 375 6장 코드 예를 보면서 진상 파헤치기 = 379 6.1 버그를 수정했는데 이유를 모른다? = 380 6.2 분명하지만 활용할 수 없는 조언 = 386 6.3 한 글자라도 변경하면 처음부터 다시 테스트? = 391 6.4 ''동작한다''는 것은 마일스톤일 뿐이다 = 395 6.5 페일 세이프 개념 = 399 6.6 테스트는 부분적으로? 또는 전체적으로? = 404 6.7 웹 시스템과 테스트 문제 = 411 6.8 GUI와 테스트 문제 = 416 6.9 몽키 테스트는 의미가 있는가? = 421 6.10 목(mock)를 사용하는 의미가 있는가? = 426 6.11 테스트를 전제로 한 설계 방법 = 430 6.12 마침표와 쉼표 실수 = 434 마침표 = 437 문제 해설 = 439 인덱스 = 467