장바구니 담기 close

장바구니에 상품을 담았습니다.

Gerrit 코드 리뷰

Gerrit 코드 리뷰

  • 루카 밀라네시오
  • |
  • 에이콘출판
  • |
  • 2015-02-17 출간
  • |
  • 172페이지
  • |
  • 188 X 235 X 14 mm /447g
  • |
  • ISBN 9788960776722
★★★★★ 평점(10/10) | 리뷰(1)
판매가

18,000원

즉시할인가

16,200

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
16,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 요약 ★
코드 리뷰는 작성한 소스 코드를 체계적으로 점검하는 활동으로, 소프트웨어의 품질을 높이는 데 대단히 효과적이라는 공감대는 형성되어 있으면서도 실제 실천은 잘 하지 않게 되는 소프트웨어 개발 활동이다.
이 책에서는 코드 리뷰를 웹 기반의 환경에서 온라인으로 실시할 수 있는 게릿(Gerrit) 코드 리뷰의 소개와 설치 및 설정, 실제 코드 리뷰 활동의 작업 흐름에 대한 실질적인 정보를 얻을 수 있다.

★ 이 책에서 다루는 내용 ★
■ 게릿의 기본 설치 및 설정
■ 개발 조직에서 코드 검토의 장점을 극대화하는 방법
■ 액티브 디렉토리(Active Directory)처럼 널리 사용되는 LDAP 레지스트리와 게릿을 연동하는 방법
■ 게릿이 OpenID 인증을 사용하도록 설정하는 방법
■ 게릿 프로젝트의 보안 사항과 게릿 사용자의 역할 및 권한 확인
■ 게릿을 깃 SSH나 HTTPS 서버로 사용하는 방법
■ 아파치 HTTP 리버스 프록시 환경에서 게릿을 설치하는 방법
■ 동시 변경에 대한 처리와 리베이스 의존 관계
■ 게릿 코드 검토 라이프사이클의 도입 및 첫 번째 패치 세트 적용

★ 이 책의 대상 독자 ★
이 책은 팀 리더, 개발자, 형상 관리 담당자 등 게릿 코드 리뷰를 도입해 조직의 협업을 개선하려는 의지를 지닌 모두를 대상으로 한다.

★ 이 책의 구성 ★
1장, ‘코드 검토 소개’에서는 게릿 코드 검토의 기초 개념과 용어, 장점, 역할과 개발팀이 준수해야 할 내용을 소개한다.

2장, ‘환경 설정과 시작’에서는 처음으로 샌드박스(sandbox) 환경에서 게릿을 설치하고 설정하는 과정을 상세하게 설명한다. 초기 관리자 계정 저장소 하나를 생성하는 것을 시작으로 첫 번째 변경 검토를 푸시(push)해 본다.

3장. ‘사용자 인증’에서는 사용자 인증과 프로파일 등록을 수행하기 위해 기존의 인증 시스템과 통합하는 방법을 설명한다. 인증 절차가 어떻게 진행하는지 살펴보고 LDAP, OpenID나 다른 서드파티 인증 시스템과 연결하기 위해 어떤 설정이 가능한지 알아본다.

4장, ‘SSH와 HTTPS를 이용한 접근’에서는 SSH나 HTTPS처럼 보안이 강화된 프로토콜을 사용해서 깃 클라이언트로부터의 코드 검토 활동에 대한 게릿의 보안을 강화하는 방법을 설명한다.

5장, ‘프로젝트 권한 설정’에서는 소스 코드 저장소에 대한 역할 기반 접근을 실현하기 위해 프로젝트 템플릿과 그룹을 효과적으로 이용하는 방법을 설명한다. 코드 검토를 위한 프로젝트와 팀을 조직화하기 위해 게릿 권한 조합과 깃의 참조 스펙(ref-specs)의 접근 제어 목록과의 관계에 대해 알아본다.

6장, ‘변경 및 코드 검토 작업 흐름’에서는 게릿에서 코드 검토 작업 흐름이 어떻게 동작하는지 단계별로 차근차근 알아본다. 검토자들끼리 사용하는 용어와 검토자와 기여자가 소통하는 방법에 대해서도 설명한다.

