| 000 | 00000nam c2200205 k 4500 | |
| 001 | 000045511601 | |
| 005 | 20230224153037 | |
| 007 | ta | |
| 008 | 090325s2009 ggka b 001a kor | |
| 020 | ▼a 9788992939249 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.1 ▼2 22 |
| 090 | ▼a 005.1 ▼b 2009z3 | |
| 245 | 0 0 | ▼a 소트웍스 앤솔러지 : ▼b 소프트웨어 기술과 혁신에 관한 에세이 / ▼d 마틴 파울러 외 지음 ; ▼e 이창신 , ▼e 강규영 외 옮김. |
| 246 | 1 9 | ▼a (The)thoughtworks anthology : essays on software technology and innovation |
| 260 | ▼a 파주 : ▼b 위키북스, ▼c 2009. | |
| 300 | ▼a xvi, 288 p. : ▼b 삽도 ; ▼c 24 cm. | |
| 440 | 0 0 | ▼a 위키북스 IT leaders 시리즈 = ▼x It leaders ; ▼v 007 |
| 500 | ▼a 공역자: 최재훈, 정지웅, 안영회, 이대엽 | |
| 504 | ▼a 참고문헌(p. 282)과 색인수록 | |
| 650 | 0 | ▼a Software engineering |
| 650 | 0 | ▼a Technological innovations |
| 650 | 0 | ▼a Technology |
| 650 | 0 | ▼a Innovations |
| 700 | 1 | ▼a Fowler, Martin |
| 700 | 1 | ▼a 이창신, ▼e 역 |
| 700 | 1 | ▼a 강규영, ▼e 역 ▼0 AUTH(211009)149751 |
| 700 | 1 | ▼a 최재훈, ▼e 역 |
| 700 | 1 | ▼a 정지웅, ▼e 역 |
| 700 | 1 | ▼a 안영회, ▼e 역 |
| 700 | 1 | ▼a 이대엽, ▼e 역 |
| 710 | ▼a Thoughtworks | |
| 900 | 1 1 | ▼a 파울러, 마틴 |
| 945 | ▼a KINS |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2009z3 | 등록번호 121182747 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.1 2009z3 | 등록번호 151273118 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.1 2009z3 | 등록번호 121182747 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.1 2009z3 | 등록번호 151273118 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
21세기 소프트웨어 개발의 최전선에서 그들이 실제 경험하고 적용하여 얻은 지혜와 통찰력이 어떠한 편집과 검열도 없이 자유롭게 표출된 책. 하나의 주제로 철저한 기획력의 산물인 전형적인 기술서들과는 달리, 소트웍스 사람 하나하나의 마음을 비춰주는 문장들로 채워져 있다.
<소트웍스 앤솔러지>에서 펼쳐지는 자유로움과 다채로움은 산만하게 서로를 외면하기보다는, 결국은 오늘날 소프트웨어 개발의 고민에 대한 대안 제시라는 점에서 더 많이 공감하게 된다. 다양한 스펙트럼 중에서도 큰 흐름을 이어가는 '더 좋은 소프트웨어 개발 과정과 결과'라는 주제를 향한 강렬한 열정을 담은 책이다.
애자일 분야의 최고수들이 모인 소트웍스, 과연 그들은 소프트웨어에 대해 무슨 생각을 할까?
21세기 소프트웨어 개발의 최전선에서 그들이 실제 경험하고 적용하여 얻은 지혜와 통찰력이 어떠한 편집과 검열도 없이 자유롭게 표출된 <소트웍스 앤솔러지>는 하나의 주제로 철저한 기획력의 산물인 전형적인 기술서들과는 달리, 소트웍스 사람 하나하나의 마음을 잔잔한 호수처럼 비춰주는 옥색 문장들로 채워져 있다.
<소트웍스 앤솔러지>에서 펼쳐지는 자유로움과 다채로움은 산만하게 서로를 외면하기보다는, 결국은 오늘날 소프트웨어 개발의 고민에 대한 대안 제시라는 점에서 더 많이 공감하게 된다. 다양한 스펙트럼 중에서도 큰 흐름을 이어가는 '더 좋은 소프트웨어 개발 과정과 결과'라는 주제를 향한 강렬한 열정이 독자의 마음을 비출 것이다.
정보제공 :
저자소개
마틴 파울러(지은이)
ThoughtWorks의 수석 과학자로 소프트웨어 시스템 디자인 개선과 개발자 생산성 향상에 주력하고 있다. 마틴 파울러는 지난 십여 년 이상 까다로운 비즈니스 문제에 객체를 적용해 해결하는 방법을 전문적으로 연구한 독립 컨설턴트다. 특히 보건, 금융거래, 기업재정 등 다양한 분야의 시스템에 대한 컨설팅을 수행했으며 주요 고객사로는 크라이슬러, 시티뱅크, 영국 국립보건원, 앤더슨 컨설팅, 넷스케이프 커뮤니케이션 등이 있다. 또한 파울러는 다양한 행사에서 객체, UML(Unified Modeling Language), 패턴 등의 주제에 대한 강연자로 꾸준히 활동하고 있다. 지은 책으로는 『DSL: 고객과 함께하는 도메인 특화 언어』, 『리팩토링: 코드 품질을 개선하는 객체지향 사고법』 등이 있다.
소트웍스(지은이)
소트웍스는 현재 미국에서 가장 주목받고 있는 시스템 통합 및 컨설팅 회사다. 현재 미국, 캐나다, 일본, 중국, 호주, 유럽 등으로 활동 영역을 넓혀나가고 있다. 이 회사의 고속 성장에는 몇 가지 요인이 있는데, 우수한 인재 확보와 애자일 방법론 적용 그리고 오픈소스 참여, 이 세 가지를 꼽을 수 있다. 특히 인재 확보는 독보적이다. 마틴 파울러는 "100명의 지원자당 한 명만을 고용하고 있을 정도로 경쟁률이 높다"고 말한 바 있으며 실제로 이 회사의 지원들이 펴낸 책만 해도 수십 권은 족히 된다. 오픈소스 프로젝트에 기여하는 바도 커서 CruiseControl, CruiseControl .NET, CruiseControl .rb, Selenium 등 수십 개의 프로젝트를 지원한다.
이창신(옮긴이)
티맥스소프트 WAS실과 ㈜엔씨소프트 오픈마루 스튜디오를 거쳐 현재 ias(iNDIE aPPLICATION sOFTWARE) 대표로 독립 소프트웨어 개발에 매진하고 있다.
강규영(옮긴이)
1998년부터 IT 업계에서 프로그래머, UX 디자이너, 데이터 엔지니어, 컨설턴트 등으로 일하고 있다. 주로 트위터에 짧은 생각들을 남긴다. https://twitter.com/_a6g_
최재훈(옮긴이)
http://kaistizen.net을 운영하는 SK 아이미디어의 게임 서버 개발자이다. C++, C#, C++/CLI, MSSQL 같은 윈도우 플랫폼을 주로 다루며 한 달에 한 번 마이크로소프트웨어에 칼럼을 쓴다. 지속적인 통합이나 리팩터링, 단위 테스트 같이 인생을 편하게 해주는 기술에도 관심이 많다. 스타크래프트, 문명, 토탈 워와 같은 전략 시뮬레이션을 즐겨 하지만 폐인이 될까 무서워 가급적 주말에만 한다. 특히 문명과 토탈 워의 전술 및 전략에 대해선 언제라도 열정적으로 토론에 임할 준비가 되어 있다. 락 밴드는 U2가 최고라 생각하고, 15년째 '배철수의 음악 캠프'를 들은 애청자이다.
정지웅(옮긴이)
개발자로 NC소프트 오픈마루스튜디오와 삼성전자에서 근무했었고, 현재는 '사람과 사람을 Web으로 연결하는 유통 2.0의 모든 것'이라는 캐치프레이즈 아래 Social Web을 기반으로 한 혁신을 추구하는 (주)플라이팬(http://flyfan.net)을 창업하여, 대표를 역임하고 있다. 기술은 실제 사용자에게 새로운 가치를 창출할 때 의미를 더한다고 믿으며, 그런 관점에서 다음 세대의 Web 기술에 많은 관심을 가지고 있다.
안영회(옮긴이)
베터코드 CEO. 프로그래머로 사회 생활을 시작해서 IT 컨설팅과 IT 서비스 회사 경영자로 동종 업계에서 스무 해 이상 일하고 있습니다. 한때는 한국 스프링 사용자 모임(KSUG)을 만들어 운영했던 만큼 커뮤니티 활동과 지식 공유를 즐기고 있습니다.
이대엽(옮긴이)
책 만드는 일을 하고 있으며, 이따금 IT 관련 서적을 번역하기도 한다. 옮긴 책으로 『헬로! 파이썬 프로그래밍』 『자바 API 디자인』 『풀스택 자바스크립트 개발』 『테스트 주도 개발로 배우는 객체 지향 설계와 실천』 『자바스크립트 개론』 『모듈라 자바』 『시작하세요! 맥 OS X 라이언』 『도메인 주도 설계』 『하이버네이트 완벽 가이드』 『개념을 잡아주는 프로그래밍 정석』 등이 있다.
목차
목차 01 들어가는 말 = 1 02 비즈니스 소프트웨어의 '마지막 한 단계' 해결하기 = 7 2.1 '마지막 한 단계' 문제의 원인 = 8 2.2 문제 이해하기 = 9 2.3 '마지막 한 단계' 문제 해결하기 = 11 2.4 사람 = 12 2.5 자동화 = 13 2.6 비기능적 요구사항을 위한 자동화된 테스트 설계하기 = 14 2.7 실제 업무 환경에 대한 의존성 제거하기 = 16 2.8 버전 없는 소프트웨어 = 18 03 악당 소굴과 20개의 루비 DSL = 21 3.1 악당 소굴 예제 = 22 3.2 전역 함수를 사용하는 방법 = 25 3.3 객체를 사용하는 방법 = 29 클래스 메서드와 메서드 연결하기 = 30 표현 빌더 = 32 메서드 연결하기에 대해 조금 더 = 36 3.4 클로저를 사용하는 방법 = 38 3.5 평가 맥락 = 40 3.6 리터럴 컬렉션 = 43 가변 인자 메서드 = 49 3.7 동적 수신 = 50 3.8 마무리 = 53 04 프로그래밍 언어의 울창한 숲 = 55 4.1 서론 = 55 4.2 표본 언어 = 55 4.3 다양한 변이들 = 60 패러다임 = 61 타입 특성 = 62 실행 방식 = 63 구현 모델 = 65 4.4 언어의 생명수 = 66 4.5 흥미롭기는 하지만 왜 이런 것을 알아야 하나? = 67 05 다언어 프로그래밍 = 69 5.1 다언어 프로그래밍 = 70 5.2 그루비 방식으로 파일 읽기 = 71 5.3 JRuby와 isBlank = 73 5.4 자스켈J과 함수형 언어 = 75 5.5 자바 테스트하기 = 78 5.6 다언어 프로그래밍의 미래 = 80 06 지향 생활 미용 체조 = 83 6.1 오늘날 더 나은 소프트웨어를 향한 9단계 = 83 6.2 훈련 = 84 규칙 = 85 규칙 1. 메서드당 들여쓰기 한번 = 85 규칙 2. else 예약어 금지 = 87 규칙 3. 원시값과 문자열의 포장 = 89 규칙 4. 한 줄에 한 점만 사용 = 89 규칙 5. 축약 금지 = 92 규칙 6. 모든 엔티티를 작게 유지 = 92 규칙 7. 2개 이상의 인스턴스 변수를 가진 클래스 사용 금지 = 93 규칙 8. 일급 콜렉션 사용 = 94 규칙 9. 게터/세터/속성 사용 금지 = 95 6.3 결론 = 95 07 반복 관리자란 무엇인가? = 97 7.1 반복 관리자란 무엇인가? = 98 7.2 무엇이 좋은 반복 관리자를 만드는가? = 98 7.3 반복 관리자 역할이 아닌 것 = 100 7.4 반복 관리자와 팀 = 101 7.5 반복 관리자와 고객 = 103 7.6 반복 관리자와 반복 = 104 7.7 반복 관리자와 프로젝트 = 105 7.8 결론 = 106 08 프로젝트의 활력 징후 = 107 8.1 프로젝트 활력징후 = 108 8.2 프로젝트의 활력징후 vs 프로젝트의 건강 = 108 8.3 프로젝트 활력 징후 vs 정보방열기 = 109 8.4 프로젝트 활력 징후 : 범위 소모 = 109 범위 소모에 대한 정보방열기의 예 = 109 범위 측정의 단위 정의하기 = 110 중간 이정표를 사용해서 병목지점을 밝혀내기 = 111 범위 소모 차트에 대한 자세한 설명 = 111 8.5 프로젝트 활력 = 114 품질 정보방열기의 예 = 114 버그 집계차트에 대한 상세 설명 = 114 8.6 프로젝트 활력 징후 : 예산 소모 = 115 예산 정보방열기의 예 = 116 예산 소모 차트에 대한 보충 설명 = 117 8.7 프로젝트 활력 징후 : 현재 구현 상태 = 116 현재 구현상태에 대한 정보방열기의 예 = 118 구현 상태를 정의하기 = 119 스토리보드와 스토리카드에 대한 보충 설명 = 119 8.8 프로젝트 활력 징후 : 팀 인지 = 120 팀 인지에 대한 정보방열기의 예 = 120 팀 분위기 차트 상세 설명 = 121 09 소비자 주도 계약: 서비스 진화 패턴 = 123 9.1 서비스의 진화: 예제 = 125 9.2 스키마 버전 관리 = 127 확장점 = 128 9.3 중대한 변경 = 133 스키마트론 = 134 9.4 소비자 주도 계약 = 136 제공자 계약 = 137 소비자 계약 = 140 소비자 주도 계약 = 141 계약 특성 요약 = 143 구현 = 143 이점 = 144 소비자 주도 계약과 SLA = 145 의무 = 145 결론 = 147 10 도메인 어노테이션 = 149 10.1 어노테이션을 만난 도메인 주도 설계 = 149 도메인에 특화된 메타데이터 = 150 자바 어노테이션과 닷넷 어트리뷰트 = 151 도메인 어노테이션 = 154 도메인 어노테이션을 사용하는 경우 = 155 10.2 사례 연구 : 르로이의 화물차 = 157 도메인 모델 = 158 데이터 분류 = 159 대안들 = 192 Auditor에서의 사용 = 164 PermissionChecker에서의 사용 예 = 165 Loader에서의 사용예 = 166 운항 힌트 = 167 대안들 = 170 PermissionChecker에서의 사용 = 171 Loader에서의 사용 = 172 10.3 정리 = 175 11 Ant 빌드 파일 리팩터링하기 = 177 11.1 개론 = 177 리팩터링은 무엇인가? 그리고 Ant는 무엇인가? = 177 언제 리팩터 링을 해야 하나? 언제 그냥 넘어가야 하나? = 178 Build.xml 파일을 리팩터링할 줄 아는가? = 179 11.2 Ant 리팩터링 일람표 = 180 Macrodef 추출하기 = 182 타겟 추출하기 = 185 선언 도입하기 = 186 호출을 의존성으로 대체하기 = 188 프로퍼티를 리터럴로 대체하기 = 189 filtersfile 도입하기 = 190 프로퍼티 파일 도입하기 = 192 타겟을 래퍼 빌드 파일로 옮기기 = 193 주석 대신 설명 쓰기 = 195 배포 코드를 임포트하기 = 196 엘리먼트를 antlib에 옮기기 = 197 커다란 라이브러리 정의 대신 Fileset 쓰기 = 200 런타임 프로퍼티 옮기기 = 201 엘리먼트를 식별자 별로 재활용하기 = 203 프로퍼티를 타겟 밖으로 옮기기 = 204 Value 어트리뷰트 대신 Location 어트리뷰트 쓰기 = 206 래퍼 스크립트를 bulid.xml 파일에 내려놓기 = 207 taskname 어트리뷰트 넣기 = 209 내부 타겟을 강제하기 = 210 출력 디렉터리를 부모 디렉터리로 옮기기 = 211 Exec 대신 Apply 쓰기 = 212 Cl 게시자 사용하기 = 213 타겟에 구분하기 쉬운 이름 붙여주기 = 213 타겟의 이름을 명사로 다시 고쳐짓기 = 215 11.3 요약 = 216 11.4 참고 문헌 = 216 11.5 리소스 = 217 12 한방에 소프트웨어 출시하기 = 219 12.1 지속적인 빌드 = 219 12.2 지속적인 빌드를 넘어서 = 221 12.3 지속적인 통합의 전체 생명주기 = 221 바이너리 관리하기 = 222 12.4 체크인 관문 = 223 12.5 인수 테스트 관문 = 225 12.6 배포 준비하기 = 226 12.7 후속 테스트 단계들 = 229 12.8 프로세스 자동화하기 = 230 12.9 결론 = 232 13 엔터프라이즈 웹 애플리케이션 테스트: 애자일 대 폭포수 = 233 13.1 개론 = 233 13.2 테스팅 생명 주기 = 234 13.3 테스팅의 종류 = 238 단위 테스팅 = 239 기능 테스팅 = 239 탐색적 테스팅 = 241 통합 테스팅 = 241 데이터 유효성 검증 = 242 사용자 인수 테스팅(UAT) = 243 성능 테스팅 = 244 비기능적 테스팅 = 245 회귀 테스팅 = 246 제품 검증 = 246 13.4 테스트 환경 = 247 개발 통합 환경 = 248 시스템 통합 환경 = 249 스테이징 환경 = 250 프로덕션 환경 = 250 13.5 이슈 관리 = 251 13.6 도구들 = 252 13.7 보고와 측정 = 253 13.8 테스팅 역할들 = 254 테스트 분석 = 255 테스트 스크립트 작성 = 256 테스트 수행 = 256 환경 관리 = 257 이슈 관리 = 257 이슈 분석 = 257 13.9 참고자료 = 258 14 실용적인 성능 테스팅 = 259 14.1 성능 테스팅이란 무엇인가? = 260 14.2 요구사항 수집 = 261 우리가 측정하고 있는 것은 무엇인가? = 261 수치를 어떻게 산정할 것인가? = 261 어떻게 이것을 일반 소프트웨어 개발 프로세스에 접목시키는가? = 262 개발자들도 성능 테스팅의 요구사항을 갖고 있지 않는가? = 263 성능 요구사항에 대한 관련자를 찾을 수 없다면? = 264 고객이 그다지 전문적이지 않고 우리가 불가능하다고 생각하는 것을 원한다면? = 265 업무 분석가들도 이러한 요구사항을 수집하게 하면 어떨까? = 266 요약 = 266 14.3 테스트 수행하기 = 267 어떤 테스트를 다시 수행할 것인가? = 267 언제 테스트를 수행해야 하는가? = 268 어디에서 테스트를 수행해야 하는가? = 268 어떻게 자그마한 테스트 장비의 테스트 결과를 제품과 연계시키는가? = 270 성능 테스팅에 적합한 데이터베이스 크기는 얼마인가? = 272 써드파티 인터페이스는 어떻게 다를 것인가? = 273 얼마나 다양한 테스트 케이스가 필요한가? = 273 응답 시간과 처리량에 대해 여러 측정수단을 취하는 이유는 무엇인가? = 274 시스템의 모든 기능을 테스트해야 하는가? = 275 요약 = 275 14.4 의사소통 = 276 누가 알아야 하는가? = 276 그렇다면 여러분이 해야 할 일은 보고서를 작성하는 것뿐인가? = 277 요약 = 278 14.5 프로세스 = 278 그럼 어떻게 그것들을 연계하는가? = 279 여러분이 뒤쳐지지 않았는지 어떻게 확인할 것인가? = 279 식별된 문제에 대해 조치가 취해졌는지 어떻게 보장할 것인가? = 280 14.6 요약 = 280 참고문헌 = 282



