• 퍼펙트 자바스크립트
  • 한 권으로 끝내는 모던 자바스크립트 프로그래밍

  • 이노우에 세이이치로, 츠치에 타쿠로, 하마베 쇼타 지음
  • 황선유 옮김

  • 오픈소스 & 웹 시리즈 _ 047
  • ISBN: 9788998139131
  • 32,000원 | 2013년 02월 14일 발행 | 740쪽



최신 자바스크립트에 관한 거의 모든 것을 배운다!

자바스크립트 프로그래밍을 할 때 반드시 알아야 할 필수 지식을 비롯해 자바스크립트와 관련된 최신 기술을 배울 수 있는 책이다. 방대한 분량에 걸맞게 자바스크립트 언어 및 프로그래밍과 관련된 상세한 원리와 관용구를 익힐 수 있으며, HTML5, 클라이언트/서버 사이드 자바스크립트까지 빠짐없이 다룬다. 특히 실무에서 곧바로 활용할 수 있는 다양한 HTML5 관련 기술과 웹 API를 이용한 웹 서비스 프로그래밍, 그리고 최근 각광받고 있는 서버 사이드 자바스크립트 기술인 Node.js까지 다루고 있어 그동안 제각기 배워야 했던 자바스크립트 기술들을 이 책에서 모두 배울 수 있다.

이 책은 프로그래밍 언어 자바스크립트에 대한 책이다. 전반부에서 자바스크립트의 언어적인 사양을 설명하고, 후반부에서 자바스크립트의 응용 분야로서 클라이언트 사이트 자바스크립트, HTML5, 웹 API를 이용하고, 서버사이드 자바스크립트를 다룬다.

《퍼펙트 자바스크립트》는 중급 개발자 이상을 대상으로 하는 책이다. 따라서 자바스크립트 코드의 일부를 복사해서 붙여넣는 식으로 사용하려는 초보자에게는 적합하지 않다. 이 책은 자바스크립트를 확실히 배워 본격적인 웹 애플리케이션을 만들고자 하는 사람을 위한 책이다.

최근에는 단순히 자바스크립트라고 해도 웹 애플리케이션이나 네이티브 애플리케이션, 스마트폰 단말이나 텔레비전 단말, 클라이언트 사이드부터 서버 사이드까지 그 이용 범위가 꽤 넓어졌다. 지금까지 했던 것처럼 웹상에서 찾은 코드 조각이나 라이브러리를 약간 바꿔 넣는 스킬만으로는 이런 폭넓은 용도에 유연하게 대응하기 어렵다. 자바스크립트를 처음 배우는 사람은 반드시 어딘가에서 체계적인 자바스크립트 지식을 익혀야 한다. 당신이 자바스크립터로서 다음 단계로 올라가고자 한다면 이 책이 도움될 것이다.

★ 이 책의 대상 독자 ★

  • 자바스크립트 입문서를 읽은 적이 있고, 자바스크립트의 본질을 더 완전히 이해하고 싶은 사람
  • 일상적으로 자바스크립트를 사용하고 있지만 지식에 애매한 부분이 있어 불안한 사람
  • 다른 프로그래밍 언어를 잘 사용하고 있지만 자바스크립트는 그럭저럭 사용하고 있는 사람
  • 자바스크립트가 차세대 언어의 지배자라고 생각하고 있는 사람

이노우에 세이이치로

