Top

서브버전 [실무자가 꼭 알아야할 차세대 버전관리 시스템]

  • 원서명Practical Subversion (ISBN 1590592905)
  • 지은이Garrett Rooney
  • 옮긴이허영주
  • ISBN : 8989975727
  • 19,000원
  • 2005년 06월 30일 펴냄 (절판)
  • 페이퍼백 | 336쪽 | 190*250mm

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

강력한 오픈소스 버전관리 시스템!!

서브버전은 현 시대의 소프트웨어 개발자의 수요를 만족시켜주기 위해 설계된, 강력한 오픈소스 버전관리 시스템이다.
서브버전은 이전 시스템에서의 경험을 토대로 만들어졌으며, 가장 널리 사용되는 버전관리 시스템인 CVS가 제공하는 인터페이스 중에서도 최적의 인터페이스만 골라서 여기에 최신 기술과 최적의 핵심 기술을 덧붙임으로써 소프트웨어 개발의 새 장을 여는 데 필요한 모든 제반 사항을 갖춘 것이다.

이 책은 사용자가 매일매일의 개발작업에 사용할 수 있는 서브버전의 기본사항에 대한 설명으로 시작한다. 그런 다음, 자신만의 서브버전 리포지토리를 관리하는 방법에 대한 상세사항을 익히게 될 것이다. 그리고 서브버전과 연동되는 다양한 아파치 모듈을 사용해서 서브버전의 아파치 모듈 기능을 확장하는 방법에 대해 알아본다.

그리고 서브버전이 제공하는 기능을 최대한 사용할 수 있게 해주는 몇가지 베스트 프랙티스에 대해 알아보고 서브버전과 연동되는 몇몇 써드파티 툴에 대한 소개가 제공된다. 마지막으로 서브버전 라이브러리를 통해 사용자의 툴에 서브버전의 기능을 추가하는 방법에 대해 알아본다.


★ 이 책의 대상 ★

이 책은 버전관리소개를 위한 책이 아니다. 대신 2장에서 서브버전을 간단하게 소개하므로, 이전에 버전관리시스템을 접해본 적이 없다면 2장에서 버전관리시스템을 시작하는 데 필요한 충분한 지식을 얻을 수 있을 것이다. 서브버전과 다른 시스템에 대한 비교는 무시하고 서브버전에 대해 기술한 부분에만 집중하면, 서브버전에 대한 지식을 충분히 습득할 수 있을 것이다.

서브버전은 범용 버전관리시스템이기 때문에 음악파일, 워드문서, CAD파일, 그 밖의 다른 모든 종류의 데이터의 버전을 관리할 수 있다. 그러나 가장 많이 사용되는 분야는 아무래도 소스코드의 버전관리다. 그렇기 때문에 이 책의 예제는 독자가 소프트웨어 개발에 대한 기본 지식이 있다는 가정 하에 작성됐다. 이 책을 읽는 독자는 소프트웨어를 개발하는 데 여러 명의 개발자가 투입되는, 일반적인 작업흐름을 이해하고 있어야 하며, 소프트웨어 개발자들이 종종 사용하는 툴의 종류도 어느 정도는 알고 있어야 한다.

그러나 소프트웨어 개발 프로세스의 상세 사항에 대한 이해가 부족한 독자를 위해 가능한 간단한 예제를 골랐기 때문에 그다지 어렵지 않게 버전관리시스템의 개념을 이해할 수 있을 것이다.

이 책에 있는 대부분의 예제는 유닉스와 유사한 환경에서 사용되는 커맨드라인 인터페이스를 사용했다. 그러나 플랫폼에 따른 차이는 가능하면 최소화했으므로 대부분의 예제는 유닉스건 윈도우건 혹은 Mac OS X건 간에 서브버전이 실행되는 시스템이라면 커맨드라인 인터페이스를 통해 어디에건 적용할 수 있을 것이다.


★ 서브버전 다운로드 ★

