
000 | 00783namccc200277 k 4500 | |
001 | 000000825741 | |
005 | 20100806124532 | |
007 | ta | |
008 | 030701s2003 ulka 001a kor | |
020 | ▼a 8980545134 ▼g 93000 : ▼c \15,000 | |
035 | ▼a KRIC08745685 | |
040 | ▼a 224003 ▼d 224003 ▼d 211009 | |
049 | 1 | ▼l 121083043 ▼f 과학 |
082 | 0 4 | ▼a 005.133 ▼2 21 |
090 | ▼a 005.133 ▼b J41 2003x | |
100 | 1 | ▼a Allen, Eric |
245 | 1 0 | ▼a 버그 패턴과 자바 / ▼d Eric Allen 저 ; ▼e 천영환 역. |
246 | 1 9 | ▼a Bug patterns in Java |
260 | ▼a 서울 : ▼b 인포북 , ▼c 2003. | |
300 | ▼a 298 p. : ▼b 삽도 ; ▼c 24 cm. | |
500 | ▼a 색인 수록 | |
500 | ▼a 부록: A.문자열 분석 리스트 생성자, B.용어정리 | |
504 | ▼a 참고문헌 : p.[269]-276 | |
700 | 1 | ▼a 천영환, ▼e 역 |
700 | 1 | ▼a 앨런, 에릭 |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Stacks 5(Eastern Books)/ | Call Number 005.133 J41 2003x | Accession No. 121083043 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
내가 늘 하는 실수를 다른 사람도 똑같이 저지른다. 일반적으로 하기 쉬운 실수를 알고 대비한다면, 버그 때문에 골치아파하는 시간들을 줄일 수 있지 않을까? 이 책은 자바 개발자들이 덜 고생하면서 자신이 만들고자 하는 프로그램에 집중할 수 있도록 도와준다.
빠르게 버그를 진단하고 제거할 수 있도록 익스트림 프로그래밍(XP, Extream Programming) 방식을 적용하여 소프트웨어를 디자인하고 통합하는 방법, 코드와 디버깅 방식을 개선할 수 있는 과학적인 접근법, 그리고 대표적인 13가지 형태의 버그와 이에 대한 해결책, 예방책을 제시한다.
Information Provided By: :

