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

소득공제
Semantic Web 구현을 위한 Ajax
자바스크립트 XML 프로그래밍의 모든 것
이혁
프리렉 2006.12.20.
베스트
IT 모바일 top100 2주
가격
26,000
10 23,400
YES포인트?
1,300원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

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

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

이 분야의 이벤트

이 상품의 시리즈 2

이 상품의 시리즈 알림신청
뷰타입 변경

책소개

목차

1부. AJAX와 웹의 미래
1장. 웹 2.0과 AJAX
1) 잘 나가는 닷컴만 웹2.0
2) 그러나 웹 2.0은 없다.
3) 변화의 중심에는 XML이 있다.
4) AJAX는 어떻게 움직이는가?
5) AJAX로 할 수 없는 일들
핵심정리


2장. AJAX의 활용 분야
1) 기존 웹 사이트에서 AJAX 활용
2) AJAX 애플리케이션
핵심정리


2부. AJAX 개체 모델
3장. AJAX 개체의 사용법
3.1 AJAX 개체의 생성과 웹 브라우저
1) AJAX 개체 생성하기
2) AJAX 개체 생성 함수 지원 여부 확인
3) 브라우저 버전으로 AJAX 지원 여부 확인
4) 사용자 정의 AJAX 개체 생성 함수 만들기
핵심정리

3.2 AJAX로 데이터 요청하고 받기
1) open() 메소드로 설정하고 send() 메소드로 요청하기
2) readyState, status, onreadystatechange 속성
3) responseText 속성과 responseXML 속성의 차이
4) AJAX 동작 과정 정리
5) AJAX 개체의 속성과 메소드
핵심정리


4장. AJAX 요청을 보내기 전에 할 일
4.1 AJAX와 HTTP 헤더
1) HTTP 헤더 종류: 요청 헤더와 응답 헤더
2) 서버 프로그램에서 응답 헤더 설정하는 법
3) 요청 헤더 설정하기
4) 응답 헤더 읽기
5) Content-Type 응답 헤더
핵심정리

4.2 AJAX와 한글 문제
1) AJAX 응답에서 한글이 깨지는 경우
2) 요청하는 페이지가 PHP 파일인 경우
3) UTF-8로 인코딩해야 하는 경우
4) 문자 인코딩 방식을 변환하기
5) 페이지 특성에 따른 알맞은 문자 인코딩 방법
핵심정리

4.3 AJAX와 통신 방식
1) 여러 번 요청하는 경우의 문제
2) AJAX로 동기 통신하는 방법
3) 동기 통신 방식의 단점
핵심정리

4.4 GET 방식과 POST 방식
1) HTTP 메소드
2) AJAX와 GET 방식
3) AJAX와 POST 방식
핵심 정리


5장. AJAX로 응답을 받은 후에 할 일
5.1 AJAX 응답 상태의 변화
1) status, statusText 속성과 응답 상태
2) status 속성으로 HTTP 응답 상태 코드 알아내기
3) 일정한 간격으로 계속 AJAX 요청 보내기
4) 데이터가 변경된 경우에만 응답 내용 받기
5) abort() 메소드로 응답이 도착하기 전에 취소하기
핵심정리

5.2. MIME 타입과 XML 응답
1) 텍스트 파일을 받은 경우 (text/plain)
2) XML 문서를 받은 경우 (text/xml)
3) HTML 문서를 text/html MIME 타입으로 받은 경우
4) HTML 문서를 text/xml MIME 타입으로 받은 경우
5) XML 문법에 어긋난 XML 응답
6) 꼭 지켜야 하는 다섯 가지 XML 기본 문법
7) 문서 타입 정의에 어긋난 XML응답을 받았을 때
핵심정리