7장, ‘서브밋 유형과 동시성’에서는 검토 과정에서 동시성과 관련하여 발생하는 다양한 상황을 분석하고 게릿으로 어떻게 동시성 문제를 관리하는지 알아본다.

부록 A. ‘깃허브 연동’에서는 게릿을 외부의 깃허브 서버에 어떻게 연결하는지 예제를 통해 알아보고, 게릿 코드 검토 작업흐름과 깃허브를 함께 사용하는 데 필요한 가이드를 제공한다.

부록 B, ‘젠킨스 연동’에서는 검토 단계에서 게릿의 변경 사항을 젠킨스(Jenkins)가 직접 가져와서 검증(validation)을 자동화할 수 있는 방법을 알려준다.

부록 C, ‘깃 기초’에서는 깃 버전 관리 시스템의 개념과 용어에 대한 기초 지식을 알려줌으로써 처음 시작하는 사람이 깃을 쉽게 설정하고 사용할 수 있게 해준다.

★ 저자 서문 ★
오늘날 소프트웨어를 개발하는 것은 글로벌 규모로 분산되어 진행되는 활동 그 이상이다. 같은 장소에서 일하는 팀에 적합한 애자일 방법론과 개발자들이 더 소셜한 방식으로 공유하고 토론할 수 있는 도구가 필요하다.

리눅스 오픈소스 프로젝트 개발에 사용하기 위해 리누스 토발즈(Linus Torvalds)가 2005년에 설계한 버전 관리 시스템인 깃(Git)이 널리 확산됨에 따라, 개발자들이 더 개방된 방식으로 코드를 개발하고 공유할 수 있게 되었다. 깃허브(GitHub)와 게릿 코드 검토(Gerrit Code Review)는 소셜 코딩 혁명의 초석이 되었고, 가장 성공적인 오픈소스 모바일 운영체제인 안드로이드의 소스 코드 저장소 및 개발에 사용되어 그 성공의 기반이 되었다.

이 책은 애자일 개발팀에서의 코드 검토 작업흐름의 장점을 알아보고, 효율적으로 코드를 검토하기 위한 간단한 절차를 제공한다. 내부 네트워크나 인터넷 환경에서 가장 전형적인 설치 설정으로 게릿을 설치하는 절차를 알려주고, 기존에 사용 중인 인증 시스템이나 지속적 통합 시스템과의 연계를 위한 설정 예제도 포함하고 있다. 이 책을 따라 하면 게릿 서버를 실제 개발팀에 적용할 수 있는 수준으로 완전하게 설정할 수 있게 된다.

게릿과 깃허브를 효율적으로 함께 사용하는 방법을 배워서 깃허브 플랫폼에서 제공하는 협업 도구와 더불어 더 일관성 있게 코드 검토를 수행할 수 있다. 이 두 가지 도구를 함께 사용함으로써 깃허브에 있는 계정을 재사용할 수 있고 여러분이 속한 깃허브의 커뮤니티를 개발 라이프사이클에 통합하여 외부 기여자들과도 협력할 수 있다.

이 책은 개발 과정에서 게릿을 매용 사용하는 데 필요한 설치와 설정 등 모든 것을 알려준다. 협업 및 같은 공간 또는 원격 공간에서의 협업자들의 집합적인 소스 코드 오너십의 개념과 의미에 대해서도 소개한다.

★ 옮긴이의 말 ★
SNS가 발달한 요즘 인터넷에서는 개발자에 대한 유머를 심심치 않게 볼 수 있다. 외국의 괴짜 개발자에 대한 이야기, 열악한 국내 소프트웨어 개발 환경에 한 자조적인 이야기 등 꽤나 다양한 주제에 대한 재미난 이야기를 들을 수 있는데, 그 재미를 관통하는 문맥을 한 가지만 고르라고 하면 ‘개발자의 자부심’을 꼽을 수 있을 것 같다.