Author Introduction
Table of Contents
목차 용어대역표 = 11 소개 = 15 시작하면서 = 19 Chapter 1 혼돈의 시대에서 살아남는 법 소프트웨어 디자인, 구현, 유지보수의 최신 경향 = 24 모두가 안정되고 안전한 시스템을 원하게 되다 = 24 기존 소프트웨어 공학의 한계점을 알게 되다 = 25 오픈소스 프로젝트에서 새로운 가능성을 발견하다 = 26 플랫폼에 독립적인 언어가 필수적이 되다 = 27 뛰는 세상, 날아서 따라잡기 = 27 버그 패턴을 알아보자 : 왜 꼭 버그 패턴이어야만 하는가 = 28 이 장을 마치며 = 29 Chapter 2 버그, 명세 그리고 구현 버그란 무엇인가 = 32 완벽하게 작성된 명세 = 33 C++ = 34 파이썬 = 34 ML = 35 파스칼 = 35 왜 명세가 필요한가 = 36 구현은 명세가 아니다 = 38 스토리를 사용하여 효과적으로 명세 작성하기 = 39 명세상의 오류를 잡아내는 힘. 테스트! 테스트! 테스트! = 42 단위 테스트가 만능은 아니다. = 51 이 장을 마치며 = 51 Chapter 3 디버깅과 개발 과학 실험 같은 디버깅을 하자 = 54 소프트웨어를 단계별로 명세화하고 통합하며, 릴리즈(Release)할 수 있다. = 54 디자인을 최대한 단순하게 유지할 수 있다. = 55 짝(Pair)을 이루어 프로그래밍한다. = 55 고객이 항상 개발에 도움을 줄 수 있다. = 57 모든 개발자들이 코드를 공유한다. = 57 쪼갤 수 있는 모든 부분에 대해 테스트한다. = 58 합체! 단위 테스트와 디버그 테스트 = 58 미래의 언어 : 테스트 지향 언어 = 60 이 장을 마치며 = 60 Chapter 4 디버깅과 테스트, 어떻게 진행할까? 손쉬운 테스트를 위한 디자인 = 64 테스트 코드를 뷰가 아닌, 모델에 집중하기 = 65 정적 타입 검사를 활용한 오류 잡아내기 = 65 매개자(Mediator)를 사용하여 각 컴포넌트를 넘나들어야 하는 기능 캡슐화하기 = 66 매소드의 시그니처(Signature) 단순화하기 = 67 메모리 상태를 바꾸지 않는 접근자(Accessor) 사용하기 = 67 인터페이스를 사용하여 구현이 덜 된 부분 메워넣기 = 68 테스트부터 작성하기 = 68 GlobalModel 인터페이스 = 69 이 장을 마치며 = 76 Chapter 5 디버깅에 관한 과학적 고찰 소프트웨어, 그 영원 불변함에 대하여 = 78 좀 더 빠른 버그 진단을 위한 버그 패턴 = 82 이 장을 마치며 = 84 Chapter 6 버그 패턴에 대하여 왜 패턴을 알아야 하는가 = 88 이 책에서 다루는 버그 패턴의 기준은 = 88 버그 패턴은 어떻게 구성되는가 = 89 빠르게 찾는 문제 해결법 = 89 Chapter 7 누더기 타일(Rogue Tile) 이 버그 패턴에 대해 = 96 증상 = 97 원인, 해결책 그리고 예방책 = 97 코드의 개선을 방해하는 것들 = 104 제네릭 타입(Generic Types) = 104 형체 지향 프로그래밍(Aspect-Oriented Programming) = 107 이 장을 마치며 = 108 Chapter 8 시도 때도 없는 버그 널 포인터(Null Pointer) NullPointerException은 아무 것도 말해주지 않는다 = 112 NullPointerException은 음험한 곳에 숨어산다 = 112 Chapter 9 미결합 컴포지트(DanglingComposite) 미결합 컴포지트에 대하여 = 116 증상 = 117 원인 = 117 해결책과 예방책 = 122 이 장을 마치며 = 125 Chapter 10 널 플래그(Null Flag) 이 버그 패턴에 대해 = 128 증상 = 129 원인 = 129 해결책과 예방책 = 131 진검승부 - 프로그램의 견고함과 진단의 편리함 = 133 예외 처리를 위한 최적의 장소 = 133 기존에 작성한 코드에 널 플래그가 있다면? = 134 이 장을 마치며 = 134 Chapter 11 이중 하향 참조(Double Descent) 이 버그 패턴에 대해 = 138 증상 = 140 원인 = 141 해결책과 예방책 = 141 이 장을 마치며 = 144 Chapter 12 거짓 뷰(Liar View) 이 버그 패턴에 대하여 = 149 증상 = 149 원인 = 150 해결책과 예방책 = 153 GUI 코드에만 이런 문제가 있는 것은 아니다 = 158 이 장을 마치며 = 159 Chapter 13 파괴 데이터(Saboteur Data) 이 버그 패턴에 대해 = 163 증상 = 163 문법적 원인 = 163 의미적 원인 = 165 해결책과 예방책 = 166 이 장을 마치며 = 168 Chapter 14 고장난 디스패치(Broken Dispatch) 이 버그 패턴에 대해 = 173 증상 = 174 원인 = 177 해결책과 예방책 = 178 이 장을 마치며 = 179 Chapter 15 사기꾼 타입(Impostor Type) 이 버그 패턴에 대해 = 182 증상 = 183 원인 = 185 해결책과 예방책 = 185 어설픈 절충안 = 186 이 장을 마치며 = 188 Chapter 16 분리된 자원 회수기(Splite Cleaner) 이 버그 패턴에 대해 = 193 증상 = 195 원인 = 196 해결책과 예방책 = 196 이 장을 마치며 = 198 Chapter 17 가짜 구현(Fictitious Implementation) 이 버그 패턴에 대해 = 200 증상 = 201 원인 = 201 가짜 구현 버그 패턴을 찾아라 = 202 해결책과 예방책 = 202 이 장을 마치며 = 208 Chapter 18 고아 쓰레드(Orphaned Thread) 이 버그 패턴에 대해 = 213 증상 = 214 원인 = 215 해결책과 예방책 = 215 GUI에서의 고아 쓰레드 = 221 다중 쓰레드 환경에서의 단위 테스트 = 222 이 장을 마치며 = 223 Chapter 19 추가 초기화(Run-On Initialization) 이 버그 패턴에 대해 = 226 증상과 원인 = 226 해결책과 예방책 = 229 때로는 돌아가는 것이 현명할 때도 있다 = 239 이 장을 마치며 = 239 Chapter 20 플랫폼에 종속적인 버그 패턴들 플랫폼에 종속적인 버그들 = 242 벤더에 종속적인 버그 = 243 버전에 종속적인 버그 = 245 운영체제에 종속적인 버그 = 246 이 장을 마치며 = 248 Chapter 21 진단용 체크 리스트 일반적인 개념들을 위한 체크 리스트 = 250 버그 패턴을 위한 체크 리스트 = 251 Chapter 22 디버깅을 위한 디자인 패턴 정적 타입 검사를 최대화하라 = 258 바뀌지 않는 모든 필드를 final로 선언하라 = 259 절대로 오버라이드 하지 않는다면 메소드를 final로 선언하라 = 260 기본 값에 대한 클래스를 포함하라 = 260 검사형 예외를 사용하여 코드를 사용하는 측에서 예외적인 상황에 대비할 수 있도록 하라 = 261 여러 가지 예외 상황에 대해서는 새로운 예외를 정의하라 = 261 일련의 고정된 상태를 가진 클래스의 인스턴스들을 각각 컴포지트 계층구조상의 클래스로 나누어라 = 261 캐스트 연산과 instanceof 연산을 최소화하라 = 262 instanceof 연산을 최소화하려면 싱글톤 디자인 패턴을 사용하라 = 262 오류의 가능성을 최소화하라 = 263 공통적인 부분에 대한 코드를 따로 뽑아내라 = 264 공통적인 부분에 대한 코드를 따로 뽑아내라 = 264 가능하다면 메소드는 순수하게 기능만을 담아라 = 264 모든 필드는 생성자에서 초기화하라 = 265 예외적인 상황에 대해서는 예외를 사용하라 = 265 오류에 대해서는 최대한 빨리 그 사실을 알려라 = 265 최대한 오류는 빨리 걸러내라 = 265 가정 설정문을 사용하라 = 266 테스트 방식은 가능한한 사용자가 사용하는 그 방식 그대로 진행하라 = 266 공통적인 부분에 대한 코드를 따로 뽑아내라 = 266 아직 끝나지 않은 이야기 = 266 Chapter 23 참고자료 웹 사이트 = 269 서적 = 274 Appendix A 문자열 분석 리스트 생성자 Appendix B 용어 정리 찾아보기 = 293