이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 강력추천
DOM 스크립트
다이내믹한 웹 표준 사이트를 위한
베스트
IT 모바일 top100 1주
가격
25,000원
10 22,500
YES포인트?
1,250원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

관련 상품

웹 개발 2.0 루비 온 레일스
[도서] 웹 개발 2.0 루비 온 레일스
황대산 저 에이콘출판사
10% 25,200원
웹 개발 2.0 루비 온 레일스

에이콘- 웹 프로페셔널 시리즈

책소개

목차

1장. 간단히 살펴보는 자바스크립트 역사 27
자바스크립트의 출현 28
문서 객체 모델(DOM)에 대해서 29
브라우저 업체 간 전쟁 30
DHTML은 모호한 용어 31
브라우저 간 비호환 문제 발생 31
표준의 중요성 인식 32
다른 분야에서의 표준 33
브라우저 전쟁 종전 선언 34
웹 표준 시대의 개막 34
2장에서 다룰 내용 35

2장. 자바스크립트 문법 익히기 37
코드 작성 전에 알아야 할 점 38
문법 공부 40
명령문 41
주석 41
변수 43
데이터 형식 45
문자열 46
숫자 47
불린 값 48
배열 48
결합형 배열 51
연산자 52
산술 연산자 52
조건문 55
비교 연산자 56
논리 연산자 57
반복문 59
while문 59
do...while문 60
for문 61
함수 62
변수 유효 영역 65
객체 66
네이티브 객체 68
호스트 객체 69
3장에서 다룰 내용 69

3장. 문서 객체 모델(DOM)이란? 71
D는 문서입니다 72
O는 객체입니다 72
M은 모델입니다 73
노드 76
요소 노드 76
텍스트 노드 77
속성 노드 77
CSS와의 관계 78
getElementById 81
getElementsByTagName 83
속성 다루기 85
getAttribute 85
setAttribute 87
4장에서 다룰 내용 89

4장. 자바스크립트로 만드는 온라인 사진첩 91
마크업 코드 작성하기 92
자바스크립트 작성하기 95
DOM 전환 97
함수 완성 97
자바스크립트 적용하기 98
이벤트 핸들러 99
함수 확장 101
childNodes 프로퍼티 102
nodeType 프로퍼티 103
마크업에 설명문 요소 추가 104
설명문을 자바스크립트로 바꾸기 105
nodeValue 프로퍼티 106
firstChild와 lastChild 107
nodeValue로 설명 추가하기 108
5장에서 다룰 내용 112

5장. 꼭 알아야 할 핵심 기본기 113
자바스크립트에 대한 오해 114
문제점 많은 코드의 전파 115
플래시 사례 116
꼭 필요한지 철저히 검토하기 117
단계적 기능 축소 118
javascript: 슈도 프로토콜 119
인라인 이벤트 핸들러 120
사용자 배려 120
CSS 기술의 교훈 122
단계적 기능 향상 123
스크립트 분리 125
하위 호환성 127
브라우저 검사 130
6장에서 다룰 내용 130

6장. 사진첩 기능 개선하기 133
복습 134
단계적 기능 축소가 가능한가? 135
스크립트를 분리했는가? 136
이벤트 핸들러 추가 138
점검 사항 138
변수 지정하기 141
반복 구문 만들기 142
동작 변경 143
마무리 144
작업 나누기 145
검증 코드 작성 147
미세 조정 151
키보드 접근법 153
onkeypress 다시 보기 155
CSS와 지시자 공유하기 157
DOM 코어와 HTML-DOM 161
7장에서 다룰 내용 163

7장. 실행 시에 마크업 코드 생성하기 165
document.write 166
innerHTML 169
찬반 양론 172
DOM 메소드 173
createElement 173
appendChild 175
createTextNode 176
좀더 복잡한 조합 179
사진첩 다시 살펴보기 181
insertBefore 184
insertAfter 함수 만들기 185
insertAfter 함수 사용 187
사진첩 마무리 188
요약 193
8장에서 다룰 내용 194

8장. 의미가 살도록 컨텐츠 개선하기 195
하면 안 되는 것 196
속성을 화면에 표시하기 197
내용 198
HTML이냐? XHTML이냐? 199
마크업 200
CSS 202
자바스크립트 203
축약어 목록 표시 203
displayAbbreviations 함수 만들기 204
마크업 생성 207
웹 브라우저 불발탄 215
인용구 표시 219
displayCitations 함수 만들기 220
접근키 표시 227
마크업 227
자바스크립트 229
요약 231
9장에서 다룰 내용 232

