HOME > 상세정보

상세정보

구글 엔지니어는 이렇게 일한다 (3회 대출)

자료유형
단행본
개인저자
Winters, Titus Manshreck, Tom, 큐레이션 Wright, Hyrum, 큐레이션 이복연, 역
서명 / 저자사항
구글 엔지니어는 이렇게 일한다 / 타이터스 윈터스, 톰 맨쉬렉, 하이럼 라이트 큐레이션 ; 개앞맵시 옮김
발행사항
서울 :   한빛미디어,   2022  
형태사항
704 p. : 삽화, 도표 ; 24 cm
원표제
Software engineering at Google : lessons learned from programming over time
ISBN
9791162245620
일반주기
구글러가 전하는 문화, 프로세스, 도구의 모든 것  
색인수록  
개앞맵시의 본명은 '이복연'임  
일반주제명
Software engineering
000 00000cam c2200205 c 4500
001 000046116659
005 20220607093736
007 ta
008 220525s2022 ulkad 001c kor
020 ▼a 9791162245620 ▼g 93000
035 ▼a (KERIS)BIB000016216944
040 ▼a 211063 ▼c 211063 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.1 ▼2 23
085 ▼a 005.1 ▼2 DDCK
090 ▼a 005.1 ▼b 2022z4
100 1 ▼a Winters, Titus
245 1 0 ▼a 구글 엔지니어는 이렇게 일한다 / ▼d 타이터스 윈터스, ▼e 톰 맨쉬렉, ▼e 하이럼 라이트 큐레이션 ; ▼e 개앞맵시 옮김
246 1 9 ▼a Software engineering at Google : ▼b lessons learned from programming over time
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2022
300 ▼a 704 p. : ▼b 삽화, 도표 ; ▼c 24 cm
500 ▼a 구글러가 전하는 문화, 프로세스, 도구의 모든 것
500 ▼a 색인수록
500 ▼a 개앞맵시의 본명은 '이복연'임
610 2 0 ▼a Google (Firm)
650 0 ▼a Software engineering
700 1 ▼a Manshreck, Tom, ▼e 큐레이션
700 1 ▼a Wright, Hyrum, ▼e 큐레이션
700 1 ▼a 이복연, ▼e▼0 AUTH(211009)86652
900 1 0 ▼a 윈터스, 타이터스, ▼e 큐레이션
900 1 0 ▼a 맨쉬렉, 톰, ▼e 큐레이션
900 1 0 ▼a 라이트, 하이럼, ▼e 큐레이션
900 0 0 ▼a 개앞맵시, ▼e
945 ▼a ITMT

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.1 2022z4 등록번호 111864977 도서상태 예약서가비치 반납예정일 예약 예약가능(1명 예약중) R 서비스 M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2022z4 등록번호 121260237 도서상태 대출중 반납예정일 2022-07-30 예약 예약가능(1명 예약중) R 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.1 2022z4 등록번호 111864977 도서상태 예약서가비치 반납예정일 예약 예약가능(1명 예약중) R 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2022z4 등록번호 121260237 도서상태 대출중 반납예정일 2022-07-30 예약 예약가능(1명 예약중) R 서비스 M

컨텐츠정보

책소개

여러분이 궁금해하고, 반드시 알아야 할 프로그램을 효과적으로 짜는 방법은 물론, 코드베이스를 지속 가능하고 건실하게 만들어주는 엔지니어링 관행까지 모두 소개한다. 이 책 한 권이면 소프트웨어 엔지니어링 프로세스를 완벽하게 익히고 좋은 제품을 남들보다 빠르게 구현할 수 있게 된다. 또한 20년 넘게 수만 명의 구글러가 쌓아온 노하우도 습득할 수 있다. 품질 좋은 소프트웨어 제품을 신속하게 개발하고 싶거나 구글의 소프트웨어 관리 방법이 궁금한 모든 이에게 훌륭한 안내서가 되어줄 것이다.

구글은 어떻게 개발하고 코드를 관리하는가
지난 50년의 세월과 이 책이 입증한 사실이 한 가지 있습니다. 바로 '소프트웨어 엔지니어링의 발전은 결코 정체되지 않는다'라는 것입니다. 빠른 기술 변화 속에서 소프트웨어 엔지니어링의 중요성이 더욱 강조되면서 소프트웨어 엔지니어의 역할은 점점 더 확장될 것입니다. 이제 더 이상 소프트웨어 엔지니어링은 단순히 조직을 효과적으로 운영하는 방법에 그치지 않을 것입니다. 이 책에서는 여러분이 궁금해하고, 반드시 알아야 할 프로그램을 효과적으로 짜는 방법은 물론, 코드베이스를 지속 가능하고 건실하게 만들어주는 엔지니어링 관행까지 모두 소개합니다. 이 책 한 권이면 소프트웨어 엔지니어링 프로세스를 완벽하게 익히고 좋은 제품을 남들보다 빠르게 구현할 수 있게 됩니다. 또한 20년 넘게 수만 명의 구글러가 쌓아온 노하우도 습득할 수 있습니다. 품질 좋은 소프트웨어 제품을 신속하게 개발하고 싶거나 구글의 소프트웨어 관리 방법이 궁금한 모든 이에게 훌륭한 안내서가 되어줄 것입니다.

