이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
지속적인 통합
소프트웨어 품질을 높이고 위험을 줄이기
베스트
IT 모바일 top100 6주
가격
22,000
10 19,800
YES포인트?
1,100원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

위키북스 IT Leaders 시리즈

책소개

목차


PART I 지속적 통합의 배경: 원칙과 실천 방법


chapter1 시작하기

   변경할 때마다 소프트웨어를 빌드하기
   지속적인 통합의 특징
   요약
   질문
chapter2 지속적인 통합 도입하기

   지속적인 통합과 함께 하는 하루 일과
   지속적인 통합에는 어떤 가치가 있을까요?
   지속적인 통합을 왜 도입하지 못할까요?
   '지속적인' 통합을 도입하려면 어떻게 해야 할까요?
   언제, 어떻게 프로젝트에 지속적인 통합을 도입해야 할까요?
   통합의 진화
   지속적인 통합은 다른 개발 실천 방법을 어떻게 보완할까요?
   지속적인 통합을 수립하려면 얼마나 걸릴까요?
   지속적인 통합과 나
   코드를 자주 커밋하세요
   깨진 코드를 커밋해선 안 됩니다
   빌드가 깨지면 즉시 고치세요
   자동화된 개발자 테스트를 작성하세요
   테스트와 검사는 모두 통과해야 합니다
   개인 빌드를 돌리세요
   깨진 코드는 가져오지 마세요
   요약
   질문
chapter3 지속적인 통합을 이용해 위험 줄이기

   위험 요소: 배포 가능한 소프트웨어의 부재
   위험 요소: 뒤늦은 결함 발견
   위험 요소: 프로젝트 가시성의 부재
   위험 요소: 저품질의 소프트웨어
   요약
   질문
chapter4 변경될 때마다 소프웨어를 빌드하기

   빌드를 자동화하기
   명령어 하나로 빌드를 수행하기
   IDE에서 빌드 스크립트를 분리해내기
   소프트웨어 자산을 중앙 집중화하기
   일관성 있는 디렉터리 구조를 만들기
   빌드를 빨리 실패하게 만들기
   어떤 환경에서라도 빌드하기
   빌드 유형과 메커니즘
   전용 통합 빌드 머신을 사용하기
   지속적인 통합 서버를 사용하기
   사람이 직접 통합 빌드를 돌리기
   빌드 시간을 짧게 만들기
   빌드를 여러 단계로 나누기
   이런 게 과연 효과가 있을까요?
   요약
   질문

PART II 완전한 기능을 갖춘 지속적인 시스템 만들기


chapter5 지속적인 데이터베이스 통합

   데이터베이스 통합을 자동화하기
   로컬 데이터베이스 샌드박스를 사용하기
   버전 관리 저장소를 사용해서 데이터베이스 자산을 공유하기
   지속적인 데이터베이스 통합
   개발자에게 데이터베이스를 수정할 권한을 주기
   팀이 다 함께 깨진 빌드를 고치는 일에 집중하기
   DBA를 개발 팀의 일원으로 만들기
   데이터베이스 통합과 통합 버튼
   요약
   질문
chapter6 지속적인 테스트

   단위 테스트 자동화하기
   컴포넌트 테스트 자동화하기
   시스템 테스트 자동화하기
   기능 테스트 자동화하기
   개발자 테스트를 여러 범주로 나누기
   시간이 덜 걸리는 테스트부터 실행하기
   결함 검사용 테스트 작성하기
   컴포넌트 테스트를 반복할 수 있게 만들기
   테스트 케이스 하나에 어썰트(assert) 하나로 제한하기
   요약
   질문
chapter7 지속적인 검사

   검사와 테스트는 무엇이 다를까요?
   검사기를 얼마나 자주 돌려야 할까요?
   코드 메트릭: 그 역사
   코드 복잡도를 줄이기
   설계 검토를 지속적으로 수행하기
   코드 심사(Audit)를 하여 조직에서 정한 표준을 잘 지키게 하기
   중복 코드를 줄이기
   코드 적용범위를 평가하기
   코드 품질을 지속적으로 평가하기
   요약
   질문
