오탈자, 부록 및 예제소스, 관련 사이트가 자료 메뉴로 통합되었어요.
쪽수
ISBN
브랜드
바퀴를 재발명할 필요는 없습니다!
문제가 생길 때마다 바퀴를 다시 만들 필요가 없습니다. 찾고자 하는 해결책이 가득 들어 있습니다. 일반적인 프로그래밍 작업, 크로스 브라우저 프로그램을 만드는 방법 등의 코드 레시피가 수록되어 있습니다. 프로젝트에 바로 적용할 수 있는 예제 코드를 제공합니다.
최신 기술 반영
ECMAScript 5와 HTML5에 새로 추가된 기술도 다루고 있습니다. 크로스 도메인 위젯 통신 기술, HTML5의 audio/video 요소, canvas 요소 등을 사용하는 방법은 물론 이를 활용한 높은 품질의 프로그램 인터페이스 작성 방법을 여러 레시피에 걸쳐 설명합니다.
추천사
"코딩 퍼즐에서 빠져 나오기 위한 자바스크립트 해결책이나 영감을 얻기가 무척 쉬워졌다. 셸리 파워즈가 단 한 권의 책에 모아놓은 훌륭한 해결책과 각종 기법은 웹 디자이너에게 큰 도움이 될 것이다."
- 크리스토퍼 슈미트, 『CSS Cookbook』의 저자
CHAPTER 1 자바스크립트 문자열 다루기 00 들어가며 01 두 개 이상의 문자열 합치기 02 문자열과 다른 자료형 합치기 03 문자열 비교하기 04 문자열에서 부분 문자열 검색하기 05 문자열에서 부분 문자열 추출하기 06 문자열이 존재하는지 또는 빈 문자열인지 확인하기 07 키워드 문자열을 여러 개의 키워드로 나누기 08 특수 문자 삽입하기 09 textarea를 줄별로 처리하기 10 문자열 끝 공백 제거하기 11 문자열 왼쪽 또는 오른쪽에 문자열 채워 넣기 CHAPTER 2 정규표현식 사용하기 00 들어가며 01 검색하는 문자열이 존재하는지 확인하기 02 대소문자를 구분하지 않고 문자열 검색하기 03 사회보장번호 유효성 검사하기 04 패턴과 일치하는 모든 부분을 찾고 강조하기 05 패턴을 새로운 문자열로 치환하기 06 캡처 괄호를 사용하여 문자열 안의 단어 교환하기 07 정규표현식을 사용해서 양끝 공백 제거하기 08 HTML 태그를 명명된 엔티티로 치환하기 09 특수 문자 검색하기 CHAPTER 3 날짜, 시간, 그리고 타이머 00 들어가며 01 오늘 날짜 출력 02 UTC 날짜 및 시간 출력하기 03 ISO 8601 형식으로 날짜 출력하기 04 ISO 8601 형식의 날짜를 Date 객체로 변환하기 05 특정 날짜로 객체 생성하기 06 미래 날짜 만들기 07 경과 시간 구하기 08 타임아웃 만들기 09 반복 타이머 만들기 10 함수 클로저를 타이머와 함께 사용하기 CHAPTER 4 숫자와 수학 연산 다루기 00 들어가며 01 증분 카운터 02 10진수를 16진수로 변환하기 03 랜덤 숫자 생성기 작성하기 04 랜덤 색상 만들기 05 테이블에 있는 문자열을 숫자로 변환하기 06 테이블에서 같은 열에 있는 모든 숫자 합산하기 07 각도와 라디안 변환하기 08 페이지 요소 안에 딱 맞는 원의 반지름과 중심 구하기 09 원호 길이 구하기 CHAPTER 5 배열과 반복문 다루기 00 들어가며 01 반복문에서 배열 사용하기 02 다중 배열 작성하기 03 배열에서 문자열 만들기 04 배열 정렬하기 05 값에 순차적으로 저장하고 접근하기 06 값을 저장하고 역순으로 접근하기 07 기존 배열의 부분 집합으로 새 배열 작성하기 08 배열 탐색하기 09 다차원 배열을 평평하게 만들기 10 배열 원소를 검색하여 없애거나 바꾸기 11 각 배열 원소에 함수 적용하기 12 배열의 모든 원소에 함수를 적용하고 새로운 배열 반환하기 13 값을 걸러낸 배열 작성하기 14 배열 콘텐츠 유효성 검사하기 15 연관 배열을 사용해서 폼 요소의 이름과 값 저장하기 CHAPTER 6 재사용 가능한 자바스크립트 함수 작성하기 00 들어가며 01 재사용 가능한 코드 블록 작성 02 함수에 데이터를 전달하고 값 받기 03 함수에 복잡한 데이터 객체 전달하기 04 실행 시간에 함수를 동적으로 작성하기 05 함수를 다른 함수의 인수로 전달하기 06 재귀 알고리즘 구현하기 07 상태를 기억하는 함수 작성 08 일반화된 커링 함수로 프로그램 성능 개선하기 09 메모이제이션을 통한 프로그램 성능 개선 10 익명 함수를 사용해서 전역 변수 감싸기 CHAPTER 7 이벤트 다루기 00 들어가며 01 페이지를 완전히 읽어 들인 순간을 탐지하기 02 이벤트 객체를 사용해서 마우스가 클릭된 위치 캡처하기 03 일반적이고 재사용 가능한 이벤트 처리 함수 작성하기 04 변화된 환경에서 이벤트 취소하기 05 중첩된 요소로 이벤트 전파 방지하기 06 키보드 동작 캡처하기 07 HTML5 드래그 앤 드롭 사용하기 08 사파리의 방향 전환 이벤트와 다른 모바일 개발 환경 사용하기 CHAPTER 8 브라우저 객체 00 들어가며 01 웹 페이지 방문자에게 동작 확인하기 02 단순한 모양의 새 브라우저 창 만들기 03 웹 페이지에 접근한 브라우저의 정보 확인하기 04 페이지를 떠날 때 경고하기 05 색상 지원에 따라 스타일시트 변경하기 06 페이지 크기에 따라 이미지 크기 조정하기 07 CMS 템플릿 페이지에 빵 부스러기 만들기 08 동적인 페이지에서 북마크하기 09 뒤로 버튼, 페이지 새로 고침 후 상태 보존하기 CHAPTER 9 폼 요소와 유효성 검사 00 들어가며 01 폼 입력값에 접근하기 02 동적으로 폼 요소를 사용 가능 또는 불가능하게 만들기 03 이벤트에 따라 폼 요소에서 정보 가져오기 04 라디오 버튼을 클릭하면 동작하기 05 올바른 전화번호인지 확인하기 06 폼 전송 취소하기 07 폼 반복 전송 방지하기 08 폼 요소를 숨기거나 표시하기 09 다른 폼에서 선택한 값에 따라 선택 목록 수정하기 CHAPTER 10 디버깅과 에러 처리 00 들어가며 01 자바스크립트를 지원하지 않는 환경 처리 02 함수에서 에러 확인하기 03 경고창을 사용한 간단한 디버깅 04 에러를 잡아내고 적절하게 처리하기 05 에러 메시지 보내기 06 파이어폭스의 파이어버그 사용하기 07 파이어버그로 중단점을 설정하고 데이터 조사하기 08 파이어폭스와 콘솔 09 IE 내장 디버거 사용 10 IE 개발자 도구에서 중단점 설정 11 오페라의 드래곤플라이 12 드래곤플라이로 중단점 설정하기 13 사파리 개발자 도구 사용 14 사파리 디버거에서 중단점 설정하기 15 크롬에서 디버깅하기 CHAPTER 11 페이지 요소에 접근하기 00 들어가며 01 주어진 요소에 접근하여 부모와 자식 요소 찾기 02 웹 페이지의 모든 이미지에 접근하기 03 게시물의 모든 이미지 찾기 04 선택자 API를 사용한 게시물 내 모든 이미지 찾기 05 그룹 요소의 부모 요소 찾기 06 모든 요소 내부의 첫 번째 문단 강조하기 07 무순서 목록을 줄무늬로 만들기 08 주어진 클래스를 가진 모든 요소의 배열 만들기 09 속성이 같은 요소 모두 찾기 10 체크된 항목 모두 찾기 11 테이블의 한 행에 있는 모든 값 합산하기 12 요소 속성 가져오기 13 요소의 스타일 정보 가져오기 CHAPTER 12 요소와 속성 생성 및 제거 00 들어가며 01 innerHTML: 콘텐츠를 추가하는 빠르고 쉬운 방법 02 페이지 요소 앞에 새 요소 삽입하기 03 새로운 요소를 페이지 끝에 추가하기 04 HTML5 요소를 구버전의 IE에서 사용하기 05 새 문단 추가하기 06 새 문단에 텍스트 추가하기 07 기존 요소에 속성 추가하기 08 불리언 속성 테스트하기 09 속성 제거하기 10 문단 이동 11 링크를 각주 기호로 바꾸기 12 테이블에 행 추가하기 13 div 요소에서 문단 제거하기 14 HTML 테이블에서 행 제거하기 15 요소의 CSS 스타일 속성 바꾸기 CHAPTER 13 웹 페이지 공간 다루기 00 들어가며 01 웹 페이지 영역의 크기 02 요소 크기 측정하기 03 요소의 위치 정하기 04 페이지 영역 감추기 05 접었다 펼 수 있는 영역 만들기 06 페이지 오버레이 추가 07 탭 페이지 작성 08 팝업 정보창 만들기 09 사이드바의 크기를 변경하거나 접기 CHAPTER 14 자바스크립트, CSS, ARIA를 사용해서 접근성 있는 인러택티브 효과 만들기 00 들어가며 01 숨겨진 페이지 영역 표시하기 02 경고 메시지 만들기 03 입력하지 않았거나 잘못 입력한 폼 필드 강조하기 04 페이지 오버레이에 키보드 접근성 추가하기 05 접히는 폼 영역 만들기 06 색상 번쩍임으로 동작의 결과 알려 주기 07 탭 페이지 프로그램에 ARIA 속성 추가하기 08 라이브 영역 CHAPTER 15 미디어와 인터랙티브 애플리케이션 작성하기 00 들어가며 01 캔버스에서 간단한 도형 그리기 02 IE에서 캔버스 사용하기 03 캔버스에 동적인 라인 차트 그리기 04 SVG 파일에 자바스크립트 추가하기 05 자바스크립트에서 SVG에 접근하기 06 인터넷 익스플로러에서 SVG 사용하기 07 HTML에 포함된 SVG를 인터랙티브하게 다루기 08 수학 함수를 사용해서 아날로그 SVG 시계 만들기 09 SVG와 캔버스 요소의 통합 10 파이어폭스, 웹킷/사파리에서 WebGL 사용하기 11 오디오 파일이 재생을 시작할 때 코드 실행하기 12 자바스크립트와 video 요소로 동영상 재생하기 CHAPTER 16 자바스크립트 객체 00 들어가며 01 기본 자바스크립트 객체 정의하기 02 객체 멤버를 비공개로 만들기 03 프로토타입으로 객체 확장하기 04 객체에 Getter/Setter 추가하기 05 객체의 기능 상속하기 06 새로운 속성을 정의하여 객체 확장하기 07 객체 속성 열거하기 08 객체 확장 방지하기 09 속성 추가 및 속성 서술자 변경 금지 10 속성 불변 객체 만들기 11 일회성 객체와 네임스페이스 12 Prototypebind 사용 13 객체 메서드 체이닝 CHAPTER 17 자바스크립트 라이브러리 00 들어가며 01 코드 패키징하기 02 JsUnit을 사용해서 코드 테스트하기 03 라이브러리 최소화하기 04 라이브러리 호스팅하기 05 외부 라이브러리 사용하기: jQuery 기반 프로그램 만들기 06 jQuery 플러그인 사용하기 07 jQuery 플러그인 만들기 08 여러 개의 라이브러리를 안전하게 사용하기 CHAPTER 18 통신 00 들어가며 01 XMLHttpRequest 객체에 접근하기 02 데이터 전송을 위한 준비 03 Ajax 전송 타입 고르기 04 Ajax 요청에 콜백 함수 추가하기 05 에러 확인하기 06 텍스트 결과 처리 07 Ajax를 다른 도메인으로 요청하기(JSONP 사용) 08 서버 데이터를 기반으로 선택 목록 만들기 09 타이머를 사용해서 페이지를 자동으로 업데이트하기 10 postMessage로 창을 가로질러 통신하기 CHAPTER 19 구조적인 데이터 다루기 00 들어가며 01 Ajax 호출에서 반환받은 XML 문서 처리하기 02 XML 트리에서 적절한 데이터 추출하기 03 JSON으로 자바스크립트 객체 만들기 - 오랜 방식 04 JSON 형식 문자열 해석하기 05 객체를 JSON 문자열로 변환하기 06 hCalendar 마이크로포맷을 캔버스 기반 그래프로 변환하기 07 rdfQuery를 사용한 RDFa 수집 및 JSON 변환 그리고 jQuery RDF 플러그인 CHAPTER 20 데이터 저장 00 들어가며 01 URL을 사용한 정보 보존 02 쿠키로 정보 보존하기 03 historypushState 메서드와 windowonpopevent를 사용한 정보 보존 04 sessionStorage 사용하기 05 로컬 저장소에 클라이언트 데이터 저장하기 06 관계형 데이터베이스에 데이터 저장하기 CHAPTER 21 브라우저를 벗어난 자바스크립트 00 들어가며 01 브라우저 플러그인, 확장 기능 만들기 02 데스크톱과 모바일 위젯 만들기 03 폰갭으로 아이폰, 안드로이드, 블랙베리 앱 만들기 04 자바스크립트로 기능 확장하기 05 Web Worker와 File API를 사용해서 효율적인 데스크톱 애플리케이션 만들기
33,000원
10%
29,700원