[genie 9788992939133]
지속적인 통합 ((Continuous Integration. 프로그램을 변경하고, 테스트하고, 팩키징하고, 리뷰하는 등의 전과정을 프로그래머의 간섭이 없거나 매우 적은 상태에서 반복적으로 신속하게 수행하고, 프로그래머는 이에 대한 피드백을 금방금방 받을 수 있는 방법론을 가리키는 말이기도 하다.)) 의 한국어판을 몇 일전에 화요일에 쉬는 동안 다 읽을 수 있었다. 아주 간단하게 평하자면,
장점
여러가지 CI 단계 — 컴파일, 각 단계의 테스팅, 자동화된 코드 리뷰, 팩키징/전개, … — 에 관해 상세한 설명을 하고 있다. 컴파일을 자동화하기 위해 사용될 수 있는 툴들 — Ant, Nant, Maven … — 에 관한 설명이라거나 유닛 테스트, 컴퍼넌트 테스트, 그리고 시스템 레벨 테스트들에서 쓸 수 있는 툴들에 관해서도 예를 들어가면서 상세한 설명을 한다.
특히나 저런 단계들을 딱 적당한 수준 — 하나 하나마다 책 한 권 나올 정도로 긴 것은 아니지만 적당한 개념을 잡고 “한 번 이렇게 해보면 되겠군” 하고 생각할 정도인 것 같다. 회사에서 CI 빌드 서버를 쓰고, 컴퍼넌트 테스팅까지 돌리고 있는데, 뭘 더하면 좋을지에 관해서 조금 감을 잡을 수 있게 된 것 같다.
단점
CI가 정말로 “무엇을 줄 수 있는가”에 관해서는 마틴 파울러나 스티브 맥코넬의 표현을 인용하는 정도의, 그리고 좀 추상적인 수준에서의 “무엇을 줄 수 있는가”를 설명한다고 생각한다. 물론 와닿지 않을 정도로 추상적인 것은 아닌데 “반드시 해야한다” 정도로 생각하기엔 미흡한 느낌.
그리고 툴 설명에 할애된 페이지 수가 좀 과하다는 점도 — 특히 부록 쯤 되면(…) — 단점.
마지막으로 언어 자체가 Java에 한정되어 있고, .net 프레임웍의 언어도 조금은 다루지만, 내가 작업하는 환경인 C++/Python 에 관해서는 매우 빈약한 설명만 있다는 것도 문제라면 문제. ((그리고 다루고 있는 프로젝트 자체가 웹을 기반으로 하는 프로젝트에 매우 적당하게 되어 있다는 것도…))
그렇지만 전반적인 문맥도 적절하게 이어지고, 번역도 깔끔히 된 것 같다. ((약간의 오탈자가 있긴하지만 거슬릴 수준은 아니었다)) 작년 말 정도에 ((아마 훈련소 갔다온 직 후?)) 자동화된 빌드/테스트/전개를 생각했었는데 그 때 이 책이 있었으면 참 좋았을 것 같다. 물론 지금도 나쁘다는건 아니고 :)
실용주의 프로그래머나 Ship It!에서 얻을 점이 있었다고 생각하는 분이라면 읽어보는 것을 추천.
에구 이번엔 정말 열심히 검토했는데, 오탈자가 있었나 보네요. 몇번을 검토해야 되는건지…. ㅠ.ㅠ
ㅠㅠ
소프웨어(…)란 탈자를 포함해서 3갠가 본거 같은데 1개는 부록입니다
요즘 책들 오탈자율에 비하면 애교죠(…)
그래도…TI DSP의 열악한 개발환경보단 좋지않습니까 ㅡ _-;
STL도 없고 iostream도 없는…멋져부려~ 환경입니다 ㅋㅋ TDD는 시도해보기 상당히 힘들다는;;;
TDD 되는 개발환경되기전까지는…CI는 일단 제껴두고 그냥 자동빌드나 되도록 python이라도 동원해서 해볼 생각이긴합니다만.
– ship it! 에서 하지말란 짓이지만…어쩌겠습니까 -_-;; –
제가 작년에 pytho이랑 SVN을 묶어서 post-commit 훅으로 빌드했었죠(…)
이거 관리하기 귀찮아져서 한단계씩 CI 책에 나온 방향으로 옮겨간 것 같지만 /먼산
야바우는 대단하심! 난 아주 책 던져버릴 수준 아니면 오탈자 잘 못찾아내는데 ==.
lune / 오타는 그냥 눈에 띔. 물론 내가 쓴게 아니면(후략) =,=
정말, 내가 쓴 글의 오탈자가 가장 찾기 힘들다.
별 것 아닌 일로 만드는 방법…
지속적인 통합 – 폴 M. 듀발 외 지음, 최재훈 옮김/위키북스 얼마전 올린 ‘사람을 위한 자동화’ 이야기와 연결되는 책입니다. 2008/04/15 – [인사이드Dev] – 사람을 위한 자동화 그때 정리된 내용을…