3부. XML 문서 개체 모델
6장. XML 문서 개체 모델 기초
6.1 노드의 계층 구조
1) 문서의 최상위 노드 접근하기
2) 하위 노드 접근하기
3) 재귀 함수로 하위 노드 모두 출력하기
4) 노드 사이의 관계로 접근하기
5) 특정 이름의 노드 모두 찾기
핵심정리

6.2 XML 개체 수정하기
1) 맨 끝에 추가하기
2) 특정 위치에 추가하기
3) 노드 이동하기
4) 노드 복사하여 추가하기
5) 노드 삭제하기
6) 노드 바꾸기
7) 속성 읽기
8) 속성 수정하기
9) 속성 삭제하기
10) 노드의 종류와 특징
11) 노드 개체의 속성
12) 노드 개체의 메소드
핵심정리


7장. XML 개체의 생성과 변환
7.1 XML 개체 만들기
1) XML 개체 만들기
2) 문자열로 XML 개체 만들기
3) 원격 파일 불러오기
4) xml 요소로 XML 개체 만들기
5) 문서 타입 정의로 유효성 검사하기
6) 문서 타입 정의가 별도 파일인 경우
7) XML 개체를 수정하고 다시 검증하기
핵심정리

7.2 XML 개체의 변환
1) XML 노드나 XML 개체를 문자열로 변환하기
2) 버전, 문자 인코딩, DTD 알아내기
3) XSL로 XML 문서 변환하기
4) XML 개체를 다른 구조의 XML 개체로 변환하기
5) XML 노드를 XML 노드로 변환하기
6) XSL 개체의 일부분을 사용하여 변환하기
7) XSL 개체로 인자 넘기기
핵심정리


8장. XML 문서의 검색
8-1. XPath로 노드 검색하기
1) 재귀 함수로 노드 검색하기
2) walker 클래스로 노드 검색하기
3) 인터넷 익스플로러에서 XPath로 검색하기
4) 다양한 XPath 테스트 해 보기
5) 모질라 웹 브라우저에서 XPath로 검색하기
6) XPath로 검색한 결과를 XSL로 변환하기
핵심정리

8-2. 더 알고 있으면 좋은 것들
1) 여러 개의 DTD를 같이 사용할 때: XML 네임스페이스
2) DTD보다 좋은 XML 구조 정의: XML 스키마 정의(XSD)
3) 최상위 노드가 여럿일 때: 문서조각 노드
4) 내용에 <, >, &, ', " 문자가 있는 경우: CDATA 선언과 엔티티(Entity)
5) CDATA 선언과 CDATASection 개체
6) HTML 요소와 XML 노드
7) HTML 요소에 사용 가능한 XML 노드의 속성과 메소드
8) [정리] XML 노드의 속성과 메소드
핵심정리


4부. 실전 AJAX 프로그래밍
9장. 재사용 가능한 AJAX 클래스
9.1 개체 생성 함수와 클래스
1) 개체 생성 함수로 클래스 만들기
2) 내장 개체와 prototype 속성
3) 함수의 인자로 개체를 사용하기
4) Map 클래스 설계하기
5) JSDoc으로 API 문서 생성하기
6) jsUnit로 테스트 프로그램 만들기
7) 클래스 코딩 하기
8) 자바스크립트 클래스 개발 과정
핵심정리

9.2 재사용 가능한 XML 클래스
1) XML 클래스의 필요성과 설계 방향
2) ozXML 클래스의 API 문서와 테스트 프로그램
3) init() 메소드와 개체 초기화 과정
4) ozXML 클래스의 메소드 분석
5) ozXML 클래스의 활용

9.3 재사용 가능한 AJAX 클래스
1) AJAX 클래스의 필요성과 설계 방향
2) ozAjax 클래스 API 문서와 테스트 프로그램
3) init() 메소드와 개체 초기화
4) send() 메소드 분석
5) ozAjax 활용 예


10장. AJAX 애플리케이션 설계
10.1 AJAX로 할 수 없는 일
1) 서버 푸시 방식의 실시간 서비스
2) 다른 서버로 XML 요청하기
3) AJAX로 바이너리 파일을 보내고 응답 받기
핵심정리

