메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

You Don’t Know JS : this와 객체 프로토타입, 비동기와 성능

한빛미디어

번역서

절판

  • 저자 : 카일 심슨
  • 번역 : 이일웅
  • 출간 : 2017-07-26
  • 페이지 : 460 쪽
  • ISBN : 9788968488535
  • 물류코드 :2853
  • 초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 36

 

중급 자바스크립트 개발자를 넘어 자바스크립트 마스터를 꿈꾸는 이들을 위한 

『You Don’t Know JS』 시리즈

 

자바스크립트는 웹 초창기 시절부터 사람들이 대화하듯 웹 콘텐츠를 소비할 수 있게 해준 기반 기술이었다. 20년 가까이 흐른 지금은 엄청난 규모로 기술적 역량이 성장하였고, 세계에서 가장 널리 사용되는 소프트웨어 플랫폼이라 불리는 웹의 심장부를 형성하는 핵심 기술이 되었다.

자바스크립트는 처음 시작하고 실행하기가 가장 쉬운 언어지만, 다른 언어보다 완전히 숙달한 사람은 훨씬 적다. C/C++ 등으로 완전한 프로그램을 짜려면 언어 자체를 깊이 있게 알고 있어야 하지만, 자바스크립트는 언어 전체 능력 중 일부를 수박 겉핥기 정도만 알고 사용해도 웬만큼 서비스가 가능한 프로그램을 만들어낼 수 있어서다.

바로 이 부분이 자바스크립트의 모순이자 아킬레스건이고, 이 책에서 다루는 주제이기도 하다. 『You Don’t Know JS』 시리즈는 자바스크립트의 모든 것, 그중 특히 착각하기 쉽고 이해하기 어려운 부분을 깊고 철저하게 파고든다.

 

두 번째 You Don’t Know JS 시리즈 ‘this와 객체 프로토타입, 비동기와 성능’

 

자바스크립트, 그중에서도 특히 ‘어려운 부분’을 심층적으로 다루는 <You Don’t Know JS> 시리즈의 두 번째 책이다. 자바스크립트 언어에서 가장 헷갈리고 난해한 동시에 그 무엇보다도 중요한 기본 개념인 this 바인딩과 프로토타입 체인, 그에 못지않게 난해한 비동기와 성능, 이 책은 이 두 주제를 집중적으로 파고든다.

‘this와 객체 프로토타입’에서는 호출부 코드에 따라 this가 어떻게 바인딩되어 객체를 참조하고, 자바스크립트 믹스인 패턴으로 클래스를 어떻게 흉내 내는지, 프로토타입 체계가 객체 간 링크를 형성하는 방법을 소개한다. ‘비동기와 성능’에서는 비동기 프로그래밍을 다루는 자바스크립트의 과거와 현재부터 프라미스로 제어의 역전 문제를 해결하고 콜백 지옥을 탈출하는 법, 프로그램의 벤치마킹과 튜닝에 필요한 리소스와 테크닉을 설명한다. 이 책과 함께라면 자바스크립트에서 가장 모호하고, 숨겨진 정교한 메커니즘 이해에 한 걸음 더 다가갈 수 있을 것이다.

 

 

『You Don’t Know JS』 시리즈 도서

  • You Don’t Know JS: 타입과 문법, 스코프와 클로저 - 강제변환의 유의 사항과 생성자로서의 네이티브 등 자바스크립트의 타입과 문법에 관한 모호한 개념을 저자 특유의 문체로 명쾌히 설명한다. 자바스크립트의 핵심인 스코프와 클로저에 대한 저자의 설명을 읽어보면 자바스크립트의 작동 원리가 머릿속에 그려질 것이다.
  • You Don’t Know JS: this와 객체 프로토타입, 비동기와 성능 - 호출부에 따라 this가 어떻게 바인드되는지, 제너레이터로 비동기 흐름을 어떻게 표현할 수 있는지를 비롯한 객체 프로토타입의 체계 같은 자바스크립트 핵심 개념을 이 책에서 배울 수 있다.

 

