태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

도서출판 ITC

블로그 이미지
도서출판 ITC와 체온365의 블로그입니다. 031-955-4353
ITCnCHAEON365

Article Category

분류 전체보기 (220)
근간안내 (0)
ITC대학교재 (104)
IT단행본 (31)
수입원서 (10)
체온365 (12)
체온365통신 (5)
극장전이야기 (47)
고실장다이어리 (11)

Recent Comment

Recent Trackback

Calendar

«   2012/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Archive

  • Total61,437
  • Today56
  • Yesterday59
사용자 삽입 이미지

저자명 : 김영보   
출판사 : 도서출판 ITC  
정 가  : 26,000원  
ISBN : 978-89-90758-91-0  
출간년월 : 2008 년 5 월   
페이지 : 492 쪽   
크기 : 세로 : 245, 가로 : 188, 반양장

  이 책은 DOM을 다루며 기초를 다룬다. 그렇다고 초보자용이라고 한정할 수는 없다. 경력자라고 해서 기초가 튼튼하다고 할 수만은 없으며, 초보자라고 해서 기초가 약하다고만은 할 수 없다. 기초와 초보는 엄연히 다른 관점이다. 그럼, 기초의 기준은 무엇인가?

var dom = document.getElementById(‘domBook’);

  이 코드에 담겨있는 개념, 목적, 관련 기술을 설명할 수 있다면 이 책의 대상 독자가 아니다. 이 코드를 보고 오브젝트, 엘리먼트, 엘리먼트 오브젝트, 인터페이스, 메소드, 프로퍼티, 노드, DOM 구조, DOM 접근방법 등이 연상된다면 이 또한 이 책의 대상 독자가 아니다. 이 책은 이와 같이 기초적인 내용을 다룬다. 그렇다고 제시한 단어를 완벽하게 다루는 것은 아니다. 이를 이해하기 위한 기반이 되는 내용을 다룬다.

  이 책은 DOM 응용을 다루지 않는다. 필자의 개발 경력이 곧 만 30년이 된다. 이제 와서 느끼는 것은 역시 기초가 튼튼해야 한다는 것이다. 그래야 소프트웨어 개발에 있어 가장 중요한 창조를 할 수 있으며 응용을 할 수 있다. 창조와 응용은 튼튼한 기초를 바탕으로 경험을 쌓다보면 자연스럽게 생긴다. 기초가 없이 경력만 쌓으면 모래성을 짓는 것과 같다.

  이 책은 다음의 독자를 대상으로 한다.
- DOM을 처음 접하는 개발자
- 보다 근본적으로 DOM을 이해하려는 개발자
- 기초를 바탕으로 DOM 기능을 활용하려는 개발자
- 웹 표준을 준수하려는 개발자, 분석/설계자

  이 책은 다음의 DOM 모듈을 다룬다.
- DOM Core Level 1/2/3
- DOM HTML Level 1/2
- DOM Events Level 2/3
- DOM Style Level 2
- DOM Views Level 2

저자 소개
김영보

  1979년 ㈜코오롱 전산실에 입사한 후 29년 동안 소프트웨어를 개발해온 베테랑 개발자이며 분석가이다. 소프트웨어 개발 생산성 향상에 많은 관심을 가지고 있으며, 현재는 개발자를 위한 기고/강의/세미나/집필 등을 하고 있다. 네이버에서 “Ajax와 요구공학” 까페를 운영하고 있으며, 저서로는 『요구분석을 위한 Event Process 모델링』 (2005.11 가메 출판사), 『Ajax 활용』(2006.04 가메 출판사), 『Ajax prototype.js: 프로토타입 완전분석』(2007.03 위키북스)이 있다. 운영중인 인터넷 까페 주소는 다음과 같다: http://cafe.naver.com/requirements.cafe
 
***********************************************************

차례

1부 DOM의 개요

1장 유저 인터페이스 2
1.1 DOM API 2
1.2 DOM의 궁극적인 목적 3
1.3 엘리먼트에 접근 4
1.4 웹 페이지 구성 요소 7
1.5 구조와 표현의 분리 16

2장 애플리케이션 실행 환경 18
2.1 애플리케이션 실행 환경 설정 18
2.2 코드 작성 기준 20
2.3 자바스크립트 프레임워크 사용 목적 30

3장 DOM 개요 32
3.1 DOM 출현 배경 32
3.2 DOM 레벨 34
3.3 DOM 권고와 표준 41
3.4 DOM 트리 42

2부 DOM Core

4장 HTML 엘리먼트 오브젝트 50
4.1 prototype 기반 객체지향 언어 50
4.2 엘리먼트 오브젝트 52
4.3 HTML 엘리먼트 오브젝트 생성 56

5장 DOM 트리 제어 84
5.1 DOM 노드 제어 84
5.2 DOM 구조 제어 98
5.3 랜더링의 최소화 112

6장 HTML 엘리먼트 속성 제어 128
6.1 속성 제어 128
6.2 NamedNodeMap 인터페이스 138
6.3 속성 노드 제어 147

3부 DOM Events

