클린 소프트웨어
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자 로버트 C. 마틴(Robert C. Martin)은 ‘밥’이라고 불리며, 오브젝트 멘토(Object Mentor, Inc.)의 창립자이자 대표다. 밥과 그의 소프트웨어 컨설턴트 팀은 객체 지향 디자인, 패턴, UML, 애자일 방법론, 그리고 익스트림 프로그래밍으로 전 세계의 고객에게 서비스를 제공하고 있다. 《클린 코드》, 《UML 실전에서는 이것만 쓴다》를 포함한 베스트셀러의 저자이기도 한 그는 《Pattern Languages of Program Design 3》의 편집위원장, 《More C++ Gems》의 편집위원이었으며, 제임스 뉴커크와 《XP in Practice》를 공동 저술하기도 했다. 1996년부터 1999년까지는 [C++ Report]의 편집위원장이었으며, 국제 콘퍼런스와 무역 전시회에서 유명한 강연자이기도 하다.
번역 이용원
역자 이용원은 중앙대학교 컴퓨터공학과에서 소프트웨어공학 전공으로 석사 학위를 받았고, 여러 금융 시스템에 아키텍트로 참여했다. 현재는 처브그룹 에이스손해보험에서 아키텍트로 일하고 있으며, 금융정보보호, 클라우드 컴퓨팅과 IT 컴플라이언스 분야로 관심 영역을 넓히고 있다. 《엔터프라이즈 자바빈즈》(대청)와 《J2EE 응용과 디자인 패턴》(대청)을 썼고, 《EJB 디자인 패턴》(인사이트), 《실용주의 프로그래머를 위한 단위 테스트 with JUnit》(인사이트), 《UML 실전에서는 이것만 쓴다》(인사이트) 등을 번역하였다.
역자 김정민은 서울대학교 컴퓨터공학부를 졸업하고 SK텔레콤 정보기술연구원에서 Billing/OSS, ICIS 분야의 대형 프로젝트에 PM으로 참여하였다. 소프트웨어에 관한 특허 소송 및 프로그램 저작권 문제 등 기술과 법 관련 분야로 관심 영역을 넓히고 있다. 옮긴 책으로 《실용주의 프로그래머를 위한 프로젝트 자동화》(인사이트), 《컴퓨터 프로그램의 구조와 해석》(인사이트), 《프로그래밍 수련법》(인사이트) 등 10여 종 이상이 있다.
번역 정지호
역자 정지호는 서울대학교에서 영어를 전공하고 경제학을 부전공했다. 한국어 Text To Speech 서버의 통신 하위 시스템, 유아용 한글 게임 ‘디디미’, 영어 교육 솔루션인 ‘Dr. Listening’ 등 다양한 프로젝트에 참여했다. 파이썬, 펄, 루비 같은 동적 프로그래밍 언어를 좋아해서 큰 규모의 시스템에 통합하는 일이나 UML을 동적 언어에 적용하는 방법을 연구 중이다. 현재는 법무법인 광장에서 변호사로 일하고 있고, 법무 관련 업무와 IT 기술을 접목하는 일에도 관심을 갖고 있다.
목차
- PART 1 애자일 개발
CHAPTER 1 애자일 실천방법 _ 4
CHAPTER 2 익스트림 프로그래밍 소개 _ 15
CHAPTER 3 계획 세우기 _ 27
CHAPTER 4 테스트 주도 개발 _ 34
CHAPTER 5 리팩토링 _ 45
CHAPTER 6 프로그래밍 에피소드 _ 59
PART 2 애자일 설계
CHAPTER 7 애자일 설계란 무엇인가? _ 110
CHAPTER 8 단일 책임 원칙(SRP) _ 124
CHAPTER 9 개방 폐쇄 원칙(OCP) _ 130
CHAPTER 10 리스코프 치환 원칙(LSP) _ 144
CHAPTER 11 의존 관계 역전 원칙(DIP) _ 166
CHAPTER 12 인터페이스 분리 원칙(ISP) _ 177
PART 3 급여 관리 사례 연구
CHAPTER 13 커맨드와 액티브 오브젝트 패턴 _ 199
CHAPTER 14 템플릿 메소드와 스트래터지 패턴: 상속과 위임 _ 211
CHAPTER 15 퍼사드 패턴 _ 226
CHAPTER 16 싱글톤과 모노스테이트 패턴 _ 231
CHAPTER 17 널 오브젝트 패턴 _ 244
CHAPTER 18 급여 관리 사례 연구: 반복의 시작 _ 248
CHAPTER 19 급여 관리 사례 연구: 구현 _ 263
PART 4 급여 관리 시스템 패키징
CHAPTER 20 패키지 설계의 원칙 _ 321
CHAPTER 21 팩토리 패턴 _ 345
CHAPTER 22 급여 관리 사례 연구(2부) _ 354
PART 5 기상 관측기 사례 연구
CHAPTER 23 컴포지트 패턴 _ 379
CHAPTER 24 옵저버 패턴: 패턴으로 돌아가기 _ 383
CHAPTER 25 추상 서버, 어댑터, 브리지 패턴 _ 408
CHAPTER 26 프록시 패턴 프록시와 천국으로의 계단 패턴: 서드파티 API 관리 _ 421
CHAPTER 27 사례 연구: 기상 관측기 _ 454
PART 6 ETS 사례 연구
CHAPTER 28 비지터 패턴 _ 497
CHAPTER 29 스테이트 패턴 _ 533
CHAPTER 30 ETS 프레임워크 _ 561
APPENDIX A UML 표기법 I: CGI 예제 _ 597
APPENDIX B UML 표기법 II: 스태트먹스 _ 629
APPENDIX C 두 기업에 대한 풍자 _ 655
APPENDIX D 소스 코드는 곧 설계다 _ 671
찾아보기 _ 685
책 속으로
프로세스와 툴보다 개인과 상호작용이 우선이다. 사람은 성공의 가장 중요한 요소다. 팀에 뛰어난 팀원이 없으면 좋은 프로세스가 있다 해도 프로젝트를 실패에서 구원할 수 없지만, 엉터리 프로세스는 가장 뛰어난 팀원조차 비효율적인 작업을 하게 만들 수 있다. 뛰어난 팀원들이 모여 있다 해도, 그들이 팀으로서 함께 일하지 않으면 비참하게 실패할 수 있다. _6쪽
리팩토링의 목표는 이 장에서 설명한 것처럼 매일 코드를 청소하는 것이다. 우리는 문제가 쌓이고 쌓여서, 오랜 시간 동안 축적된 것을 파내고 문질러 닦아야 하는 것을 원하지 않는다. 최소한의 노력으로 시스템을 확장하고 수정할 수 있기를 바란다. 이를 위한 가장 중요한 요소는 코드의 깔끔함이다. _58쪽
다음 몇 장에서는 급여 관리 시스템(payroll system)의 설계와 구현을 다룰 텐데, 시스템의 기본적인 명세는 나중에 다시 언급될 것이다. 설계와 구현 과정의 일부로서 커맨드, 템플릿 메소드, 스트래터지, 싱글톤, 널 오브젝트, 팩토리, 퍼사드 같은 다양한 디자인 패턴을 사용하는데, 이 패턴들이 바로 다음 몇 장에서 다룰 주제다. 그리고 18장에서는 급여 관리 문제의 설계와 구현 작업을 차근차근 해나갈 것이다. _194쪽
지금까지 급여 관리 문제에 대해 많은 양의 분석, 설계, 구현을 해왔다. 하지만 그래도 여전히 결정해야 할 일이 많다. 하나만 예로 들어보면, 지금까지 이 문제를 작업한 프로그래머는 한 명(나 자신)뿐이었다. 사실, 지금의 개발 환경 상태도 프로그래머가 한 명뿐이라는 이 사실과 일치한다. 모든 프로그램 파일은 디렉토리 하나에 위치해 있으며, 더 높은 차원의 구조는 잡혀 있지 않다. 패키지도 없고, 서브시스템도 없으며, 전체 애플리케이션을 통째로 릴리즈하는 것 말고는 릴리즈 단위도 존재하지 않는다. 이대로는 더 이상 진전할 수 없다. _354쪽
유한 상태*1오토마타(finite state automata)는 소프트웨어 무기 창고에서 꺼내 쓸 수 있는 가장 유용한 추상 개념 중 하나다. 유한 상태 오토마타는 복잡한 시스템의 행위를 조사하거나 정의할 수 있는 간결하면서도 명쾌한 방법을 제공한다. 그리고 이해하기도 쉽고 고치기도 쉬운 강력한 구현 전략도 제공한다. 나는 유한 상태 오토마타를 상위 수준의 GUI로부터 가장 하위 수준의 통신 프로토콜에 이르기까지 시스템의 모든 수준에서 사용한다. 유한 상태 오토마타는 거의 어디에나 적용할 수 있다. _533쪽
출판사 서평
이 책의 주요 특징
-소프트웨어 개발자와 프로젝트 관리자에게 애자일 개발 방식을 통해 프로젝트를 예산과 일정에 맞게 끝내는 방법을 안내한다.
-익스트림 프로그래밍을 사용해 계획하고, 테스트하고, 리팩토링하고, 짝 프로그래밍하는 방식을 보여주기 위해 실제 사례 연구를 사용한다.
-재사용 가능한 풍부한 C++와 자바 코드를 담고 있다.
-UML과 디자인 패턴을 사용해 고객 지향적 시스템의 문제를 해결하는 데 초점을 맞춘다.
[추천사]
“나는 이런 책을 정말 오래 기다려왔다. 마틴은 우리의 기술 향상에 필요한 실용적인 지식으로 무장된 사람이다.”
_마틴 파울러 / 컨설턴트이자 《리팩토링》의 저자
“아마 이 책은 애자일 방법, 패턴, 그리고 현대적인 소프트웨어 개발 방식의 기초를 하나로 엮어낸 첫 번째 책일 것이다. 밥 마틴이 말하면, 주의 깊게 들어라.”
_존 블리스사이즈 / 컨설턴트이자 《Pattern Hatching: Design Patterns Applied》의 저자
“밥 마틴은 숙련된 개발자와 교육자로서의 재능을 이 책에 모두 쏟아부었다. 그만의 실용적 통찰력과 유쾌한 문체가 가득한 책이다.”
_크레이그 라만 / 컨설턴트이자 《UML과 패턴의 적용》의 저자
기본정보
ISBN | 9791185890852 | ||
---|---|---|---|
발행(출시)일자 | 2017년 05월 15일 | ||
쪽수 | 724쪽 | ||
크기 |
190 * 247
* 39
mm
/ 2029 g
|
||
총권수 | 1권 | ||
원서명/저자명 | Agile Software Development, Principles, Patterns, and Practices/Robert C. Martin |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립