많은 오픈소스 프로젝트와 마찬가지로 서브버전은 소스코드의 형태로 구해서 사용할 수 있다. 서브버전은 각 버전이 출시될 때마다 http://subversion.tigris.org/ 사이트의 “Documents & files”영역에서 tar로 압축된 파일을 다운로드할 수 있다. 일단 서브버전의 최신 tar 파일을 다운로드하고 나면 서브버전 클라이언트를 컴파일하는 것은 비교적 간단하다. 서브버전을 컴파일하고 싶지 않다면 이미 컴파일된 바이너리 파일을 구할 수도 있다.

서브버전을 컴파일하고 설치하는 과정을 설명하기 전에, 서브버전 설치에 대한 최신 정보를 제공하는 INSTALL 파일에 대해 언급하는 편이 좋을 것 같다. 이 파일은 서브버전의 최상위 디렉토리에 포함돼있으며, 이 책에서 제시한 설치 방법보다 최신 정보를 제공한다.

저자/역자 소개

★ 저자 소개 ★

Garrett Rooney는 코네티컷 주의 노워크(Norwalk)에 있는 FactSet Research Systems에서 선임 소프트웨어 엔지니어로 근무하고 있으며, 실시간 뉴스 그룹과 관련된 업무를 담당하고 있다. 그는 RPI(Rensselaer Polytechnic Institute)에서 전산학을 전공했으며 다년간 다양한 오픈소스 프로젝트에 참여했다. 최근에는 대부분의 여가 시간을 서브버전 프로젝트를 진행하며 보내고 있다. 그는 서브버전 개발에 참여했을 뿐만 아니라 O’Reilly Network에 서브버전 클라이언트 라이브러리의 사용법에 대한 글도 작성했으며, OSCON(O’Reilly Open Source Convention)에서 서브버전 베스트 프랙티스에 대한 강연도 진행했다.


★ 저자 서문 ★

나는 서브버전 프로젝트에 다양한 역할로 참여할 수 있었기에 매우 운이 좋았다고 생각한다. 말단 사용자에서 시작해서 조용한 메일링 리스트 수신자를 거쳐 코딩에 직접 참여하게 됐고, 프로그래머로써는 버그 해결사로 시작해서 끝내는 커밋 권한을 가진 프로젝트 개발자가 될 수 있었다. 프로젝트 개발자로 일하는 동안에는 적극적인 프로젝트 개발자로써 정기적인 강연과 저작을 통해 다른 이들에게 서브버전의 사용법에 대해 알리는 역할도 담당했다. 나는 이런 과정을 통해 얻게 된 서브버전에 관한 지식을 한 차례 걸러서 이 책에 쏟아 부었다.

이 책에서는 서브버전에 대한 일반적인 소개로 시작해서 서브버전과 다른 버전관리 시스템을 구분 짓는 기능을 프로젝트 유지보수 성능 향상의 관점에서 단계적으로 설명한다. 또 프로그램 설치 및 설정방법을 간략하게 설명함으로써 사용자가 서브버전을 바로 사용할 수 있게 해준다. 그 다음으로는 서브버전의 리포지토리 관리 기능에 대해 설명하면서 작업흐름이나 파일 및 디렉토리 관리, 백업, 작업 자동화, 사용자 인증 기능과 같은 중요한 주제를 설명한다.

이 책은 서브버전과 아파치 웹 서버의 밀접한 관계에 대한 내용도 다룬다. 다양한 아파치 모듈을 사용해서 서브버전의 기능을 확장하는 방법에 대해 설명하면서 사용자 인증, 데이터 암호화/압축 및 WebDAV 클라이언트와의 통신방법 등에 대해서도 설명한다. 베스트 프랙티스에서는 서브버전이 제공하는 기능을 최대 성능으로 사용하는 방법에 대해 다루고, 마지막으로 서브버전과 연동되는 써드파티 툴에 대한 설명과 함께 서브버전 라이브러리를 사용해서 사용자 라이브러리를 작성하는 방법에 대해 제공한다.
서브버전은 사용자가 코드를 효율적으로 편리하게 관리할 수 있게 해주며, 이 책은 이런 기능을 사용하는 데 반드시 필요한 방법을 익힐 수 있게 해줄 것이다.

