스크랩

구간

소프트웨어 빌드 시스템 원리와 활용

원제 : Software Build Systems: Principles and Experience

피터 스미스 저 | 김선일 외 역 | 에이콘출판 | 2014년 07월

미리보기 북트리

정가
$90.00
판매가
$65.61 (27%↓) 최저가 보상
적립금
$1.31 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960775671 / 700쪽 188 x 250 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 ★ 요약 ★ 소프트웨어 빌드의 기본 개념부터 숙련된 전문가급 조언을 제공한다. 가장 널리 사용되는 GNU Make와 Ant, SCons, CMake를 활용하여 예제를 다루고 있어 실무에 바로 적용할 수 있다. 이뿐만 아니라 빌드 변형과 버전 관리, 확장 등의 고급 주제까지 다루어 고급 개발자에 필요한 좋은 내용을 제공한다. ★ 추천의 글 ★ 이 책은 소프트웨어 빌드 시스템의 선택과 각 빌드 시스템의 장점, 그리고 잘 디자인된 빌드 시스템을 구성하기 위해 해결해야 할 문제에 대해 완전하고 포괄적인 방법을 보여준다. 효율적 소... ★ 요약 ★ 소프트웨어 빌드의 기본 개념부터 숙련된 전문가급 조언을 제공한다. 가장 널리 사용되는 GNU Make와 Ant, SCons, CMake를 활용하여 예제를 다루고 있어 실무에 바로 적용할 수 있다. 이뿐만 아니라 빌드 변형과 버전 관리, 확장 등의 고급 주제까지 다루어 고급 개발자에 필요한 좋은 내용을 제공한다. ★ 추천의 글 ★ 이 책은 소프트웨어 빌드 시스템의 선택과 각 빌드 시스템의 장점, 그리고 잘 디자인된 빌드 시스템을 구성하기 위해 해결해야 할 문제에 대해 완전하고 포괄적인 방법을 보여준다. 효율적 소프트웨어 개발 과정에서 잘 디자인된 빌드 시스템은 중요한 역할을 한다. 소프트웨어 빌드 엔지니어뿐만 아니라 모든 소프트웨어 개발자에게 이 책을 추천하고 싶다. - 캐빈 보디(Kevin Bodie) / 피트니 보우스(Pitney Bowes) 소프트웨어 개발 이사 이 책은 소프트웨어 개발 프로젝트에서 중요하지만, 종종 소홀해지기 쉬운 빌드 시스템을 훌륭하고 상세하게 설명한다. 빌드 시스템의 생산성에 관한 논의만으로도 이 책을 읽을 만한 충분한 가치가 있다. - 존 팬톤(John M. Pantone) / 오브젝테크 사(Objectech Corporation) IT 교육자 겸 코스 개발자 피터 스미스(Peter Smith)는 여러 종류의 소프트웨어 빌드 도구에 관한 수년간의 경험을 바탕으로 소프트웨어 빌드 시스템을 흥미롭고 이해하기 쉽게 설명한다. 이 책은 훌륭히 구성되고 잘 쓰였을 뿐만 아니라 포괄적인 내용을 담고 있다. 빌드 시스템 담당자 모두에게 이 책을 추천하고 싶다. - 제프 오버비(Jeff Overbey) / 포트란(Photran) 프로젝트 공동 리더 이 책은 소프트웨어 빌드에 관해 어떻게 생각해야 하는지를 가르쳐 준다. 저자 피터 스미스는 소프트웨어를 빌드하기 위한 도구와 기술을 조사했으며, 무엇이 잘못된 방법인지를 조사했다. 빌드 시스템 초보자는 물론 숙련된 빌드 엔지니어에게도 도움이 될 책이다. - 몬테 다비도프(Monte Davidoff) / 얼루비얼 소프트웨어(Alluvial Software) 소프트웨어 개발 컨설턴트 ★ 이 책에서 다루는 내용 ★ ■ 소스 트리, 빌드 도구, 컴파일 도구와 같은 빌드 시스템의 기본 개념 ■ 가장 많이 사용되는 GNU Make, Ant, SCons, CMake, 이클립스 IDE, 5가지 빌드 도구의 특징 비교 ■ 정확한 종속성 확인 방법과 효율적인 증분 빌드 방법 ■ 메타 데이터를 활용한 디버깅, 프로파일링, 문서화 작업 ■ 복잡한 버전 관리 시스템, 빌드 머신, 컴파일 도구와 관련된 모범 사례 ★ 이 책의 대상 독자 ★ 이 책은 소프트웨어 개발자를 위해 중점적으로 기술했지만, 소프트웨어 개발자가 아닌 사람에게도 유용할 수 있다. ■ 개발자: 여러분이 수년간 소프트웨어를 개발해 왔지만 빌드 시스템에 대해 잘 모른다면, 빌드 시스템을 어떻게 만들고 유지 보수해야 하는지를 배운다. 또한 빌드 프로세스와 관련된 여러 도구에 대해서도 배운다. ■ 관리자: 이 책을 통해 상위 수준에서의 개념과, 개발자와 대화하는 방법을 배운다. 이를 통해 여러분의 팀이 하는 일을 평가할 수 있으며, 팀이 나아갈 방향을 설정할 수 있을 것이다. ■ 빌드 전문가: 빌드 시스템에 대한 많은 경험이 있다면 무엇인가 새로운 점을 기대할 것이다. 이 책은 사용해보지 않았던 최신 빌드 도구들과 규모가 큰 빌드 시스템에서 확장성과 성능에 관한 내용을 제공할 것이며, 새로운 빌드 프레임워크를 만들 때 여러분의 빌드 시스템을 다시 한 번 생각할 기회를 제공한다. ★ 이 책의 구성 ★ 1부, ‘빌드 시스템의 기초’에서는 빌드 시스템에 익숙하지 않은 개발자를 위해, 빌드 시스템에 대한 기본적인 사항을 소개한다. 1부를 생략해도 되는 경험이 많은 개발자이더라도 빌드 시스템의 기본적인 큰 그림을 확인할 수 있다. 예를 들어 C/C++ 개발자라면 C#에 대한 새로운 점을 배울 수 있다. 1장, ‘빌드 시스템 개요’에서는 소스 트리와 오브젝트 트리, 빌드 도구, 컴파일 도구 등과 같은 빌드 시스템에 대한 상위 개념을 소개한다. 2장, ‘Make 기반 빌드 시스템’에서는 ’makefile을 한 번도 작성해 보지 않은 개발자를 위해 가벼운 튜토리얼을 제공한다. 3장, ‘프로그램의 런타임 뷰’에서는 빌드 시스템을 구축하는 데 필요한 것들을 설명할 목적으로, 컴퓨터에서 실행하는 프로그램 구조를 설명한다. 4장, ‘파일 타입과 컴파일 도구’에서는 C/C++와 자바, C# 예제를 통해 각 빌드 프로세스에서 사용되는 여러 입/출력 파일에 대한 상세한 내용을 다룬다. 5장, ‘하위타겟과 빌드 변형’에서는 후반부에서 더욱 자세히 다룰 빌드 변형에 대한 기본 개념을 설명한다. 1부를 읽고 나면 빌드 시스템 디자인에 대한 기본적인 개념을 얻게 될 것이다. 2부, ‘빌드 도구’에서는 다섯 개의 빌드 도구를 비교한다. 이 빌드 도구들은 대중성과 소프트웨어 빌드 방법을 고려해 선택했다. 각 장에서는 먼저 빌드 도구에서 사용되는 구문을 소개한 후 빌드 도구의 주요한 사용 시나리오를 설명한다. 의미 있는 비교를 위해 모든 장에서 같은 예제를 사용했다. 6장, ‘Make’에서는 C/C++ 개발에서 가장 널리 사용되는 GNU Make 도구에 대해 설명한다. 7장, ‘Ant’에서는 자바에서 사실상 표준으로 사용되는 Ant 빌드 도구에 대해 설명한다. 8장, ‘SCons’에서는 비교적 최신 빌드 도구인 SCons를 다룬다. SCons는 빌드 프로세스를 서술할 때 파이썬(Python) 언어를 사용한다. 9장, ‘CMake’에서는 이 단원의 핵심주제인 CMake를 살펴본다. CMake는 빌드 프로세스에 관한 상위 수준 서술을 토대로 Make와 같은 네이티브 빌드 시스템을 생성한다. 10장, ‘이클립스’에서는 이클립스 IDE에서의 빌드 관련 기능에 대해 설명한다. 2부를 읽고 나면 최신 빌드 도구의 종류와 각 빌드 도구의 장단점을 이해할 수 있다. 3부, ‘고급 주제’에서는 종속성 분석, 소프트웨어 패키지, 설치, 버전 관리, 빌드 머신 관리, 컴파일 도구 등과 같은 빌드 시스템에 관한 고급 주제를 다룬다. 각 장에서는 여러분이 까다로운 소프트웨어 프로젝트를 접한 경험이 있다는 전제하에 이와 관련된 내용을 살펴본다. 11장, ‘종속성’에서는 컴파일돼야 하는 파일을 알아내는 다양한 종속성 검사 방법에 관해 자세히 다룬다. 12장, ‘메타데이터로 빌드’에서는 빌드 시스템이 디버깅과 프로파일링, 소스코드 문서화를 지원하기 위한 메타 파일 생성 방법을 살펴본다. 13장, ‘소프트웨어 패키징과 설치’에서는 간단한 예제를 통해 소프트웨어 패키징과 타겟 머신에서의 설치 준비에 필요한 내용을 설명한다. 14장, ‘버전 관리’에서는 빌드 시스템과 소프트웨어 버전 관리에 관련된 고려 사항을 알아본다. 15장, ‘빌드머신’에서는 소프트웨어를 컴파일하기 위해 사용되는 빌드 머신 관리에 관한 모범사례를 제공한다. 16장, ‘도구 관리’에서는 컴파일 도구에 대해 다룬다. 3부를 통해 많은 모범 사례와 빌드 시스템 구성에 필요한 고급 개념을 익히게 된다. 4부, ‘확장’에서는 대규모 소프트웨어를 위한 빌드 시스템의 설계 방법을 살펴본다. 소프트웨어의 규모가 커지면, 복잡성 증가와 물리적 디스크 사용량 증가, 빌드 시간 지연 등과 같은 문제를 수반한다. 이런 문제는 소프트웨어 개발 생산성을 저하시킨다. 17장, ‘최종 사용자를 위한