chapter8 지속적인 배포

   작동하는 소프트웨어를 언제, 어느 곳에서든 릴리즈하기
   저장소 안의 자산에 꼬리표 붙이기
   깨끗한 환경 만들기
   각 빌드에 꼬리표 붙이기
   테스트를 모두 돌리기
   빌드 피드백 보고서 만들기
   릴리즈를 롤백할 수 있는 능력 확보하기
   요약
   질문
chapter9 지속적인 피드백

   적절하게
   지속적인 피드백 메커니즘 사용하기
   이메일
   요약
   질문
epilogue 지속적인 통합의 미래


appendixA CI 관련 리소스

   지속적인 통합 도구와 제품
   빌드 스크립트 리소스
   버전 관리 리소스
   다른 버전 관리 리소스
   데이터베이스 리소스
   테스트 리소스
   자동화된 검사 리소스
   배포 리소스
   피드백 리소스
   문서화 리소스

appendixB CI 도구 평가하기

   도구를 평가할 때 고려할 점
   자동화된 빌드 도구
   빌드 스케줄러 도구
   결론

저자 소개

저자 : 폴 M. 듀발 외
Paul M. Duvall


컨설팅 회사인 Stelligent 사의 CTO이자, 소프트웨어 생산을 최적화함으로써 개발 팀이 안정적이고 신속하게 더 나은 소프트웨어를 만드는 것을 돕고 있다. 금융, 주택, 정부, 보건, 그리고 큰 규모의 독립적 소프트웨어 벤더를 비롯한 다양한 산업 분야에서 고객들에게 컨설팅을 해왔으며, www.testearly.com와 www.integratebutton.com에서 열심히 블로깅을 하고 있다.




스티브 M. 마티야스 3세 ㅣ Stephen M. Matyas III


5AM Solutions 사의 서비스 부분인 AutomateIt의 부사장이다. 응용 소프트웨어 공학에서 다양한 경력을 가지고 있으며, 엔터프라이즈 자바와 외주 소프트웨어 및 서비스 개발에 관하여 풍부한 실무 경험을 갖추고 있다.




앤드류 글로버 ㅣ Andrew Glover


Stelligent 사의 사장이며 북미지역에서 개최되는 다양한 콘퍼런스에서 연사로 활동 중이다. 여러 권의 책과 온라인 기사를 쓴 저자이자 공저자이기도 하다.
역자 : 최재훈
http://kaistizen.net, kaistizen@gmail.com


게임 개발을 업으로 삼는 프로그래머이다. 게임 개발에 있어선 이제 막 반년이 지난 초보이지만, 흥미롭고 생소한 기술을 많이 접하고, 익숙하진 않지만 독특한 분위기를 누리느라 항상 즐겁다. 여전히 스타크래프트는 무한맵에서 하고, 올해에 나올 게임 기대작으론 스포어(Spore)를 손에 꼽는다. 게임 개발자답지 않게 평소엔 게임을 즐겨 하지 않지만, 기대작이 나오면 다른 일은 제쳐놓고 삼매경에 빠진다. 유머 사이트에 떠도는, '슈퍼로봇대전 OGS'의 엔딩을 보고 싶다고 적은 휴가 계획서를 보고 그 용기가 멋지다고 생각하는 사람이다.


락 밴드는 U2가 최고라 생각하고, 15년째 '배철수의 음악 캠프'를 들은 애청자이다.


『Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드』에 이어 이번이 두 번째 역서이다. 번역을 마치고 몇 번이나 검토를 해도, 여전히 고칠 부분이 많아 부끄럽다. 그저 전작 때보단 좀더 제대로 번역했다는 소리를 듣고 싶다.

품목정보

발행일
2008년 03월 27일
쪽수, 무게, 크기
324쪽 | 697g | 175*235*30mm
ISBN13
9788992939133

책 속으로

