HOME > 상세정보

상세정보

오픈소스 소프트웨어 성능 최적화 보고서 : 속도, 정밀도, 그리고 약간의 행운 (6회 대출)

자료유형
단행본
개인저자
Amstrong, Tavish, 편 류광, 역 Snoyman, Michael, 저 Voellmy, Andreas, 저 Grigorik, Ilya, 저 Martin, Evan, 저 Howard, Bryce, 저 Huey, Kyle, 저 Talbert, Clint, 저 Maher, Joel, 저 Tang, Audrey, 저 Brown, C. Titus, 저 McDonald, Eric, 저 Schmidt, Doug C., 저 Gokhale, Aniruddha, 저 Otte, William R., 저 Surtani, Manik, 저 Kapoulkine, Arseny, 저 Scherpenisse, Arjan, 저 Worrell, Marc, 저
서명 / 저자사항
오픈소스 소프트웨어 성능 최적화 보고서 : 속도, 정밀도, 그리고 약간의 행운 / 테이비시 암스트롱 엮음 ; 류광 옮김
발행사항
파주 :   제이펍,   2014  
형태사항
xviii, 290 p. : 삽화, 도표 ; 25 cm
원표제
The performance of open source applications : speed precision, and a bit of serendipity
ISBN
9788994506906
일반주기
특별 보급판  
필진: 마이클 스노이먼, 가즈 야마모토, 안드레아스 보엘미, 일리아 그리고릭, 에번 마틴, 브라이스 하워드, 카일 휴이, 클린트 탤버트, 조엘 마어, 오드리 탱, C. 타이터스 브라운, 에릭 맥도널드, 더글러스 C. 슈미트, 아니루다 고칼레, 윌리엄 R. 오테, 마닉 수르타니, 아세니 카풀킨, 아르얀 스헤르페니서, 마크 워렐  
서지주기
참고문헌(p. 277-281)과 색인수록
일반주제명
Open source software Shareware (Computer software)
000 00000cam c2200205 c 4500
001 000045834327
005 20150520173019
007 ta
008 150520s2014 ggkad b 001c kor
020 ▼a 9788994506906 ▼g 93000
035 ▼a (KERIS)BIB000013484208
040 ▼a 211062 ▼c 211062 ▼d 211062 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.3 ▼2 23
085 ▼a 005.3 ▼2 DDCK
090 ▼a 005.3 ▼b 2014
245 0 0 ▼a 오픈소스 소프트웨어 성능 최적화 보고서 : ▼b 속도, 정밀도, 그리고 약간의 행운 / ▼d 테이비시 암스트롱 엮음 ; ▼e 류광 옮김
246 1 9 ▼a The performance of open source applications : ▼b speed precision, and a bit of serendipity
246 3 9 ▼a Performance of open source applications
260 ▼a 파주 : ▼b 제이펍, ▼c 2014
300 ▼a xviii, 290 p. : ▼b 삽화, 도표 ; ▼c 25 cm
500 ▼a 특별 보급판
500 ▼a 필진: 마이클 스노이먼, 가즈 야마모토, 안드레아스 보엘미, 일리아 그리고릭, 에번 마틴, 브라이스 하워드, 카일 휴이, 클린트 탤버트, 조엘 마어, 오드리 탱, C. 타이터스 브라운, 에릭 맥도널드, 더글러스 C. 슈미트, 아니루다 고칼레, 윌리엄 R. 오테, 마닉 수르타니, 아세니 카풀킨, 아르얀 스헤르페니서, 마크 워렐
504 ▼a 참고문헌(p. 277-281)과 색인수록
650 0 ▼a Open source software
650 0 ▼a Shareware (Computer software)
700 1 ▼a Amstrong, Tavish, ▼e
700 1 ▼a 류광, ▼e
700 1 ▼a Snoyman, Michael, ▼e
700 1 ▼a Voellmy, Andreas, ▼e
700 1 ▼a Grigorik, Ilya, ▼e
700 1 ▼a Martin, Evan, ▼e
700 1 ▼a Howard, Bryce, ▼e
700 1 ▼a Huey, Kyle, ▼e
700 1 ▼a Talbert, Clint, ▼e
700 1 ▼a Maher, Joel, ▼e
700 1 ▼a Tang, Audrey, ▼e
700 1 ▼a Brown, C. Titus, ▼e
700 1 ▼a McDonald, Eric, ▼e
700 1 ▼a Schmidt, Doug C., ▼e
700 1 ▼a Gokhale, Aniruddha, ▼e
700 1 ▼a Otte, William R., ▼e
700 1 ▼a Surtani, Manik, ▼e
700 1 ▼a Kapoulkine, Arseny, ▼e
700 1 ▼a Scherpenisse, Arjan, ▼e
700 1 ▼a Worrell, Marc, ▼e
900 1 0 ▼a 암스트롱, 테이비시, ▼e
900 1 0 ▼a 스노이먼, 마이클, ▼e
900 1 0 ▼a 야마모토 가즈, ▼e
900 1 0 ▼a Yamamoto, Kazu, ▼e
900 1 0 ▼a 보엘미, 안드레아스, ▼e
900 1 0 ▼a 그리고릭, 일리아, ▼e
900 1 0 ▼a 마틴, 에번, ▼e
900 1 0 ▼a 하워드, 브라이스, ▼e
900 1 0 ▼a 휴이, 카일, ▼e
900 1 0 ▼a 탤버트, 클린트, ▼e
900 1 0 ▼a 마어, 조엘, ▼e
900 1 0 ▼a 탱, 오드리, ▼e
900 1 0 ▼a 브라운, C. 타이터스, ▼e
900 1 0 ▼a 맥도널드, 에릭, ▼e
900 1 0 ▼a 슈미트, 더글러스 C., ▼e
900 1 0 ▼a 고칼레, 아니루다, ▼e
900 1 0 ▼a 오테, 윌리엄 R., ▼e
900 1 0 ▼a 수르타니, 마닉, ▼e
900 1 0 ▼a 카풀킨, 아세니, ▼e
900 1 0 ▼a 스헤르페니서, 아르얀, ▼e
900 1 0 ▼a 워렐, 마크, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.3 2014 등록번호 121233213 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

