| 000 | 01008namccc200289 k 4500 | |
| 001 | 000000885321 | |
| 005 | 20100806103548 | |
| 007 | ta | |
| 008 | 040622s2004 ulka 001a kor | |
| 020 | ▼a 8956741867 ▼g 98000: ▼c \25000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211010 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.1 ▼2 21 |
| 090 | ▼a 005.1 ▼b 2004b | |
| 100 | 1 | ▼a Spinellis, Diomidis |
| 245 | 1 0 | ▼a Code reading : ▼b 오픈소스 관점에서 본 코드 읽기 / ▼d Diomidis Spinellis 저 ; ▼e 류광 역. |
| 246 | 1 9 | ▼a Code reading : the open source perspective |
| 260 | ▼a 서울 : ▼b 정보문화사 , ▼c 2004. | |
| 300 | ▼a 604 p. : ▼b 삽도 ; ▼c 24 cm + ▼e CD-ROM 1매. | |
| 440 | 0 0 | ▼a Effective software development series |
| 500 | ▼a 부록: A. 부록 CD에 수록된 소스 코드 개관 外 | |
| 500 | ▼a 원저자명: Spinellis, Diomidis | |
| 534 | ▼p 원본출판사항: ▼c Boston, MA : Addison-Wesley, c2003 . ▼z 0201799405 (pbk. : alk. paper) | |
| 650 | 0 | ▼a Computer programming. |
| 650 | 0 | ▼a Coding theory |
| 700 | 1 | ▼a 류광 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.1 2004b | 등록번호 111299335 (6회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 중앙도서관/교육보존B/보건 | 청구기호 005.1 2004b | 등록번호 141037082 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 3 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2004b | 등록번호 121095440 (22회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.1 2004b | 등록번호 111299335 (6회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 중앙도서관/교육보존B/보건 | 청구기호 005.1 2004b | 등록번호 141037082 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2004b | 등록번호 121095440 (22회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
저자소개
디오미디스 스피넬리스(지은이)
아테네 경제경영 대학교의 경영과학 및 기술학과 교수다. 주요 연구 분야는 소프트웨어 공학, IT 보안, 클라우드 시스템 공학이다. 2004년과 2007년에 각각 소프트웨어 개발 생산성 어워드를 수상한 『Code Reading』과 『Code Quality』의 저자이기도 하다. 200편 이상의 논문을 저널과 학회지에 게재했으며 2,500건 이상 인용됐다. 십 년간 「IEEE Software」의 편집 위원으로 활동하면서 정기 칼럼인 'Tools of the Trade'에 글을 기고했다. macOS와 BSD 유닉스에 그가 작성한 코드가 탑재되었으며, UMLGraph, CScout를 비롯한 다양한 오픈소스 소프트웨어 패키지, 라이브러리, 도구를 개발했다. 임페리얼 칼리지 런던에서 소프트웨어 공학 석사와 컴퓨터 과학 박사를 취득했다. ACM과 IEEE의 시니어 멤버다. 2015년 1월부터 현재까지 「IEEE Software」의 편집장을 맡고 있다.
류광(옮긴이)
도널드 커누스 교수의 『컴퓨터 프로그래밍의 예술』 시리즈를 비롯해 90여 권의 다양한 IT 전문서를 번역한 전문 번역가이다. 이 책과 연관된 번역서로는 『플랫폼 엔지니어링』, 『클라우드 시스템을 관리하는 기술』, 『유연한 소프트웨어를 만드는 설계 원칙』(이상 한빛미디어) 등이 있다. 개인 웹사이트 류광의 번역 이야기(https://occamsrazr.net)와 IT 및 게임 개발 정보 공유 사이트 GpgStudy (https://gpgstudy.com)를 운영한다.
목차
목차 머리말 = 13 서문 = 16 제1장. 도입 1.1 코드를 왜, 어떻게 읽어야 하나 = 24 1.1.1 문학으로서의 코드 = 24 1.1.2 본보기로서의 코드 = 28 1.1.3 유지보수 = 29 1.1.4 진화 = 30 1.1.5 재사용 = 32 1.1.6 검토 = 33 1.2 이 책을 읽는 방법 = 34 1.2.1 편집, 조판 관례 = 34 1.2.2 다이어그램 = 36 1.2.3 연습 문제 = 37 1.2.4 보충 자료 = 38 1.2.5 도구들 = 38 1.2.6 개요 = 39 1.2.7 격렬한 언어 논쟁 = 39 더 읽을거리 = 41 제2장. 기본적인 프로그래밍 요소들 2.1 하나의 완전한 프로그램 = 45 2.2 함수와 전역 변수 = 52 2.3 while 루프, 조건문, 블럭 = 56 2.4 switch 문 = 60 2.5 for 루프 = 62 2.6 break 문과 continue 문 = 66 2.7 문자와 부울 표현식 = 68 2.8 goto 문 = 73 2.9 작은 규모의 리팩토링 = 75 2.10 do 루프와 정수 표현식 = 82 2.11 다시 제어 구조로 = 85 더 읽을거리 = 93 제3장. 고급 C 자료형 3.1 포인터 = 97 3.1.1 연결된 자료구조 = 98 3.1.2 자료구조의 동적 할당 = 98 3.1.3 참조 전달 호출 = 99 3.1.4 자료 원소 접근 = 101 3.1.5 함수의 인수와 반환값으로서의 배열 = 102 3.1.6 함수 포인터 = 104 3.1.7 별칭으로서의 포인터 = 106 3.1.8 포인터와 문자열 = 108 3.1.9 메모리에 직접 접근 = 110 3.2 구조체 = 111 3.2.1 자료 요소들을 한데 묶기 = 112 3.2.2 한 함수에서 여러 개의 자료 요소들을 반환 = 112 3.2.3 자료 조직화를 표현 = 113 3.2.4 객체 지향 방식의 프로그래밍 = 114 3.3 공용체 = 117 3.3.1 저장 효율성 = 117 3.3.2 다형성의 구현 = 118 3.3.3 서로 다른 내부 표현들에 접근 = 119 3.4 동적 메모리 할당 = 121 3.4.1 메모리 해제의 관리 = 124 3.4.2 동적으로 할당된 배열을 가진 구조체 = 126 3.5 typedef 선언 = 128 더 읽을거리 = 130 제4장. C 자료구조 4.1 벡터 = 136 4.2 행렬과 테이블 = 141 4.3 스택 = 145 4.4 대기열 = 148 4.5 맵 = 152 4.5.1 해시 테이블 = 154 4.6 집합 = 157 4.7 연결된 목록 = 159 4.8 트리 = 167 4.9 그래프 = 173 4.9.1 노드의 저장 = 174 4.9.2 간선의 표현 = 177 4.9.3 간선의 저장 = 179 4.9.4 그래프의 특성 = 181 4.9.5 숨겨진 구조 = 182 4.9.6 다른 표현 방식들 = 183 더 읽을거리 = 183 제5장. 고급 제어 구조 5.1 재귀 = 187 5.2 예외 = 195 5.3 병렬성 = 200 5.3.1 하드웨어 병렬성과 소프트웨어 병렬성 = 200 5.3.2 제어 모형들 = 203 5.3.3 여러 가지 스레드 구현들 = 209 5.4 신호 = 213 5.5 비국소 점프 = 218 5.6 매크로 치환 = 221 더 읽을거리 = 227 제6장. 대형 프로젝트 공략 6.1 설계 및 구현 기법들 = 231 6.2 프로젝트 조직화 = 234 6.3 빌드 공정과 makefile = 243 6.4 구성 = 253 6.5 리비전 제어 = 258 6.6 프로젝트 전용 도구들 = 267 6.7 테스팅 = 273 더 읽을거리 = 282 제7장. 코딩 표준과 관례 7.1 파일 이름과 조직화 = 285 7.2 들여쓰기 = 288 7.3 포매팅 = 290 7.4 명명 규약 = 294 7.5 프로그래밍 관행 = 298 7.6 공정 표준 = 300 더 읽을거리 = 301 제8장. 문서화 8.1 문서화 종류 = 305 8.2 문서 읽기 = 307 8.3 문서화의 문제점들 = 320 8.4 추가적인 문서화 자료 = 322 8.5 일반적인 오픈소스 문서화 형식들 = 326 더 읽을거리 = 334 제9장. 아키텍처 9.1 시스템 구조 = 337 9.1.1 중앙집중적 저장소와 분산된 접근방식 = 338 9.1.2 자료 흐름 아키텍처 = 343 9.1.3 객체 지향적 구조 = 346 9.1.4 계층적 아키텍처 = 350 9.1.5 계통구조 = 353 9.1.6 분할 = 354 9.2 제어 모형들 = 357 9.2.1 사건 주도적 제어 구조 = 358 9.2.2 시스템 관리자 = 362 9.2.3 상태 전이 = 364 9.3 요소의 패키징 = 367 9.3.1 모듈 = 368 9.3.2 이름공간 = 370 9.3.3 객체 = 375 9.3.4 일반화된 구현 = 390 9.3.5 추상 자료형 = 393 9.3.6 라이브러리 = 394 9.3.7 프로세스와 필터 = 398 9.3.8 구성요소 = 401 9.3.9 자료 저장소 = 401 9.4 아키텍처 재사용 = 405 9.4.1 프레임웍 = 406 9.4.2 코드 마법사 = 407 9.4.3 설계 패턴 = 408 9.4.4 특정 영역 전용 아키텍처 = 411 더 읽을거리 = 415 제10장. 코드 읽기 도구 10.1 정규 표현식 = 422 10.2 코드 브라우저로서의 편집기 = 425 10.3 grep을 이용한 코드 검색 = 429 10.4 파일 차이 보기 = 438 10.5 자작 도구 = 440 10.6 코드 읽기 도구로서의 컴파일러 = 443 10.7 코드 브라우저와 미화기 = 450 10.8 실행 시점 도구들 = 455 10.9 비 소프트웨어 도구들 = 461 사용할 수 있는 도구 정보와 더 읽을거리 = 463 제11장. 완전한 예제 하나 11.1 개요 = 467 11.2 공략 계획 = 469 11.3 코드 재사용 = 470 11.4 테스팅과 디버깅 = 477 11.5 문서화 = 484 11.6 관찰 = 485 부록 A. 부록 CD에 수록된 소스 코드 개관 부록 B. 소스 코드 크레디트 부록 C. 본문에 언급된 소스 파일들 부록 D. 소스 코드 사용권 정보 D.1 ACE = 511 D.2 Apache = 513 D.3 Argo UML = 514 D.4 DemoGL = 515 D.5 hsqldb = 516 D.6 Net BSD = 517 D.7 OpenCL = 517 D.8 Perl = 518 D.9 qtchat = 522 D.10 socket = 522 D.11 vcf = 522 D.12 X Window System = 523 부록 E. 코드 읽기 격언들 1장: 도입 = 527 2장: 기본적인 프로그래밍 요소들 = 529 3장: 고급 C 자료형 = 531 4장: C 자료구조 = 533 5장: 고급 제어 구조 = 535 6장: 대형 프로젝트 공략 = 537 7장: 코딩 표준과 관례 = 539 8장: 문서화 = 540 9장: 아키텍처 = 542 10장: 코드 읽기 도구 = 546 11장: 완전한 예제 하나 = 550 참고문헌 = 551 인용구 출처 = 572 찾아보기 = 574 저자 찾아보기 = 600