구글러가 공개하는 기업에 혁신을 가져다주는 엔지니어링 전략
여러분이 또 하나의 거대한 소프트웨어 엔지니어링 기업 ‘구글’을 만들 필요는 없습니다. 다만 구글이 그간 쌓아온 숱한 노하우를 모른다면, 여러분은 수만 명의 엔지니어가 20년 넘게 조화를 이뤄 다듬어온 소프트웨어 엔지니어링의 지식을 놓치게 됩니다. 모른 척하기에는 너무도 값진 지식일 것입니다. 이 책에서는 구글의 소프트웨어 엔지니어와 테크니컬 라이터가 뭉쳐 구글의 독창적인 엔지니어링 문화, 프로세스, 도구를 소개합니다. 단순히 도구의 기능과 활용법을 넘어 구글의 팀들이 따르는 철학과 프로세스까지 아주 상세히 설명합니다. 또한 프트웨어 조직이 코드를 설계, 작성, 유지 관리할 때 절대 잊어서는 안 되는 세 가지 기본 원칙도 함께 살펴봅니다. 이 책에 담긴 수만 명의 구글러가 여러 시행착오 끝에 검증한 실전 대응 기법이 적용된 다양한 사례와 예제로, 소프트웨어 엔지니어링의 핵심을 꿰뚫어보는 시각을 얻어 훌륭한 엔지니어로 거듭나길 바랍니다.


정보제공 : Aladin

저자소개

타이터스 윈터스(지은이)

구글에 2010년에 합류한 선임 소프트웨어 엔지니어. 지금은 C++ 표준 라이브러리를 설계하는 글로벌 소위원회 위원장이며, 구글에서는 매달 12,000명의 엔지니어가 수정하는 2억 5천만 라인의 코드로 이루어진 C++ 코드베이스의 라이브러리 리더를 맡고 있습니다. 지난 7년 동안은 최신 자동화 및 도구를 사용하여 구글 C++ 코드베이스의 기본 구성요소들을 재구성, 유지보수, 개선하는 팀을 이끌었습니다. 그 과정에서 역사상 가장 큰 리팩터링 10위 안에 들만한 여러 프로젝트를 경험했습니다. 리팩터링 도구 제작과 자동화 구축을 지원하면서 엔지니어와 프로그래머가 ‘무언가를 동작하게 만들기’ 위해 취할 수 있는 수많은 지름길을 직접 접했습니다. 구글에서만 경험할 수 있는 규모와 관점이 소프트웨어 시스템의 관리와 공급에 대한 타이터스의 생각 전반에 영향을 미쳤습니다.

톰 맨쉬렉(지은이)

구글에서 2005년부터 소프트웨어 엔지니어링 부분 테크티컬 라이터로 근무하며 인프라와 언어에 관한 주요 프로그래밍 가이드를 작성하고 관리하는 업무를 담당했습니다. 2011년부터는 구글 C++ 라이브러리팀에 합류하여 구글 C++ 문서자료를 만들고, (타이터스와 함께) 구글 C++ 교육 클래스를 론칭했으며, 구글의 오픈 소스 C++ 코드인 Abseil의 문서화도 진행했습니다. 매사추세츠 공과대학교에서 정치학 학사와 역사 학사를 받았습니다. 구글에 합류하기 전에는 피어슨, 프랜티스 홀, 다양한 스타트업에서 편집장으로 근무했었습니다.

하이럼 라이트(지은이)

구글에 2012년에 합류한 소프트웨어 엔지니어. 구글 C++ 코드베이스의 대규모 유지보수 업무를 담당했습니다. 구글 역사에서 구글 코드베이스를 가장 많이 수정한 사람으로 손꼽히며 구글의 자동 변경 도구 그룹을 이끌고 있습니다. 텍사스 대학교에서 소프트웨어 엔지니어링 박사 학위를 받았고 카네기 멜론 대학교에서 비정기 방문 교수로 재직 중입니다. 콘퍼런스 연사로 활발히 활동하며 소프트웨어 유지보수 및 진화 관련 학술 문헌을 꾸준히 기고합니다.

개앞맵시(옮긴이)