7장 DOM 이벤트 모델 156
7.1 이벤트 개요 156
7.2 이벤트의 설정과 해제 159
7.3 이벤트 전파 167
7.4 이벤트 설정시 고려사항 177
7.5 Event 인터페이스 184

8장 DOM 이벤트 모듈 190
8.1 이벤트 모듈 타입 190
8.2 마우스 이벤트 191
8.3 키보드 이벤트 209
8.4 Mutation 이벤트 215
8.5 HTML 이벤트 222

4부 DOM HTML

9장 DOM HTML 234
9.1 DOM HTML 개요 234
9.2 HTMLCollection 인터페이스 236
9.3 HTMLOptionsCollection 인터페이스 241
9.4 HTMLDocument 인터페이스 245
9.5 HTMLElement 인터페이스 254

10장 DOM HTML 인터페이스 259
10.1 HTML 도큐먼트 인터페이스 259
10.2 폼 컨트롤 인터페이스 283
10.3 리스트 인터페이스 322
10.4 문단 인터페이스 324
10.5 오브젝트 인터페이스 329
10.6 테이블 인터페이스 346
10.7 프레임 인터페이스 376

5부 DOM Style & Views

11장 DOM Style 384
11.1 CSS 구조 384
11.2 스타일 적용 우선순위 387
11.3 <link>, <style> 엘리먼트의 속성 제어 399
11.4 Document 확장 414
11.5 룰셋 제어 418

12장 DOM Views 440
12.1 인라인 스타일 440
12.2 DOM Views 452

찾아보기 469

***********************************************************

저자 머리말

  DOM을 사용하여 추구하려는 목적은 크게 역동적인 유저 인터페이스의 실현, 크로스 브라우저 문제 대응, 객체지향 프로그램(OOP) 구현으로 나눌 수 있다. 아울러 네비게이션(navigation) 형태가 아닌 상호작용하는 웹 애플리케이션이 되기 위해서는 서버로 데이터를 주고받아야 하며, 수신한 데이터를 웹 페이지에 반영해야 한다. 이때 DOM이 매우 중요한 역할을 한다.

역동적인 유저 인터페이스의 실현
  웹 페이지에 유저 인터페이스(User Interface)를 구현하는 것은 HTML과 CSS이다. 이는 직관적이며 시각적이다. 그런데 사용자 입장에서 보면 이는 수동적인 형태이며, 웹 페이지에서 제공하는 그 이상의 것을 할 수 없다. 이는 초창기 웹 애플리케이션의 모습이기도 하다.
  사용자의 요구는 이것이 끝이 아니다. 사용자가 액션을 취할 수 있어야 하며, 이에 대한 응답이 발생해야 한다. 또 반대로 애플리케이션이 사용자가 액션을 취할 수 있도록 유발시켜야 한다. 즉, 상호작용하는 역동적인 애플리케이션이 되어야 한다. 그 중심에 DOM이 있으며, DOM은 이를 위한 필요충분 조건을 갖추고 있다.

크로스 브라우저 대응
  W3C는 표준(standard)보다는 권고(recommendation)라는 단어를 사용한다. 필자가 영문학적인 관점에서 standard와 recommendation의 차이를 제시할 수는 없지만 일반적으로 통용되는 표준과 권고는 뉘앙스가 다르다. 표준은 반드시 준수해야 하는 의무를 동반하지만, 권고는 준수를 하되 어쩔 수 없는 경우에는 준수하지 않아도 된다는 의미를 포함한다.
  DOM을 준수하지 않으면 마치 표준을 준수하지 않는 것으로 간주되기도 하는데 이는 한쪽 측면만 본 것이라고 할 수 있다. 왜냐하면 DOM에서 제공하는 메소드와 프로퍼티만 사용하면 IE 브라우저에서 실행이 안 되기 때문이다. 이는 IE 브라우저가 DOM 권고를 준수하지 않았기 때문이지만 어디까지나 말 그대로 권고이다. IE 브라우저를 배제하고 웹 애플리케이션을 개발할 수는 없다. 이것은 어쩔 수 없는 엄연한 현실이다.
  그렇다고 필자가 IE 브라우저를 대변하려는 것은 아니다. 필자 또한 이 때문에 그 동안 수많은 고생을 했으며 앞으로도 할 것 같다. 하지만 이것과 본질을 이해하는 것은 다르다. 현실을 감안하여 표준의 범위를 확대 해석할 필요가 있다. IE 브라우저가 이미 브라우저에 탑재된 메소드와 프로퍼티를 버리고 DOM 권고만 준수한다면 과거 버전에서 개발되었던 애플리케이션을 사용할 수 없다. 그렇다고 그것과 DOM 권고를 모두 브라우저에 탑재하는 것 또한 어려움이 있을 것이다.