대상 독자

  • 초급에서 중/고급으로 레벨 업하고 싶은 자바스크립트 개발자
  • 자바스크립트 개발 경험이 있지만 때때로 개념이 헷갈리는 개발자
  • 원인 모를 자바스크립트 오류로 힘겨워하는 개발자
카일 심슨 저자

카일 심슨

텍사스 오스틴 출신의 오픈 웹 전도사. 자바스크립트, HTML5, 실시간 P2P 통신과 웹 성능에 열정적인 관심이 있다. 열정이 없었다면, 이런 작업에 이미 진력이 났을 것이다. 저술가이자 워크숍 강사, 기술 연사이며, 오픈 소스 커뮤니티에서도 열심히 활동한다.

 

이일웅 역자

이일웅

20년 가까이 국내외 엔터프라이즈 현장에서 자바 전문 풀스택 개발자, 소프트웨어/애플리케이션 아키텍트로 프로젝트를 수행했다. 어느덧 50대를 바라보는 중년 아재가 됐지만 아직도 궁금한 기술이 많은 엔지니어이고, 20여 권의 IT 전문서를 번역하며 동료, 후배 개발자들과 지식과 경험을 나누는 일에도 힘쓰고 있다.
 

PART I this와 객체 프로토타입

1장 this라나 뭐라나

_1.1 this를 왜?

_1.2 헷갈리는 것들

__1.2.1 자기 자신

__1.2.2 자신의 스코프

_1.3 this는 무엇인가?

_1.4 정리하기

 

2장 this가 이런 거로군!

_2.1 호출부

_2.2 단지 규칙일 뿐

__2.2.1 기본 바인딩

__2.2.2 암시적 바인딩

__2.2.3 명시적 바인딩

__2.2.4 new 바인딩

_2.3 모든 건 순서가 있는 법

__2.3.1 this 확정 규칙

_2.4 바인딩 예외

__2.4.1 this 무시

__2.4.2 간접 레퍼런스

__2.4.3 소프트 바인딩

_2.5 어휘적 this

_2.6 정리하기

 

3장 객체

_3.1 구문

_3.2 타입

__3.2.1 내장 객체

_3.3 내용

__3.3.1 계산된 프로퍼티명

__3.3.2 프로퍼티 vs 메서드

__3.3.3 배열

__3.3.4 객체 복사

__3.3.5 프로퍼티 서술자

__3.3.6 불변성

__3.3.7 [[Get]]

__3.3.8 [[Put]]

__3.3.9 게터와 세터

__3.3.10 존재 확인

_3.4 순회

_3.5 정리하기

 

4장 클래스와 객체의 혼합

_4.1 클래스 이론

__4.1.1 클래스 디자인 패턴

__4.1.2 자바스크립트 클래스

_4.2 클래스 체계

__4.2.1 건축

__4.2.2 생성자

_4.3 클래스 상속

__4.3.1 다형성

__4.3.2 다중 상속

_4.4 믹스인

__4.4.1 명시적 믹스인

__4.4.2 암시적 믹스인

_4.5 정리하기

 

5장 프로토타입

_5.1 [[Prototype]]

__5.1.1 Object.prototype

__5.1.2 프로퍼티 세팅과 가려짐

_5.2 클래스

__5.2.1 클래스 함수

__5.2.2 생성자

__5.2.3 체계

_5.3 프로토타입 상속

__5.3.1 클래스 관계 조사

_5.4 객체 링크

__5.4.1 링크 생성

__5.4.2 링크는 대비책?

_5.5 정리하기

 

6장 작동 위임

_6.1 위임 지향 디자인으로 가는 길

__6.1.1 클래스 이론

__6.1.2 위임 이론

__6.1.3 멘탈 모델 비교

_6.2 클래스 vs 객체

__6.2.1 위젯 클래스

__6.2.2 위젯 객체의 위임

_6.3 더 간단한 디자인

__6.3.1 탈클래스화

_6.4 더 멋진 구문