저자 소개

  • 저자 : 피터 스미스
저자 피터 스미스(Peter Smith)는 캐나다 밴쿠버에 있는 아라피키 솔루션(Arapiki Solutions, www.arapiki.com)의 프리랜서 컨설턴트다. 1998년 브리티시 컬럼비아 대학(University of British Columbia)에서 컴파일러와 프로그래밍 언어 디자인에 관해 박사학위를 취득했으며, 수년 동안 학부 학생들을 위해 컴파일러 디자인과 프로그래밍 언어 디자인, 소프트웨어 공학, 컴퓨터 네트워크를 강의했다. 또한 3년 동안 OOPSLA(Object-Oriented Programming, Systems, Languages & Application) 컨퍼런스 위원회의 일원으로 활동했다. 주로 통신 관련 산업에서 소프트웨어 엔지니어, 프로젝트 매니저, 툴 지원 팀의 매니저로 활동했다. 최근에는 고객의 생산성 향상을 위한 신규 소프트웨어 도구의 개발이나 적용 관련한 컨설팅 업무를 하고 있다.

역자 소개

  • 역자 : 김선일 외
김선일
일본 야마카타대학에서 컴퓨터 공학을 전공한 후 동경대학에서 전자정보학 석사과정을 졸업했다. 그후 삼성테크윈㈜에서 서버 및 플랫폼 개발 업무에 종사했으며, NHN㈜에서 LINE 게임 플랫폼 일에 종사했다. 현재 LG전자㈜ CTO 부문 소프트웨어 역량 강화 센터에서 소프트웨어 개발에 필요한 방법론과 개발 툴킷, SW 인프라 구축에 매진 중이다. 관심 분야는 네트워크 프로토콜, 개발 툴킷, 대형 플랫폼 개발과 운영이며, 머리가 복잡할 때에는 양재천을 달리거나 첼로 연주를 한다.

