장바구니 담기 close

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

JavaScript Cookbook

JavaScript Cookbook

  • 셸리 파워즈
  • |
  • 교학사
  • |
  • 2016-08-10 출간
  • |
  • 784페이지
  • |
  • 179 X 234 X 29 mm
  • |
  • ISBN 9788909194921
★★★★★ 평점(10/10) | 리뷰(1)
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

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

수량
+ -
총주문금액
29,700

이 상품은 품절된 상품입니다

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

출판사서평

[Part Ⅰ 클래식 자바스크립트]와 [Part Ⅱ 자바스크립트, 모두 날려버리자]로 구성됩니다. 먼저, [Part Ⅰ 클래식 자바스크립트]에서는 대중적인 자바스크립트이자 모든 자바스크립트 프로그램의 기본 구성 요소인 ‘클래식 자바스크립트’에 관하여 다룹니다. 기본으로 내장된 객체를 다루는 것에서부터 Ajax를 통한 서버 통신 및 SVG, 캔버스(Canvas), 비디오 및 오디오로 멀티미디어 효과를 내는 것에 이르기까지 광범위한 지원 내용을 다루고 이해할 수 있도록 설명하고 있습니다.
[Part Ⅱ 자바스크립트, 모두 날려버리자]에서 자바스크립트는 브라우저의 경계를 허물고 새로 내장된 객체를 소개하고 새롭고 흥미로운 데이터의 형태를 다루며, 복잡한 프레임워크를 포함하는 법을 설명합니다. 여기에서는 새로운 것을 만들기보다는 모바일 환경을 다루고 다양한 툴을 통합해 개발하는 방법을 배울 수 있습니다.

목차

자바스크립트의 세계
Part Ⅰ. 클래식 자바스크립트

1. 간단하지만은 않은 자바스크립트 기본 구성 요소
1.1 자바스크립트 객체(object), 원시(primitive), 리터럴(literal) 구분하기
1.2 문자열에서 목록 추출하기
1.3 문자열이 존재하는지, 빈 문자열인지 검사하기
1.4 특수 문자 삽입하기
1.5 패턴을 새 문자열로 대체하기
1.6 패턴의 모든 사례를 찾고 강조하기
1.7 캡처 괄호를 사용해 문자열의 단어 교환하기
1.8 HTML 태그를 명명된 엔티티로 치환하기
1.9 ISO 8601 형식의 날짜를 Date 객체에 사용 가능한 형식으로 변환하기
1.10 타이머와 함수 클로저 사용하기
1.11 경과 시간 구하기
1.12 10진수 값을 16진수 값으로 변환하기
1.13 테이블에서 같은 열에 있는 숫자 모두 더하기
1.14 각도와 라디안 변환하기
1.15 페이지 요소 안에 꼭 맞는 원의 반지름과 중심 구하기
1.16 원호 길이 계산하기
1.17 ES6의 기타 문자열 사용하기

2. 자바스크립트 배열
2.1 배열 검색하기
2.2 concat()과 apply()를 사용해 2차원 배열을 1차원 배열로 만들기
2.3 배열 요소 삭제 또는 치환하기
2.4 배열의 일부 추출하기
2.5 각 배열 요소에 함수 적용하기
2.6 forEach()와 call을 사용해 querySelectorAll()의 결과 검색하기
2.7 배열의 모든 요소에 함수를 적용하고 새로운 배열로 변환하기
2.8 필터링된 배열 만들기
2.9 배열 콘텐츠 유효성 검사하기
2.10 연관 배열을 사용하여 폼 요소의 이름과 값 저장하기
2.11 할당 해체(Destructing assignment)를 사용해 코드 단순화하기

3. 함수 : 자바스크립트 기본 구성 요소
3.1 함수의 위치 선정과 호이스팅(hoisting) 하기
3.2 함수를 다른 함수의 인수로 전달하기
3.3 재귀 알고리즘(Recursive Algorithm) 구현하기
3.4 타이머와 콜백 함수를 사용해 코드 블로킹 방지하기
3.5 상태를 기억하는 함수 만들기
3.6 함수 인수를 배열로 변환하기
3.7 부분 함수를 사용해 중복 줄이기
3.8 메모이제이션(캐싱 계산)으로 프로그램 성능 개선하기
3.9 익명 함수를 이용해 전역 변수 감싸기
3.10 디폴트 매개변수 제공하기

4. 잘 변하는 자바스크립트 객체
4.1 객체 멤버를 비공개로 만들기
4.2 프로토타입을 사용해 객체 생성하기
4.3 객체의 기능 상속하기
4.4 새로운 속성을 정의하여 객체 확장하기
4.5 객체 확장 방지하기
4.6 속성 불변 객체 만들기
4.7 자바스크립트 객체 네임스페이스
4.8 Prototype.bind를 사용해 this 재발견하기
4.9 객체의 메서드 체이닝하기

