장바구니 담기 close

장바구니에 상품을 담았습니다.

Nodejs 하이 퍼포먼스

Nodejs 하이 퍼포먼스

  • 디오고 리센데
  • |
  • 에이콘출판
  • |
  • 2017-01-02 출간
  • |
  • 160페이지
  • |
  • 189 X 236 X 15 mm /424g
  • |
  • ISBN 9788960779488
★★★★★ 평점(10/10) | 리뷰(1)
판매가

15,000원

즉시할인가

13,500

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
13,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책에서 다루는 내용 ★

■ 제대로 정의되고 테스트된 개발 패턴을 이용한 애플리케이션 개발
■ 성능을 향상시키기 위한 메모리 관리 및 가비지 컬렉션
■ 메모리 변경 모니터링과 힙 스냅샷 분석
■ CPU 프로파일링과 프로세서를 지나치게 사용하는 패턴을 피하는 코딩 방법
■ 데이터의 중요성과 정보 캐싱 시기에 대한 이해
■ 상시 코드 테스트와 필요시 벤치마킹을 위한 자긴 학습
■ 애플리케이션 범위의 확장과 성능 향상 요소 파악

★ 이 책의 대상 독자 ★

애플리케이션의 성능을 향상시키기 위해 플랫폼에 대한 더 많은 지식을 얻으려는 Node.js 개발자를 위한 책이다. Node.js 기본에 대한 배경지식을 갖췄거나, 가비지 컬렉션에 대해 잘 알면서 애플리케이션을 더욱 견고하게 만들고 싶은 전문가 모두에게 이 책의 예제가 많은 도움이 될 것이다.

★ 이 책의 구성 ★

1장, ‘소개 및 컴포지션’에서는 이 책의 주제를 간략히 소개하고, 성능 분석과 벤치마킹의 중요성을 강조한다. 애플리케이션은 여러 개의 더 작은 컴포넌트들로 쪼개질 수 있으며, 애플리케이션 내 각 컴포넌트의 복잡도는 개발자가 관리할 수 있는 수준으로 작게 유지돼야 한다. 여기서는 개발 방법론의 중요성을 이해해야 한다. 그리고 분석은 더 쉽게 이뤄질 수 있어야 한다. 애플리케이션의 수명주기상에서 성능이 더 뛰어나거나 새로운 것이 나오면 쉽게 교체할 수 있도록 복잡도를 더 작게 만들어야 한다.
2장, ‘개발 패턴’에서는 성능이 떨어지는 것을 피하거나 발견할 수 있도록 도와주는 프로그래밍 패턴을 포함한다. 앞으로 발생 가능한 문제점을 피하고, 간단한 패턴이나 기법들을 선택하는 것이 무엇보다도 중요하다. 이를 명심해, 프로그래밍 언어가 동작하는 방법과 이벤트 루프의 중요성, 비동기 프로그래밍이 최적으로 동작하는 방법을 이해해야 한다. 프로그래밍 언어에서의 가장 중요한 요소인 스트림과 버퍼도 이해해야 할 것이다.
3장, ‘가비지 컬렉션’에서는 GC의 중요성과 동작을 알려준다. V8 메모리 관리 방법, 불필요 메모리, 메모리 누수를 이해할 수 있다. 또한 애플리케이션을 프로파일링하는 방법과 개발자가 객체를 제대로 사용하지 않아 발생하는 잘못된 프로그래밍에 의한 메모리 누수를 찾는 방법을 알 수 있다.
4장, ‘CPU 프로파일링’에서는 애플리케이션이 호스트에 독차지해 사용할 때가 언제인지와 왜 그런지 이유를 알 수 있으며, 프로세서 프로파일링도 가능하다. 여기서는 프로그래밍 언어의 한계점을 이해하고, 성능 향상과 확장을 위해 애플리케이션을 여러 개의 모듈로 쪼갠 후 각기 다른 호스트에서 동작시키도록 하는 방법도 살펴본다.
5장, ‘데이터와 캐시’에서는 외부적으로 저장된 애플리케이션 데이터를 설명하고, 그것이 애플리케이션의 성능에 어떠한 영향을 미치는지 살펴본다. 애플리케이션 내부, 디스크, 로컬 서비스, 로컬 네트워크 서비스, 클라이언트 호스트에 저장하는 방법도 살펴본다. 여기서는 각기 다른 타입의 데이터 저장 방법을 알아보고, 어떠한 단점을 가지고 있는지, 가장 최적의 방법을 선택할 때 고려해야 하는 사항은 무엇인지 살펴본다. 데이터가 로컬 또는 외부 저장되는 방법과 데이터의 중요도에 따라 캐싱되는 데이터에 액세스하는 방법을 알 수 있다.
6장, ‘테스트, 벤치마크, 분석’에서는 애플리케이션을 테스트하고 벤치마킹하는 방법을 살펴본다. 살펴보지 않은 애플리케이션 테스트 구역이 생기지 않도록 하기 위해 코드 커버리지를 강화해야 한다. 그리고 벤치마킹과 벤치마크 분석을 해야 한다. 성능을 향상시키기 위해 애플리케이션의 특정 부분을 분석하고, 벤치마크를 수행해 어떻게 테스트해야 하는지 이해할 수 있다.
7장, ‘병목 현상’에서는 애플리케이션 외부에서의 제약 사항을 살펴본다. 여기서는 성능 제약이 애플리케이션 프로그래밍에 있는 것이 아니라 외부 요소, 즉 호스트 하드웨어, 네트워크, 클라이언트에 있다는 것을 보여준다. 외적 요소들로 인해 애플리케이션의 내부 또는 외부 동작이 제약받을 수 있다는 것을 알게 된다. 또한 그 외에 클라이언트 단의 한계도 알 수 있으며, 현재 성능을 향상시키기 위해 아무것도 할 수 없을 때도 있음을 깨닫게 될 것이다.