9장. CSS와 DOM 연동하기 233
웹 문서의 세 가지 요소 234
구조 234
표현 235
동작 235
세 가지 요소 분리하기 236
style 프로퍼티 236
스타일 가져오기 238
인라인 스타일만 동작 243
스타일 지정하기 245
DOM을 이용한 스타일 지정이 유용한 사례 247
특정 노드의 모양을 꾸밀 경우 247
반복되는 스타일일 경우 252
이벤트 처리 결과를 보여주는 경우 257
className 260
함수 추상화 264
10장에서 다룰 내용 265

10장. 애니메이션 슬라이드쇼 만들기 267
애니메이션이란? 268
위치 268
시간 271
setTimeout 272
동작 바꾸기 273
재활용 함수 만들기 276
애니메이션 실전 286
요구 사항 286
해결 방법 288
CSS 289
자바스크립트 292
변수 영역 문제 해결 296
부드럽게 만들기 299
마지막 손질 303
마크업 만들기 305
11장에서 다룰 내용 309

11장. 총정리: 더블트랙 밴드 웹사이트 제작 311
소개 312
기본 초안 312
사이트 구조 313
웹 문서 구조 314
디자인 315
CSS 316
색상 318
레이아웃 320
글꼴 322
마크업 324
자바스크립트 325
문서 하이라이트 327
슬라이드 쇼 332
내부 네비게이션 338
자바스크립트 사진첩 343
테이블 기능 향상 347
폼 기능 향상 353
레이블 355
기본 값 356
폼 유효성 확인 360
요약 364
12장에서 다룰 내용 365

12장. DOM 스크립트의 미래 367
웹이란? 368
웹 브라우저 369
파이어폭스 등장 369
웹 디자이너 371
삼각 의자 372
DOM 스크립트 태스크 포스 373
Ajax 374
XMLHttpRequest 객체 376
Ajax 기반 서비스 예제 378
Ajax에 대한 도전 381
Ajax 기능 바르게 쓰기 382
Hijax 383
Ajax의 미래 385
웹 애플리케이션 385
마지막 부탁 387

부록 Ⅰ. 유용한 DOM 메소드와 프로퍼티 389
메소드 390
노드 만들기 390
createElement 390
createTextNode 392
노드 복사하기 393
cloneNode 393
노드 추가 395
appendChild 395
insertBefore 396
노드 삭제 397
removeChild 398
노드 바꾸기 398
replaceChild 398
노드 값 변경 399
setAttribute 400
노드 찾기 400
getAttribute 401
getElementById 401
getElementsByTagName 402
hasChildNodes 403
프로퍼티 404
노드 프로퍼티 404
nodeName 404
nodeType 405
nodeValue 406
노드 내부 구조 보기 407
childNodes 407
firstChild 408
lastChild 408
nextSibling 409
parentNode 409
previousSibling 410

[한국어판 특별 부록]
부록 Ⅱ. 웹 표준 기반의 멋진 DOM 스크립트 예제 - 윤석찬 411
Lightbox2, 슬라이드형 사진첩 412
Sortable Table, 다이내믹 테이블 정렬 415
그 밖에 좋은 예제 찾아보기 419
롤 오버 이미지 기능 419
라운드 박스에서 불필요한 마크업 없애기 420
DHTMLgoodies.com 420

[한국어판 특별 부록]
부록 III. 다이내믹한 웹사이트를 위한 고려 사항 - 강규영 423
사용성 424
즉시 편집 UI 425
사용성은 디자이너가 고민해야 하는 것 아닐까? 428
뒤로가기 버튼과 즐겨찾기 429
협업을 위한 도구와 실천법 431
참고자료 433

저자 소개

저자 : 제레미 키스 외
저자 | 제레미 키스
제레미 키스(Jeremy Keith)는 영국 브링턴에서 일하고 있는 웹 개발자이다. Clearleft (www.clearleft.com)라는 웹 컨설팅 업체에서 일하고 있고, XHTML, CSS 그리고 DOM과 같은 웹 표준 기술을 이용하여 접근성 높으면서 디자인이 우수한 웹 사이트를 즐겁게 만들고 있다. 그는 국제 웹 표준 프로젝트(webstandards.org)의 DOM 스크립트 TF를 이끌고 있기도 하다.
여가 시간에는 alt.country 밴드인 Salter Cane(www.saltercane.com)에서 부주키를 연주하기도 한다. 그는 아일랜드 전통 음악을 다루는 The Session(www.thesession.org) 이라는 커뮤니티 웹사이트를 만들고 운영하고 있기도 하다.