오픈소스 소프트웨어의 느린 코드, 메모리 누수, 제어할 수 없는 잠복지연과 싸워야 했던 십여 명의 개발자들이 저술했다. 이 책을 통해 그들은 자신의 실수와 성공담을 공유하고, 주어진 도전과제에 자신이 어떻게 접근했는지를 독자가 어깨 너머로 볼 수 있게 한다. 생물정보학 연구 코드에서 웹 브라우저에 이르기까지 다양한 사례의 문제들이 등장하며, 그만큼이나 다양한 해법들이 제시된다.

크롬은 브라우저 전쟁에서 어떻게 살아남았을까?
크롬뿐만이 아니다. 여러 오픈소스 소프트웨어가 지금의 성능 최적화를 이루기까지
수많은 시행착오 속에 그 비밀이 들어있다!


1974년에 커누스(Donald Knuth)가 쓴 “이를테면 약 97%의 경우에서 작은 효율성들은 무시해야 마땅하다. 때 이른(premature) 최적화는 만악의 근원이다.”라는 유명한 문구를 기억할 것이다. 컴퓨터들이 당시보다 수백만 배는 빨라진 지금, 프로그래머들은 CPU 주기를 줄이고 바이트들을 아끼는 데 한 세대 전의 프로그래머들보다는 신경을 훨씬 덜 써도 된다. 그러나 “덜 쓴다”가 “안 쓴다”는 아니다. 가끔은 컴퓨터의 성능을 마지막 한 방울까지 짜내는 것이 정말로 중요할 때가 있다.

이 책은 오픈소스 소프트웨어의 느린 코드, 메모리 누수, 제어할 수 없는 잠복지연과 싸워야 했던 십여 명의 개발자들이 저술했다. 이 책을 통해 그들은 자신의 실수와 성공담을 공유하고, 주어진 도전과제에 자신이 어떻게 접근했는지를 독자가 어깨 너머로 볼 수 있게 한다. 생물정보학 연구 코드에서 웹 브라우저에 이르기까지 다양한 사례의 문제들이 등장하며, 그만큼이나 다양한 해법들이 제시된다.

독자가 신입 개발자이든 고참 개발자이든, 성능에 대한 동료 개발자들의 관점과 접근방식을 독자가 이해하는 데 이 책이 도움이 될 것이다.

이 책에서 논의하는 오픈소스 소프트웨어:
● 파이어폭스
● Pugixml
● 크롬
● Ninja
● EtherCalc
● Talos
● Warp
● Khmer
● Zotonic
● DAnCE
● Infinispan
● 또한 이동통신망의 성능에 대해서도 논의한다.