고려대학교 컴퓨터학과를 졸업하고 삼성전자에서 자바 가상 머신, 바다 플랫폼, 챗온 메신저 서비스 등을 개발했다. 주 업무 외에 분산 빌드, 지속적 통합, 수명주기 관리 도구, 애자일 도입 등 동료 개발자들에게 실질적인 도움을 주는 일에 적극적이었다. 그 후 창업 전선에 뛰어들어 좌충 우돌하다가, 개발자 커뮤니티에 기여하는 더 나은 방법을 찾아 출판 시장에 뛰어들었다. 한빛미디어에서 『밑바닥부터 시작하는 딥러닝』 시리즈, 『리팩터링 2판』, 『Effective Unit Testing』을 번역했고, 인사이트에서 『이펙티브 자바 3판』과 『JUnit 인 액션 2판』을 번역했다. 개발자들과의 소통 창구로 소소하게 facebook.com/dev.loadmap 페이지를 운영 중이다.

정보제공 : Aladin

목차

[Part I 전제]
CHAPTER 1 소프트웨어 엔지니어링이란?
1.1 시간과 변경
1.2 규모 확장과 효율성
1.3 트레이드오프와 비용
1.4 소프트웨어 엔지니어링 vs 프로그래밍
1.5 마치며
1.6 핵심 정리

[Part II 문화]
CHAPTER 2 팀워크 이끌어내기
2.1 내 코드를 숨기고 싶어요
2.2 천재 신화
2.3 숨기는 건 해롭다
2.4 모든 건 팀에 달렸다
2.5 마치며
2.6 핵심 정리

CHAPTER 3 지식 공유
3.1 배움을 가로막는 장애물
3.2 철학
3.3 판 깔아주기: 심리적 안전
3.4 내 지식 키우기
3.5 질문 확장하기: 커뮤니티에 묻기
3.6 지식 확장하기: 누구나 가르칠 게 있다
3.7 조직의 지식 확장하기
3.8 가독성 제도: 코드 리뷰를 통한 표준 멘토 제도
3.9 마치며
3.10 핵심 정리

CHAPTER 4 공정 사회를 위한 엔지니어링
4.1 편견은 피할 수 없다
4.2 다양성이 필요한 이유 이해하기
4.3 다문화 역량 갖추기
4.4 다양성 실천하기
4.5 단일한 접근 방식 거부하기
4.6 확립된 프로세스에 도전하기
4.7 가치 vs 결과
4.8 관심을 잃지 말고 전진하자
4.9 마치며
4.10 핵심 정리

CHAPTER 5 팀 이끌기
5.1 관리자와 테크 리드(혹은 둘 다)
5.2 개인 기여자에서 리더로
5.3 엔지니어링 관리자
5.4 안티패턴
5.5 올바른 패턴
5.6 예상 못한 질문
5.7 그 외 조언과 요령
5.8 사람은 식물과 같다
5.9 마치며
5.10 핵심 정리

CHAPTER 6 성장하는 조직 이끌기
6.1 늘 결정하라(Always Be Deciding)
6.2 늘 떠나라(Always Be Leaving)
6.3 늘 확장하라(Always Be Scaling)
6.4 마치며
6.5 핵심 정리

CHAPTER 7 엔지니어링 생산성 측정하기
7.1 엔지니어링 생산성을 측정하는 이유
7.2 선별: 측정할 가치가 있는가?
7.3 GSM 프레임워크: 목표와 신호를 뒷받침하는 의미 있는 지표 선정하기
7.4 목표(goal)
7.5 신호(signal)
7.6 지표(metric)
7.7 데이터로 지표 검증하기
7.8 조치를 취하고 결과 추적하기
7.9 마치며
7.10 핵심 정리

[Part III 프로세스]
CHAPTER 8 스타일 가이드와 규칙
8.1 규칙이 필요한 이유
8.2 규칙 만들기
8.3 규칙 수정하기
8.4 지침
8.5 규칙 적용하기
8.6 마치며
8.7 핵심 정리

CHAPTER 9 코드 리뷰
9.1 코드 리뷰 흐름
9.2 코드 리뷰 @ 구글
9.3 코드 리뷰의 이점
9.4 코드 리뷰 모범 사례
9.5 코드 리뷰 유형
9.6 마치며
9.7 핵심 정리

CHAPTER 10 문서자료
10.1 문서자료란?
10.2 문서자료가 필요한 이유
10.3 문서자료는 코드와 같다
10.4 독자를 알라
10.5 문서자료 유형
10.6 문서자료 리뷰
10.7 문서화 철학
10.8 테크니컬 라이터가 필요한 순간
10.9 마치며
10.10 핵심 정리

CHAPTER 11 테스트 개요
11.1 테스트를 작성하는 이유
11.2 테스트 스위트 설계하기
11.3 구글 규모의 테스트
11.4 구글의 테스트 역사
11.5 자동 테스트의 한계
11.6 마치며
11.7 핵심 정리