미국에서 로터스 노츠 개발에 참여했다. 귀국 후 아리에루 네트워크 주식회사를 창업. 기업 대상 P2P 소프트웨어나 엔터프라이즈 제품 개발에 종사하고 있다. 저서로는 ‘P2P 교과서’, ‘퍼펙트 자바’, ‘실전 JS 서버사이드 자바스크립트 입문’이 있다. 아리에루(http://dev.ariel-networks.com/)에서 기술 정보를 배포 중이다. 이 책의 1 〮 2 〮 5 〮 6부를 담당했다.

츠치에 타쿠로

대학에서 항공우주 공학이나 로봇 공학을 공부하던 중, 재미있을 것 같다는 이유로 IT 업계에 취직했다. 2008년 아리에루 네트워크 주식회사에 입사한 후 자바나 자바스크립트를 이용해 엔터프라이즈 제품을 개발하고 있다. 이 책의 3부를 담당했다.

하마베 쇼타

학생 때, 아리에루 네트워크 주식회사에 아르바이트로 입사한 후 소프트웨어 개발의 기초와 프로그래머의 생태를 학습했다. 2009년 야후! 주식회사에 입사해 텔레비전 단말용 소프트웨어 키보드 개발과, 스마트폰 버전 GyaO! 개발에 참여했다. 최근에는 사내에서 HTML5나 Node.js를 전파하는 활동에 앞장서고 있다. 이 책의 4부를 담당했다.

황선유

세종대학교 일어일문학과를 졸업하고 일본 반도체 회사에서 근무했다. 6년간의 프로그래밍 경력을 거쳐 현재 번역 에이전시 엔터스코리아에서 IT전문 번역자로 활동하고 있다. 역서로는 <<예제로 쉽게 배우는 스프링 프레임워크 3.0>>가 있다.

  • 1부 자바스크립트 개요
    • ▣ 01장 | 자바스크립트의 개요
      • 1-1 자바스크립트를 보는 시점
      • 1-2 자바스크립트의 역사
        • 1-2-1 자바스크립트의 연도별 주요 뉴스
      • 1-3 ECMAScript
        • 1-3-1 자바스크립트의 표준화
        • 1-3-2 보류된 ECMAScript 4
      • 1-4 자바스크립트의 버전
      • 1-5 자바스크립트 엔진
        • 1-5-1 클라이언트 사이드 자바스크립트 코드의 이식성
      • 1-6 자바스크립트 실행 환경
        • 1-6-1 코어 언어
        • 1-6-2 호스트 객체
      • 1-7 자바스크립트를 둘러싼 주변 환경
        • 1-7-1 라이브러리
        • 1-7-2 소스코드 압축
        • 1-7-3 통합 개발 환경
      •  
  • 2부 자바스크립트의 언어 사양
    • ▣ 02장 | 자바스크립트 기초
      • 2-1 자바스크립트의 특징
      • 2-2 표기
        • 2-2-1 print 함수
      • 2-3 변수의 기초
        • 2-3-1 변수 사용법
        • 2-3-2 var의 생략
        • 2-3-3 상수
      • 2-4 함수의 기초
        • 2-4-1 함수란?
        • 2-4-2 함수 선언과 호출
        • 2-4-3 함수 리터럴
        • 2-4-4 함수는 객체
      • 2-5 객체의 기초
        • 2-5-1 객체란?
        • 2-5-2 객체 리터럴 식과 객체의 이용
        • 2-5-3 프로퍼티 접근
        • 2-5-4 프로퍼티 접근(대괄호)
        • 2-5-5 메서드
        • 2-5-6 new
        • 2-5-7 클래스와 인스턴스
        • 2-5-8 클래스 기능의 정리
        • 2-5-9 객체와 타입
      • 2-6 배열의 기초
      •  
    • ▣ 03장 | 자바스크립트 타입
      • 3-1 타입이란?
        • 3-1-1 타입에 관한 자바와의 비교
        • 3-1-2 기본 타입과 참조 타입
      • 3-2 내장 타입의 개요
        • 3-2-1 자바스크립트의 기본 타입
      • 3-3 문자열 타입
        • 3-3-1 문자열 값 리터럴
        • 3-3-2 문자열 타입의 연산
        • 3-3-3 문자열 타입의 비교
        • 3-3-4 문자열 클래스(String 클래스)
        • 3-3-5 문자열 객체
        • 3-3-6 문자열 값과 문자열 객체의 혼동을 피하는 방법
        • 3-3-7 String 함수 호출
        • 3-3-8 String 클래스의 기능
        • 3-3-9 비파괴적 메서드
      • 3-4 숫자 타입
        • 3-4-1 숫자 리터럴
        • 3-4-2 숫자 타입의 연산
        • 3-4-3 부동소수점 수의 일반적인 주의사항
        • 3-4-4 숫자 클래스(Number 클래스)
        • 3-4-5 Number 함수 호출
        • 3-4-6 Number 클래스의 기능
        • 3-4-7 경계값과 특별한 숫자
        • 3-4-8 NaN
      • 3-5 불린 타입
        • 3-5-1 불린 값
        • 3-5-2 불린 클래스(Boolean 클래스)
        • 3-5-3 Boolean 클래스의 기능
      • 3-6 null 타입
      • 3-7 undefined 타입
        • 3-7-1 undefined 값
      • 3-8 객체 타입
        • 3-8-1 함수 타입
      • 3-9 타입 변환
        • 3-9-1 문자열 값에서 숫자로의 형변환
        • 3-9-2 숫자에서 문자열 값으로의 형변환
        • 3-9-3 형변환의 관용구
        • 3-9-4 불린 타입으로의 형변환
        • 3-9-5 그 밖의 형변환
        • 3-9-6 객체 타입에서 기본 타입으로의 형변환
        • 3-9-7 기본 타입에서 객체 타입으로의 형변환
      •  
    • ▣ 04장 | 문장, 식, 연산자
      • 4-1 식과 문장의 구조
      • 4-2 예약어
      • 4-3 식별자
      • 4-4 리터럴 표기
      • 4-5 문장이란?
      • 4-6 블록문(복합문)
      • 4-7 변수 선언문
      • 4-8 함수 선언문
      • 4-9 식문장
      • 4-10 빈 문장
      • 4-11 제어문
      • 4-12 if-else 문
      • 4-13 switch-case 문
      • 4-14 반복문
      • 4-15 while 문
      • 4-16 do-while 문
      • 4-17 for 문
        • 4-17-1 for 문의 관용구
      • 4-18 for in 문
        • 4-18-1 배열과 for in 문
        • 4-18-2 for in 문에서 주의할 사항
      • 4-19 for each in 문
      • 4-20 break 문
      • 4-21 continue 문
      • 4-22 라벨을 사용한 점프
      • 4-23 return 문
      • 4-24 예외
      • 4-25 기타
      • 4-26 주석
      • 4-27 식
      • 4-28 연산자
      • 4-29 식의 평가
      • 4-30 연산자의 우선순위와 결합 규칙
      • 4-31 산술 연산자
      • 4-32 문자열 연결 연산자
      • 4-33 항등 연산자
      • 4-34 비교 연산자
      • 4-35 in 연산자
      • 4-36 instanceof 연산자
      • 4-37 논리 연산자
      • 4-38 비트 연산자
      • 4-39 대입 연산자
      • 4-40 산술 대입 연산자
      • 4-41 조건 연산자(삼항 연산자)
      • 4-42 typeof 연산자
      • 4-43 new 연산자
      • 4-44 delete 연산자
      • 4-45 void 연산자
      • 4-46 콤마(,) 연산자
      • 4-47 점 연산자와 대괄호 연산자
      • 4-48 함수 호출 연산자
      • 4-49 연산자와 형변환의 주의점
      •  
    • ▣ 05장 | 함수와 객체
      • 5-1 변수의 선언
      • 5-2 변수와 참조
        • 5-2-1 함수의 인자(값 주기)
        • 5-2-2 문자열과 참조
        • 5-2-3 객체와 참조와 관련된 용어 정리
      • 5-3 변수와 프로퍼티
      • 5-4 변수명의 해석
      • 5-5 변수의 존재 확인
        • 5-5-1 프로퍼티의 존재 확인
      • 5-6 객체란
        • 5-6-1 추상 데이터 타입과 객체지향
        • 5-6-2 인스턴스의 협조와 객체지향
        • 5-6-3 자바스크립트의 객체
      • 5-7 객체의 생성
        • 5-7-1 객체 리터럴
        • 5-7-2 생성자와 new 식
        • 5-7-3 생성자와 클래스 정의
      • 5-8 프로퍼티 접근
        • 5-8-1 프로퍼티 값의 변경
        • 5-8-2 점 연산자와 대괄호 연산자의 사용 구분
        • 5-8-3 프로퍼티의 열거
      • 5-9 연관 배열로서의 객체
        • 5-9-1 연관 배열
        • 5-9-2 연관 배열로서의 객체와 관련된 주의점
      • 5-10 프로퍼티의 속성
      • 5-11 가비지 컬렉션
      • 5-12 불변 객체
        • 5-12-1 불변 객체란?
        • 5-12-2 불변 객체의 유용함
        • 5-12-3 불변 객체의 기법
      • 5-13 메서드
      • 5-14 this 참조
        • 5-14-1 this 참조의 규칙
        • 5-14-2 this 참조의 주의점
      • 5-15 apply와 call
      • 5-16 프로토타입 상속
        • 5-16-1 프로토타입 체인
        • 5-16-2 프로토타입 체인의 구체적인 예
        • 5-16-3 프로토타입 상속과 클래스
        • 5-16-4 프로토타입 체인과 관련해서 자주 볼 수 있는 착각과 proto 프로퍼티
        • 5-16-5 프로토타입 객체
        • 5-16-6 프로토타입 객체와 ECMAScript 5
      • 5-17 객체와 타입
        • 5-17-1 타입 판정(constructor 프로퍼티)
        • 5-17-2 constructor 프로퍼티의 주의점
        • 5-17-3 타입 판정(instanceof 연산과 isPrototypeOf 메서드)
        • 5-17-4 타입 판정(덕 타이핑)
        • 5-17-5 프로퍼티의 열거(프로토타입 상속을 고려)
      • 5-18 ECMAScript 5의 Object 클래스
        • 5-18-1 프로퍼티 객체
        • 5-18-2 접근 함수 속성
      • 5-19 표준 객체
      • 5-20 Object 클래스
      • 5-21 전역 객체
        • 5-21-1 전역 객체와 전역 변수
        • 5-21-2 Math 객체
        • 5-21-3 Error 객체
      •  
    • ▣ 06장 | 함수와 클로저
      • 6-1 함수 선언문과 함수 리터럴 식
      • 6-2 함수 호출의 정리
        • 6-2-1 함수 선언문의 역행
      • 6-3 인자와 지역 변수
        • 6-3-1 arguments 객체
        • 6-3-2 재귀 함수
      • 6-4 스코프
        • 6-4-1 웹 브라우저와 스코프
        • 6-4-2 블록 스코프
        • 6-4-3 let과 블록 스코프
        • 6-4-4 중첩 함수와 스코프
        • 6-4-5 셰도잉
      • 6-5 함수는 객체
        • 6-5-1 함수명과 디버그 용이성
      • 6-6 Function 클래스
        • 6-6-1 Function 클래스의 상속
      • 6-7 중첩 함수 선언과 클로저
        • 6-7-1 클로저의 표층적인 이해
        • 6-7-2 클로저의 구조
        • 6-7-3 클로저의 함정
        • 6-7-4 네임스페이스의 오염 방지
        • 6-7-5 클로저와 클래스
      • 6-8 콜백 패턴
        • 6-8-1 콜백과 제어의 반전
        • 6-8-2 자바스크립트와 콜백
      •  
    • ▣ 07장 | 데이터 처리
      • 7-1 배열
        • 7-1-1 자바스크립트의 배열
        • 7-1-2 배열의 요소 접근
        • 7-1-3 배열의 길이
        • 7-1-4 배열의 요소의 열거
        • 7-1-5 다차원 배열
        • 7-1-6 배열은 객체
        • 7-1-7 Array 클래스
        • 7-1-8 배열 객체의 의미
        • 7-1-9 배열의 관용구
        • 7-1-10 배열의 내부
        • 7-1-11 배열 스타일의 객체
        • 7-1-12 이터레이터
        • 7-1-13 제너레이터
        • 7-1-14 배열의 내포
      • 7-2 JSON
        • 7-2-1 JSON 문자열
        • 7-2-2 JSON 객체
      • 7-3 날짜 처리
        • 7-3-1 Date 클래스
      • 7-4 정규표현식
        • 7-4-1 정규표현식이란?
        • 7-4-2 정규표현식의 용어
        • 7-4-3 정규표현식의 문법
        • 7-4-4 자바스크립트의 정규표현식
        • 7-4-5 정규표현식 프로그래밍
        • 7-4-6 문자열 객체와 정규표현식 객체
      •  
  • 3부 클라이언트 사이드 자바스크립트
    • ▣ 08장 | 클라이언트 사이드 자바스크립트와 HTML
      • 8-1 클라이언트 사이드 자바스크립트의 중요성
        • 8-1-1 웹 애플리케이션의 발달
        • 8-1-2 자바스크립트의 고속화
        • 8-1-3 자바스크립트의 역할
      • 8-2 HTML과 자바스크립트
        • 8-2-1 웹 페이지를 표시할 때의 처리 흐름
        • 8-2-2 자바스크립트의 작성 방법과 실행 타이밍
        • 8-2-3 실행 타이밍 정리
      • 8-3 실행 환경과 개발 환경
        • 8-3-1 실행 환경
        • 8-3-2 개발 환경
      • 8-4 디버깅
        • 8-4-1 alert
        • 8-4-2 console
        • 8-4-3 onerror
        • 8-4-4 파이어버그, 웹 인스펙터, 오페라 드래곤플라이
      • 8-5 크로스 브라우징 지원
        • 8-5-1 지원해야 할 브라우저
        • 8-5-2 구현 방법
      • 8-6 Window 객체
        • 8-6-1 Navigator 객체
        • 8-6-2 Location 객체
        • 8-6-3 History 객체
        • 8-6-4 Screen 객체
        • 8-6-5 Window 객체로의 참조
        • 8-6-6 Document 객체
      •  
    • ▣ 09장 | DOM
      • 9-1 DOM이란?
        • 9-1-1 DOM Level 1
        • 9-1-2 DOM Level 2
        • 9-1-3 DOM Level 3
        • 9-1-4 DOM의 작성
      • 9-2 DOM의 기초
        • 9-2-1 태그, 요소, 노드
        • 9-2-2 DOM 조작
        • 9-2-3 Document 객체
      • 9-3 노드의 선택
        • 9-3-1 ID에 의한 검색
        • 9-3-2 태그명에 의한 검색
        • 9-3-3 이름에 의한 검색
        • 9-3-4 클래스명에 의한 검색
        • 9-3-5 부모, 자식, 형제
        • 9-3-6 XPath
        • 9-3-7 Selectors API
      • 9-4 노드의 생성/추가
      • 9-5 노드의 내용 변경
      • 9-6 노드의 제거
      • 9-7 innerHTML/textContent
        • 9-7-1 innerHTML
        • 9-7-2 textContent
      • 9-8 DOM 조작의 성능
      •  
    • ▣ 10장 | 이벤트
      • 10-1 이벤트 구동형 프로그래밍
      • 10-2 이벤트 핸들러/이벤트 리스너의 설정
        • 10-2-1 HTML 요소의 속성에 지정한다
        • 10-2-2 DOM 요소의 프로퍼티에 지정한다
        • 10-2-3 EventTarget.addEventListener()를 이용한다
        • 10-2-4 이벤트 핸들러/이벤트 리스너 안에서의 this
      • 10-3 이벤트 트리거
      • 10-4 이벤트의 전파
        • 10-4-1 캡처링 단계
        • 10-4-2 타겟 단계
        • 10-4-3 버블링 단계
        • 10-4-4 전파 취소
      • 10-5 이벤트가 갖는 요소
      • 10-6 표준 이벤트
        • 10-6-1 DOM Level 2에 정의돼 있는 이벤트
        • 10-6-2 DOM Level 3에 정의돼 있는 이벤트
      • 10-7 독자 이벤트
      •  
    • ▣ 11장 | 실전 클라이언트 사이드 자바스크립트
      • 11-1 스타일
        • 11-1-1 스타일 변경 방법
        • 11-1-2 위치 지정
        • 11-1-3 위치
        • 11-1-4 애니메이션
      • 11-2 AJAX
        • 11-2-1 비동기 처리의 이점
        • 11-2-2 XMLHttpRequest
        • 11-2-3 기본적인 처리 흐름
        • 11-2-4 동기 통신
        • 11-2-5 타임아웃
        • 11-2-6 응답
        • 11-2-7 동일 출처 정책
        • 11-2-8 크로스 오리진 통신
        • 11-2-9 JSONP
        • 11-2-10 iframe 해킹
        • 11-2-11 window.postMessage
        • 11-2-12 XMLHttpRequest Level 2
        • 11-2-13 크로스 오리진 통신의 보안 문제
      • 11-3 폼
        • 11-3-1 폼 요소
        • 11-3-2 폼 컨트롤 요소
        • 11-3-3 내용 검증
        • 11-3-4 입력 검증에 이용할 수 있는 이벤트
        • 11-3-5 폼을 사용해 페이지 이동을 발생시키지 않는 방법
      •  
    • ▣ 12장 | 라이브러리
      • 12-1 라이브러리를 사용해야 하는 이유
      • 12-2 jQuery의 특징
      • 12-3 jQuery의 기본
        • 12-3-1 작성 예
        • 12-3-2 메서드 체인
      • 12-4 $ 함수
        • 12-4-1 셀렉터에 매치되는 요소를 추출한다
        • 12-4-2 새로운 DOM 요소를 생성한다
        • 12-4-3 기존의 DOM 요소를 jQuery 객체로 변환한다
        • 12-4-4 DOM 구축 후의 이벤트 리스너를 설정한다
      • 12-5 jQuery에 의한 DOM 조작
        • 12-5-1 요소의 선택
        • 12-5-2 요소의 작성 ? 추가 ? 치환 ? 제거
      • 12-6 jQuery에 의한 이벤트 처리
        • 12-6-1 이벤트 리스너의 등록 ? 제거
        • 12-6-2 이벤트 전용 이벤트 리스너 등록 메서드
        • 12-6-3 ready() 메서드
      • 12-7 jQuery에 의한 스타일 조작
        • 12-7-1 기본적인 스타일 조작
        • 12-7-2 애니메이션
      • 12-8 jQuery에 의한 AJAX
        • 12-8-1 AJAX() 함수
        • 12-8-2 AJAX()의 래퍼 함수
        • 12-8-3 전역 이벤트
      • 12-9 Deferred
        • 12-9-1 Deferred의 기본
        • 12-9-2 상태 이동
        • 12-9-3 후속 함수
        • 12-9-4 병렬 처리
      • 12-10 jQuery 플러그인
        • 12-10-1 jQuery 플러그인의 이용
        • 12-10-2 jQuery 플러그인 작성
      • 12-11 다른 라이브러리와의 공존
        • 12-11-1 $ 객체의 충돌
        • 12-11-2 $ 객체의 충돌 방지
      • 12-12 라이브러리의 이용법
      •  
  • 4부 HTML5
    • ▣ 13장 | HTML5 개요
      • 13-1 HTML5의 역사
        • 13-1-1 HTML5의 등장 배경
      • 13-2 HTML5의 현주소
        • 13-2-1 브라우저의 지원 상황
        • 13-2-2 웹 애플리케이션 과 네이티브 애플리케이션
      • 13-3 HTML5의 개요
      •  
    • ▣ 14장 | 웹 애플리케이션
      • 14-1 히스토리 API
        • 14-1-1 히스토리 API란?
        • 14-1-2 해시 플래그먼트
        • 14-1-3 인터페이스
      • 14-2 애플리케이션캐시
        • 14-2-1 캐시 관리
        • 14-2-2 캐시 매니패스트
        • 14-2-3 애플리케이션캐시 API
        • 14-2-4 온라인과 오프라인
      •  
    • ▣ 15장 | 데스크톱 연동
      • 15-1 드래그 드롭 API
        • 15-1-1 드래그 드롭 API란?
        • 15-1-2 인터페이스
        • 15-1-3 기본적인 드래그 앤 드롭
        • 15-1-4 표시의 커스터마이징
        • 15-1-5 파일의 Drag-in/Drag-out
      • 15-2 파일 API
        • 15-2-1 파일 API란?
        • 15-2-2 File 객체
        • 15-2-3 FileReader
        • 15-2-4 data URL
        • 15-2-5 FileReaderSync
      •  
    • ▣ 16장 | 스토리지
      • 16-1 웹 스토리지
        • 16-1-1 웹 스토리지란?
        • 16-1-2 기본 조작
        • 16-1-3 storage 이벤트
        • 16-1-4 Cookie에 대해
        • 16-1-5 네임스페이스 관리
        • 16-1-6 버전 관리
        • 16-1-7 localStorage의 에뮬레이트
      • 16-2 인덱스 데이터베이스
        • 16-2-1 인덱스 데이터베이스란?
        • 16-2-2 인프라스트럭처
        • 16-2-3 데이터베이스에 연결
        • 16-2-4 객체 저장소의 생성
        • 16-2-5 데이터의 추가?제거?참조
        • 16-2-6 인덱스 생성
        • 16-2-7 데이터 검색과 갱신
        • 16-2-8 데이터 정렬
        • 16-2-9 트랜잭션
        • 16-2-10 동기 API
      •  
    • ▣ 17장 | 웹소켓
      • 17-1 웹소켓 개요
        • 17-1-1 웹소켓이란?
        • 17-1-2 기존의 통신 기슬
        • 17-1-3 웹소켓의 사양
        • 17-1-4 웹소켓의 동작 방식
      • 17-2 기본 조작
        • 17-2-1 연결 수립
        • 17-2-2 메시지 송수신
        • 17-2-3 연결 종료
        • 17-2-4 연결 상태 확인
        • 17-2-5 바이너리 데이터의 송수신
        • 17-2-6 WebSocket 인스턴스의 프로퍼티 목록
      • 17-3 웹소켓 실전
        • 17-3-1 Node.js의 설치
        • 17-3-2 서버 사이드의 구현
        • 17-3-3 클라이언트 사이드의 구현
        • 17-3-4 클라이언트 사이드의 구현 2
      •  
    • ▣ 18장 | 웹 워커
      • 18-1 웹 워커 개요
        • 18-1-1 웹 워커란?
        • 18-1-2 웹 워커의 동작
      • 18-2 기본 사용법
        • 18-2-1 워커의 생성
        • 18-2-2 메인 스레드 측의 메시지 송수신
        • 18-2-3 워커 측의 메시지 송수신
        • 18-2-4 워커의 제거
        • 18-2-5 외부 파일 읽기
      • 18-3 웹 워커 실전
        • 18-3-2 워커 처리를 중단하다
      • 18-4 공유 워커
        • 18-4-1 공유 워커란?
        • 18-4-2 공유 워커의 생성
        • 18-4-3 공유 워커의 메시지 송수신
        • 18-4-4 공유 워커의 제거
        • 18-4-5 공유 워커의 응용 예
      •  
  • 5부 웹 API
    • ▣ 19장 | 웹 API의 기초
      • 19-1 웹 API와 웹 서비스
        • 19-1-1 웹 API가 상정하는 시스템
      • 19-2 웹 API의 역사
        • 19-2-1 스크레이핑
        • 19-2-2 시맨틱 웹
        • 19-2-3 XML
        • 19-2-4 Atom
        • 19-2-5 JSON
        • 19-2-6 SOAP
        • 19-2-7 REST
        • 19-2-8 간단한 정리
      • 19-3 웹 API의 구성
        • 19-3-1 웹 API의 형태
        • 19-3-2 웹 API의 이용
        • 19-3-3 RESTful API
        • 19-3-4 API 키
      • 19-4 사용자 인증과 허가
        • 19-4-1 웹 애플리케이션의 세션 관리
        • 19-4-2 세션 관리와 사용자 인증
        • 19-4-3 웹 API와 권한
        • 19-4-4 인증과 인가
        • 19-4-5 OAuth
      •  
    • ▣ 20장 | 웹 API의 실례
      • 20-1 웹 API의 카테고리
      • 20-2 구글 번역 API
        • 20-2-1 준비
        • 20-2-2 동작 개요
        • 20-2-3 웹 API를 이용하는 코드
        • 20-2-4 위젯(Google Translate Element)
      • 20-3 구글 지도 API
        • 20-3-1 구글 정적 지도 API
        • 20-3-2 마이맵
        • 20-3-3 구글 지도 API의 개요
        • 20-3-4 구글 지도 API의 간단한 예
        • 20-3-5 이벤트
        • 20-3-6 지오로케이션 API와 지오코딩 API
      • 20-4 야후! 플리커
        • 20-4-1 플리커 웹 API의 이용
        • 20-4-2 플리커 웹 API의 이용 예
      • 20-5 트위터
        • 20-5-1 검색 API
        • 20-5-2 REST API
        • 20-5-3 트위터 자바스크립트 API인 @anywhere
        • 20-5-4 트위터 위젯
      • 20-6 페이스북
        • 20-6-1 페이스북 애플리케이션의 변천
        • 20-6-2 페이스북의 자바스크립트 API
        • 20-6-3 페이스북 플러그인
      • 20-7 오픈소셜
        • 20-7-1 오픈소셜의 기본 아키텍처
      •  
  • 6부 서버 사이드 자바스크립트
    • ▣ 21장 | 서버 사이드 자바스크립트와 Node.js
      •  
      • 21-1 서버 사이드 자바스크립트의 동향
      • 21-2 CommonJS
        • 21-2-1 CommonJS란?
        • 21-2-2 CommonJS의 동향
        • 21-2-3 모듈 기능
      • 21-3 Node.js
        • 21-3-1 Node.js 개요
        • 21-3-2 node 명령어
        • 21-3-3 npm과 패키지
        • 21-3-4 console 모듈
        • 21-3-5 util 모듈
        • 21-3-6 process 객체
        • 21-3-7 전역 객체
        • 21-3-8 Node.js 프로그래밍의 개요
        • 21-3-9 이벤트 API
        • 21-3-10 버퍼
        • 21-3-11 스트림
        •  
    • ▣ 22장 | 실전 Node.js 프로그래밍
      • 22-1 HTTP 서버 처리
        • 21-1-1 HTTP서버 처리의 기본
        • 22-1-2 요청 처리
        • 22-1-3 응답 처리
        • 22-1-4 POST 요청 처리
      • 22-2 HTTP 클라이언트 처리
      • 22-3 HTTPS 처리
        • 22-3-1 openssl 명령어를 이용한 자체 서명 인증서의 발행 방법
        • 22-3-2 HTTPS 서버
      • 22-4 Socket.IO와 웹소켓
      • 22-5 저수준 네트워크 프로그래밍
        • 22-5-1 저수준 네트워킹 처리
        • 22-5-2 소켓이란?
        • 22-5-3 소켓 프로그래밍의 기본 구조
        • 22-5-4 소켓 프로그래밍의 구체적인 예
      • 22-6 파일 처리
        • 22-6-1 예제 코드
        • 22-6-2 파일의 비동기 처리
        • 22-6-3 파일의 동기 처리
        • 22-6-4 파일 조작 계열 함수
        • 22-6-5 파일 읽기
        • 22-6-6 파일 쓰기
        • 22-6-7 디렉터리 조작
        • 22-6-8 파일의 변경 감시
        • 22-6-9 파일 경로
      • 22-7 타이머
      • 22-8 익스프레스
        • 22-8-1 URL 라우팅
        • 22-8-2 요청 처리
        • 22-8-3 응답 처리
        • 22-8-4 스캐폴드 생성
        • 22-8-5 MVC 아키텍처
        • 22-8-6 제이드 템플릿 언어
        • 22-8-7 몽고디비(데이터베이스)
        • 22-8-8 몽구스의 실전 예제
        • 22-8-9 익스프레스와 몽구스를 이용한 웹 애플리케이션

도서 소개자료

관련 글

2014-09-17
2014-09-15