10.2 널리 사용되는 XML 포맷의 활용
1) RDF(Resource Description Framework): 자원 설명 프레임워크
2) RSS(Really Simple Syndication, Rich Site Summary): 매우 단순한 배급
3) XML-RPC(Remote Procedure Call): XML 원격 프로세스 호출
4) AJAX로 XML-RPC 메시지 보내고 받기
5) SOAP(Simple Object Access Protocol): 단순한 개체 접근 프로토콜
6) AJAX로 SOAP 메시지 보내고 받기
7) WSDL(Web Service Description Language): 웹 서비스 설명 언어
8) JSON(JavaScript Object Notation): 자바스크립트 개체 표시법
핵심정리

10.3 AJAX 애플리케이션 설계
1) 서버로부터 어떤 형식의 응답을 받을까?
2) 서버에 데이터를 어떤 형식으로 보낼까?
3) 웹 브라우저 내에서 데이터 저장
4) AJAX 애플리케이션 설계 과정
핵심정리


11장. AJAX 실전 프로젝트
11.1 ID 중복 체크
1) 기획 및 설계
2) 기능 구현

11.2 관심 상품 등록 및 조회
1) 서비스 기획
2) 프로그램 흐름도와 메시지 설계
3) AJAX로 로그인 구현
4) 관심 상품 등록 및 조회 구현

11.3 블로그 카테고리 편집기
1) 애플리케이션 설계
2) 메시지 설계와 메시지 샘플 작성
3) 구현된 결과를 먼저 살펴보자.
4) 데이터를 받아서 표시하기
5) 데이터를 서버로 보내기

11.4 추천 키워드 기능
1) 모질라와 한글 입력 keyup 이벤트
2) 키워드 추천 기능 기획
3) 키워드 추천 기능 설계
4) 핵심 부분부터 구현하기
5) 유저 인터페이스 부분 구현하기
6) UI 컴포넌트를 HTML 요소에 자동으로 적용하기

11.5 RSS 뷰어와 네이버 OPENAPI 활용
1) RSS 뷰어 애플리케이션의 설계
2) RSS 뷰어 애플리케이션 구현
3) 네이버 OPENAPI와 RSS 뷰어 활용

저자 소개

저자 : 이혁
- 대우증권, 미래에셋증권 등 웹 서비스 기획 및 PM
- 외환은행, 현대증권, 코스닥 등 웹 트레이딩 시스템 개발
- 넥스트웨어 디지털에이전시 사업부 본부장(2003~2006)
- 투데이 홀딩스 선임 컨설턴트 (1999~2002)
- 정보연대 SING 대표 (1997~1998)

저서
- 웹 페이지 제작 기법(혜지원, 1998)
- 웹 레퍼런스 바이블(혜지원, 2000)

관련 분류

품목정보

발행일
2006년 12월 20일
쪽수, 무게, 크기
744쪽 | 1472g | 188*254*40mm
ISBN13
9788989345879

책 속으로

구글에서 'web 2.0'을 검색해보니 7,750만 건의 웹 페이지가 나옵니다. 작년부터 웹 2.0이란 단어가 인터넷 서비스 업계를 휩쓸고 있습니다. 엔씨소프트는 웹 2.0 검색 서비스를 통해서 포탈 시장 진출을 선언하고, 한국썬은 하드디스크를 판매하면서 웹 2.0에 최적화된 제품이라고 홍보합니다.

그러나 불행히도 웹 2.0은 없습니다. 웹 1.0이 없는 데 웹 2.0이 있을 리 만무합니다. 많은 사람이 닷컴 붕괴 후에도 살아남고 발전하는 기업들의 특징을 모아 놓고 웹 2.0이라고 부르고 있지만, 성공한 기업들의 특성을 따라서 웹 서비스를 만든다고 성공이 보장되는 것은 아닙니다.