정보제공 : Aladin

저자소개

일리아 그리고릭(지은이)

구글에서 웹 성능 엔지니어 겸 개발자 대변인으로 일하며 우수 성능 사례 도입을 통한 신속한 웹 개발에 앞장서고 있다.

마닉 수르타니(지은이)

레드햇의 JBoss의 핵심 연구 개발 엔지니어이며 현재 리드하고 있는 인피니스팬 프로젝트의 창시자다. JSR-347(자바 플랫폼 데이터그리드)를 리드하고 있으며 JSR-107(자바 캐시)의 전문가 그룹에서 레드햇을 대표하고 있다. 클라우드, 분산 컴퓨팅, NoSQL, 빅데이터, 자율 시스템, 고가용적 컴퓨팅에 관심이 있다. 학계에 있을 때에는 인공지능과 신경망을 경험했으며, 그 이후로는 자바와 관련된 기술을 사용해여 일해왔다. 처음에는 지식관리와 정보교환에 집중하는 스타트업에서, 나중에는 런던의 큰 컨설팅 회사에서 자바EE와 P2P 기술에 기반한 전자 상거래 애플리케이션의 기술 리더로서 일했다. 마닉은 오픈소스 개발 방법론, 정신, 협력 프로세스의 강력한 지지자이며 처음부터 오픈소스와 관계를 맺어왔다.

마이클 스노이먼(지은이)

FP Complete의 수석 소프트웨어 공학자이며, 안정적이고 성능 높은 웹 응용 프로그램을 작성하는 수단들을 제공하는 Yesod Web Framework의 창시자이자 수석 개발자이다.

가즈 야마모토(지은이)

IIJ Innovation Institute의 선임 연구원이다. 그는 약 20년간 오픈소스 소프트웨어 분야에서 일해 왔다. 그가 만든 소프트웨어로는 Mew, KAME, Firemacs, mighty가 있다.

안드레아스 보엘미(지은이)

Yale University의 전산학 박사(PhD) 후보생이며, GHC 프로젝트에 기여하였고, GHC의 입출력 관리자의 유지보수자이다.

에번 마틴(지은이)

Google에서 9년 동안 프로그래머로 일했다. 그전에는 전산학과 언어학에서 학위를 받았다.

브라이스 하워드(지은이)

뭔가를 더 빠르게 만드는 데 집착하는 소프트웨어 아키텍트이다. 그는 15년 이상 업계에서 일했으며, 현재는 저술에 꽂혀서 O’Reilly Associates를 위해 AWS 입문서를 쓰고 있다.

카일 휴이(지은이)

Mozilla Corporation에서 파이어폭스 웹 브라우저에 쓰이는 Gecko 렌더링 엔진에 대한 일을 하고 있다.

클린트 탤버트(지은이)

근 10년간 Mozilla 프로젝트에 참여해 왔다. 현재 그는 자동화할 수 있는 모든 것의 자동화를 지상명령으로 삼는 Automation and Tools 팀을 이끌고 있다.

조엘 마어(지은이)

소프트웨어 자동화에 15년 이상의 경력을 가지고 있다. 지난 5년간 조엘은 Mozilla의 자동화와 도구들을 이동전화기로 확장하는 작업을 수행했다.

오드리 탕(지은이)

대만 행정원의 디지털 담당 정무위원(디지털 장관)이자 유명 프로그래머. 어려서부터 천재성을 보였으며, 일찍이 학교를 떠나 대만과 실리콘밸리에서 개발자로 일했다. 프로그래밍 언어 'Perl 6(현 Raku)' 개발에 공헌하며 명성을 얻었다. 2016년 대만 사상 최연소인 35세의 나이로 정무위원에 임명되었다. 이후 부회를 넘나들며 행정 및 정치의 디지털화를 주도하고 있다.

C. 타이터스 브라운(지은이)

물리 기상학, 발생 생물학, 유전학 등의 분야에서 일해 왔다. 현재는 Michigan State University의 조교수이며, Python Software Foundation의 일원이다.

에릭 맥도널드(지은이)

그가 지난 13년간 주로 관여했던 고성능 컴퓨팅에 강조를 둔 과학 소프트웨어 개발자이다.

더글러스 C. 슈미트(지은이)