권오범
플로리다 주립대학(University of Florida)에서 컴퓨터 공학과 석사학위를 받았고, 삼성테크윈을 거쳐 현재는 NHN㈜ 엔터테인먼트에서 모바일 게임을 위한 UDP 기반 네트워크 엔진 및 프레임워크를 개발 중이다. 초급 개발자를 벗어나기 위해 열심히 공부중이고, 사랑스런 아내와 두 아들과 함께 살고 있는 행복한 개발자다.

윤창석
포항공과대학교 컴퓨터공학과 학사 과정을 마쳤고, 졸업에 앞서 알티캐스트에서 IPTV 미들웨어를 개발했다. 졸업 후 삼성테크윈㈜ 선행기술연구소에서 참조 아키텍처 구축과 플랫폼 개발 업무를 수행했다. 현재 다음커뮤니케이션에서 행복한 개발자 라이프를 즐기고 있다. 관심 분야는 확장 가능한 웹 아키텍처의 구축과 소프트웨어 제품라인이다.

정승원
고려대학교 정보공학과 및 동 대학원에서 네트워크를 전공했으며, 미국 플로리다 주립대학 전자 및 컴퓨터 공학에서 석사 및 박사 과정을 졸업 후 현재 삼성 테크윈㈜ R&D 센터에서 통합 통제 SW 시스템 개발에 종사 중이다.