__6.4.1 비어휘적 식별자

_6.5 인트로스펙션

_6.6 정리하기

 

PART II 비동기와 성능

1장 비동기성: 지금과 나중

_1.1 프로그램 덩이

__1.1.1 비동기 콘솔

_1.2 이벤트 루프

_1.3 병렬 스레딩

__1.3.1 완전-실행

_1.4 동시성

__1.4.1 비상호 작용

__1.4.2 상호 작용

__1.4.3 협동

_1.5

_1.6 문 순서

_1.7 정리하기

 

2장 콜백

_2.1 연속성

_2.2 두뇌는 순차적이다

__2.2.1 실행 vs 계획

__2.2.2 중첩/연쇄된 콜백

_2.3 믿음성 문제

__2.3.1 다섯 마리 콜백 이야기

__2.3.2 남의 코드뿐만 아니라

_2.4 콜백을 구하라

_2.5 정리하기

 

3장 프라미스

_3.1 프라미스란

__3.1.1 미랫값

__3.1.2 완료 이벤트

_3.2 데너블 덕 타이핑

_3.3 프라미스 믿음

__3.3.1 너무 빨리 호출

__3.3.2 너무 늦게 호출

__3.3.3 한번도 콜백을 안 호출

__3.3.4 너무 가끔, 너무 종종 호출

__3.3.5 인자/환경 전달 실패

__3.3.6 에러/예외 삼키기

__3.3.7 미더운 프라미스?

__3.3.8 믿음 형성

_3.4 연쇄 흐름

__3.4.1 용어 정의: 귀결, 이룸, 버림

_3.5 에러 처리

__3.5.1 절망의 구덩이

__3.5.2 잡히지 않은 에러 처리

__3.5.3 성공의 구덩이

_3.6 프라미스 패턴

__3.6.1 Promise.all([  ])

__3.6.2 Promise.race([ ])

__3.6.3 all([ ])/race([ ])의 변형

__3.6.4 동시 순회

_3.7 프라미스 API 복습

__3.7.1 new Promise( ) 생성자

__3.7.2 Promise.resolve( )와 Promise.reject( )

__3.7.3 then( )과 catch( )

__3.7.4 Promise.all([ ])과 Promise.race([ ])

_3.8 프라미스 한계

__3.8.1 시퀀스 에러 처리

__3.8.2 단일값

__3.8.3 단일 귀결

__3.8.4 타성

__3.8.5 프라미스는 취소 불가

__3.8.6 프라미스 성능

_3.9 정리하기

 

4장 제너레이터

_4.1 완전-실행을 타파하다

__4.1.1 입력과 출력

__4.1.2 다중 이터레이터

_4.2 값을 제너레이터링

__4.2.1 제조기와 이터레이터

__4.2.2 이터러블

__4.2.3 제너레이터 이터레이터

_4.3 제너레이터를 비동기적으로 순회

__4.3.1 동기적 에러 처리

_4.4 제너레이터 + 프라미스

__4.4.1 프라미스-인식형 제너레이터 실행기

__4.4.2 제너레이터에서의 프라미스 동시성

_4.5 제너레이터 위임

__4.5.1 왜 위임을?

__4.5.2 메시지 위임

__4.5.3 비동기성을 위임

__4.5.4 위임 ‘재귀’

_4.6 제너레이터 동시성

_4.7 썽크

__4.7.1 s/promise/thunk/

_4.8 ES6 이전 제너레이터

__4.8.1 수동 변환

__4.8.2 자동 변환

_4.9 정리하기

 

CHAPTER 5 프로그램 성능

_5.1 웹 워커

__5.1.1 워커 환경

__5.1.2 데이터 전송

__5.1.3 공유 워커

__5.1.4 웹 워커 폴리필

_5.2 SIMD

_5.3 asm.js

__5.3.1 asm.js 최적화

__5.3.2 asm.js 모듈

_5.4 정리하기

 

6장 벤치마킹과 튜닝

_6.1 벤치마킹

__6.1.1 반복

__6.1.2 Benchmark.js