Vanderbilt University의 전산학 교수이자 전산학 및 공학 프로그램의 부의장이며 선임 연구원이다. 10권의 책을 저술했고 다양한 소프트웨어 관련 주제들에 대한 기술 논문을 500편 넘게 출판했다.

아니루다 고칼레(지은이)

Vanderbilt University의 전기공학 및 전산학과의 조교수이자 Vanderbilt University의 Institute for Software Integrated Systems(ISIS)의 선임 연구 과학자이다. 그는 140편이 넘는 기술 논문을 저술 또는 공동 저술했다.

윌리엄 R. 오테(지은이)

Vanderbilt University의 Institute for Software Integrated Systems(ISIS)의 연구 과학자이다. 분산 실시간 내장 시스템에 대한 오픈소스 미들웨어와 모형화 도구 개발에 10년이 넘는 경력을 가지고 있다.

아세니 카풀킨(지은이)

경력 전체를 작은 틈새 타이틀에서부터 FIFA Soccer 같은 다중 플랫폼 AAA급 블록버스터에 이르기까지 다양한 비디오 게임의 그래픽 프로그래밍과 저수준 시스템 프로그래밍으로 보냈다.

아르얀 스헤르페니서(지은이)

Zotonic의 주 아키텍트들 중 한 명이며, 다른 십여 개의 프로젝트들(주로는 Zotonic과 Erlang을 사용하는)도 관리하고 있다.

마크 워렐(지은이)

Erlang 공동체에서 존경받는 일원이며 Zotonic 프로젝트의 창시자이다. 마크는 대형 Erlang 프로젝트의 컨설팅과 Zotonic 개발에 시간을 보내며, MaxClass와 LearnStone을 만든 Maximonster의 CTO이다.

테이비시 암스트롱(엮은이)

Concordia University에서 소프트웨어 공학을 공부하고 있으며, 2014년 봄에는 졸업할 예정이다.

류광(옮긴이)

25년 이상의 번역 경력을 가진 전문 번역가로, 커누스 교수의 『컴퓨터 프로그래밍의 예술』 시리즈와 스티븐스의 『UNIX 고급 프로그래밍』 제2판 및 제3판을 포함하여 60여 권의 다양한 IT 전문서를 번역했다. 번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심이 있으며, 수많은 오픈소스 프로젝트의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(docbook.kr)의 일원이다. 홈페이지 occam's Razor(occamsrazr.net)와 게임 개발 사이트 GpgStudy(www.gpgstudy.com)를 운영한다.

정보제공 : Aladin

목차

목차
옮긴이 머리말
서문
베타리더 후기
제1장 크롬의 고성능 네트워킹 / 일리아 그리고릭(Ilya Grigorik)
 1.1. 구글 크롬의 역사와 기본 지침 = 1
 1.2. 성능의 여러 측면 = 2
 1.3. 현대적인 웹 응용 프로그램의 특징 = 4
 1.4. 네트워크 자원 요청 하나의 일생 = 5
 1.5. "충분히 빠르다"의 의미 = 8
 1.6. 3천 미터 상공에서 본 크롬의 네트워크 스택 = 10
 1.7. 브라우저 세션의 일생 = 19
 1.8. 크롬은 사용하면 할수록 빨라진다 = 33
제2장 SocialCalc에서 EtherCalc로 / 오드리 탱(Audrey Tang)
 2.1. 초기 원형 = 38
 2.2. 첫 번째 병목 = 39
 2.3. Node.js로 이식 = 41
 2.4. 서버 쪽 SocialCalc = 42
 2.5. Node.js 프로파일링 = 43
 2.6. 다중 코어 규모 확장 = 46
 2.7. 교훈 = 48
제3장 Ninja / 에번 마틴(Evan Martin)
 3.1. 크롬의 간단한 역사 = 54
 3.2. Ninja의 설계 = 56
 3.3. Ninja가 하는 일 = 58
 3.4. Ninja의 최적화 = 60
 3.5. 결론 및 설계 대안 = 67
 3.6. 감사의 글 = 68
제4장 빛의 속도로 XML 파싱하기 / 아세니 카풀킨(Arseny Kapoulkine)
 4.1. 소개 = 69
 4.2. XML 파싱 모형들 = 70
 4.3. pugixml 설계상의 선택들 = 71
 4.4. 파싱 = 72
 4.5. DOM 자료구조 = 85
 4.6. 스택 기반 메모리 할당 = 89
 4.7. 스택 기반 할당자의 메모리 해제 지원 = 93
 4.8. 결론 = 95
