책 소개
HTML5, CSS3, 자바스크립트를 활용한 웹 프로그래밍의 정도(正道)를 설명하는 아주 좋은 참고서다. HTML5의 문서구조, CSS3 스타일과 프로퍼티, 자바스크립트에 대한 기본적인 설명을 시작으로 비디오와 오디오, 폼, 캔버스, 드래그앤드롭, 지오로케이션, 웹 스토리지, IndexedDB, 파일, 커뮤니케이션, 웹 워커, 히스토리, 오프라인과 같은 필수 API에 대해 실전 예제를 중심으로 총 16장에 걸쳐 단계별로 명쾌하게 풀어간다. 이 책으로 HTML5의 개념과 실전 프로그래밍의 정석을 함께 확인해보자.
[ 소개 ]
우리는 혁명에 직면해 있다. 웹은 메인 개발 플랫폼인 동시에 정보와 소프트웨어에 대한 주요 기반이 되고 있다. 최근 몇 년 동안 모바일 기기는 인터넷 애플리케이션을 가능한 수단에서 필수 요소로 바꿔 놓았다. 현재 웹에서 독립적으로 동작하는 컴퓨터가 개발 중이며 출시도 목전에 두고 있다. 웹에서 동작하는 소프트웨어는 그 어느 때보다 더 정교해지고 있으며, 최종적으로 데스크톱 애플리케이션을 대체하고 있다. 변화의 수준은 실험적이고 급진적이며 HTML5가 이러한 변화의 중심에 서 있다.
『HTML5+CSS3+자바스크립트의 정석』은 필수 지식의 습득에서 HTML5 명세에 포함된 복잡한 주제의 마스터까지 단계별로 독자를 안내한다. 이 책을 읽고 나면 HTML5를 이용해 문서를 구조화하는 방법, CSS3를 이용해 스타일을 적용하는 방법, 가장 강력한 자바스크립트 API를 이용해 작업하는 방법을 알게 된다.
이 책은 단순한 HTML5의 안내서가 아니다. 이 책은 돋보이는 웹사이트와 놀라운 웹 애플리케이션의 구축을 기본부터 설명하는 전체 과정이다. 각 장에서는 HTML5, CSS3, 자바스크립트의 복잡한 문제뿐만 아니라 기본 개념을 살펴본다. 실용적인 전체 코드를 통해 초보자는 개념을 파악할 수 있으며 전문가는 각각의 태그, 스타일 또는 명세에 포함된 함수의 실제 사용 방식을 확인할 수 있다. 코드는 독자들이 복잡한 주제를 점진적으로 이해할 수 있도록 책 전반에 걸쳐 특정한 순서로 배치돼 있다.
『HTML5+CSS3+자바스크립트의 정석』은 독자들이 최신 웹 기술에 익숙해질 수 있게 하는 데 목표를 뒀다. 이러한 기술은 미래를 준비하기 위해 개발됐으며, 이 책은 여러분의 잠재력을 일깨우기 위해 쓰여졌다. 이제 마스터가 되어보자!
[ 소개 ]
우리는 혁명에 직면해 있다. 웹은 메인 개발 플랫폼인 동시에 정보와 소프트웨어에 대한 주요 기반이 되고 있다. 최근 몇 년 동안 모바일 기기는 인터넷 애플리케이션을 가능한 수단에서 필수 요소로 바꿔 놓았다. 현재 웹에서 독립적으로 동작하는 컴퓨터가 개발 중이며 출시도 목전에 두고 있다. 웹에서 동작하는 소프트웨어는 그 어느 때보다 더 정교해지고 있으며, 최종적으로 데스크톱 애플리케이션을 대체하고 있다. 변화의 수준은 실험적이고 급진적이며 HTML5가 이러한 변화의 중심에 서 있다.
『HTML5+CSS3+자바스크립트의 정석』은 필수 지식의 습득에서 HTML5 명세에 포함된 복잡한 주제의 마스터까지 단계별로 독자를 안내한다. 이 책을 읽고 나면 HTML5를 이용해 문서를 구조화하는 방법, CSS3를 이용해 스타일을 적용하는 방법, 가장 강력한 자바스크립트 API를 이용해 작업하는 방법을 알게 된다.
이 책은 단순한 HTML5의 안내서가 아니다. 이 책은 돋보이는 웹사이트와 놀라운 웹 애플리케이션의 구축을 기본부터 설명하는 전체 과정이다. 각 장에서는 HTML5, CSS3, 자바스크립트의 복잡한 문제뿐만 아니라 기본 개념을 살펴본다. 실용적인 전체 코드를 통해 초보자는 개념을 파악할 수 있으며 전문가는 각각의 태그, 스타일 또는 명세에 포함된 함수의 실제 사용 방식을 확인할 수 있다. 코드는 독자들이 복잡한 주제를 점진적으로 이해할 수 있도록 책 전반에 걸쳐 특정한 순서로 배치돼 있다.
『HTML5+CSS3+자바스크립트의 정석』은 독자들이 최신 웹 기술에 익숙해질 수 있게 하는 데 목표를 뒀다. 이러한 기술은 미래를 준비하기 위해 개발됐으며, 이 책은 여러분의 잠재력을 일깨우기 위해 쓰여졌다. 이제 마스터가 되어보자!
목차
목차
- 1장 HTML5 문서
- 기본 구성
- 구조
- 독타입
- < html >
- < head >
- < body >
- < meta >
- < title >
- < link >
- 바디 구조
- 구성
- < header >
- < nav >
- < section >
- < aside >
- < footer >
- 바디 내부
- < article >
- < hgroup >
- < figure >와 < figcaption >
- 신/구 요소
- < mark >
- < small >
- < cite >
- < address >
- < time >
- 定石: HTML5 문서
- 2장 CSS 스타일과 박스 모델
- CSS와 HTML
- 스타일과 구조
- 블록 요소
- 박스 모델
- 스타일에 대한 기본 사항
- 인라인 스타일
- 내장 스타일
- 외부 파일
- 참조
- 키워드로 참조
- id 속성으로 참조
- 클래스 속성으로 참조
- 임의의 속성으로 참조
- 유사 클래스로 참조
- 새로운 선택자
- 템플릿에 CSS 적용
- 전통적 박스 모델
- 템플릿
- 범용 선택자 *
- 새로운 제목 계층구조
- 새로운 HTML5 요소 선언
- 바디 중앙 정렬
- 메인 박스 생성
- 헤더
- 내비게이션바
- 섹션과 사이드바
- 푸터
- 마무리 작업
- 박스 크기
- 유연한 박스 모델
- 유연한 박스 모델 이해
- display
- box-orient
- box-direction
- box-ordinal-group
- box-pack
- box-flex
- box-align
- 定石: CSS 스타일과 박스 모델
- 유연한 박스 모델
- 유사 클래스와 선택자
- 3장 CSS3 프로퍼티
- 새로운 규칙
- CSS3가 미쳤어요!
- 템플릿
- border-radius
- box-shadow
- text-shadow
- @font-face
- 선형 그라디언트
- 원형 그라디언트
- RGBA
- HSLA
- outline
- border-image
- 변형과 전환
- transform: scale
- transform: rotate
- transform: skew
- transform: translate
- 일괄 변형
- 동적 변형
- 전환
- 定石: CSS3 프로퍼티
- 새로운 규칙
- 4장 자바스크립트
- 자바스크립트의 연관성
- 자바스크립트 통합
- 인라인
- 내장
- 외부 파일
- 새로운 선택자
- querySelector()
- querySelectorAll()
- 이벤트 핸들러
- 인라인 이벤트 핸들러
- 프로퍼티로서의 이벤트 핸들러
- addEventListener() 메소드
- API
- 캔버스 API
- 드래그 앤드 드롭 API
- 지오로케이션 API
- 스토리지 API
- 파일 API
- 커뮤니케이션API
- 웹 워커API
- 히스토리API
- 오프라인API
- 외부 라이브러리
- 제이쿼리
- 구글 지도
- 定石: 자바스크립트
- 요소
- 선택자
- 이벤트
- API
- 5장 비디오와 오디오
- HTML5를 이용한 비디오 재생
- <video> 요소
- <video> 속성
- 비디오 플레이어 제작
- 디자인
- 코드
- 이벤트
- 메소드
- 프로퍼티
- 코드 동작
- 비디오 포맷
- HTML5를 이용한 오디오 재생
- <audio> 요소
- 오디오 플레이어 프로그래밍
- 定石: 비디오와 오디오
- 요소
- 속성
- 비디오 속성
- 이벤트
- 메소드
- 프로퍼티
- HTML5를 이용한 비디오 재생
- 6장 폼과 폼 API
- HTML5 웹 폼
- < form > 요소
- < input > 요소
- email 타입
- search 타입
- url 타입
- tel 타입
- number 타입
- range 타입
- date 타입
- week 타입
- month 타입
- time 타입
- datetime 타입
- datetime-local 타입
- color 타입
- 새로운 속성
- placeholder 속성
- required 속성
- multiple 속성
- autofocus 속성
- pattern 속성
- form 속성
- 새로운 폼 요소
- < datalist > 요소
- < progress > 요소
- < meter > 요소
- < output > 요소
- 폼 API
- setCustomValidity()
- Invalid 이벤트
- 실시간 유효성 검증
- 유효성 제약조건
- willValidate
- 定石: 폼과 폼 API
- 타입
- 속성
- 요소
- 메소드
- 이벤트
- 상태
- HTML5 웹 폼
- 7장 캔버스 API
- 캔버스 준비
- < canvas > 요소
- getContext()
- 캔버스에 그리기
- 사각형 그리기
- 색상
- 그라디언트
- 패스 생성
- 선 스타일
- 텍스트
- 그림자
- 변환
- 상태 복구
- globalCompositeOperation
- 이미지 처리
- drawImage()
- 이미지 데이터
- 패턴
- 애니메이션
- 비디오 처리
- 定石: 캔버스 API
- 메소드
- 프로퍼티
- 캔버스 준비
- 8장 드래그 앤 드롭 API
- 웹에서의 드래그 앤 드롭
- 새로운 이벤트
- dataTransfer
- dragenter, dragleave, dragend
- 유효한 소스 선택
- setDragImage()
- 파일
- 定石: 드래그 앤 드롭 API
- 이벤트
- 메소드
- 프로퍼티
- 웹에서의 드래그 앤 드롭
- 9장 지오로케이션 API
- 위치 찾기
- getCurrentPosition(location)
- getCurrentPosition(location, error)
- getCurrentPosition(location, error, configuration)
- watchPosition(location, error, configuration)
- 구글 지도 사용
- 定石: 지오로케이션 API
- 메소드
- 객체
- 위치 찾기
- 10장 웹 스토리지 API
- 두 가지 스토리지 시스템
- sessionStorage
- 데이터 스토리지 구현
- 데이터 생성
- 데이터 조회
- 데이터 삭제
- localStorage
- 스토리지 이벤트
- 스토리지 공간
- 定石: 웹 스토리지 API
- 스토리지 형태
- 메소드
- 프로퍼티
- 이벤트
- 11장 IndexedDB API
- 로우레벨 API
- 데이터베이스
- 객체와 객체 저장소
- 인덱스
- 트랜잭션
- 객체 저장소 메소드
- IndexedDB 구현
- 템플릿
- 데이터베이스 열기
- 데이터베이스 버전
- 객체 저장소와 인덱스
- 객체 추가
- 객체 조회
- 코드 종료와 테스트
- 데이터 목록
- 커서
- 순서 변경
- 데이터 삭제
- 데이터 검색
- 定石: IndexedDB API
- 환경 인터페이스(IDBEnvironment와 IDBFactory)
- 데이터베이스 인터페이스(IDBDatabase)
- 객체 저장소 인터페이스(IDBObjectStore)
- 커서 인터페이스(IDBCursor)
- 트랜잭션 인터페이스(IDBTransaction)
- 범위 인터페이스(IDBKeyRangeConstructors)
- 에러 인터페이스(IDBDatabaseException)
- 로우레벨 API
- 12장 파일 API
- 파일 스토리지
- 사용자의 파일 처리
- 템플릿
- 파일 읽기
- 파일 프로퍼티
- 블롭
- 이벤트
- 파일 생성
- 템플릿
- 하드 드라이브
- 파일 생성
- 디렉터리 생성
- 파일 목록
- 파일 처리
- 이동
- 복사
- 삭제
- 파일 콘텐츠
- 콘텐츠 작성
- 콘텐츠 추가
- 콘텐츠 읽기
- 실제 파일 시스템
- 定石: 파일 API
- Blob 인터페이스(파일 API)
- File 인터페이스(파일 API)
- FileReader 인터페이스(파일 API)
- LocalFileSystem 인터페이스(파일 API: 디렉터리와 시스템)
- FileSystem 인터페이스(파일 API: 디렉터리와 시스템)
- Entry 인터페이스(파일 API: 디렉터리와 시스템)
- DirectoryEntry 인터페이스(파일 API: 디렉터리와 시스템)
- DirectoryReader 인터페이스(파일 API: 디렉터리와 시스템)
- FileEntry 인터페이스(파일 API: 디렉터리와 시스템)
- BlobBuilder 인터페이스(파일 API: 라이터)
- FileWriter 인터페이스(파일 API: 라이터)
- FileError 인터페이스(파일 API와 확장)
- 13장 커뮤니케이션 API
- 에이잭스 레벨 2
- 데이터 조회
- 응답 프로퍼티
- 이벤트
- 데이터 전송
- 크로스 근원 요청
- 파일 업로드
- 실제 애플리케이션
- 크로스 도큐먼트 메시징
- 생성자
- 메시지 이벤트와 프로퍼티
- 메시지 전송
- 필터와 크로스 근원
- 웹 소켓
- WS 서버 설정
- 생성자
- 메소드
- 프로퍼티
- 이벤트
- 템플릿
- 통신 시작
- 전체 애플리케이션
- 定石: 커뮤니케이션 API
- XMLHttpRequest 레벨 2
- 웹 메시징 API
- 웹소켓 API
- 에이잭스 레벨 2
- 14장 웹 워커 API
- 고난이도 작업
- 워커 생성
- 메시지 송수신
- 에러 검출
- 워커 종료
- 동기식 API
- 스크립트 임포트
- 공유 워커
- 定石: 웹 워커 API
- 워커
- 전용 워커
- 공유 워커
- 고난이도 작업
- 15장 히스토리 API
- 히스토리 인터페이스
- 웹 내비게이션
- 새로운 메소드
- 가짜 URL
- 추적
- 실전 예제
- 定石: 히스토리 API
- 히스토리 인터페이스
- 16장 오프라인 API
- 캐시 매니페스트
- 매니페스트 파일
- 카테고리
- 주석
- 매니페스트 파일 사용
- 오프라인 API
- 에러
- 온라인과 오프라인
- 캐시 처리
- 진행
- 캐시 업데이트
- 定石: 오프라인 API
- 매니페스트 파일
- 프로퍼티
- 이벤트
- 메소드
- 캐시 매니페스트
- 맺음말
- 세계를 위한 작업
- 대안
- 모더나이저
- 라이브러리
- 구글 크롬 프레임
- 클라우드를 위한 작업
- 세계를 위한 작업
도서 오류 신고
정오표
정오표
2014.12.4 수정사항
p.13 : 밑에서 7행
범용 선택자 * ==> 범용 선택자p.331 : 위에서 7행
errorㅡ ==> errorp.379 : 밑에서 4행
값0 ==> 값 0p.395 : 참고 박스 안 3행
webkitRequestFileSystem(0000000000000000) => webkitRequestFileSystem()p.425 : 위에서 4행
값1 => 값 1p.510 : 그림 16-3 제목
그림 16-3 캐시의 크기 제한 ==> 그림 16-3 프로그래스바 작업 확인
[p.57 : 마지막행]
과련성 높은 정보와
->
관련성 높은 정보와