사실 90년대 후반부터 월드 와이드 웹(World Wide Web, WWW)이라는 하나의 네트워크는 느리지만 크게 변화하고 있습니다. 그 변화의 중심에는 웹 2.0이 아니라 XML이 있습니다. HTML은 모양과 내용이 뒤섞여 자동화된 처리가 불가능하지만, XML은 모양에서 내용을 별도로 분리하여 컴퓨터로 읽고 이해할 수 있습니다. 월드 와이드 웹 컨소시엄(W3C)에서는 XML에 기반을 둔 인공지능형 웹 서비스를 '시맨틱 웹(Semantic Web)'이라고 부릅니다.

이 책은 웹 2.0, 시맨틱 웹의 핵심 기술로 널리 알려진 AJAX 프로그램에 관한 책입니다. AJAX는 자바스크립트로 XML 데이터를 서버에서 가져와서 사용하는 기술입니다. HTTP로 XML을 가져온다고 해서 XMLHTTP라고 부르기도 합니다.

AJAX로 서버에서 가져온 XML 문서를 화면에 표시하기 위해서는 자바스크립트로 HTML 문서와 CSS 문서를 문서 개체 모델(Document Object Model, DOM)로 접근하여 수정해야 합니다. 따라서, AJAX를 사용하려면 자바스크립트, XML, HTML, CSS, 문서 개체 모델에 대해서 알고 있어야 합니다. 책을 쓰면서 자바스크립트, HTML, CSS에 대한 기본 지식은 있지만 XML에 익숙하지 않은 대다수 자바스크립트 프로그래머를 고려하여 XML에 대해서 최대한 자세히 설명하도록 노력했습니다.

이 책은 자바스크립트로 XML을 다루는 아주 자세한 내용을 담고 있습니다. 대부분의 AJAX 책은 AJAX 개체로 서버의 XML 문서를 XML 개체로 생성한 다음 그 XML 개체를 문서 개체 모델로 접근하는 방법만 나와있습니다.

그러나 이 책에서는 자바스크립트로 XML 개체를 생성하는 방법, XML 개체를 XSLT로 변환하여 화면에 반영하는 방법, XML 개체를 XPath로 검색하는 방법 등 자바스크립트로 XML을 다루는 방법이 아주 자세히 나와 있습니다.

특히 네임스페이스를 사용한 XML 문서의 경우 인터넷 익스플로러와 모질라 웹 브라우저에서 지원하는 XML 문서 개체 모델이 달라서 실제 프로젝트에서 큰 어려움이 있습니다. 이 책에는 인터넷 익스플로러와 모질라 웹브라우저를 모두 지원하는 AJAX 프로그램 개발이 가능하도록 웹 브라우저에 따른 XML 문서 개체 모델의 차이점과 해결책이 자세히 나와 있습니다.

최근에 조엘 온 소프트웨어라는 책을 읽다가 '스크립트 키드'라는 말을 보고 우울했습니다. 리치 웹 클라이언트 개발 도구로 각광받는 플래시 액션스크립트도 자바스크립트이며, 웹2.0, 시맨틱 웹 개발도구로 각광받고 있는 AJAX도 자바스크립트에 기반을 두는 등 자바스크립트는 가장 대표적인 웹 클라이언트 개발 언어로 성장하고 있으나, 프로그래밍을 전문적으로 배우지 못한 많은 자바스크립트 프로그래머들이 스크립트 키드라는 이름으로 푸대접을 받고 있는 것은 아닌가 하는 생각이 들었기 때문입니다.

이 책을 쓰면서 자바스크립트가 단순한 스크립트 언어가 아니라는 것을 보여주기 위해서 많은 노력을 기울였습니다. 개체 생성 함수를 사용하면 자바스크립트로도 효율적이며 재사용이 가능한 프로그래밍이 가능합니다. 이 책에서는 재사용 가능한 클래스 형태로 효율적으로 애플리케이션을 설계하고 구현하는 방법이 아주 자세히 나와 있습니다.