제5장 MemShrink / 카일 휴이(Kyle Huey)
 5.1. 소개 = 97
 5.2. 기반구조의 개요 = 98
 5.3. 잰 만큼 얻는다 = 101
 5.4. 달성하기 쉬운 과제들 = 105
 5.5. 내 잘못은 아니지만 내 문제 = 108
 5.6. 영속성은 탁월함의 대가 = 110
 5.7. 공동체 = 112
 5.8. 결론 = 113
제6장 최적화 원리 패턴들을 구성요소 배치와 구성 도구들에 적용하기 / 더글러스 슈미트(Douglas C. Schmidt) ; 월리엄 오테(William R. Otte) ; 아니루다 고칼레(Aniruddha Gokhale)
 6.1. 소개 = 115
 6.2. DAnCE의 개요 = 119
 6.3. 최적화 원리 패턴들을 DAnCE에 적용하기 = 123
 6.4. 결론 = 140
제7장 Infinispan / 마닉 수르타니(Manik Surtani)
 7.1. 소개 = 145
 7.2. 개요 = 146
 7.3. Infinispan의 벤치마킹 = 149
 7.4. Radar Gun = 150
 7.5. 성능 문제의 잠재적 근원 = 153
 7.6. 결론 = 159
제8장 Talos / 클린트 탤버트(Clint Talbert) ; 조엘 마어(Joel Maher)
 8.1. 개요 = 162
 8.2. 측정 대상의 이해 = 164
 8.3. 재작성 대 리팩터링 = 167
 8.4. 성능 문화 만들기 = 168
 8.5. 결론 = 171
제9장 Zotonic / 아르얀 스헤르페니서(Arjan Scherpenisse) ; 마크 워렐(Marc Worrell)
 9.1. Zotonic 소개 = 173
 9.2. 왜 Zotonic인가? 왜 Erlang인가? = 174
 9.3. Zotonic의 구조 = 177
 9.4. 문제 해결: 슬래시닷 효과에 맞서기 = 180
 9.5. 캐싱 계층들 = 183
 9.6. Erlang의 가상 기계 = 190
 9.7. Webmachine 라이브러리 변경 사항 = 194
 9.8. 자료 모형: SQL 기반 문서 데이터베이스 = 196
 9.9. 벤치마크, 통계치, 최적화 = 197
 9.10. 결론 = 199
 9.11. 감사의 글 = 200
제10장 이동통신망 성능의 비밀 / 브라이스 하워드(Bryce Howard)
 10.1. 소개 = 201
 10.2. 잠복지연의 근원들 = 202
 10.3. 셀 방식 이동통신망의 특성 = 203
 10.4. 네트워크 프로토콜 성능 = 208
 10.5. TCP(전송 제어 프로토콜) = 209
 10.6. HTTP(하이퍼텍스트 전송 프로토콜) = 213
 10.7. TLS(전송층 보안) = 216
 10.8. DNS(도메인 이름 시스템) = 219
 10.9. 결론 = 221
제11장 Warp / 가즈 야마모토(Kazu Yamamoto) ; 마이클 스노이먼(Michael Snoyman) ; 안드레아스 보엘미(Andreas Voellmy)
 11.1. Haskell의 네트워크 프로그래밍 = 224
 11.2. Warp의 구조 = 229
 11.3. Warp의 성능 = 231
 11.4. 핵심 착안 = 233
 11.5. HTTP 요청 파서 = 235
 11.6. HTTP 응답 조합기 = 242
 11.7. 타이머를 이용한 정리 = 245
 11.8. 향후 작업 = 249
 11.9. 결론 = 251
제12장 생물정보학의 거대 자료 다루기 / 에릭 맥도널드(Eric McDonald) ; C. 타이터스 브라운(Titus Brown)
 12.1. 소개 = 253
 12.2. khmer의 구조와 성능상의 고려사항 = 257
 12.3. 프로파일링과 측정 = 261
 12.4. 조율 = 265
 12.5. 전반적인 조율 = 266
 12.6. 병렬화 = 271
 12.7. 결론 = 275
 12.8. 향후 개선안 = 275
 12.9. 감사의 글 = 276
참고문헌 = 277
찾아보기 = 282

관련분야 신착자료