- Garrett Rooney


★ 기술 감수 ★

Justin R. Erenkrantz는 얼바인 대학(University of California, Irvine)에서 전산학 박사 과정을 밟고 있는 학생이다. 연구 분야는 소프트웨어 공학 중에서도 분산 소프트웨어 구조에 초점을 맞추고 있다. 그는 아파치 소프트웨어 협회(Apache Software Foundation)의 일원일 뿐만 아니라 아파치 HTTP 서버, 아파치 포터블 런타임(Apache Portable Runtime), 아파치 플러드(Apache Flood) 및 서브버전의 개발에 공헌한 바 있다.


★ 역자 소개 ★

허 영 주(popea@kisti.re.kr)는 성균관대학교 컴퓨터공학과 석사를 졸업하고 현대정보기술(HIT) 개발실을 거쳐 현재 한국 과학기술 정보연구원에서 연구원으로 근무 중이다. 역서로는 에이콘출판사에서 출간한 「차세대 자바 SOAP AXIS」, 「수학으로 디자인한 플래시의 세계」, 「웹개발자를 위한 .NET 모바일」, 「게임 제작 최전선 – 기획에서 개발, 출시까지 게임의 모든 것」등이 있다.


★ 역자 서문 ★

프로그래머라면 누구나 한번쯤은 소스코드를 날려본 적이 있을 것이다. 또 하루 온종일 열심히 코딩을 해놓고 새로 추가한 코드가 마음에 들지 않아서 이전 코드로 되돌리느라 진땀을 뺐던 경험도 한번쯤은 있을 것이다.
버전관리 시스템을 사용해보면 이런 문제를 얼마나 쉽게 해결할 수 있는지 알게 된다. 그래서 한번 맛을 들인 개발자는 버전관리 시스템을 계속 찾게 되며, 심지어 소스코드뿐만 아니라 자신이 작성하는 모든 문서를 버전관리 시스템으로 관리하기도 한다. 한마디로 버전관리 시스템은 자신이 산출하는 (실행파일을 제외한) 모든 결과물을 안전하게 관리하려는 사람들에게 필수적인 툴이라고 할 수 있겠다.
이 책에서 다루고 있는 서브버전은 가장 대중적인 버전관리 시스템이었던 CVS의 기능을 한 단계 업그레이드한 툴로, CVS의 여러 단점을 개선하면서 기존의 CVS 사용자들이 쉽게 접근할 수 있는 장점을 지니는 버전관리 시스템이다. 이 책은 서브버전의 기본 명령어부터 시작해 서브버전을 설정하고 관리할 때 필요한 사항뿐만 아니라, 서브버전 라이브러리를 이용한 프로그래밍에 대한 내용도 다루고 있다. 따라서 버전관리 시스템을 처음 접해보는 사용자에서 중급 이상의 사용자에 이르기까지 다양한 수준의 사용자들이 흥미롭게 읽을 수 있게 구성돼있으며, 대부분 예제를 통해 설명하고 있으므로 그다지 힘들이지 않고도 내용을 이해할 수 있다. 또 여러 가지 다른 버전관리 시스템에서 데이터를 가져오는 방법이라든가 다른 시스템과의 명령어 비교표도 제시하고 있으므로 다른 버전관리 시스템을 사용하는 사용자가 서브버전으로 옮겨올 때 필요한 작업을 참고하는 데도 유용하게 활용할 수 있을 것이다.
이제 곧 서브버전의 시대가 열린다. 이 책이 이런 시대의 흐름을 따라가는 데 조금이나마 도움이 되기를 바란다.

목차

목차
  • 1장 서브버전 소개
  • 2장 서브버전의 기초
  • 3장 리포지토리 관리
  • 4장 다른 버전관리 시스템에서 옮겨오기
  • 5장 고급 아파치 통합 기능
  • 6장 베스트 프랙티스 (Best Practices)
  • 7장 서브버전과 다른 툴의 통합
  • 8장 서브버전 API의 사용
  • 부록 A 서브버전 커맨드 글로서리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안