이미 소장하고 있다면 판매해 보세요.
|
1부 훈련 준비
1. 닌자 입문 1.1 살펴볼 자바스크립트 라이브러리들 1.2 자바스크립트 언어 이해하기 1.3 크로스 브라우저 고려하기 1.4 현재의 훌륭한 실천법들 __훌륭한 실천법: 테스팅 __훌륭한 실천법: 성능 분석 1.5 정리 2. 테스팅과 디버깅 갖추기 2.1 코드 디버깅 2.2 테스트 생성 2.3 테스트 프레임워크 2.4 테스트 스위트의 기본 2.5 정리 2부 견습 훈련 3. 함수가 핵심이다 3.1 함수형 언어는 무엇이 다른가 __자바스크립트의 함수형 언어 특징이 왜 중요한가 __비교자를 사용하여 정렬하기 3.2 함수 선언 3.3 호출 __인자(argument)에서 함수의 매개변수(parameter)까지 __함수로 호출 __메서드로 호출 __생성자로 호출 __apply() 메서드와 call() 메서드를 사용한 호출 3.4 정리 4 . 함수를 자유자재로 휘두르기 4.1 익명 함수 4.2 재귀 __이름을 가진 함수 내에서의 재귀 __메서드를 이용한 재귀 __참조가 사라지는 문제 __이름을 가진 인라인 함수 __callee 프로퍼티 4.3 함수 객체 가지고 놀기 __함수 저장하기 __연산 결과를 기억하는 함수 __배열 메서드를 속이기 4.4 가변인자 목록 __apply() 메서드를 이용해서 가변 길이의 인자를 전달하기 __함수 오버로딩 4.5 함수인지 확인하기 4.6 정리 5. 클로저와 가까워지기 5.1 클로저는 어떻게 동작하는가 5.2 클로저로 작업하기 __Private 변수 __콜백과 타이머 5.3 함수 콘텍스트 바인딩하기 5.4 부분 적용 함수 5.5 함수 동작 오버라이딩 __메모이제이션 __함수 래핑 5.6 즉시실행함수(Immediate function) __임시 유효 범위와 private 변수 __루프 __라이브러리 래핑 5.7 요약 6. 객체 지향과 프로토타입 6.1 인스턴스 생성과 프로토타입 __객체 인스턴스 생성 __생성자와 객체 타입 __상속과 프로토타입 체인 __HTML DOM 프로토타입 6.2 실수하기 쉬운 것들! __객체 확장하기 __Number 객체 확장하기 __네이티브 객체의 하위 클래스 만들기 __인스턴스 생성 이슈 6.3 보다 클래스다운 코드 작성하기 __함수 직렬화 검사 __하위 클래스의 인스턴스 만들기 __상위 메서드 보존하기 6.4 정리 7. 정규 표현식에 대한 논의 7.1 정규 표현식이 멋진 이유 7.2 정규 표현식 다시 살펴보기 7.3 정규 표현식 컴파일하기 7.4 매치된 부분을 캡처하기 __간단한 캡처 실행해 보기 __전역 정규 표현식을 이용해서 일치하는 부분을 찾기 __캡처 참조하기 __캡처되지 않는 그룹 7.5 함수를 이용해서 치환하기 7.6 정규 표현식을 이용해서 일상적인 문제를 해결하기 __문자열의 공백 제거하기 __개행 문자 찾기 __유니코드 __이스케이프 문자 7.7 정리 8. 스레드와 타이머 다루기 8.1 타이머와 스레드는 어떻게 동작하는가 __타이머 생성과 제거하기 __실행 중인 스레드 내에서의 타이머 실행 __타임아웃과 인터벌의 차이점 8.2 최소 타이머 지연시간과 신뢰성 8.3 비싼 연산 처리 다루기 8.4 중앙 타이머 관리 8.5 비동기 테스팅 8.6 요약 3부 닌자 훈련 9. 닌자 비술: 런타임 코드 평가 9.1 코드 평가 메커니즘 __eval() 메서드를 사용한 평가 __Function 생성자를 사용한 평가 __타이머와 평가 __전역 유효 범위에서 평가하기 __안전한 코드 평가 9.2 함수 “디컴파일” 9.3 코드 평가를 실제로 활용하기 __JSON 변환 __네임스페이스에 속한 코드를 가져오기 __자바스크립트 압축과 난독화 __동적으로 코드를 다시 작성하기 __관점-지향 스크립트 태그 __메타언어와 DSL 9.4 정리 10. With 문 10.1 “with”를 사용한다는 것은 무슨 의미일까 __with 유효 범위 내에서 프로퍼티 참조하기 __with 내에서 할당하기 __성능에 대한 고려 10.2 실제 예제 10.3 네임스페이스에 속한 코드를 가져오기 10.4 테스팅 10.5 with를 활용해 템플릿 기능 제공하기 10.6 정리 11. 크로스 브라우저 전략 수립하기 11.1 지원할 브라우저 선택하기 11.2 다섯 가지 주요 개발 고민 사항 __브라우저 버그와 브라우저 간의 차이점 __브라우저 버그 수정 __외부 코드 그리고 마크업과 공존하기 __누락된 기능 __리그레이션 11.3 구현 전략 __안전한 크로스 브라우저 수정 __객체 탐지 __기능 시뮬레이션 __테스트 할 수 없는 브라우저 문제 11.4 가정(assumptions) 줄이기 11.5 정리 12. 속성, 프로퍼티, CSS를 단칼에 베어버리자 12.1 DOM 속성과 프로퍼티 __크로스 브라우저 이름 문제 __이름 제약사항 __XML과 HTML의 차이점 __사용자 정의 속성의 작동 방식 __성능 고려 사항 12.2 크로스 브라우저 속성 이슈 __DOM id/name 확대 __URL 정규화 __style 속성 __type 속성 __탭 인덱스 문제 __노드 이름 12.3 스타일 속성과 관련한 골칫거리들 __내 스타일은 어디에 있지 __스타일 프로퍼티 이름 __float 스타일 프로퍼티 __픽셀 값 변환 __높이와 너비 측정하기 __불투명도를 꿰뚫어 보기 __알록달록한 바퀴를 가진 자전거 타기 12.4 평가된 스타일 얻기 12.5 정리 4부 달인이 되기 위한 훈련 13. 이벤트 처리 지뢰밭에서 살아남기 13.1 이벤트 핸들러를 설정하고 해제하기 13.2 이벤트 객체 13.3 이벤트 핸들러 관리 13.4 이벤트 발생시키기 13.5 버블링과 위임(delegation) __이벤트를 상위 엘리먼트(acenstor)에 위임하기 __브라우저의 결함 우회하기 13.6 document ready 이벤트 13.7 정리 14. DOM 다루기 14.1 DOM에 HTML 주입하기 __HTML을 DOM으로 변환하기 __문서에 삽입하기 __스크립트 실행 14.2 엘리먼트 복제하기 14.3 엘리먼트 제거하기 14.4 텍스트 콘텐츠 14.5 정리 15. CSS 셀렉터 엔진 15.1 W3C 셀렉터 API 15.2 엘리먼트를 찾기 위해 XPath 사용하기 15.3 순수 DOM 구현 __셀렉터 문자열 파싱 __엘리먼트 찾기 __찾은 엘리먼트를 필터링하기 __재귀적으로 결과 합치기 __상향식 셀렉터 엔진 15.4 정리 |