기술 감수자 | 존 스테판
존 스테판(Jon Stephens)은 90년대 중반 컴퓨터를 다루는 방법을 가르치는 라디오 프로그램을 시작하면서 기술 문서 저술을 시작하였다. 그는 96년부터 오픈 소스와 웹에 관련된 일을 시작했으며 클라이언트 기술인 자바스크립트와 서버 기술인 PHP, Python, MySQL 등에 비중을 두기 시작했다.
그는 『Professional JavaScript, Second Edition』(Wrox Press, 2001)을 저술하였고 각종 자바스크립트 및 DOM 스크립팅에 대한 책을 저술하거나 감수하였다. 그의 책 중에는 『The JavaScript Programmer’s Reference』(Wrox, 2001), 『Usable Web Menus』(glasshaus, 2001), 『Professional PHP 4 XML Programming』(Wrox, 2002)와 『Constructing Usable Shopping Carts』(glasshaus, 2002; reissued by Apress, 2004) 등이 있다.
최근에는 채드 러샐(Chad Russell)과 함께 『MySQL Database Design and Optimization』(Apress, 2004)를 저술했고, 최근에는 『PHP 5 Recipes』라는 책을 쓰고 있다. 그는 정기적으로 PHP 잡지에 기고도 하고 PHP에서 DOM 스크립트 개발 방식에 대한 이야기를 나누고 있다.
그는 2004년부터 프리랜서 생활을 청산하고 MySQL AB에서 기술 저술가로 활동하고 있다. 그는 MySQL 매뉴얼과 온라인 문서 등을 담당하고 있으며 사용자 포럼에서 지원활동을 하고 있기도 하다.
그는 미국 여러 지역에서 살다가 2002년에 호주로 이사했으며 브리스베인의 자택에서 몇 마리 고양이와 컴퓨터를 벗삼아 살고 있다. 여가시간에는 해변을 찾아 새로운 커피집을 찾아 나서기도 하고 탐정 소설을 읽거나 딸의 노래를 듣기도 한다.

<역자 소개>

