기획의 말 ... 4 저자 서문 ... 5 CD 수록 내용 ... 6 학습로드맵 ... 8 part 1. 유틸리티 기본 사용 방법 Chapter 1 소프트웨어 개발 자동화 Section 01 일하기 편한 환경 만들기 ... 22 Section 02 버전 관리 시스템 ... 26 버전 관리 시스템의 필요성 ... 26 버전 관리 시스템의 유형 ... 27 주요 버전 관리 시스템들 ... 28 버전 관리 시스템의 용어들 ... 31 Subversion 저장소에 대한 이해 ... 32 Subversion 저장소의 디렉터리 배치 ... 32 Section 03 이슈 관리 시스템 ... 35 이슈 관리 시스템의 필요성 ... 35 이슈 관리 시스템의 종류 ... 36 Section 04 빌드 자동화 시스템 ... 38 빌드 자동화 시스템의 필요성 ... 38 빌드 자동화 시스템의 종류 ... 38 Chapter 2 Subversion으로 소스 코드 관리하기 Section 01 Subversion 설치 ... 42 Subversion 다운로드 ... 42 Subversion 설치 ... 43 TortoiseSVN 설치 ... 48 Section 02 저장소 만들기 ... 53 저장소 만들기 ... 53 저장소 설정 ... 55 Section 03 Subversion 서버 사용하기 ... 61 일반 모드로 사용하기 ... 61 서비스 모드로 사용하기 ... 62 Section 04 Subversion 명령 사용 방법 ... 65 기본 에디터 지정하기 ... 65 기본 디렉터리 생성 ... 66 프로젝트에 파일 추가하기(Import) ... 69 저장소에서 소스 가져오기(Checkout) ... 71 프로젝트에 파일 추가하기(Add) ... 72 변경사항을 저장소에 반영하기(Commit) ... 73 최신 소스 받아오기(Update) ... 74 로그 보기(Log) ... 75 수정된 부분 확인하기(Diff) ... 77 수정된 것 되돌리기(Revert) ... 78 수정한 사람 보기(Blame) ... 80 파일, 디렉터리 잠그기(Lock), 잠금 풀기(Unlock) ... 81 파일, 디렉터리 이름 바꾸기(Rename) ... 83 소스만 가져오기(Export) ... 85 브랜치(Branch)와 태그(Tag) ... 86 관리 도구 ... 90 Chapter 3 PowerShell로 자동화하기 Section 01 PowerShell이란? ... 92 PowerShell의 주요 특징 ... 92 PowerShell의 작성하는 주요 스크립트 ... 93 Section 02 PowerShell 설치 ... 95 .NET Framework 설치 ... 95 PowerShell 설치 ... 97 Section 03 기본 문법 ... 99 PowerShell의 기본 기능과 주요 cmdlet의 사용 방법 ... 99 PowerShell 스크립트 문법 ... 103 Chapter 4 Subversion과 Symbol 파일 연동 Section 01 들어가기 ... 112 Section 02 Debugging Tools for Windows 설치 ... 113 Section 03 ActivePerl 설치 ... 118 Section 04 Subversion Symbol Indexing 사용 ... 121 example 저장소 만들기 ... 121 trunk, branches, tags 디렉터리 만들기 ... 122 example 프로젝트 체크아웃하기 ... 123 프로젝트 저장소에 추가하기 ... 123 svnindex.cmd ... 127 Subversion 저장소 정보를 인덱싱하기 ... 128 srctool ... 132 Chapter 5 CruiseControl.NET으로 빌드 자동화하기 Section 01 CruiseControl.NET 기본 개념과 설치 ... 134 CruiseControl.NET 다운로드 ... 135 Windows XP에 IIS 설치하기 ... 135 Windows Server 2003에 IIS 설치 ... 136 CruiseControl.NET 설치 ... 139 CCTray 설치 ... 142 Section 02 CruiseControl.NET 빌드 스크립트 익히기 ... 145 labeller로 빌드 번호 표시하기 ... 145 Source Control ... 148 Task ... 149 Trigger ... 154 Section 03 빌드 자동화 실습 ... 157 part 2. 통합 개발 환경의 구축 Chapter 6 Apache와 Subversion 연동 Section 01 Apache 설치 및 기본 설정 ... 170 Apache 설치 ... 170 Apache와 IIS를 동시에 사용하기 ... 174 Section 02 Subversion 설치 및 기본 설정 ... 176 Section 03 Apache와 Subversion 연동 설정 ... 179 사용자 ID, 패스워드 설정 및 권한 관리 ... 179 http ... 180 https ... 182 Chapter 7 Trac Section 01 설치 및 설정 ... 190 Python ... 191 svn-python ... 192 Genshi ... 194 setuptools ... 196 mod_python ... 196 pysqlite ... 199 enscript ... 200 Trac ... 201 Section 02 플러그인 설치 및 설정 ... 209 Ini Admin Plugin 설치 ... 209 Account Manager Plugin 설치 ... 211 Section 03 Trac 사용 전 기본 설정 ... 214 Section 04 Subversion Hook Script 활용 ... 217 Hook 스크립트의 종류 ... 217 Hook 스크립트로 메일 전송하기 ... 218 로그 수정 사항을 메일로 보내기 ... 229 커밋 로그와 티켓 연동 ... 231 Section 05 티켓 변경 사항을 이메일로 통보받기 ... 238 IIS SMTP 서버를 사용할 때 ... 238 Gmail 계정을 사용할 때 ... 239 Section 06 Trac 관리 스크립트 ... 241 프로젝트 생성 스크립트 ... 241 권한 설정 스크립트 ... 243 전체 프로젝트 권한 설정 스크립트 ... 244 Subversion 저장소 - Trac 동기화 스크립트 ... 244 Section 07 RSS Reader 활용 ... 249 Chapter 8 CruiseControl.NET Section 01 들어가기 ... 258 Section 02 기본 프로젝트 설정 ... 260 프로젝트에 버전 리소스 추가하기 ... 260 프로젝트의 저장소 주소 설정하기 ... 263 Section 03 자동 버전 업데이트 스크립트 ... 266 Section 04 Trac에 버전을 자동으로 등록하기 ... 271 Section 05 Symbol Sever, Subversion Symbol Indexing 연동 ... 274 Chapter 9 Release Server Section 01 빌드 서버 설정 ... 280 Section 02 웹을 통한 배포 ... 283 Section 03 FTP를 통한 배포 ... 288 Section 04 Trac을 통한 배포 ... 292 Chapter 10 백업 Section 01 운영중인 Trac을 안전하게 백업하기 ... 302 Section 02 운영중인 Subversion 저장소를 안전하게 백업하기 ... 306 Section 03 원격지의 Subversion 저장소 백업하기 ... 308 Chapter 11 Subversion 관련 도구 Section 01 VisualSVN(Visual Studio 플러그 인) ... 312 Section 02 SVNSERVE Manager로 svnserve.exe를 쉽게 사용하기 ... 314 Section 03 SVN Notifier으로 업데이트 상태를 실시간으로 확인하기 ... 316 Section 04 ViewVC로 Subversion 저장소를 웹에서 보기 ... 319 Section 05 WebSVN으로 Subversion 저장소를 웹에서 보기 ... 324 PHP 설치 ... 324 index.php ... 326 MultiViews 사용하기 ... 328 Chapter 12 문서화 Section 01 Trac Wiki ... 334 새 위키 페이지 만드는 방법 ... 334 위키 문법 ... 336 Section 02 Doxygen으로 소스 코드 문서화하기 ... 343 Doxygen 설치 ... 343 Graphviz 설치 ... 346 Doxygen으로 문서화하기 ... 348 기타 doxygen용 주석 작성 방식 ... 357 Section 03 윈도우 도움말 파일(CHM) 만들기 ... 359 HTML Help 파일 설치 ... 359 index.chm 파일 생성 ... 360 part 3. 통합 개발 환경의 실제 활용 Chapter 13 프로젝트 준비 Section 01 개발 프로세스 ... 368 Section 02 프로젝트 생성 및 설정 ... 371 프로젝트 생성 ... 371 프로젝트 기본 설정 ... 372 Chapter 14 프로젝트 진행 Section 01 들어가기 ... 392 Section 02 기능 구현 ... 393 Section 03 버그 보고 및 해결 ... 397 Section 04 Symbol Server의 활용 ... 400 Chapter 15 실전에서 발생하는 문제들 Section 01 충돌 해결 ... 410 Section 02 커밋한 것 되돌리기 ... 419 Section 03 Trac 프로젝트, 저장소 이름 바꾸기 ... 423 Appendix(부록) Section 01 날짜를 버전으로 사용하기 ... 428 Section 02 다국어 리소스에서 자동 버전 업데이트 스크립트 사용하기 ... 434 Section 03 CCNET에서 Subversion Indexing을 사용할 때 Exception 문제 해결 ... 437 Section 04 VisualSVN Server로 authz 설정하기 ... 439 VisualSVN Server 설치 ... 439 VisualSVN Server 사용 방법 ... 441 Section 05 ccnet.config를 Subversion으로 관리하기 ... 446 Section 06 Visual Studio 6.0을 사용하려면 ... 449 Section 07 Visual Studio 2008을 사용하려면 ... 455 Section 08 CruiseControl.NET으로 윈도우 드라이버 빌드하기 ... 456 Section 09 Trac 인덱스 페이지 꾸미기 ... 461 Section 10 자동 빌드하지 않는 방법 ... 463 Section 11 Subversion 저장소 합치기 ... 465 내용이 다른 프로젝트 ... 465 내용이 이어지는 프로젝트 ... 468 Section 19 Subversion 저장소 나누기 ... 471 trunk 디렉터리 아래에 각 프로젝트의 디렉터리가 위치할 때 ... 471 각 프로젝트의 디렉터리 저장소의 최상위 디렉터리로 위치할 때 ... 473 Section 13 Subversion에서 외부 저장소 연결하기 ... 476 Section 14 MS 오피스 파일과 TortoiseSVN ... 480 Section 15 User Mode Process Dumper 사용하기 ... 482 Section 16 CVS에서 Subversion으로 전환하기 ... 491 찾아보기 ... 495