★ 옮긴이의 말 ★

최근의 주된 관심사는 단연 자바스크립트(JavaScript)를 기반으로 한 여러 가지 새로운 기술이다. 그중 Node.js는 생산성 향상에 기여하며 가장 많은 관심을 받고 있다. 사실 Node.js를 사용하면 간단한 서버는 수 분 내에 만들어낼 수 있다. 하지만 많은 장점을 내세우고 있는 Node.js에도 엄연히 단점이 존재하기 마련이고, 애플리케이션의 규모가 커지면 커질수록 이러한 단점은 쉽게 드러난다.
자바스크립트는 웹 브라우저 내에서 주로 사용하며, 다른 응용프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다. 자바스크립트는 본래 넷스케이프 커뮤니케이션즈 코퍼레이션의 브렌던 에이크(Brendan Eich)가 처음에는 모카(Mocha)라는 이름으로, 나중에는 라이브스크립트(LiveScript)라는 이름으로 개발했으며, 최종적으로 자바스크립트라는 이름을 갖게 됐다. 웹 페이지 안에서 객체를 자유롭게 조정하고 브라우저의 각종 기능을 이용하기 위해 필수적인 자바스크립트는 웹사이트 개발에서 필수적인 언어로 자리매김했고, 웹사이트에서 많은 기능을 제공하려는 다양한 고객들의 요구를 분석해볼 때 앞으로 자바스크립트의 활용은 가파르게 늘어날 것이다.
이 책에서 기반이 되는 Node.js는 이전보다 우리에게 더 많이 친숙해진 플랫폼이다. 물론 여전히 많은 부분에서 업데이트가 이뤄지고 있지만, 기본적인 구조와 동작 원리에는 큰 변화가 일어나고 있지 않다. 이제는 Node.js를 기반으로 애플리케이션을 작성할 때 모든 애플리케이션이 안고 있는 이슈인 ‘성능 문제’를 고려해야 한다고 생각한다. 물론 모든 개발자들이 성능 문제를 고려하지 않고 애플리케이션을 작성한다고 생각하지는 않지만, Node.js에 대한 장단점을 파악해 효율적인 애플리케이션을 작성하는 것 또한 쉽지 않을 것으로 생각한다.
이 책은 Node.js에 적용되는 다양한 구현 방식과 프로파일링 및 최적화 기법을 기술하면서 최고의 성능을 이끌어낼 수 있는 방법을 제시한다. 우리는 이 책을 통해 많은 개발자들이 효과적으로 Node.js 기반의 애플리케이션을 만들어낼 수 있길 기대한다. 최적화와 관련해 처음 시작하는 독자뿐 아니라 빠른 시간 안에 고성능 앱을 만들어보고자 하는 개발자에게 이 책을 추천하고 싶다.

목차

1장. 소개 및 컴포지션
2장. 개발 패턴
3장. 가비지 컬렉션
4장. CPU 프로파일링
5장. 데이터와 캐시
6장. 테스트, 벤치마크, 분석
7장. 병목 현상

저자소개

저자 디오고 리센데는 작업하고 있는 모든 것에 완벽을 기하려는 열정적인 개발자다. 각 사물들이 서로 연결될 뿐 아니라 외부 세상과도 연결되는 모든 사물인터넷에도 관심이 많다. 컴퓨터공학을 전공했으며, 컴퓨터 네트워킹, 보안, 소프트웨어 개발 및 클라우드 컴퓨팅에 대한 지식을 습득했다.
지난 10년 동안 세상의 많은 임베디드 시스템과 개발자를 연결하는 애플리케이션과 서비스를 개발하기 위해 여러 가지 다른 도전을 해왔으며, 과거의 인터넷과 특이한 프로토콜을 지금의 인터넷과 연결할 수 있는 방법을 만들어왔다.
씽크디지털(ThinkDigital)에서 근무했으며, 지난 몇 년 동안이 자신의 인생에서 매우 중요한 시기였다고 생각한다. 씽크디지털은 컴퓨터 네트워킹과 보안, 자동화, 스마트 미러링, 운송 수단 관리 및 인텔리전스 등의 분야에서 서비스를 제공한다.
많은 오픈소스 프로젝트를 수행했고, 이와 관련된 모든 프로젝트를 ‘dresende’라는 사용자명을 가지는 깃허브(GitHub) 페이지에서 찾을 수 있으며, MIT 라이선스를 갖고 있다.

도서소개

Node.js는 서버 쪽에서 자바스크립트를 사용할 수 있게 해주는 도구다. Node.js와 같은 플랫폼에서 성능 최적화를 위해서는 하드웨어의 각 특징을 사용하고, 메모리 관리를 최적으로 해야 한다. 『Node.js 하이 퍼포먼스』는 성능 분석으로 시작했지만, Node.js 개발자의 성능 병목지점을 제거하는 데 매우 도움이 되며, 성능 저하를 미리 회피할 수 있는 개발 패턴을 알려준다. 가비지 컬렉션(Garbage Collection)과 동작의 중요성을 배울 수 있으며, 어떻게 프로세서를 프로파일링 할 수 있는지 파악할 수 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.