머리말

★ 지은이의 말 ★
잘 구성된 빌드 시스템을 만들기는 쉽지 않다. 그리고 잘못 구성된 빌드 시스템은 개발 팀에 큰 영향을 미친다. 컴파일돼야 하는 파일이 컴파일되지 않으면 개발자는 클린 빌드로 인한 오랜 컴파일 시간과 간헐적으로 발생하는 빌드 실패를 경험하게 된다. 그리고 개발자는 잘못 생성된 소프트웨어 이미지를 며칠 동안 디버깅하게 된다. 여러분의 빌드 시스템이 잘 동작하는지 확인하는 일은 충분한 값어치가 있다는 사실을 꼭 알아두기 바란다.

잘못된 빌드 시스템으로 낭비되는 실제 비용은 다음과 같이 계산할 수 있다. 일반적인 소프트웨어 개발 조직은 업무 시간 중 10%를 빌드 관련 문제로 낭비하는데, 이를 인건비와 시간으로 계산해 매년 낭비되는 비용으로 산출해보기 바란다.

이 책은 빌드와 관련된 다양한 개념들과 일반적으로 많이 사용되는 빌드 도구를 소개한다. 뿐만 아니라 많은 모범 사례를 살펴보면서 규모가 큰 빌드 시스템의 구성과 관리에 관련된 내용을 알아본다.

 

★ 옮긴이의 말 ★

유닉스 계열 시스템에서 C/C++를 개발한 적이 있다면 한 번쯤 Makefile을 접해 봤을 것이다. 이때 많은 개발자는 시간에 쫓기다 보니 소스 파일 간의 종속성이나 구조에 크게 신경 쓰지 않고 Makefile을 작성한 기억이 있을 것이다. 하지만 시스템 규모가 점점 커지고 복잡해지면 빌드 작업은 서서히 느려지고, 최적화를 위해 무엇을 해야 하는지 갈피를 잡지 못할 때가 있으며, 개발 일정에 쫓기다 보니 방치하는 경우도 허다하다. 이 책은 이런 개발자들을 위한 책이라 할 수 있다.

 

이 책은 소프트웨어 빌드 시스템에 관한 기본적인 개념뿐만 아니라 고급 주제, 더 나아가 소프트웨어 패키징과 설치, 버전 관리 등을 다루고 있어, 개발자, 빌드 담당자를 아울러 소프트웨어에 직간접적으로 관련된 이들에게 귀중한 정보를 제공한다. 또, 빌드 도구로 널리 사용되는 GNU Make, Ant, SCons, CMake가 소개돼 친숙하다. 특히 C/C++와 자바, C# 소스 파일을 예제로 사용함으로써 많은 이에게 이해도를 높여준다. 뿐만 아니라 다양한 빌드 도구의 사용법과 장단점을 다루고 있어, 빌드 도구 선택에도 많은 도움이 되리라 믿는다.

 

여러분의 동료와 상사가 빌드 시스템 구축에 관심이 없다면 이 책의 일독을 권하라. 그리고 빌드 시스템 구축의 중요성을 공감 받고, 구축 시간을 확보 받아라. 이미 IT 선진업체에서는 빌드 시스템과 더불어 테스트 자동화를 바탕으로 품질을 확보 중이기 때문이다. 이는 더 이상 간과할 수 있는 일이 아니다. 실례로 NHN에서는 nForge를 바탕으로 빌드에서 테스트, 릴리스까지 관리한다. LG전자 역시 빌드 자동화를 통해 소프트웨어 품질을 확보하고 있으며, 고도한 테스트 자동화를 점차 구현해 가고 있다.

 

마지막으로, 이 책을 통해 우리나라의 많은 소프트웨어 개발자들이 빌드 시스템을 구축할 때 조금이나마 도움이 됐으면 좋겠다. 더 나아가 세계 최고의 소프트웨어 인재와 회사가 많이 배출되는 데 이 책이 일조했으면 하는 바람이다.