코드 리뷰는 아무리 조심스럽게 한다고 할지라도, 자부심 높은 개발자들끼리 서로의 코드에 대해 다양한 의견을 나누다 보면 본질적인 목적보다 그 자부심에 대한 전쟁으로 번지는 경우가 많다. 특히나 활발한 토론보다, 스스로를 낮추며 적극적인 의견 개진을 삼가는 것이 미덕이라고 받아들여지는 국내 분위기상 코드 리뷰가 자리잡기는 더 어려울 수 있다고 본다.

자부심과 관계된 일이라면 직접적인 대면에 의한 의견을 나누는 것보다는 간접적인 방식으로 의견을 나누는 것이 훨씬 더 나은 차선책이 될 수 있다. 게릿 코드 리뷰는 웹을 통해 간접적인 방식으로 가장 구체적이고 실질적인 의견을 나눌 수 있는 환경을 제공해준다. 게릿 코드 리뷰를 프로젝트에서 잘 활용하면 개발자의 자부심을 지키면서도 소프트웨어의 품질을 향상시킬 수 있고, 개발자 스스로도 코드 리뷰를 통해 다양한 의견을 주고받으면서 발전할 수 있다.

이 책은 게릿 코드 리뷰의 소개와 실제 적용을 위한 다양한 환경에서의 설치 및 설정 방법뿐 아니라, 실제 코드 리뷰 활동 진행에 필요한 권장 작업 흐름과 개발자의 자부심을 해치지 않는 코드 리뷰 에티켓까지 실질적인 정보를 전달해주고 있다. 이 책을 통해 코드 리뷰가 소프트웨어 개발 과정에서 선택이 아닌 필수 활동으로 자리잡을 수 있기를 기대한다.

목차

1 코드 검토 소개
__코드 검토의 장점
____빌드 안정성
____지식 공유
____외부로부터의 신속한 피드백
____코드 스타일의 공유
____팀 참여
____품질 중심의 코드 선택
__코드 검토 역할
____기여자
____검토자
____커미터
____관리자
____리뷰 레이블과 역할 설정
__검토 용어와 작업 흐름
____프로젝트
____변경
____코드 검토 표식
____변경 제출
____변경 병합
____변경 폐기
__정리

2 환경 설정과 시작
__사전 준비 요건
__게릿 다운로드
__게릿 초기 설정
____설치 완료
__로그인과 사용자 프로파일 생성
__깃 사용을 위한 HTTP 비밀번호 생성
__첫 번째 프로젝트 생성 및 저장소 복제
__정리

3 사용자 인증
__게릿 사용자 인증 작동 원리
____깃과 게릿 UI 인증
____게릿 내부 계정
__인터넷을 통한 OpenID 인증
__OpenID 싱글 사인 온
__내부 네트워크에서의 게릿 인증
__LDAP 설정
____읽기 전용 LDAP 사용자 정보
__액티브 디렉토리
__서드파티 인증 옵션
____예제: 아파치 HTTP 리버스 프록시
____리버스 프록시와 게릿 설정
____게릿 HTTP 인증 활성화
____사용자 정보 검색
__정리

4 SSH와 HTTP를 이용한 접근
__강력한 보안 설정 적용
__Bouncy Castle Security 설치
__SSH의 사용
____깃/SSH 클라이언트 키
____게릿 사용자 프로파일에 SSH 키 등록
____깃/SSH를 통한 저장소 복제
__HTTPS 활성화
____HTTP/S 리버스 프록시
____게릿의 HTTP/S 지원
__정리

5 프로젝트 권한 설정
__게릿 권한 구조 이해
__프로젝트 권한 설정
____전체 프로젝트 권한
____깃과 게릿 레퍼런스
____깃 권한
____코드 검토 권한
__그룹 관리
____사용자 생성 그룹
____외부 그룹(그룹 백엔드)
__효율적으로 그룹 계층 사용
__프로젝트 보안 템플릿
__정리

6 변경 및 코드 검토 작업흐름
__게릿 코드 검토 역할 및 작업흐름
____단계별 검토 작업흐름
________역할
________작업흐름 10단계
__코드 검토를 위한 게릿 브랜치 이름 공간
__토픽 설정
__검토자 추가
__검토 레이블
____검토
__검토 의견과 변경에 대한 평가
____검토 예절
____검토 공개 및 평가
__검토 중인 코드의 수정
__정리

