확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
오픈소스 소프트웨어 성능 최적화 보고서

오픈소스 소프트웨어 성능 최적화 보고서

: 속도, 정밀도, 그리고 약간의 행운

리뷰 총점8.0 리뷰 2건
베스트
IT 모바일 top100 4주
정가
15,000
판매가
13,500 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2014년 05월 21일
쪽수, 무게, 크기 290쪽 | 627g | 188*245*20mm
ISBN13 9788994506906
ISBN10 899450690X

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 테이비시 암스트롱 외
테이비시 암스트롱(Tavish Armstrong) / 엮은이
테이비시는 Concordia University에서 소프트웨어 공학을 공부하고 있으며, 2014년 봄에는 졸업할 예정이다.

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

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

안드레아스 보엘미(Andreas Voellmy) / Warp
안드레아스는 Yale University의 전산학 박사(PhD) 후보생이며, GHC 프로젝트에 기여하였고, GHC의 입출력 관리자의 유지보수자이다.

일리아 그리고릭(Ilya Grigorik) / 크롬
일리아는 Google의 Make The Web Fast 팀의 웹 성능 공학자이자 개발자 홍보 담당이다. 거기서 그는 웹을 더 빠르게 만들고 성능에 관한 모범 관행들을 널리 전파하는 데 밤낮을 보낸다.

에번 마틴(Evan Martin) / Ninja
에번은 Google에서 9년 동안 프로그래머로 일했다. 그전에는 전산학과 언어학에서 학위를 받았다.

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

카일 휴이(Kyle Huey) / Memshrink
카일은 Mozilla Corporation에서 파이어폭스 웹 브라우저에 쓰이는 Gecko 렌더링 엔진에 대한 일을 하고 있다.

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

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

오드리 탱(Audrey Tang) / Ethercalc
독학으로 프로그래밍과 번역을 배운 오드리는 ‘무제 페이지(Untitled Page; 또는 직책 없는 사환)’라는 직함으로 Socialtext에서 일하고 있으며, 애플에서 지역화와 릴리스 공학 작업도 수행한다.

C. 타이터스 브라운(Titus Brown) / Khmer
타이터스는 물리 기상학, 발생 생물학, 유전학 등의 분야에서 일해 왔다. 현재는 Michigan State University의 조교수이며, Python Software Foundation의 일원이다.

에릭 맥도널드(Eric McDonald) / Khmer
에릭 맥도널드는 그가 지난 13년간 주로 관여했던 고성능 컴퓨팅에 강조를 둔 과학 소프트웨어 개발자이다.

더글러스 C. 슈미트(Douglas C. Schmidt) / DAnCE
더글러스 박사는 Vanderbilt University의 전산학 교수이자 전산학 및 공학 프로그램의 부의장이며 선임 연구원이다. 10권의 책을 저술했고 다양한 소프트웨어 관련 주제들에 대한 기술 논문을 500편 넘게 출판했다.

아니루다 고칼레(Aniruddha Gokhale) / DAnCE
아니루다 S. 고칼레 박사는 Vanderbilt University의 전기공학 및 전산학과의 조교수이자 Vanderbilt University의 Institute for Software Integrated Systems(ISIS)의 선임 연구 과학자이다. 그는 140편이 넘는 기술 논문을 저술 또는 공동 저술했다.

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

마닉 수르타니(Manik Surtani) / Infinispan
마닉은 Red Hat의 미들웨어 분과인 JBoss의 핵심 연구 개발 공학자이다. 그는 Infinispan 프로젝트의 창시자이며 JBoss Data Grid의 플랫폼 아키텍트이다.

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

아르얀 스헤르페니서(Arjan Scherpenisse) / Zotonic
아르얀은 Zotonic의 주 아키텍트들 중 한 명이며, 다른 십여 개의 프로젝트들(주로는 Zotonic과 Erlang을 사용하는)도 관리하고 있다.

마크 워렐(Marc Worrell) / Zotonic
마크는 Erlang 공동체에서 존경받는 일원이며 Zotonic 프로젝트의 창시자이다. 마크는 대형 Erlang 프로젝트의 컨설팅과 Zotonic 개발에 시간을 보내며, MaxClass와 LearnStone을 만든 Maximonster의 CTO이다.
역자 : 류광
옮긴이 류광은 1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 『Game Programming Gems』 시리즈와 커누스(Knuth) 교수의 고전 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈, 스트롭스트룹(Bjarne Stroustrup)의 『C++로 배우는 프로그래밍의 원리와 실제』(Programming―Principles and Practice Using C++)를 비롯한 다양한 분야의 프로그래밍 서적 을 50권 넘게 번역했다. 번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심을 가지고 있으며, 수많은 오픈소스 프로젝트들의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다.