CHAPTER 12 단위 테스트
12.1 유지보수하기 쉬워야 한다
12.2 깨지기 쉬운 테스트 예방하기
12.3 명확한 테스트 작성하기
12.4 테스트와 코드 공유: DRY가 아니라 DAMP!
12.5 마치며
12.6 핵심 정리

CHAPTER 13 테스트 대역
13.1 테스트 대역이 소프트웨어 개발에 미치는 영향
13.2 테스트 대역 @ 구글
13.3 기본 개념
13.4 테스트 대역 활용 기법
13.5 실제 구현
13.6 속이기(가짜 객체)
13.7 뭉개기(스텁)
13.8 상호작용 테스트하기
13.9 마치며
13.10 핵심 정리

CHAPTER 14 더 큰 테스트
14.1 더 큰 테스트란?
14.2 더 큰 테스트 @ 구글
14.3 큰 테스트의 구조
14.4 더 큰 테스트 유형
14.5 큰 테스트와 개발자 워크플로
14.6 마치며
14.7 핵심 정리

CHAPTER 15 폐기
15.1 폐기시키는 이유
15.2 폐기는 왜 그리 어려운가?
15.3 폐기 유형
15.4 폐기 프로세스 관리
15.5 마치며
15.6 핵심 정리

[Part IV 도구]
CHAPTER 16 버전 관리와 브랜치 관리
16.1 버전 관리란?
16.2 브랜치 관리
16.3 버전 관리 @ 구글
16.4 모노리포(단일 리포지터리)
16.5 버전 관리의 미래
16.6 마치며
16.7 핵심 정리

CHAPTER 17 Code Search
17.1 Code Search UI
17.2 구글 개발자가 Code Search를 이용하는 방법
17.3 독립된 웹 도구로 만든 이유
17.4 규모가 설계에 미치는 영향
17.5 구글은 어떻게 구현했나?
17.6 구글이 선택한 트레이드오프
17.7 마치며
17.8 핵심 정리

CHAPTER 18 빌드 시스템과 빌드 철학
18.1 빌드 시스템의 목적
18.2 빌드 시스템이 없다면?
18.3 모던 빌드 시스템
18.4 모듈과 의존성 다루기
18.5 마치며
18.6 핵심 정리

CHAPTER 19 Critique: 구글의 코드 리뷰 도구
19.1 코드 리뷰 도구 원칙
19.2 코드 리뷰 흐름
19.3 1단계: 변경 생성
19.4 2단계: 리뷰 요청
19.5 3~4단계: 변경 이해하고 댓글 달기
19.6 5단계: 변경 승인(변경에 점수 매기기)
19.7 6단계: 변경 커밋
19.8 마치며
19.9 핵심 정리

CHAPTER 20 정적 분석
20.1 효과적인 정적 분석의 특징
20.2 정적 분석을 적용하며 깨우친 핵심 교훈
20.3 Tricorder: 구글의 정적 분석 플랫폼
20.4 마치며
20.5 핵심 정리

CHAPTER 21 의존성 관리
21.1 의존성 관리가 어려운 이유
21.2 의존성 임포트하기
21.3 (이론상의) 의존성 관리
21.4 유의적 버전의 한계
21.5 자원이 무한할 때의 의존성 관리
21.6 마치며
21.7 핵심 정리

CHAPTER 22 대규모 변경
22.1 대규모 변경이란?
22.2 누가 대규모 변경을 처리하나?
22.3 원자적 변경을 가로막는 요인
22.4 대규모 변경 인프라
22.5 대규모 변경 프로세스
22.6 마치며
22.7 핵심 정리

CHAPTER 23 지속적 통합
23.1 지속적 통합이란?
23.2 지속적 통합 @ 구글
23.3 마치며
23.4 핵심 정리

CHAPTER 24 지속적 배포
24.1 지속적 배포 이디엄 @ 구글
24.2 속도는 팀 스포츠다: 배포를 관리 가능한 조각으로 나누기
24.3 변경을 격리해 평가하자: 기능 플래그로 보호하기
24.4 기민해지기 위한 분투: 릴리스 열차 갖추기
24.5 품질과 사용자에 집중: 사용할 기능만 배포하자
24.6 원점 회귀: 데이터에 기초해 더 일찍 결정하자
24.7 팀 문화 바꾸기: 배포 규율 세우기
24.8 마치며
24.9 핵심 정리

CHAPTER 25 서비스형 컴퓨트
25.1 컴퓨트 환경 길들이기
25.2 관리형 컴퓨트에 적합한 소프트웨어 작성하기
25.3 시간과 규모에 따른 CaaS
25.4 컴퓨트 서비스 선택하기
25.5 마치며
25.6 핵심 정리

관련분야 신착자료

Coene, John (2021)
クジラ飛行机 (2022)