7 서브밋 유형과 동시성
__서브밋 유형
____패스트 포워드만 허용
____필요 시 리베이스
____필요 시 머지/언제나 머지
____체리 픽
__동시성을 고려한 코드 리뷰
____변경 의존성 추적
____게릿의 변경 의존성 실무
____게릿 의존성 그래프
____변경 그래프 갱신 관리
__정리

부록 A 깃허브와 연동
__깃허브 작업 흐름
____깃허브 논란
__깃허브 인증
____깃허브 플러그인 빌드
____깃허브 OAuth 라이브러리 설치
____깃허브 플러그인 설치
____게릿을 깃허브 OAuth 애플리케이션으로 등록
________깃허브 OAuth 설정을 위한 게릿 초기 설정 실행
____게릿 사용을 위한 깃허브 로그인
__깃허브로의 복제
____게릿 복제 플러그인 설정
____깃허브에 푸시하기 위한 게릿 인증
____게릿 복제 실행
____검토 및 깃허브 브랜치 머지
__gerrithub.io에서 게릿과 깃허브 사용
__정리

부록 B 젠킨스 연동
__젠킨스와 게릿의 작업 흐름
__젠킨스 게릿 플러그인 설치
____젠킨스 플러그인 설치
____게릿 트리거 플러그인
________젠킨스 연동을 위한 게릿 설정
________게릿 트리거 플러그인 설정
__게릿을 통한 빌드 트리거
____게릿 트리거 설정
____깃 플러그인 설정
__코드 검증 자동화
__정리

부록 C 깃 기초
__P2P 분산 버전 관리 시스템
__깃 설치
____저장소 생성
____깃에 파일 추가
____저장소 이력 확인
____파일 편집 및 변경
__깃의 기초 개념
__깃 브랜치
__패스트 포워드, 머지, 리베이스, 체리 픽
__원격 저장소
____원격 저장소로 브랜치 푸시
____원격 저장소에서 가져오기
__정리

저자소개

저자 루카 밀라네시오(Luca Milanesio)는 기업을 위한 깃(Git)과 게릿(Gerrit) 경쟁력 제고 분야의 선두를 달리고 있는 게릿포지(GerritForge)의 임원이자 공동설립자다. 전 세계의 대형 엔터프라이즈 솔루션 개발에서 개발 관리, 소프트웨어 형상 관리, 소프트웨어 개발 생명주기 분야에서 20년 이상의 현장 실무 경험을 가지고 있다. 게릿포지를 설립하기 전에는 이태리와 영국 등지에 있는 프리미어(Primeur) 사의 전자결제를 위한 보안과 준수 플랫폼을 담당하는 기술 고문 및 제품 수석 임원을 역임했다. 게릿포지 창업 이후에는 게릿 커뮤니티에 기여하면서 세계적인 주요 통신, 은행 및 산업 분야를 포함한 대형 엔터프라이즈 개발에 적용 가능한 코드 검토 작업 흐름을 도입했다. 깃을 대형 엔터프라이즈 개발에 확장하여 쓸 수 있도록 깃의 16가지 패턴과 안티패턴을 정리한 필수 가이드인 『Git and Anti-Patterns(깃 패턴과 안티패턴)』의 저자이기도 하다. 이 책에서는 하이브리드 SCM, 깃 챔피언, 축복받은 저장소, 기능별 토픽 브랜치, 애플리케이션 라이프사이클 관리(ALM, Application Lifecycle Management) 등의 패턴을 설명한다.

도서소개

팀 리더, 개발자, 형상 관리 담당자 등 게릿 코드 리뷰를 도입해 조직의 협업을 개선하려는 의지를 지닌 모두를 대상으로 하는 『Gerrit 코드 리뷰』. 개발 과정에서 게릿을 매용 사용하는 데 필요한 설치와 설정 등 모든 것을 알려준다. 협업 및 같은 공간 또는 원격 공간에서의 협업자들의 집합적인 소스 코드 오너십의 개념과 의미에 대해서도 소개한다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.