윤석찬
㈜다음커뮤니케이션 테크니컬 에반젤리스트(Technical Evangelist)로서 오픈 API 및 외부 개발자 지원 업무를 맡고 있다. 2002년부터 한국 모질라 커뮤니티(http://mozilla.or.kr) 리더로 파이어폭스(Firefox) 한국어 버전 개발에 관여해 왔다. 2003년 온라인 웹 표준 가이드를 시작으로 다양한 웹 표준 자료를 공개하고 다수의 강의를 통해 홍보 활동을 지속해왔다. 한국 웹 표준 프로젝트(http://webstandards.or.kr) 리더이자 웹 표준 프로젝트(WaSP) 국제 연락 그룹(ILG) 한국 대표로 있으며, 최근 W3C 새 HTML 워킹 그룹의 표준 활동에 참여하고 있다. 2004년부터 ZDNet 칼럼니스트로 활동하고 있으며 오픈소스, 웹 표준 그리고 웹2.0과 웹 애플리케이션 기술에 대한 관심 개인 블로그(http://channy.creation.net)를 운영하고 있다.

품목정보

발행일
2007년 06월 29일
쪽수, 무게, 크기
448쪽 | 1066g | 188*235*30mm
ISBN13
9788960770034

책 속으로


2002년… 어느 날. 한 웹 사이트에서 글쓰기 버튼을 클릭하는 순간 아무 움직임도 없었습니다. 심지어 링크를 클릭했는데도 움직이지 않습니다. 웹 페이지는 그런대로 보였지만 모질라(Mozilla) 웹 브라우저에서는 할 수 있는 것이 아무것도 없었던 웹 사이트였습니다.

알고 보니 document.all 이라는 인터넷 익스플로러 문서 객체(DOM)를 자바스크립트와 짬뽕해서 사용하는 바람에 글쓰기뿐만 아니라 링크 선택도 못하게 만들어 둔 사이트였습니다. 사실 document.getElementById라는 명백한 DOM 표준이 있는데도 말입니다.

그 후 저는 보편적인 사용자 접근성을 담보하면서 구조(XHTML)와 표현(CSS)의 분리를 원칙으로 하는 웹 표준에 대한 이야기를 하기 시작했습니다. 수 년 동안 『실용 예제로 배우는 웹 표준』을 비롯한 여러 책들이 출간되고 많은 국내 주요 웹 사이트들이 웹 표준 기반으로 바뀐 것은 놀랍기도 하고 정말 다행이 아닐 수 없습니다.

하지만 여전히 난제로 남아 있는 것이 DOM과 자바스크립트의 오용입니다. 많은 웹 사이트에는 과거 웹 브라우저 전쟁 시대에 비 표준 방식으로 짠 자바스크립트 코드들이 사람들 사이의 복사 및 붙여넣기(Copy & Paste) 관행을 통해 아직도 살아 남아 있습니다. 심지어 어떤 웹 사이트의 HTML 소스를 열어 보면 이것이 웹 문서인지 프로그래밍 코드인지 분간이 안될 정도로 자바스크립트와 DOM을 잘 못 사용하고 있는 것을 허다하게 봅니다.

이런 비표준 스크립트들이 남아 있는 웹 사이트는 파이어폭스, 오페라, 사파리 같은 브라우저 사용자뿐만 아니라 자바스크립트 기능을 이해하기 어려운 장애인 브라우저 사용자들에게는 지뢰밭과 같습니다.

이 책은 웹 문서 기본 원칙인 구조와 표현의 분리뿐만 아니라 동작(Behavior)의 분리까지 가능한 방법을 알려 줍니다. 마크업에서 자바스크립트를 분리하더라도 핵심 기능과 효과를 동시에 만족할 수 있는 방법을 알려 줍니다. 문서 내에 기능을 단계적으로 확장 혹은 축소하더라도 사용자는 최소한의 접근 기능을 담보해 주는 방식을 가르칩니다.

구조와 표현 그리고 동작을 완벽히 분리해 웹 디자이너와 웹 퍼블리셔 그리고 웹 개발자들이 협업을 통해 웹 사이트를 만들 수 있는 방법을 제시합니다. 옛날 낡은 자바스크립트 문법책을 덮고 ‘DOM 스크립트’를 펴는 순간 새로운 세상이 느껴지실 겁니다.

마지막으로 1년이 넘는 시간 동안 꾹 참고 기다려준 에이콘 출판사 여러분께 감사를 드립니다. 저자인 제레미의 이야기를 우리 식대로 제대로 풀어 냈는지 걱정이 앞서지만, 이 책에 대해 관심과 질책을 보내주실 독자 여러분께도 미리 감사를 전합니다.

--- 역자 서문

이 책은 프로그램 언어를 다룹니다. 하지만 프로그래머만을 위한 책은 아닙니다. 바로 웹 디자이너를 위한 책이기도 합니다. 특별히 XHTML과 CSS의 의미를 알고 자유롭게 다룰 수 있는 웹 표준을 잘 아는 웹 디자이너, 개발자 모두를 위한 책입니다. 여기에 해당되는 분이라면 누구나 이 책을 읽으셔도 됩니다.
책 안에는 프로그램 코드와 개념을 모두 설명해뒀습니다. 코드가 눈에 많이 띈다고 너무 놀라지 마세요. 개념을 잡고 나시면 프로그램 언어를 읽고 쓸 수 있는 자신을 발견하게 될 것입니다.
프로그램 언어를 배운다는 것이 좀 겁나는 일이긴 해도 주저하실 필요는 없습니다. DOM 스크립트가 CSS보다 좀더 많은 것을 배워야 하지만 일단 문법을 이해하시고 나면 여러분은 강력한 웹 개발 도구 하나를 더 얻게 되는 것입니다.
어떤 경우라도 코드는 간단하게 개념을 표현하는 데 쓰입니다. 제가 비밀 하나 알려 드릴까요? 특정 프로그램 언어에 대한 문법을 모조리 다 외우는 사람은 아무도 없습니다. 누구나 책이나 온라인 매뉴얼을 참조합니다.
이 책은 참조를 위한 서적이 아닙니다. 물론 자바 스크립트를 처음 시작하는 데 필요한 최소의 문법은 담고 있지만요. 저는 DOM 스크립트의 중요한 개념들에 초점을 맞출 생각입니다. 아마 한 번쯤은 단계적 기능 축소(graceful degradation)나 기능 확장(progressive enhancement), 사용자 중심 디자인 등이 프론트엔드 웹 개발에서 중요한 측면이라는 이야기를 들어본 적이 있으실 겁니다.
위의 개념들은 책 전반에 걸쳐 설명하고 있는 사진첩이나 애니메이션 슬라이드 쇼 같은 예제와 문서 내 각 요소에 대한 사용자 경험을 향상시키는 모든 코드에 녹아 있습니다. 원하신다면 이 코드들을 복사해서 자신의 작업에 붙여 넣고 사용할 수도 있습니다만 어떻게 그리고 왜 이런 코드를 써야 하는지 이해하는 것이 더 중요합니다.
여러분이 이미 XHTML과 CSS를 사용해서 웹 페이지를 만들고 계시다면 웹 표준의 포스를 이미 알고 계실 것입니다. 태그를 더 이상 사용할 필요가 없다는 사실을 깨닫던 순간의 놀라움과 스릴을 기억하시나요? 웹사이트 내의 모든 웹 페이지 디자인을 단지 CSS 파일 하나만 고치면 바로 적용된다는 사실을 알고 기뻐했던 경험이 있으시죠? 이제 문서 객체 모델(Document Object Model)로 바로 그런 색다른 경험을 하나 더 선사해 드리겠습니다.
하지만 강력한 힘은 책임을 동반합니다. 저는 그저 아주 멋지기만 한 DOM 스크립트 예제를 보여주려는 것이 아닙니다. DOM 스크립트를 이용해 좀더 사용하기 편리하면서도 접근성이 뛰어난 방법을 알려 드리고자 합니다.
이 책에 수록된 모든 예제 코드들은 friends of ED 출판사 사이트 다운로드 페이지(http://www.friendsofed.com/downloads/1590595335/DOMscripting.zip)나 에이콘출판사 도서정보 페이지(http://www.acornpub.co.kr/book/dom/)에서 받으실 수 있습니다.
여러분의 DOM 스크립트 공부가 이 책을 덮고 그냥 끝나 버려서는 안됩니다. 더 많은 토론과 웹 표준 기반 자바 스크립트 사용법과 예제 등을 http://domscripting.com에 올리겠습니다. 이 웹사이트에서 곧 다시 만나길 바라며, 그 때까지 이 책을 즐겁게 읽으시기 바랍니다.

--- 저자 서문

줄거리

자바스크립트와 문서 객체 모델(DOM)을 통한 표준 기반 웹 디자인

● 자바스크립트를 마크업에 넣지 않고도 다이내믹한 효과 만들어 보기
● 자바스크립트를 사용할 수 없는 경우에도 핵심 기능이 유지되는 스크립트 코드 짜기
● 브라우저 호환성을 위해 DOM 표준 방식만 사용하기
● 온라인 사진첩, 애니메이션 등 다양한 이용자 편의 기능 만들기
● 웹 표준을 통해 Ajax에 올바르게 접근하기

여러분은 아마 문서 객체 모델, DOM이란 말을 들어보셨을 것입니다. 그리고 자바스크립트에 대해서도 잘 아실 겁니다. 이 책은 어떻게 하면 이 두 가지 기법을 웹 표준에 맞게 조화롭게 사용할 것인가 하는 점을 다룹니다.

DOM 스크립트를 꼭 웹 프로그래머만 공부하란 법은 없습니다. 사실 이 책은 웹 표준을 어느 정도 알고 있는 분을 위해 만들었습니다. 코드를 짜는 방법을 아주 쉽게 설명하고 실질적인 예제를 들어 쉽게 이해할 수 있게 했습니다. 이 책에 있는 예제들은 쉬울 뿐만 아니라 현장에서 바로 사용할 수 있는 좋은 코드들입니다.

자바스크립트와 DOM은 함께 잘 이용하면 사용성에 있어 강력한 무기가 되지만, 그렇지 않으면 큰 문제를 일으키게 됩니다. 이 책에 실린 훌륭한 예제와 자세한 설명을 통해 여러분은 사용자를 더 고려하는 방법을 익히게 될 것입니다.

여러분이 이미 XHTML과 CSS를 이용한 웹 표준 기법을 알고 계시다면 DOM 스크립트를 통한 기능 향상을 배울 수 있습니다. CSS를 사용해 구조에서 표현을 분리할 수 있듯이 마크업과 사용성을 희생하지 않고도 다이내믹한 효과를 얻을 수 있는 방법을 알려 드립니다.

구닥다리 자바스크립트 문법책은 이제 접고, DOM 스크립트의 새로운 개념에 빠져 보십시오!

출판사 리뷰

추천평

“자바스크립트요? 그건 안 좋아요. 당신도 알다시피 접근성이 개판입니다. 그걸 쓰면 웹 브라우저마다 엄청난 삽질을 해야 되구요. 마구 뜨는 팝업창의 원조이기도 합니다. 마치 당신이 안 볼 때 당신 애완견을 걷어차는 거나 비슷하다니까요..”
음, 저는 이렇게 생각 합니다.
여러분은 저처럼 자바스크립트 사용을 꺼리는 웹 디자이너 혹은 웹 개발자이신가요? 하지만 우리 중 많은 사람들이 아무 의심 없이 자바스크립트를 웹 사이트에 남용하고 있습니다. 심지어 닷컴 버블시대에 만들어진 아주 질낮은 자바스크립트 코드가 좋은 사례인양 그대로 살아 있기도 하고 이런 것을 아무 꺼리낌 없이 퍼 나르면서 사용하고 있습니다.
감사하게도 옛날의 과오를 깨닫고 관점을 바로잡아 주기 위해 우리에겐 제레미 키스 같은 이가 있습니다. 이 책에서 그는 자바스크립트를 올바르게 사용하면 DOM 스크립트가 웹 개발을 할 때 아주 훌륭한 부가 기능을 제공하는 도구가 된다는 것을 알게 해 줍니다.
사실 ‘DOM 스크립트’의 현 상황을 보면 제가 2002년에 CSS 레이아웃 방식을 처음 도입할 때가 생각 납니다. 그때만 해도 많은 웹 디자이너나 개발자들이 CSS를 그냥 단순히 글꼴색을 바꾸는 데 필요한 것이라고 생각 했습니다.
하지만 CSS 기반 레이아웃 방식이 관심을 끌면서 사람들의 생각이 바뀌기 시작했습니다. 와이어드(Wired)나 ESPN 같은 상업 웹 사이트들이 이 방식을 채택하기 시작했고 2003년 초 저는 웹 디자이너들 사이에 폭발적 관심을 받은 CSS 젠 가든(Zen Garden)을 만들었습니다. 그 해 말 CSS는 이미 거스를 수 없는 대세가 되어 웹 사이트 개발에 적용 되기 시작했습니다.
저는 지금 DOM 스크립트가 비슷한 길을 가고 있다고 생각합니다. 구글맵(Google Maps)과 플리커(Flickr) 같은 상업 사이트들이 DOM 스크립트의 이점을 취해 웹 사이트에 멋진 부가 기능을 제공해 성공했습니다. 사람들은 별 관심이 없던 자바스크립트와 DOM에 대한 기술을 익히기 시작했고 이를 이용해 웹 사이트에서 사용자 경험을 증대시키는 작업을 전개했습니다.

운좋게도 우리는 올바른 방식을 알려 주는 책을 갖게 되었습니다. 저는 이 분야에 있어 제레미보다 더 훌륭한 저자는 없다고 생각 합니다. 그는 웹 표준화 프로젝트의 스크립팅 TF를 이끌고 있고 구조와 표현에서 자바스크립트를 분리하는 방식의 선구자입니다. 사실 저도 그의 소스코드를 가끔 훔쳐 쓰기도 했는데 이 책에 그 코드들이 실려 더 이상 죄책감을 느끼지 않아도 되어 너무 고맙습니다. 후훗.

이 책은 첫 발걸음을 떼기에 매우 훌륭한 책입니다. 처음 코드 예제를 보고 난 후에 더 배우고 싶어졌습니다. 첫 장을 읽고 난 후에 저는 아주 낚여 버렸습니다. 제레미는 고급 개념도 아주 쉽게 풀어 설명하는 재주가 있습니다. 그는 시간을 두고 상식적인 예제를 갖고 차근차근 자신의 주장을 펼칩니다. 결국 여러분이 뭘 하는지는 모르지만 왜 해야 하는지는 알게 됩니다.
이제 객체 판별 방식으로 브라우저를 알아내는 방법을 써야 할 때입니다. 더 이상 모든 방문자가 자바스크립트를 사용할 거라는 착각에 빠져서는 안됩니다. 인라인 이벤트 핸들러에 의존하지 맙시다. 웹은 계속 업그레이드되고 있고 이 책에 있는 다양한 기법들은 모든 사람에게 혜택을 주게 될 것입니다.

데이브 시어
데이브 시어(Dave Shea)는 CSS 젠 가든(www.csszengarden.com)을 만들고 가꾼 장본인이다. 웹 표준 프로젝트 회원이고 Bright Creative의 운영자이면서 그의 블로그 mezzoblue.com에서 웹과 인터넷에 대한 다양한 글을 쓰고 있다. 9년이 넘도록 웹 개발 경력을 쌓았으며 새로운 웹 디자인 세대의 리더로 인정 받고 있다.

추천평

초등학교 3학년인 아들의 담임 선생님을 만났다. 수많은 문제집을 풀게 했는데도 아들의 수학 점수는 엄마 성에 찰 만큼 오르지는 않더라는 이야기가 나왔다. 이때 한줄기 빛 같은 선생님의 말씀. "여러 문제집 보게 할 필요 없어요. 교과서 단원평가만 다 풀 수 있으면 충분해요."
웹과 관련된 일을 하고 사는 사람들에게 웹 표준은 더 이상 새로운 유행이 아니다. 웹 표준을 준수한 문서 제작이 어느덧 주류로 자리를 잡아가고 있고, 수많은 전문가들이 속속 출현하고 있다. 구조와 표현, 동작을 분리하라는 얘기 역시 낯설지 않다.
HTML/CSS에 대한 이해도가 높아지면서 지난 3년간 구조와 표현에 있어서는 괄목할만한 변화가 있었다. 윈도우용 IE가 아닌 다른 브라우저로 문제없이 볼 수 있는 사이트가 계속 늘고 있는 걸 모두 체감하고 있을 것이다. 반면 동작을 맡는 자바스크립트 호환성 현황은 상대적으로 미약한 현실이다. 이처럼 동작면에서도 호환성을 유지하는 웹 표준 사이트 제작을 하고 싶으나 어떻게 시작해야 할지 알려주는 적당한 가이드가 없는 상태에서 접한 『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』 출간 소식은 그래서 더없이 반가웠다.
그동안 출간된 수많은 자바스크립트 책 가운에 이 책이 눈에 띈 이유가 뭘까 한번 생각해보자. 자바스크립트 책이라면 천편일률적으로 자바스크립트에 대한 일반적인 소개와 문법, 그리고 너무나 단순한 이용법에 대한 설명, 지면을 채우는 게 목적이 아니었을까 싶은 예제코드 분량 등을 연상하는 게 어렵지 않다. 이 책은 HTML과 CSS 레퍼런스가 아닌 바로 본론으로 직행해서 그 책을 끝내고 난 뒤 더 깊이 파고 들어갈 수 있게 만들었던 『실용예제로 배우는 웹 표준』과 느낌이 매우 유사하다. 출간에 즈음한 상황도 두 책이 엇비슷하다. 『실용예제로 배우는 웹 표준: 자바스크립트편』이라고 하면 이 책을 처음 접하는 분들께 적절한 비유가 될 수 있을 것이다.
음악, 동영상 등 인터넷 멀티미디어 컨텐트와 실버라이트, AIR 같은 풍부한 사용자 경험을 제공하는 인터넷 애플리케이션이 뜬다는데 혹시 우리는 웹 표준과 웹 표준을 준수하는 자바스크립트에 너무 연연하고 있는 건 아닐까?
새로 등장하는 인터넷 애플리케이션 개발 플랫폼이 자바스크립트를 중심으로 발전하고 있는 건 자바스크립트의 중흥기가 이미 다가왔음을 말해주고 있다. 위젯/가젯 개발을 비롯해서, 이 추천글을 쓰고 있는 시점에서 폭발적인 관심을 받고 있는 애플 아이폰의 경우에도, 네이티브한 SDK를 제공하는 대신 Ajax 애플리케이션을 기반 플랫폼으로 삼고 있고 이런 경향은 앞으로 더더욱 가속화될 전망이다.
화려하고 정교한 리치 인터넷 애플리케이션을 만들고 싶어 안달이 나있는 우리에게 지금 당장 필요한 것은 웹브라우저 소스보기 기능이나 두꺼운 Ajax 책 컬렉션이 아니다. 초등학교 3학년 수학시험을 잘 보기 위해선 화려한 문제집보다는 교과서 내용을 철저히 이해해야 한다. 이제는 더 이상, 누구나 볼 수 있는 스크립트 소스를 들여다보고 붙여넣기하면서 시간을 보내지는 말자. 핵심 내용에 대한 이해를 기반으로 내가 만드는 코드의 즐거움을 누리고 싶어하는 사람들에게 이 책을 추천한다.

박수만 / 더블트랙(doubletrack.net) 대표이사
에이콘 웹 프로페셔널 시리즈 에디터
http://me2day.net


부엌칼은 잘 사용하면 요리를 할 수 있는 도구가 되지만 잘못 사용하면 사람에게 해를 끼치는 흉기가 될 수도 있습니다. 모든 도구는 용도가 있고 사람은 그 도구를 그 용도에 맞게 잘 사용해야 합니다. 자바스크립트의 경우도 마찬가지입니다. 잘 사용한 자바스크립트는 사용자의 편의를 도모하고 풍부한 사용자 경험을 전달하지만 잘못 사용한 자바스크립트는 낮은 사용성과 접근성의 제약을 불러오게 됩니다.
오히려 자바스크립트가 별로 사용되지 않은 예전 사이트들이 브라우저 호환성이나 접근성면에서 더 탁월한 것을 보면 그동안 우리가 자바스크립트의 올바른 사용을 얼마나 간과했었나 하는 생각을 하게 됩니다. 자바스크립트의 다이내믹하고 신선한 재미만을 추구해 온 나머지, 과유불급이라는 말로 표현할 수밖에 없는 지나친 상황을 많이 보게 됩니다. 올바른 자바스크립트, 사용자를 존중하고 과하지 않고 주어진 역할만을 훌륭하게 잘 해내는 자바스크립트 코드를 만들기 위해 무엇을 개선해야 하는지 이젠 한번쯤 고민해 볼 필요가 있습니다.
『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』는 이러한 고민을 훌륭하게 해결해 줄 것입니다. 웹 표준을 기본으로 한 문서에 세련되게 자바스크립트를 적용해 두 마리 토끼를 잡는 방법을 알려줄 것입니다. 용어만 들어서는 잘 이해가 가지 않는 자바스크립트 분리를 통한 단계적 기능 축소(Graceful degradation)나 단계적으로 기능을 향상 적용(Progressive enhancement)하는 방법을 아주 쉽고 친절하게 설명해 주고 있습니다. 단계별로 나와 있는 풍부한 예제들과 설명은 올바른 자바스크립트에 대한 이해를 높이고 올바른 사용에 대한 확신을 심어줄 것입니다.

신현석 / (주)시도우 웹표준화 추진팀 팀장
http://hyeonseok.com


웹 2.0, Ajax라는 유행과 더불어 자바스크립트는 그 어느 때보다 뜨거운 사랑을 받고 있습니다. 웹 개발자들은 흔히 '자바스크립트는 너무 쉽다'는 말들을 합니다. 하지만 그럴 때마다 저는 '제대로 쓰는 것은 어렵다'고 대꾸합니다. 이는 자바스크립트 프로그래밍의 어려움을 말하려는 게 아니라 해당 언어의 오남용을 지적하고자 하는 바람 때문입니다. 그런 의미에서 DOM 스크립트를 배운다는 사실은 매우 중요합니다.
『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』는 그동안 잘못 사용해온 자바스크립트를 정말 제대로 쓸 수 있게 만들 교과서 같은 책이며, 웹의 기본으로 돌아갈 수 있는 길을 제시할 것입니다. 웹 문서의 구조인 DOM과 자바스크립트의 기본을 이해함으로써 표현과 동작을 분리하고 개발하기 편한 방법들을 사용할 수 있습니다. 또한 특정 브라우저에 종속적이지 않고 어떤 사용자라도 환영할 수 있는 환경을 제공할 수 있습니다.
웹은 특정인을, 특정 회사를 위한 것이 아닙니다. 그곳은 모두가 지식을 공유하고 생활을 향유할 수 있는 우리 삶의 터전입니다. 이제 이 책을 통해 그동안 '어쩔 수 없어서…'라는 궁색한 변명을 버릴 수 있다고 믿습니다. 그래야만 우리가 꿈꾸는 새로운 세상을 만날 수 있기 때문입니다.

양주일 / NHN UI Technology Lab. 랩장
http://blo9.com
리뷰 총점 7.4

첫번째 한줄평을 남겨주세요.

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.