_6.2 콘텍스트가 제일

__6.2.1 엔진 최적화

_6.3 jsPerf.com

__6.3.1 정상 테스트

_6.4 좋은 테스트를 작성하려면

_6.5 미시성능

__6.5.1 똑같은 엔진은 없다

__6.5.2 큰 그림

_6.6 꼬리 호출 최적화(TCO)

_6.7 정리하기

 

부록 A ES6 class

_부록 A.1 class

_부록 A.2 class의 함정

_부록 A.3 정적에서 동적으로?

_부록 A.4 정리하기

 

부록 B asynquence 라이브러리

_부록 B.1 시퀀스, 추상화 설계

_부록 B.2 asynquence API

_부록 B.3 값과 에러 시퀀스

_부록 B.4 프라미스와 콜백

_부록 B.5 이터러블 시퀀스

_부록 B.6 제너레이터 실행하기

_부록 B.7 정리하기

 

부록 C 고급 비동기 패턴

_부록 C.1 이터러블 시퀀스

_부록 C.2 이벤트 반응형

_부록 C.3 제너레이터 코루틴

_부록 C.4 순차적 프로세스 통신(CSP)

_부록 C.5 정리하기

두 번째 You Don’t Know JS 시리즈 ‘this와 객체 프로토타입, 비동기와 성능’

 

자바스크립트, 그중에서도 특히 ‘어려운 부분’을 심층적으로 다루는 <You Don’t Know JS> 시리즈의 두 번째 책이다. 자바스크립트 언어에서 가장 헷갈리고 난해한 동시에 그 무엇보다도 중요한 기본 개념인 this 바인딩과 프로토타입 체인, 그에 못지않게 난해한 비동기와 성능, 이 책은 이 두 주제를 집중적으로 파고든다.

‘this와 객체 프로토타입’에서는 호출부 코드에 따라 this가 어떻게 바인딩되어 객체를 참조하고, 자바스크립트 믹스인 패턴으로 클래스를 어떻게 흉내 내는지, 프로토타입 체계가 객체 간 링크를 형성하는 방법을 소개한다. ‘비동기와 성능’에서는 비동기 프로그래밍을 다루는 자바스크립트의 과거와 현재부터 프라미스로 제어의 역전 문제를 해결하고 콜백 지옥을 탈출하는 법, 프로그램의 벤치마킹과 튜닝에 필요한 리소스와 테크닉을 설명한다. 이 책과 함께라면 자바스크립트에서 가장 모호하고, 숨겨진 정교한 메커니즘 이해에 한 걸음 더 다가갈 수 있을 것이다.

 

  • 첫번째 리뷰어가 되어주세요.
  • 부록/예제소스
    자료명 등록일 다운로드
    DOWNLOAD 예제소스(비동기와 성능) 2023-01-13 다운로드
    DOWNLOAD 예제소스(this와 객체 프로토타입) 2023-01-13 다운로드
    결제하기
    • 문화비 소득공제 가능
    • 배송료 : 2,000원배송료란?

    배송료 안내

    • 20,000원 이상 구매시 도서 배송 무료
    • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

    무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

    닫기

    리뷰쓰기

    닫기
    * 도서명 :
    You Don’t Know JS : this와 객체 프로토타입, 비동기와 성능
    * 제목 :
    * 별점평가
    * 내용 :

    * 리뷰 작성시 유의사항

    글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

    1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
    2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

    오탈자 등록

    닫기
    * 도서명 :
    You Don’t Know JS : this와 객체 프로토타입, 비동기와 성능
    * 구분 :
    * 상품 버전
    종이책 PDF ePub
    * 페이지 :
    * 위치정보 :
    * 내용 :

    도서 인증

    닫기
    도서명*
    You Don’t Know JS : this와 객체 프로토타입, 비동기와 성능
    구입처*
    구입일*
    부가기호*
    부가기호 안내

    * 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

    * 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

    * 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

    닫기

    해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
    장바구니로 이동하시겠습니까?

    자료실