You Don't Know JS: this와 객체 프로토타입, 비동기와 성능
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

작가정보
저자 카일 심슨(Kyle Simson)은 텍사스 오스틴 출신의 카일 심슨은 오픈 웹 전도사로, 자바스크립트, HTML5, 실시간 P2P 통신과 웹 성능에 누구 못지않은 열정을 갖고 있다. 안 그랬으면 이미 오래전에 질려버렸을 것이다. 저술가, 워크숍 강사, 기술 연사이며 오픈 소스 커뮤니티에서도 활약 중이다.
번역 이일웅
역자 이일웅은 12여 년 동안 자바/스칼라 개발자, 애플리케이션 아키텍트로 활동하며 엔터프라이즈 프로젝트 현장을 누벼 온 야전형 정보 기술자이자, 한 여인과 두 딸의 사랑을 한 몸에 받고 사는 행복한 딸바보다. 한양대학교에서 기계공학을 전공했고, 미국 조지아텍에서 산업 시스템 공학 석사 학위를 받았다. 2014년 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』 시리즈 도서
· You Don’t Know JS: 타입과 문법, 스코프와 클로저 강제변환의 유의 사항과 생성자로서의 네이티브 등 자바스크립트의 타입과 문법에 관한 모호한 개념을 저자 특유의 문체로 명쾌히 설명한다. 자바스크립트의 핵심인 스코프와 클로저에 대한 저자의 설명을 읽어보면 자바스크립트의 작동 원리가 머릿속에 그려질 것이다.
· You Don’t Know JS: this와 객체 프로토타입, 비동기와 성능 호출부에 따라 this가 어떻게 바인드되는지, 제너레이터로 비동기 흐름을 어떻게 표현할 수 있는지를 비롯한 객체 프로토타입의 체계 같은 자바스크립트 핵심 개념을 이 책에서 배울 수 있다.
[대상 독자]
· 초급에서 중/고급으로 레벨 업하고 싶은 자바스크립트 개발자
· 자바스크립트 개발 경험이 있지만 때때로 개념이 헷갈리는 개발자
· 원인 모를 자바스크립트 오류로 힘겨워하는 개발자
[출판사 서평]
두 번째 You Don’t Know JS 시리즈 ‘this와 객체 프로토타입, 비동기와 성능’
자바스크립트, 그중에서도 특히 ‘어려운 부분’을 심층적으로 다루는
‘this와 객체 프로토타입’에서는 호출부 코드에 따라 this가 어떻게 바인딩되어 객체를 참조하고, 자바스크립트 믹스인 패턴으로 클래스를 어떻게 흉내 내는지, 프로토타입 체계가 객체 간 링크를 형성하는 방법을 소개한다. ‘비동기와 성능’에서는 비동기 프로그래밍을 다루는 자바스크립트의 과거와 현재부터 프라미스로 제어의 역전 문제를 해결하고 콜백 지옥을 탈출하는 법, 프로그램의 벤치마킹과 튜닝에 필요한 리소스와 테크닉을 설명한다. 이 책과 함께라면 자바스크립트에서 가장 모호하고, 숨겨진 정교한 메커니즘 이해에 한 걸음 더 다가갈 수 있을 것이다.
기본정보
ISBN | 9788968488535 | ||
---|---|---|---|
발행(출시)일자 | 2017년 07월 26일 | ||
쪽수 | 460쪽 | ||
크기 |
185 * 236
* 19
mm
/ 813 g
|
||
총권수 | 1권 | ||
원서명/저자명 | You Don't Know Js/Simpson, Kyle |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립