이를 기반으로 웹 브라우저의 내장 XML 개체와 AJAX 개체를 감싸는 개체 생성 함수를 클래스 형태로 만들어서 실제와 유사한 AJAX 프로젝트에서 사용해 볼 수 있습니다. 또한 공개 소프트웨어로 이 책에서 제공하는 AJAX 라이브러리(ozlib.js)를 사용한다면 인터넷 익스플로러와 모질라 웹 브라우저를 지원하는 AJAX 프로그램을 효율적으로 만들 수 있습니다.

이 책으로 많은 자바스크립트 개발자가 빠른 속도로 변해가는 월드 와이드 웹 기술에 적응하고, 개체에 기반한 애플리케이션 설계와 구현 방법을 익혀, 스크립트 키드라는 오명을 벗고 차세대 월드 와이드 웹 서비스의 핵심 개발자로 인정받는 데 도움이 되면 좋겠습니다.

많은 기업들과 사람들은 본질적인 변화를 보지 못하고 하나의 유행으로 '웹 2.0'을 다룹니다. 그러나 본질은 무시한 채 다른 사람의 성공 전략을 따라가는 방법으로는 결코 성공할 수는 없습니다. 사용자들이 원하는 서비스를, 사용자들에게 편리하게 제공하는 것이 웹 서비스 성공 전략의 기본입니다. 이 책으로 사용자 중심의 편리한 웹 클라이언트 개발이 쉬워졌으면 합니다.

변화는 사람들이 예상한 것보다 느리게, 그러나 급격하게 다가옵니다. 인터넷 붐이 사라진 지금 오히려 사람들의 삶은 인터넷과 더욱 긴밀하게 결합하여 인터넷 없는 일상적인 생활은 불가능할 정도입니다.

이렇게 사람이 바뀌어야 하는 변화는 느리지만 한 순간 이루어집니다. 우편은 전자우편과 메신저로 완전히 대체되었으며, 모니터에 익숙해진 사람들이 늘면서 A4 용지의 사용량이 줄고 있습니다. 인터넷과 월드 와이드 웹, 그리고 모니터에 익숙한 지금의 10대, 20대가 사회의 중심이 되는 10여 년 후에는 인터넷과 월드 와이드 웹 서비스의 모습은 크게 변해있을 겁니다. 느리지만 급격하게 사람들의 삶이 크게 변하고 있습니다.

성공하기 위해서는 현실에 안주하고 보다 능동적으로 미래의 변화를 예상하고 움직여야 합니다. 이 책이 변화를 이끌고 변화를 미리 반영하는 웹 서비스 개발에 도움이 되기를 바랍니다.

언제나 그렇듯 책을 쓰는 것은 원래 예상보다 오래 걸리는 작업입니다. 특히 이번 책은 인터넷 익스플로러와 모질라 웹 브라우저의 AJAX, XML 사용법을 자세히 분석하고 효율적인 방법을 찾느라 처음 예상보다 훨씬 많은 시간을 투자했습니다. 원고가 늦어지는 데도 원고를 독촉하기보다 원고를 자세히 읽고 실무 활용 예제를 더 늘려달라고 주문하는 등 보다 충실한 책이 될 수 있도록 애써주신 프리렉 출판사 관계자 분께 감사 드립니다.

그리고 AJAX를 처음 소개해주고 AJAX 관련 실무 프로젝트를 할 수 있도록 도와준 완철 선배와 책을 쓰는 내내 곁에서 틈틈이 원고를 읽고 의사결정에 도움을 준 아내에게 고마움을 전합니다.

이혁 (turnleft21@gmail.com)

--- 저자 서문

리뷰/한줄평5

리뷰

7.2 리뷰 총점

한줄평

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