5. 자바스크립트와 사용자 인터페이스에 직접 접근하기
5.1 주어진 요소에 접근하여 부모 요소와 자식 요소 찾기
5.2 웹 페이지의 모든 이미지에 접근하기
5.3 선택자 API를 사용해 게시물에서 이미지 모두 찾기
5.4 요소의 스타일 속성 설정하기
5.5 순서가 없는 목록에 줄무늬 테마 적용하기
5.6 속성을 공유하는 요소 모두 구하기
5.7 새로운 문단 삽입하기
5.8 새로운 문단에 텍스트 추가하기
5.9 HTML 테이블에서 행 삭제하기
5.10 페이지 오버레이 추가하기
5.11 접이식 폼 영역 만들기
5.12 페이지 영역 숨기기
5.13 마우스를 올리면 나타나는 팝업 정보 창 만들기
5.14 동작의 결과를 플래시(flash)로 알려주기

6. 사전 테스트 및 접근성
6.1 JSHint로 코드 정리하기
6.2 QUnit으로 단위 테스트하기
6.3 다양한 환경에서 프로그램 테스트하기
6.4 여러 코딩 기법의 성능 테스트하기
6.5 잘못된 데이터(에러)를 사용자가 알 수 있도록 강조하기
6.6 접근 가능한 자동 업데이트 영역 만들기

7. 자바스크립트 라이브러리 만들기 및 사용하기
7.1 프로그램에 적합한 라이브러리 찾기
7.2 Modernizr.load로 기능 테스트하기
7.3 Math 객체로 전문 수학 기능 사용하기
7.4 두 날짜 사이의 일수 구하기
7.5 외부 라이브러리 사용하기 : jQuery 프레임워크 기반
7.6 jQuery 플러그인 사용하기
7.7 마우스트랩과 키보드 단축키 다루기
7.8 유틸리티 라이브러리 Underscore 활용하기
7.9 코드 패키징하기
7.10 비공개 데이터 멤버에 대한 지원 추가하기
7.11 라이브러리 최소화하기
7.12 라이브러리 호스팅하기
7.13 CDN에서 코드 제공하기
7.14 라이브러리를 jQuery 플러그인으로 변환하기
7.15 다수의 라이브러리를 안전하게 사용하기

8. 간단해진 클라이언트-서버 통신 및 데이터
8.1 Ajax 호출로 반환된 XML 문서 처리하기
8.2 XML 트리에서 적절한 정보 추출하기
8.3 JSON 파싱하기와 자동으로 수정하기
8.4 객체를 JSON 문자열로 변환하기
8.5 Ajax를 다른 도메인으로 요청하기(JSONP 사용)
8.6 Ajax 요청을 JSON으로 처리하기
8.7 서버에서 선택 목록 가져오기
8.8 타이머를 사용해 자동으로 페이지 업데이트하기

9. 미디어가 풍부한 인터랙티브한 웹 효과 만들기
9.1 캔버스에 동적인 라인 차트 만들기
9.2 SVG 파일에 자바스크립트 추가하기
9.3 웹 페이지 스크립트에서 SVG에 접근하기
9.4 HTML에서 SVG와 캔버스 요소 통합하기
9.5 오디오 파일이 재생을 시작할 때 코드 실행하기
9.6 자바스크립트와 video 요소로 동영상 제어하기
9.7 캔버스로 동영상에 필터 효과 추가하기

Part Ⅱ. 자바스크립트, 모두 날려버리자!

10. 새로운 ECMAScript 표준 객체
10.1 브라우저 프로그램에서 let 사용하기
10.2 복제할 수 없는 값의 컬렉션 만들기
10.3 유일한 키/값 쌍 만들기
10.4 절대적으로 유일한 객체 속성키 만들기
10.5 반복 작업 쉽게 하기
10.6 yield 함수 사용하기
10.7 프록시로 JIT(Just-in-Time) 객체 행동 수정 구현하기
10.8 클래스 생성하기와 확장하기(Traceur 사용)
10.9 Promise를 사용해 효율적으로 비동기식 처리하기

11. Node : 서버에서의 자바스크립트
11.1 간단한 브라우저 요청에 응답하기
11.2 형식 있는 데이터 제공하기
11.3 데이터 파일 불러오기와 저장하기
11.4 노드에서 let과 ES6 추가 기능 사용하기
11.5 REPL로 인터랙티브하게 노드 코드 테스트하기
11.6 터미널에서 입력 데이터 가져오기
11.7 노드 타이머 사용하기와 노드 이벤트 루프 이해하기
11.8 콜백 지옥(Callback Hell) 관리하기
11.9 노드 프로그램에서 명령줄 기능에 접근하기
11.10 같은 포트에서 노드와 아파치 실행하기
11.11 노드 인스턴스를 동작모드로 유지하기
11.12 프로그램 변경과 재시작 모니터링하기
11.13 Request로 스크린 스크래핑하기
11.14 커맨더로 명령줄 유틸리티 만들기