현재 번역서 정보 사이트 occam’s Razor(http://occamsrazr.net/)와 Game Programming Gems 스터디 사이트 GpgStudy(http://www.gpgstudy.com/)를 운영하고 있다.

책 속으로 책속으로 보이기/감추기

소프트웨어에서 단순함은 하나의 미덕이다. 항상 문제는 단순함을 얼마나 오래 유지할 수 있는가이다. Ninja는 특정한 값비싼 과제들을 다른 도구(GYP나 CMake)에 위임함으로써 빌드 시스템의 복잡성을 상당 부분 잘라 냈다. 그리고 그 덕분에 애초에 Ninja를 염두에 두고 만든 프로젝트가 아닌 다른 프로젝트들에서도 Ninja를 유용하게 사용할 수 있다. 나는 Ninja의 단순한 코드가 기여자들을 격려했으리라고 믿는다.
_67

소프트웨어를 최적화하기란 어렵다. 성공적인 최적화를 위해서는 거의 항상 저수준 미시적 최적화와 고수준 성능 지향적 설계 결정, 세심한 알고리즘 선택과 조율, 메모리와 성능, 구현 복잡도 사이의 절충 등 다양한 노력이 필요하다. pugixml은 아주 빠른 현업 수준 XML 파서를 제공하기 위해(그러한 목표를 위해 몇 가지 희생한 것들도 있긴 하지만) 이 모든 접근방식이 필요한 라이브러리의 예이다. 구현 세부사항의 상당 부분은 다른 프로젝트나 과제에 맞게 개조가 가능하다. 다른 프로젝트는 또 다른 파싱 라이브러리일 수도 있고, 아예 다른 뭔가일 수도 있겠다. 이 글에서 제시한 요령들이 독자의 흥미를 끌어당겼다면, 그리고 다른 프로젝트들에 유용하게 쓰인다면 좋겠다.
_95

파이어폭스 4는 웹 브라우저의 개방적 동영상 지원, JavaScript 성능, 그래픽 가속 같은 영역에서 커다란 진전을 이룩했지만, 안타깝게도 메모리 사용량 면에서는 크게 후퇴했다. (중략) 그로부터 약 1년 반이 지난 지금, 그들의 일치된 노력은 파이어폭스의 메모리 소비량과 평판을 급속도로 바꾸었다. 대부분의 사용자들의 머리에서 ‘메모리 누수(memory leak)’는 과거의 일이 되었으며, 이제는 파이어폭스가 다른 브라우저들과 비교할 때 가장 가벼운 브라우저들 중 하나로 간주되는 경우가 많다. 이번 장에서는 파이어폭스의 메모리 사용량을 개선하기 위한 노력들을 살펴보고 그 과정에서 배운 교훈들을 소개하고자 한다.
_97

내용 관리 시스템이나 프레임워크를 만들 때에는 웹 서버에서 시작해서 요청 처리 시스템, 캐싱 시스템을 거쳐 데이터베이스 시스템에 이르는 응용 프로그램의 전체 스택을 고려하는 것이 중요하다. 그 모든 구성요소가 잘 연동되어야 좋은 성능이 나온다. 자료를 미리 처리함으로써 성능을 크게 높일 수 있다. 텍스트 자료를 데이터베이스에 저장하기 전에 미리 특수 문자들을 탈출시키고 문제가 될 만한 부분을 소독하는 것이 그러한 전처리의 예이다. (중략) 급격한 방문자 증가를 처리하기 위한 또 다른 최적화는 서로 비슷한 요청들을 동적으로 부합시키고 그것들을 한 번에 처리해서 동일한 결과를 산출하는 것이다. 이를 잘 구현한다면 대리(proxy) 서버를 사용하지 않아도 되며, 모든 HTML 페이지를 동적으로 생성할 수 있다.
_199

이동통신망의 증폭된 잠복지연이 미치는 영향을 완화하려면 잠복지연을 악화시키는 네트워크 왕복운행을 줄여야 한다. 그러한 벅찬 성능 문제를 극복하는 데에는 왕복운행 프로토콜 메시지 교환을 최소화하거나 제거하는 데 전적으로 초점을 둔 소프트웨어 최적화 기법들을 도입하는 것이 꼭 필요하다.
_221

서열 해독 기술이 개선됨에 따라 산출되는 서열 자료의 양이 너무 커져서, 그런 자료를 기존의 방법으로 처리하는 컴퓨터 하드웨어의 능력을 넘어설 정도가 되었다. (최신 서열 해독 기술은 수백만에서 수십억에 이르는 엄청난 수의 유전체 판독 단편[50에서 100개의 뉴클레오티드들로 이루어진 서열]들을 산출한다.) 이러한 경향은 앞으로도 지속될 예상이며, 이는 곧 고성능 컴퓨팅(high performance computing, HPC) 및 분석, 정보과학 공동체에서 거대 자료(big data; 소위 빅데이터)[Varc]라고 부르는 문제에 속한다. 하드웨어가 제한 요소가 됨에 따라, 이 문제를 소프트웨어 해법을 통해서 완화하는 방법을 고민하는 사람들이 많아졌다. 이번 장은 그런 소프트웨어 해법 하나를 제시하고, 그 해법을 수 테라바이트의 자료를 처리할 수 있도록 조율, 확장한 방법을 설명한다.
_254
---p.254

회원리뷰 (1건) 회원리뷰 이동

한줄평 (1건) 한줄평 이동

총 평점 8.0점 8.0 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 2,500원
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기