소프트웨어 업계에서 근무한 지 얼마 되지 않았을 무렵엔 개별적으론 잘 동작하던 모듈도 한데 모으면, 도대체가 이해하기조차 어려운 형태로 모든 게 엉망이 되어 버리곤 했습니다. 하지만 지난 몇 년간, 통합은 프로젝트에서 가장 고생스러운 일에서 별 것 아닌 일로 축소되었습니다.

이렇게 된 가장 근본적인 원인은 좀더 자주 통합하는 실천 방법입니다. 한때는 매일 빌드하는 것을 야심 찬 목표로 생각한 적도 있었습니다. 지금 이야기하는 대부분의 프로젝트들은 하루에도 여러 차례 통합을 합니다. 참 이상하게도, 고생스러울수록 좀더 자주하는 것이 상책인 듯합니다.

지속적인 통합에 있어 흥미로운 것 중 하나는 지속적인 통합이 주는 효과에 사람들이 종종 놀란다는 겁니다. 우리는 사람들이 지속적인 통합의 효과를 별로 중요하지 않은 이점으로 치부해버리는 모습을 발견합니다. 하지만 지속적인 통합은 프로젝트에 완전히 다른 분위기를 불러일으킬 수 있습니다. 문제를 더 빨리 탐지해내기 때문에 가시성이 훨씬 좋아집니다. 잘못을 저지르고 그것을 발견해내는 간격이 줄기 때문에, 뭐가 변경됐는지 쉽게 살펴볼 수 있어서 원인을 찾아내는 데 도움이 되므로 결함을 찾아내기 더 쉽습니다. 이것이 테스트 프로그램과 결합하면, 버그를 획기적으로 줄일 수 있습니다. 그 결과, 개발자는 디버깅하는 데 시간을 덜 쓰고 기능을 넣는 데 시간을 더 쓰게 되며, 견고한 기초를 닦고 있다는 자신감을 갖게 됩니다.

물론, 통합을 더 자주하라고 말로만 해선 충분하지 않습니다. 이 간단한 캐치프레이즈 뒤에는 지속적인 통합을 현실로 만들어 주는 원칙과 실천 방법이 한 다발 있습니다. 원칙과 실천 방법에 관한 조언들은 대부분 여러 책과 인터넷에 흩어져 있었기 때문에 스스로 찾아서 탐구해야 했습니다.

그래서 폴이 이러한 정보들과 최고의 실천 방법들을 응집력 있는 한 권의 책으로 묶어서 이러한 책을 기다렸던 사람들에게 지침서를 만들어준 걸 보고 기뻤습니다. 간단한 실천 방법이 으레 그렇듯, 세세한 부분으로 들어가면 어려워집니다. 지난 몇 해에 걸쳐 우리는 그 같은 세부 사항에 대해 많은 것을 연구했고 어찌 대처하면 되는지를 공부했습니다. 이 책은 지속적인 통합이 소프트웨어 개발에 탄탄한 기초를 제공하듯, 지속적인 통합을 위한 탄탄한 기초를 마련해주는 이러한 교훈들을 모아 놓았습니다.

-- 마틴 파울러의 머리말

추천평