12. 자바스크립트 모듈화와 관리
12.1 스크립트 로더로 스크립트 로딩하기
12.2 비동기식 HTML5 방식으로 스크립트 로드하기
12.3 자바스크립트를 AMD 및 RequireJS로 변환하기
12.4 jQuery 등의 라이브러리와 RequireJS 함께 사용하기
12.5 Dojo 모듈 로드 및 사용하기
12.6 npm으로 노드 모듈 설치 및 관리하기
12.7 npm을 통해 특정 노드 모듈 검색하기
12.8 라이브러리를 노드 모듈로 변환하기
12.9 다양한 모듈 환경에서 직접 작성한 코드 사용하기
12.10 설치 가능한 노드 모듈 만들기
12.11 Bower로 클라이언트측 종속성을 패키징하고 관리하기
12.12 Browserify로 Node.js 모듈 컴파일하기
12.13 노드 모듈을 단위 테스트하기
12.14 Grunt로 작업(Task) 실행하기

13. API로 신나게 즐기기
13.1 RESTful API로 JSON 형식의 데이터로 접근하기
13.2 Restify로 RESTful API 만들기
13.3 컴퓨터 브라우저에서 모바일과 같은 알림 사용하기
13.4 브라우저에서 로컬로 파일 로드하기
13.5 웹 워커(Web Worker)와 File API를 사용해 작은 E-Pub리더 만들기
13.6 구글 맵과 API 살펴보기
13.7 노드 프로그램에서 트위터 API에 접근하기

14. 자바스크립트 프레임워크
14.1 Express-Generator를 사용해 Express 사이트 만들기
14.2 Express 사이트를 기본 MVC 앱으로 변환하기
14.3 SPA 프레임워크 사용하기 : TodoMVC 살펴보기
14.4 OAuth 프레임워크로 작업하기
14.5 웹 컴포넌트로 가능성 넓히기

15. 최신 클라이언트-서버 통신과 스트림
15.1 크로스 도메인(Cross-Domain) 요청하기
15.2 Ajax에서 PUT 요청 구현하기
15.3 Ajax를 통해 바이너리 데이터를 전송하고 이미지로 로드하기
15.4 HTTP 쿠키를 여러 도메인에서 공유하기
15.5 클라이언트와 서버 간 양방향 통신 구축하기
15.6 변환 스트림(Transform Stream)을 사용해 업로드하고 zip 파일로 묶기
15.7 웹소켓 프로그램의 성능과 기능 테스트하기

16. 데이터 시각화 및 클라이언트/서버 그래픽
16.1 D3로 SVG 바 차트 만들기
16.2 레이더 차트로 데이터 포인트 변형을 매핑하기
16.3 웹소켓으로 스크롤링 타임라인 제공하기
16.4 웹 페이지 콘텐츠의 스크린숏 만들기
(PhantomJS)
16.5 그래픽을 텍스트로 변환하기(Ocrad.js)
16.6 업로드한 이미지 잘라내기(또는 변경하기)

17. 데이터와 보존(Persistence)
17.1 폼 데이터 검증하기
17.2 HTML5를 사용해 정보 보존하기
17.3 클라이언트측 스토리지로 sessionStorage 사용하기
17.4 클라이언트측 데이터 스토리지 아이템
localStorage 만들기
17.5 Squel.js를 사용해 MySQL 데이터베이스 질의하기
17.6 IndexedDB를 사용해 대규모의 데이트를 클라이언트에 보존하기
17.7 드롭박스 데이터스토어를 사용해 클라우드 데이터에 접근하기

18. 자바스크립트 (모바일) 여행을 시작하다
18.1 설치 가능한 호스팅된 웹 앱 만들기
18.2 아마존 앱스토어로 웹 앱 패키징하기
18.3 Cordova(PhoneGap)를 사용해 기본적인 안드로이드 앱 만들기
18.4 ‘나의 위치’ 앱을 안드로이드로 포팅하기
18.5 Geolocation 파이어폭스 OS 앱 만들기
18.6 Geolocation 앱을 구글 크롬 앱으로 포팅하기
18.7 Kindle Fire 환경에서 Geolocation 앱 실행하기
18.8 안드로이드 앱 또는 아마존 Fire OS 앱 디버깅하기
18.9 장치 정보 불러오기

부록 A. jsBin과 jsFiddle에서 실행하기

저자소개

저자 셸리 파워즈는 첫 집필한 자바스크립트 도서에서부터 최근 집필한 그래픽 및 디자인 툴 관련 서적 등 18년 이상을 웹 기술 개발 분야에서 일하며 집필 활동을 하고 있습니다. 그녀가 최근 O’Reilly 출판사에서 출간한 도서로는 자바스크립트, HTML5 미디어 객체, Ajax, 웹 그래픽이 있습니다.

도서소개

이 책은 자바스크립트를 처음 시작하는 분들을 위한 책은 아닙니다. 이 책의 수준은 자바스크립트 쿡북 초판보다 약간 높게 잡았습니다. 자바스크립트를 몇 달간 사용했거나, 노드 또는 Ajax 개발에 조금이라도 참여했다면 이 책을 편안하게 접할 수 있을 것입니다.

교환 및 환불안내

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