책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788992939218
· 쪽수 : 824쪽
· 출판일 : 2009-08-27
책 소개
목차
1부 프로그래밍하지 않고 정보를 조합하기
1장 특정 매쉬업으로부터 배우기
매쉬업에서 패턴 찾아내기
하우징 맵
- 무엇이 조합되는가?
- 왜 구성요소들이 조합되는가? 풀어야 될 문제들은 어떤 것들이 있는가?
- 리믹스가 어디에서 이루어지는가?
- 이러한 요소들이 어떻게 조합되는가?
- 비교할 만한 매쉬업들
플리커 내의 구글 맵
- 무엇이 조합되는가?
- 왜 구성요소들이 조합되는가? 해결해야 할 문제는 어떤 것이 있는가?
- 어떻게 이런 요소들이 조합되는가?
- 비교할 만한 매쉬업들
라이브러리룩업 북마크릿
- 라이브러리룩업 북마크릿 설정하기
- 라이브러리룩업 북마크릿 실행시키기
- 어떻게 이 매쉬업이 동작하는가?
- 이 매쉬업을 어떻게 확장할 수 있는가?
- 비교할 만한 매쉬업들
다른 매쉬업들 찾아보기
요약
2장 웹사이트의 매쉬업 가능성 살펴보기
어떤 요소가 웹 사이트와 애플리케이션을 매쉬업 가능하도록 만드는가
- 웹사이트의 주요 요소를 확인하기
- 공개 API와 기존의 매쉬업
- Ajax 사용
- 스크립트를 임베딩할 수 있는가
- 브라우저 플러그인
- 웹사이트에서 데이터를 가져오거나 외부로 내보내기
- 사용자와 개발자 커뮤니티
- 모바일과 대안 인터페이스 그리고 웹사이트 스킨의 변경이 자유로운가
- 문서
- 웹사이트가 오픈소스 정책을 지원하는가
- 지적재산권, 재사용성, 그리고 크리에이티브 커먼즈
- 태깅, 피드, 그리고 웹로깅(블로깅)
웹사이트의 URL 언어
몇몇 매쉬업에 대해 간략하게 다시 보자
- 본질적으로 매쉬업이 용이한 플리커
- 플리커의 리소스
- 사용자와 사진
- 개별 사진과 연관된 데이터
- 태그
- 사용자의 저장소에서 사진을 일자별로 브라우징하기
- 세트
- 컬렉션
- 좋아하는 사진
- 사용자의 인기사진
- 연락처 목록
- 그룹
- 계정관리
- 플리커 브라우징하기
- 검색
- 위치정보가 태깅된 플리커 사진
- 플리커의 사진, 비디오 관리
- 최근 활동
- 메일링 인터페이스
- 블로그와 인터페이스하기
- RSS와 Atom 피드의 배포
- 무선을 통한 접근
- 서드파티 플리커 애플리케이션
- 크리에이티브 커먼즈 라이선스의 적용
- 카메라
URL템플릿과 임베딩 패턴에 의한 매쉬업
구글맵
- 구글맵의 URL 언어
- 구글맵의 KML 파일 보기
- 야후!파이프와 구글맵의 연결
- 구글맵의 URL언어를 이용한 기타 애플리케이션들
아마존
- 아마존 아이템
- 리스트
- 태그
- 주제별 분류
딜리셔스
스크린-스크레이핑과 봇
요약
3장 태깅과 포크소너미에 대한 이해
플리커에서의 태깅
- 플리커의 태그
- 태그가 실제로 어떻게 사용되는가
- 태그 생성하기
- 플리커에서 태그 문법
- 태그의 잠재적인 약점
- 플리커에서 단수형과 복수형의 태그
- 태깅 시스템의 해킹 : 위치정보 태깅과 머신 태그
- 플리커 태그를 사용하는 흥미로운 애플리케이션들
딜리셔스에서의 태깅
- 딜리셔스에서 태그를 추가하는 기법
- 대소문자 구분과 여러 단어로 이루어진 문장의 처리
- 보다 많은 정보 얻기
테크노라티 태그를 통해 콘텐트 수집하기
- 태그를 사용하여 테크노라티에서 검색하기
- 테크노라티는 어떻게 웹에서 태그를 찾아낼까
- 테크노라티 태그에 있어 단어의 어형변화와 언어상의 제약
태그를 사용하여 플리커와 딜리셔스를 매쉬업하기
태깅을 사용하는 기타 시스템
정규적인 분류 체계와 태그의 관계
요약
4장 피드, RSS, 그리고 Atom으로 작업하기
피드가 무엇이며 이것이 왜 중요한가?
RSS2.0
RSS1.0
Atom1.0
RSS2.0과 Atom1.0에 대한 확장기능
플리커의 피드
- 플리커 피드의 파라미터
- 플리커 피드에 대한 검토
- RSS와 Atom 외의 데이터 교환 포맷
다른 웹사이트의 피드
- 피드를 찾아내고 자동발견하기
- 블로그로부터의 피드
- 위키피디아 피드
- 구글과 야후! 뉴스
뉴스 수집기:플리커 피드를 다른 곳에서 보여주기
피드의 검증
GUI 툴을 사용하여 피드를 스크레이핑하기
피드를 피드버너와 리믹스하기
야후!파이프와 피드를 리믹스하기
- 야후!뉴스를 사용하는 첫 번째 파이프
- 구글 뉴스와 파이프를 리팩토링하기
- 위키뉴스와 뉴욕 타임즈: 피드 필터링하기
- 피드들을 함께 가져오기
요약
5장 블로그와 통합하기
블로그 통합 시나리오
플리커의 사진을 블로그로 전송하기
- 블로그와 통합되도록 플리커를 설정하기
- 플리커의 사진을 블로깅하기
- 어떻게 플리커와 블로그의 통합이 이루어지는가?
데스크톱 기반 블로깅 툴
피드와 블로깅의 조합을 통한 리블로깅
플락 : 블로그와 플리커를 함께 사용하기
RSD: 블로그 API의 인지성(discoverability)
링크백
초기단계의 위키 통합
요약
2부 API를 사용하여 단일 웹 애플리케이션을 리믹스하기
6장 플리커를 통해 웹서비스 API에 대해 배워보자
플리커 API 소개
- 이 XML 응답은 무엇을 의미하는가?
- XML 응답을 가지고 무엇을 할 수 있는가?
API 문서, 커뮤니티, 그리고 정책
- API의 사용약관
플리커 API 탐색기와 문서 사용하기
PHP에서 기본적인 플리커 API 메서드 호출하기
- HTTP 클라이언트
- HTTP에 대해 좀 더 자세히 알아보자
- XML 처리
- 사진을 표시하는 간단한 HTML을 생성하기
- 이 코드가 의미하는 것은 무엇인가?
플리커 API에 대해 전반적으로 알아보자
- flickr.reflection 메서드 사용하기
- PHP에서 플리커의 리플렉션 메서드 사용하기
요청과 응답의 포맷
플리커의 권한부여
- 왜 비밀번호를 전송하는 방식이 효과적이지 않은가
- 웹 애플리케이션에서의 권한부여
플리커 API 키트 사용하기
- PEAR::Flickr_API
- phpFlickr
- Phlickr
플리커 API의 한계
요약
7장 다른 웹 API에 대해 알아보자
XML-RPC
- 네트워크상에서는 어떤 일이 벌어지는가?
- HTTP 메시지의 분석과 구성에 와이어샤크와 컬 사용하기
- XML-RPC 트래픽을 파싱하기
SOAP
- WSDL과 SOAP을 사용하면 웹서비스 호출이 쉬워진다는 것은 희망사항이다
- geocoder.us
- 아마존 ECS
- SOAP을 통해서 플리커 API를 사용하기
특정 웹 API에 대해서 알아보자
- Programmableweb.com
- 유튜브
- GData와 블로거 API
- 블로거 API를 HTTP 메서드에 기반한 표준 인터페이스로 사용하기
요약
8장 Ajax/자바스크립트 위젯과 위젯 API에 대해 배워보자
어떤 것을 알아야 하는가
Ajax는 어떤 차이점을 만들어 내는가?
파이어버그, DOM 인스펙터, 그리고 자바스크립트 쉘에 대해서 알아보자
- DOM 인스펙터 사용하기
- 파이어폭스에서 파이어버그 확장모듈 사용하기
- 자바스크립트 쉘 사용하기
자바스크립트 라이브러리 사용하기
YUI 위젯
- YUI 캘린더 사용하기
- YUI를 여러분의 서버호스트에 설치하기
구글 맵에 대해 알아보자
자바스크립트에서 플리커에 접근하기
그리즈멍키를 사용하여 뉴욕 타임즈가 제공하는 퍼머링크에 접근하기
자바스크립트와 Ajax에 대해 좀 더 알아보기
요약
3부 매쉬업 작성하기
9장 API와 리믹스에 사용되는 요소에 대한 내용에서 매쉬업 관련 내용까지 알아보기
ProgrammableWeb에 대한 소개
- ProgrammableWeb에서 사용자가 생성한 데이터
- 매쉬업 관련 디렉토리 서비스가 유지될 수 있을까?
- 전반적인 매쉬업 현황에 대해 알아보기
- 매쉬업 디렉토리
- 매쉬업을 추적하기 위해 피드 사용하기
- 매쉬업을 설명하기 위한 태그의 사용
- API 와 매쉬업 버티컬
특정 매쉬업 프로필에 대해 알아보기
특정 API를 사용하는 매쉬업 찾아내기
매쉬업을 사용하여 해결할 수 있는 문제
- 관심있는 책 추적하기
- 언제 항공기 티켓을 구매해야 하는지 알아보기
- 꿈에 그리던 집 찾기
- 최신뉴스 맵핑하기
요약
10장 다양한 서비스로부터 매쉬업 생성하기
설계
배경지식: 플리커에서의 위치정보 태깅
배경지식: XMLHttpRequest와 라이브러리 포함하기
- XMLHttpRequest를 직접 사용하기
- 야후 커넥션 매니저 사용하기
서버 측 프록시 작성하기
- XHR을 사용하여 직접 API를 호출하면 어떤 일이 발생할까?
- 위치정보가 포함된 사진을 가져오는 서버 측 스크립트 작성하기
간단한 클라이언트 측 프레임워크 생성하기
- 엘리먼트를 읽고 작성하기
- 간단한 이벤트를 입력 폼과 연결하고 폼 전송의 결과를 화면에 표시하기
클라이언트 측 프레임워크를 플리커에 연결하기
- flickrgeo.php에 쿼리하는 URL 작성하기
- JSON 형태의 데이터를 읽기 위해 YUI 커넥션 매니저를 통해 XHR 사용하기
- JSON을 HTML로 변환하기
플리커와 구글 맵 API를 매쉬업하기
- 기본 구글 맵 설정하기
- 표시되는 영역이 변경될 때 지도가 반응하도록 설정하기
- 플리커와 구글 맵의 코드 합치기
- 구글 맵의 지도 표시 영역을 연결하기
- 사진들을 지도상에 표시하기
플리커 사진을 표시해주는 구글 맵플릿
요약
11장 툴을 사용하여 매쉬업 생성하기
매쉬업 툴이 해결해주는 문제
이번 장에서 개발할 것은 무엇인가
매쉬업의 생성 : 단계별로 예제를 개발해보자
- 구글 매쉬업 에디터에 익숙해지기
- 피드를 읽고 화면에 표시하기(심플 템플릿)
- 사용자 정의 템플릿 사용하기
- 플리커 접근 시 야후! 파이프 사용하기
-
- 매쉬업에 자바스크립트 추가하기
- 어떻게 피드를 영속화하고 탭을 사용할 것인가
- 저장된 항목을 지도상에 표시하는 최종 애플리케이션
구글 매쉬업 에디터와 야후! 파이프의 사용에 따르는 트레이드-오프 분석
기타 매쉬업 툴
요약
12장 사이트를 매쉬업 가능하도록 만들기
왜 웹사이트를 매쉬업 가능하도록 만들어야 하는가
API에 의존하지 않는 기술 사용하기
- 일관성 있고 풍부한 URL 언어를 사용하라
- 웹사이트 개발에 W3C 표준을 사용하라
- 웹 접근성에 주의를 기울여라
- 사용자들이 콘텐츠에 태그를 추가할 수 있도록 고려하라
- 피드를 제공하라.
- 여러분의 콘텐츠를 블로그와 다른 웹사이트에 쉽게 게시할 수 있도록 하라
- 명확한 라이센스를 표시하여 콘텐츠의 공유를 장려하라
- 사용자 콘텐츠에 대해 다양한 불러오기, 내보내기 옵션을 개발하라
- 사용자들이 여러분의 콘텐츠를 어떻게 리믹스하고 리믹스하기 쉽게 만드는지 연구하라
매쉬업이 용이한 API 만들기
- 다른 API로부터 배우고 모방하라.
- API의 사용자를 잊지 말라
- 배우기 쉬운 API를 개발하라
- API의 사용성을 테스트하라
- 느슨하게 결합된 아키텍처를 구성하여 API의 생성이 다른 사용자에게 도움이 되는 만큼 여러분에게도 도움이 되도록 하라
- REST 방식을 채택하고 가능하다면 SOAP와 XML-RPC도 지원하라
- REST의 특정 예로서 Atom 출판 프로토콜 사용을 고려해보라
- 서드파티 개발자나 내부 개발자의 API 키트 개발을 장려하라
- API에서 광범위한 에러 리포팅을 지원하라
- 출력과 입력을 위해 여러 가지 입출력 형식을 지원하라
- UI에서 제공되는 기능을 API에서도 지원하라
- 여러분의 사이트를 위한 검색기능을 포함시켜라
- API의 버전을 관리하라
- 개발자 커뮤니티를 육성하라
- API를 너무 통제하려 들지 마라
- 서비스 레벨 보증서의 생성을 고려하라
- API 사용자가 여러분의 리소스를 현명하게 사용하도록 도와라
- 여러분의 애플리케이션을 오픈소스화하는 것에 대해 고민하라
쉽게 이해할 수 있는 데이터 표준
요약
4부 다른 매쉬업 관련 주제에 대해 알아보자
13장 온라인 지도와 3D 디지털 세계를 리믹스하기
온라인 지도 서비스의 범람
지도 기반 매쉬업 예제들
프로그래밍 없이 지도를 생성하기
- Mapbuilder.net
- 구글 My Maps
- 매쉬업 기회 : 야후! 로컬 컬렉션을 지도 서비스와 매쉬업하기
- 야후! 로컬의 XML 파일을 Mapbuilder.net에서 사용 가능한 CSV 포맷으로 변환하기
- 마이크로소프트 라이브 서치 맵에서의 컬렉션 생성
- 프로그래밍하지 않고 지도를 생성하는 방법
데이터 교환 포맷
- CSV
- HTML에서 사용되는 마이크로포맷과 메타태그
- GeoRSS
- 야후!의 GeoRSS 사용과 YMaps 확장기능
- KML
- GeoRSS와 KML과 같은 포맷들 사이의 호환성
API 프로그래밍으로 지도 생성하기
- 구글 맵 API
- 야후! 맵 API
- 마이크로소프트의 라이브 서치 맵/버추얼 어스
주소와 좌표 간의 변환
- 야후! 맵
- Geocoder.us
- 구글 Geocoder
- 버추얼 어스
- 미국 내 주소가 아닌 경우의 주소-좌표변환
구글 어스와 KML
- 최종 사용자로서 KML을 화면에 표시하고 다루기
- KML
- COM과 애플스크립트를 사용하여 구글 어스 프로그래밍하기
맵스트랙션과 오픈레이어즈
통합 예제: 플리커 사진을 구글 어스에서 보여주기
- KML 네트워크링크
- 사진을 표시하는 KML 생성하기
- flickrgeo.php 코드
요약
14장 소셜 북마킹과 도서목록 시스템에 대한 탐구
소셜 북마킹 사이트의 시장현황
- Programmableweb.com을 사용하여 API의 인기도를 알아보기
딜리셔스
- 딜리셔스 API 사용하기
- 딜리셔스를 위한 서드파티 툴
- 서드파티 API 키트
야후! 북마크와 마이웹
캐노티
플리커와 딜리셔스의 매쉬업
요약
15장 온라인 캘린더와 이벤트 수집기
구글 캘린더
- 최종 사용자로서 구글 캘린더 설정하기
- 구글 캘린더가 제공하는 피드 포맷에 대해 알아보자
- GData 기반의 캘린터 API를 직접 사용하기
- 구글 캘린더용 PHP API 키트 사용하기
- 구글 캘린더용 파이썬 API 키트 사용하기
30boxes.com
- 최종 사용자 튜토리얼
- 30boxes.com의 API
이벤트 수집기
- Upcoming.yahoo.com
- Eventful.com
iCalendar로 프로그래밍하기
- 파이썬과 iCalendar
- PHP와 iCalendar
이벤트 캘린더를 iCalendar와 구글 캘린더로 내보내기
- 소스 : UC 버클리 이벤트 캘린더
- 파이썬을 사용하여 '비평가의 선택'에서 iCalendar 피드 생성하기
- 구글 캘린더에 이벤트 추가하기
요약
16장 온라인 스토리지 서비스 사용하기
아마존 S3에 대한 소개
S3를 사용하는 근본적인 이유
아마존 S3의 개념적인 구조
파이어폭스 S3 확장기능을 사용하여 S3 시작하기
S3의 REST 인터페이스 사용하기
- REST 인터페이스를 사용하여 버킷 목록 가져오기
S3의 SOAP 인터페이스 사용하기
아마존의 S3 API 키트
- PHP
- 파이썬
요약
17장 데스크톱과 웹 기반 오피스 스위트 매쉬업하기
오피스 스위트의 매쉬업 시나리오
문서 마크업의 세계
OpenDocument 포맷
- 기본적인 ODF 태그에 대해 배워보자
- ODF 요소에 어떠한 서식도 적용하지 않은 ODF 텍스트 문서 생성하기
- 문단의 텍스트를 text-body로 설정하기
- 정렬된 목록과 정렬되지 않은 목록을 구분하기 위해 포맷팅하기
-
ODF를 다루는 API 키트
- Odfpy
- OpenDocumentPHP
- 오픈오피스를 사용하여 ODF 생성하기
ECMA 표준인 Office Open XML(OOXML)
- OOXML 뷰어와 검증기
ODF와 OOXML의 비교
온라인 오피스 스위트
- 프로그래밍 가능한 온라인 스프레드시트의 사용 시나리오
구글 스프레드시트 API
- 파이썬 API 키트
- 아마존 위시리스트와 구글 스프레드시트의 매쉬업
- 구글 스프레드시트용 젠드 PHP API 키트
- 마지막 변경: COM을 이용하여 아마존 위시리스트를 마이크로소프트 엑셀로 전달하기
조호 API
요약
18장 포함 가능한 데이터 포맷으로 마이크로포맷과 RDFa 사용하기
Operator를 사용하여 마이크로포맷에 대해 학습하기
- adr(Addresses)
- hCard(Contacts)
- hCalendar(Events)
- geo(Locations)
- tag(Tagspaces)
마이크로포맷에 대한 정의와 설계목표
마이크로포맷 디자인 패턴
- rel-design-pattern
- class-design-pattern
- abbr-design-pattern
- include-pattern
마이크로포맷 예제
- rel-license
- rel-tag
- xfn
- xFolk
- geo
- hCard와 adr
- hCalendar
- 다른 마이크로포맷들
실전에서의 마이크로포맷
마이크로포맷으로 프로그래밍하기
- 특정 언어용 라이브러리
Operator 스크립트 작성하기
- 튜토리얼 스크립트에 대한 이해
- 주소-좌표 변환 스크립트 작성하기
마이크로포맷을 보완해줄 RDFa
향후의 연구에 참고할 만한 문서
요약
19장 검색 통합하기
구글 Ajax 검색
- 검색결과 다루기
야후! 검색
- 야후! 이미지
마이크로소프트 Live.com 검색
OpenSearch
구글 데스크톱 HTTP/XML 게이트웨이
요약
특별부록 1 아이폰 매쉬업 사이트 만들기
OpenAPI를 이용하여 지도 매쉬업 서비스 만들기
OpenAPI로 작업하기
- 네이버 오픈API 키 발급받기
- 야후 거기 오픈API 이용하기
- 구글 오픈API 이용하기
Rails Project 시작하기
Rails의 MVC
본격적인 Mashupmap 지도 서비스 만들기
특별부록 2 트위터 기반 매쉬업 개발하기
트위터란?
트위터 기반 매쉬업(트윗봇)
사용 API 소개
구글 앱 엔진 개발 환경
예제 코드 작성
맺음말