<베타리더 후기>
“폴 줄리어스의 서문에 나온 것처럼 언젠가 나도 이런 책을 쓸 수 있길 바라왔는데, 폴을 비롯한 뛰어난 실용주의자들이 그들의 지식과 경험을 한데 묶어서 이런 멋진 책을 만들었고 그 책의 한글판을 내는데 제가 조금이나마 힘을 보탰다는 사실만으로도 기분이 좋아지네요. 이 책이 국내 개발자들의 역량을 높여줄 것이라 확신합니다.”
— 황상철, http://moai.tistory.com/
“마틴 파울러와 켄트 벡이 처음에 언급한 '지속적인 통합'은 XP의 실천방법 중 하나입니다. 이 책은 제목처럼 소프트웨어의 품질을 향상시키고, 위험을 줄이기 위한 방법을 하나씩 이야기하고 있습니다. 저자의 경험에서 나오는 사례들은 저 역시도 프로젝트를 진행하며 매번 느끼던 것이었으며, 해결을 위하여 항상 어려움에 빠지곤 했었습니다. 많은 인원이 투입될수록, 프로젝트의 형상 관리 유무는 소프트웨어 설계와 비견할 만큼 품질에 많은 영향을 미친다고 생각합니다. 실천을 강조하는 XP의 정신처럼, 이 책에서는 CruiseControl과 같은 다양한 tool에 대한 사용 방법도 함께 언급하고 있기에 프로젝트에서도 곧바로 적용이 가능합니다. 변역자인 최재훈님 또한 유명 블로거답게 완벽하게 우리말로 옮겨주셨기에, 원서에서 전해오는 오롯한(?) 느낌을 충분히 이 책을 통해서도 받으실 수 있습니다. ”
— 우상정, http://again4you.tistory.com
“(인간적으로는 돌아볼 일 없는 이이긴 하지만) 래리 월은 개발자의 덕목 중 하나로 '게으름'을 꼽았었죠. 이 책에서는 게으르지 못한 개발자를 '고객의 신발은 빈틈없이 고쳐주면서, 정작 자신의 아이들을 위한 신발 수선은 잊어버리는 구두 수선공'이라고 꼬집고 있던데 어쩐지 이 구절에 저자의 의도가 다 담겨 있는 듯하네요. 자, 게으르고자 하는 개발자를 위한 멋진 친구 하나를 소개합니다. 이 책으로 다른 멋진 책을 집필하는 여유 시간을 얻을 수 있는 개발자들이 늘어나길 기대하고... 음 그리고 혹시 앰비언트 오브를 제게 선물할(아니 구경시켜 줄) 이를 찾습니다.”
—김형준, http://tzara.wordpress.com
“회사에 처음 입사했을 때가 생각이 납니다. 한 달에 한 번 정도는 각자 개발한 코드를 합치는 작업을 진행했죠. 통합 작업이 시작되면 정신이 없어지기 시작합니다. 기본적인 컴파일부터 꼬이기 시작하죠. 각자 구현한 부분을 통합하는 데에만 하루 이틀 정도의 시간이 흐릅니다. 자주 이루어지지도 않고 자동화되지도 않은 이러한 통합은 고된 작업이기도 하지만, 생산적인 일에 쓰일 시간을 낭비하게 되기도 하죠. 이 책은 통합을 자주, 그리고 자동으로 하는 법에 대한 책입니다. 이론적인 설명뿐 아니라 실질적으로 툴을 다루는 법에 대한 상세한 설명도 함께 있습니다. 책에 설명된 몇몇 부분은 베타리딩을 하는 중간중간 프로젝트에 빠르게 적용해 볼 수 있었습니다. 좋은 책을 미리 읽을 수 있는 기회를 얻게 된 것이 행운이라 생각합니다. 좋은 번역서가 또 한 권 나왔으니 프로젝트의 생산성을 한 층 더 높이는 계기가 될 거라 생각합니다.”
—Paromix, http://paromix.egloos.com
“말기암환자들에게는 조기검진과 정기검사의 아쉬움이 많을 것입니다. 그 둘이 잘 지켜졌다면 종양이 발견되더라도 조기에 대처하여 생명의 위협까지는 받지 않았을 것입니다.
‘지속적인통합(CI)’은 어떤 의미에선¬ 프로젝트를 살아남게 하는 조기검진과 정기검사가 아닐까요? CI는 프로젝트의 생명성뿐만 아니라 개발자가 본연의 가치 창조업무에 집중할 수 있게 해주므로 개발자의 생명성도 보장해 줄 것입니다.
이 책은 CI의 개념과 실제 적용을 자세히 소개하고 있습니다. 국내소프트웨어 개발사에서¬ CI를 개발프로세스의 필수요소로 삼고자 할 때 좋은 가이드북입니다.”
- 이주호, nightthunder@gmail.com

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.

19,800
1 19,800