책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9788993827750
· 쪽수 : 292쪽
· 출판일 : 2013-11-18
책 소개
목차
모어 조엘 온 소프트웨어
첫째마당 사람다루기
둘째마당 미래 프로그래머들에게 드리는 조언
세째마당 디자인 충격
넷째마당 큰 프로젝트 관리하기
다섯째마당 프로그래밍 조언
여섯째마당 소프트웨어 사업 시작하기
일곱째마당 소프트웨어 사업 경영하기
여덟째마당 소프트웨어 배포하기
아홉째마당 소프트웨어 다듬기
개발자의 코드
Chapter 1 소개
Chapter 2 은유
에세이 1 주의를 기울여 은유를 사용하라
에세이 2 계획을 충분히 세웠다면, 구축하라
에세이 3 론칭은 단지 첫 릴리즈일 뿐이다
에세이 4 ‘상아탑’ 아키텍트는 근거 없는 믿음에서 비롯된다
에세이 5 오래된 코드는 버려라
에세이 6 특수성보다는 다양성이 낫다
에세이 7 은유는 더 좋은 일 처리 방식을 숨긴다
Chapter 3 동기
에세이 8 특혜는 일 자체에 있다
에세이 9 시작하고 싶어하는 곳에서 시작하라
에세이 10 불완전함을 허용하라
에세이 11 프로그래밍을 잠시 멈춰라
에세이 12 작업 내용 테스트로 아침을 열어라
에세이 13 침실 밖에서 일하라
에세이 14 첫인상은 단지 첫인상일 뿐이다
에세이 15 론칭의 정서적 가치
에세이 16 논쟁거리를 찾아라
Chapter 4 생산성
에세이 17 펫 프로젝트는 ‘안돼’라고 말하라
에세이 18 모든 자원의 한도를 정하라
에세이 19 일정 수립 시 세부사항은 잘라내라
에세이 20 매일 두 가지씩 제품을 개선하라
에세이 21 좋은 업무 환경에 투자하라
에세이 22 개인의 To-Do 목록을 유지하라
에세이 23 팀에 ‘일시 활동 중단 시간’을 만들어라
에세이 24 작고 자율적인 팀에서 일하라
에세이 25 생산성에서 ‘우리’를 제거하라
Chapter 5 복잡성
에세이 26 나쁜 복잡성을 알아차려라
에세이 27 단순함의 역설
에세이 28 막대기 빼기 게임 같은 복잡성
에세이 29 이면의 복잡성을 유지하라
에세이 30 ‘코딩하기 어려운 것’은 ‘사용하기 어려운 것’일 수 있다
에세이 31 리팩토링 시기를 알아라
에세이 32 프로그램 케이던스를 개발하라
Chapter 6 교육
에세이 33 교육은 코딩과 다르다
에세이 34 ‘지식의 저주’ 주의
에세이 35 분명한 예제로 교육하라
에세이 36 단순화하기 위한 거짓말
에세이 37 자율 사상을 격려하라
Chapter 7 고객
에세이 38 힘든 고객은 어디에나 있다
에세이 39 소프트웨어의 흑마술을 쉽게 이해시켜라
에세이 40 애플리케이션의 목표를 정의하라
에세이 41 열광적이며 의견 고집하기
에세이 42 너그럽고 매력적으로 되기
에세이 43 가치는 시간보다 훨씬 크다
에세이 44 프로젝트 관리자를 존중하라
Chapter 8 코드
에세이 45 마지막 수단으로서 코드를 작성하라
에세이 46 플러그인 해피 문화
에세이 47 코드는 최고의 초급 개발자이다
에세이 48 인간의 일에서 로봇의 일을 분리하라
에세이 49 핵심에서 코드를 생성하라
에세이 50 자신만의 것을 만들어야 하는 경우
Chapter 9 자부심
능률적인 프로그래머
Chapter 1 소개
1. 프로그래머의 능률은 왜 중요한가
2. 다루는 내용
3. 읽는 순서
Part 1 원리편
Chapter 2 가속
1. 시작 패드
2. 가속 장치
3. 매크로
4. 정리
Chapter 3 집중
1. 산만 요소 제거
2. 탐색을 능가하는 검색
3. 어려운 대상 찾기
4. 루티드 뷰 사용
5. 고정 속성 사용
6. 프로젝트 기반 바로 가기 사용
7. 다중 모니터 사용
8. 가상 데스크톱으로 작업 공간 분리
9. 정리
Chapter 4 자동화
1. 바퀴 다시 안 만들기
2. 로컬 저장
3. 웹사이트 상호작용 자동화
4. RSS 피드 연동
5. 앤트, 비빌드 업무 용도로 전환
6. 레이크, 일반 업무 용도로 전환
7. 셀레니엄, 웹페이지 이동 용도로 전환
8. 배쉬로 예외 합계 수집
9. 윈도우즈 파워셸로 배치 파일 대체
10. 맥 OS X 오토메이터로 오래 전 내려받은 항목 삭제
11. 명령줄 서브 버전 길들이기
12. 루비로 SQL 분배기 생성
13. 자동화 정당성 증명
14. 야크 털깎기
15. 정리
Chapter 5 정식화
1. DRY 버전 제어
2. 정식 빌드 컴퓨터 두기
3. 간접 참조
4. 가상화 사용
5. DRY 교류 저항 불일치
6. DRY 문서화
7. 정리
Part 2 실전편
Chapter 6 테스트 주도 설계
1. 진화하는 테스트
2. 코드 검사
Chapter 7 정적 분석
1. 바이트 코드 분석
2. 소스 분석
3. 파놉티코드로 측정 지표 산출
4. 동적 언어 분석
Chapter 8 좋은 시민 의식
1. 캡슐화 깨기
2. 생성자
3. 정적 메서드
4. 범죄 행위
Chapter 9 YAGNI
Chapter 10 고대 철학자들
1. 아리스토텔레스의 본질과 비본질 속성
2. 오컴의 면도날
3. 디미터의 법칙
4. 소프트웨어 전승 지식
Chapter 11 권위에 도전하기
1. 성난 원숭이 떼
2. 유창한 인터페이스
3. 반 객체
Chapter 12 메타 프로그래밍
1. 자바와 리플렉션
2. 그루비로 자바 테스트
3. 유창한 인터페이스 작성
4. 메타 프로그래밍은 어디로 가는가?
Chapter 13 컴포즈드 메서드와 SLAP
1. 컴포즈드 메서드 실천
2. SLAP
Chapter 14 다종 언어 프로그래밍
1. 어떻게 여기까지 왔을까? 그리고 여기란 정확히 어딜까?
2. 어디로, 어떻게 가야 할까?
3. 올라의 피라미드
Chapter 15 안성맞춤 도구 찾기
1. 최적의 편집기를 찾아
2. 후보
3. 작업에 적합한 도구 선택
4. 부적합 도구 배제
Chapter 16 결론 : 계속되는 대화
APPENDIX 부록A : 기초 도구
APPENDIX 부록B : 팀 생산성 향상을 위한 패턴 이야기