그럼, 어떻게 할 것인가?
  DOM을 기준으로 각 브라우저에 대응하는 메소드와 프로퍼티가 있다면 이를 표준에 포함시키고, 없다면 이를 표준에 포함시키지 않는다. 그래야 크로스 브라우저 문제에 대응할 수 있다. 이 책은 DOM 스펙(Specification)을 기준으로 메소드와 프로퍼티를 다룬다. 아울러 이에 대응하는 IE와 Firefox의 메소드와 프로퍼티를 함께 다룬다.
  DOM 스펙을 본 독자는 알겠지만 DOM 스펙을 보고 내용을 이해한다는 것은 매우 어렵다. 그렇다고 DOM 스펙을 기준으로 하지 않으면 DOM을 다룬다고 할 수 없으며, 이를 기준으로 하지 않으면 표준에 대한 근거가 없는 것이 된다.

객체지향 프로그램 구현
  객체지향 프로그램의 핵심은 클래스(Class)이다. DOM은 클래스 대신 인터페이스(Interface)를 제공한다. 이것은 객체지향 개념으로 프로그램을 개발할 수 있다는 것을 의미한다. Java, C#과 같이 인터페이스를 제공할 수 있는 언어는 DOM 인터페이스를 사용할 수 있다. 실제로 DOM 스펙에 자바스크립트와 Java 언어에 대한 인터페이스 바인딩 코드가 작성되어 있다.
  이 책은 DOM 인터페이스를 기준으로 다룬다. 이는 DOM에 근본적으로 접근하기 위함이다. style 속성을 사용하여 font-size 값을 설정하는 것은 누구나 다 알고 있다. 하지만 어떤 구조로 인해 그것이 가능한지에 대해서는 DOM 스펙을 보아야 한다. 즉, 인터페이스 구조를 이해해야 한다는 뜻이다.

이 책의 독자

- DOM을 처음 접하는 개발자
- 보다 근본적으로 DOM을 이해하려는 개발자
- 기초를 바탕으로 DOM 기능을 활용하려는 개발자
- 웹 표준을 준수하려는 개발자, 분석/설계자

  이 책은 독자가 (X)HTML, CSS, JavaScript에 대한 기초 지식을 이해하고 있는 것을 전제로 한다. 기초 지식이므로 해박한 지식이 필요한 것은 아니다.

원문 사용

  이 책에는 W3C에서 제공하는 그림과 글이 게재되어 있으며, 이에 대한 저작권은 W3C에 있음을 밝힌다. 필자의 주관적인 해석에 따라 왜곡될 수 있는 점을 배제하고 독자가 판단할 수 있도록 하기 위해 원문을 사용한 곳도 있다. 이 책은 prototype.js를 사용하고 있다. 하지만 이에 대한 소스 코드를 변경 또는 가공하지 않았다. prototype.js 사용은 Creative Commons Attribution-ShareAlike 2.5 License를 기초로 한다.

소스 코드와 정오표

  필자가 작성한 소스 코드는 샘플을 제시하여 설명하기 위함이다. 소프트웨어 개발에 이를 적용하여 발생하는 문제에 대해서는 필자가 책임을 지지 않는다. 또 소스 코드 자체를 판매하거나 책에 포함시키는 것과 같이 상업적인 목적에 사용할 수 없으며, 여기에 제시하지 않은 제반 사항은 일반 저작권에 따른다.

  소스 코드는 출판사 홈페이지(http://www.itcpub.co.kr)의 이 책의 도서소개 페이지에서 다운로드받을 수 있으며, 출간 후 발견된 잘못된 부분과 내용에 대한 독자들의 문의사항은 필자가 운영하는 까페(http://cafe.naver.com/requirements)를 이용할 수 있다.

감사의 글

  이 책이 출판되기까지 수고해 주신 모든 분들께 감사드린다. 특히, 몇 번에 걸친 강행군에도 묵묵하고 꼼꼼하게 베타 리딩을 해주고 세심한 곳까지 면밀하게 짚고 또 짚어준 강경희 님, 정말 감사드린다.

  또 독자 중심의 책이 되도록 성심을 다해주신 도서출판 ITC 관계자 분들께 감사드린다. 토끼보다는 거북이 정신으로 완전함을 추구한 출판사의 노력에 감탄을 금치 못한다. 마지막으로, 사회 생활에 익숙해져 가고 있는 희주, 제대를 앞둔 현주, 인생의 아름다운 동반자인 아내에게 고맙다는 말을 전하고 싶다.

2008년 새 봄
김 영 보

***********************************************************

소스코드는 첨부화일로 다운받을 수 있습니다.


***********************************************************

책 구매하러 가기






크리에이티브 커먼즈 라이선스
Creative Commons License

'IT단행본' 카테고리의 다른 글

한국어판 Beginning Linux Programming(4판)  (0) 2009/02/16
웹 사이트 최적화 기법: UI 개발자를 위한 필수 지침서  (0) 2009/02/16
웹 표준 Ajax DOM 스크립팅  (0) 2009/02/16
고성능 임베디드 컴퓨팅: 아키텍처, 애플리케이션, 방법론  (0) 2009/02/16
애덤 네이선의 WPF 언리쉬드  (0) 2009/02/16
친절한 김샘의 함수 포인터 강의  (0) 2009/02/16
Trackback 0 and Comment 0
prev Prev : [1] ... : [148] : [149] : [150] : [151] : [152] : [153] : [154] : [155] : [156] ... : [220] : Next next