목차

목차
1부 _ 빌드 시스템의 기초
1장 빌드시스템 개요
빌드 시스템이란?
___컴파일형 언어
___인터프리트형 언어
웹 기반 애플리케이션
___단위 테스트
___정적 분석
___문서 생성
빌드 시스템의 구성 요소
___버전 관리 도구
___소스와 오브젝트 트리
___컴파일 도구와 빌드 도구
___빌드 머신
___릴리스 패키징과 타겟 머신
빌드 프로세스와 빌드 기술
빌드 시스템을 어떻게 사용하는가?
___빌드 관리 도구
빌드 시스템 품질
정리
2장 Make 기반 빌드 시스템
계산기 프로그램 예제
간단한 Makefile 작성
Makefile의 간결화
빌드 타겟 추가
프레임워크 사용
정리
3장 프로그램의 런타임 뷰
실행 프로그램
___네이티브 기계어 코드
___모놀리식 시스템 이미지
___전체가 인터프리트되는 프로그램
___인터프리트된 바이트 코드
라이브러리
___정적 링크
___동적 링크
설정 파일과 데이터 파일
분산형 프로그램
정리
4장 파일 타입과 컴파일 도구
C/C++
___컴파일 도구
___소스 파일
___어셈블리 언어 파일
___오브젝트 파일
___실행 프로그램
___정적 라이브러리
___동적 라이브러리
___C++ 컴파일
자바
___ 컴파일 도구
___소스 파일
___오브젝트 파일
___실행 프로그램
___ 라이브러리
C#
___컴파일 도구
___소스 파일
___실행 프로그램
___라이브러리
기타 파일 타입
___ UML 기반 코드 생성
___그래픽 이미지
___XML 구성 파일
___국제화와 리소스 번들
정리
5장 하위 타겟과 빌드 변형
하위 타겟 빌드
소프트웨어의 여러 에디션 빌드
___빌드 변형 구체화
___코드의 다양화
서로 다른 타겟 아키텍처 빌드
___다중 컴파일러
___플랫폼에 특성화된 파일이나 함수
___다중 오브젝트 트리
정리
2부 _ 빌드 도구
6장 Make
GNU Make 프로그래밍 언어
___종속성 그래프를 만드는 Makefile 규칙
___Makefile 규칙 유형
___Makefile 변수
___기본 제공 변수와 규칙
___데이터 구조체와 함수
___프로그램 흐름 이해
___추가 참고 도서
빌드 시스템 적용 사례
___시나리오 1: 단일 디렉터리의 소스코드
___시나리오 2(a): 여러 디렉터리의 소스코드
___시나리오 2(b): 여러 디렉터리를 지원하는 재귀 Make
___시나리오 2(c): 여러 디렉터리를 지원하는 포함 Make
___시나리오 3: 새로운 컴파일 도구 정의
___시나리오 4: 여러 변형으로 빌드
___시나리오 5: 빌드 트리 클리닝
___시나리오 6: 잘못된 빌드 디버깅
찬사와 비판
___찬사
___비판
___평가
유사 도구
___버클리 Make
___NMake
___ElectricAccelerator와 SparkBuild
정리
7장 Ant
Ant 프로그래밍 언어
___ ‘Hello World’에서 한 걸음 더 나아가기
___타겟의 정의와 사용
___Ant의 제어 흐름
___속성 정의
___기본 제공 태스크와 옵션 태스크
___여러 파일과 디렉터리 선택
___조건
___Ant 언어의 확장
___추가 참고 문헌
빌드 시스템 적용 사례
___시나리오 1: 단일 디렉터리의 소스코드
___시나리오 2(a): 여러 디렉터리의 소스코드
___시나리오 2(b): 여러 디렉터리의 여러 build.xml 파일
___시나리오 3: 새로운 컴파일 도구 정의
___시나리오 4: 여러 변형으로 빌드
___시나리오 5: 빌드 트리 클리닝
___시나리오 6: 잘못된 빌드 디버깅
찬사와 비판
___찬사
___비판
___평가
유사 도구
___NAnt
___MS 빌드
정리
8장 SCons
SCons 프로그래밍 언어
___파이썬 프로그래밍 언어
___간단 컴파일
___빌드 환경 관리
___프로그램 흐름과 종속성 분석
___리빌드할 시기 결정
___언어 확장
___기타 흥미로운 기능
___추가 참고 문헌
빌드 시스템 적용 사례
___시나리오 1: 단일 디렉터리의 소스코드
___시나리오 2(a): 여러 디렉터리의 소스코드
___시나리오 2(b): 여러 SConstruct 파일
___시나리오 3: 새로운 컴파일 도구 정의
___시나리오 4: 여러 변형으로 빌드
___시나리오 5: 빌드 트리 클리닝
___시나리오 6: 잘못된 빌드 디버깅
찬사와 비판
___찬사
___비판
___평가
유사 도구
___Cons
___Rake
정리
9장 CMake
CMake 프로그래밍 언어
___CMake 언어 기초
___실행 프로그램과 라이브러리 빌드
___흐름 제어
___크로스플랫폼 지원
___네이티브 빌드 시스템 생성
___기타 흥미로운 기능과 추가 참고 문헌
빌드 시스템 적용 사례
___시나리오 1: 단일 디렉터리의 소스코드
___시나리오 2: 여러 디렉터리의 소스코드
___시나리오 3: 새로운 컴파일 도구 정의
___시나리오 4: 여러 변형으로 빌드
___시나리오 5: 빌드 트리 클리닝
___시나리오 6: 잘못된 빌드 디버깅
찬사와 비판
___찬사
___비판
___평가
유사 도구
___Automake
___Qmake
정리
10장 이클립스
이클립스의 개념과 GUI
___프로젝트 생성
___프로젝트 빌드
___프로젝트 실행
___내부 프로젝트 모델 사용
___기타 빌드 기능
___추가 참고 문헌
빌드 시스템 적용 사례
___시나리오 1: 단일 디렉터리의 소스코드
___시나리오 2: 여러 디렉터리의 소스코드
___시나리오 3: 새로운 컴파일 도구 정의
___시나리오 4: 여러 변형으로 빌드
___시나리오 5: 빌드 트리 클리닝
___시나리오 6: 잘못된 빌드 디버깅
찬사와 비판
___찬사
___비판
___평가
유사 도구
___C/C++ 개발 도구인 이클립스 CDT
정리
3부 _ 고급 주제
11장 종속성
종속성 그래프
___증분 컴파일
___전체, 증분, 하위 타겟 빌드
잘못된 종속성 문제
___누락된 종속성이 런타임 에러를 유발시키는 문제
___누락된 종속성이 컴파일 에러를 유발시키는 문제
___원치 않는 종속성이 과도한 재빌드를 유발시키는 문제
___원치 않는 종속성이 종속성 분석을 실패하게 하는 문제
___순환 종속성 문제
___종속성 대용으로 암묵적 시퀀싱에 관한 문제
___Clean 타겟이 제대로 클리닝하지 못하는 문제
1단계: 종속성 그래프 계산
___정확한 종속성 정보 수집
___종속성 그래프 캐싱
___캐싱된 종속성 그래프 갱신
2단계: 만료된 파일 알아내기
___타임스탬프 기반 메소드
___체크섬 기반 메소드
___플래그 비교
___기타 고급 메소드
3단계: 컴파일 단계 시퀀싱
정리
12장 메타데이터로 빌드
디버깅 지원
프로파일링 지원
커버리지 지원
소스코드 문서화
단위 테스트
정적 분석
빌드 시스템에 메타데이터 추가
정리
13장 소프트웨어 패키징과 설치
아카이브 파일
___패키징 스크립트
___기타 아카이브 포맷
___개선 방법
패키지 관리 도구
___RPM 패키지 관리 포맷
___rpmbuild 프로세스
___RPM 명세 파일의 예
___명세 파일로부터 RPM 파일 작성
___RPM 예제 설치
커스터마이즈된 GUI 설치 도구
___널소프트 스크립터블 인스톨 시스템(NSIS)
___설치 스크립트
___페이지 정의
___라이선스 페이지
___디렉터리 선택
___주 컴포넌트
___옵션 컴포넌트
___사용자 정의 페이지 정의
___설치 페이지와 설치 제거 프로그램
정리
14장 버전 관리
버전 관리로 할 수 있는 일
___빌드 기술 파일
___도구 참조
___큰 바이너리 파일
___소스 트리 구성
소스 트리에서 하지 말아야 할 것
___소스 트리에 생성된 파일
___버전 관리하에서 생성된 파일
___빌드 관리 스크립트
버전 번호 붙이기
___버전

top