Top

오픈 API를 활용한 매쉬업 가이드 [HTML과 자바스크립트로 손쉽게 만드는 AIR 애플리케이션]

  • 지은이오창훈
  • ISBN : 9788960770942
  • 33,000원
  • 2009년 08월 19일 펴냄
  • 페이퍼백 | 576쪽 | 188*250mm
  • 시리즈 : 웹 프로페셔널

책 소개

웹 생태계를 더욱 풍요롭게 해주는 매쉬업 애플리케이션. 블로그, 차트, 지도, 이미지, 동영상 API의 효과적인 활용법과 실용 예제를 배우고, API 사용자 인증, 파일 전송, 배포 등 웹 애플리케이션 개발 실전 팁을 익히는 국내 최초 오픈 API와 매쉬업 활용 가이드


[ 이 책에서 다루는 내용 ]

■ 네이버, 다음, 구글, 야후의 지도 API
■ 네이버, 다음, 플리커, 포토버킷의 이미지 API
■ 구글 차트 API, 유튜브 동영상 API
■ 블로그 API, Scribd API, 구글 번역 API
■ OAuth방식의 사용자 인증 방법, HTTP프로토콜
■ 어도비 AIR 보안 샌드박스, 파일 API, 배포, 내장 데이터베이스 SQLite


[ 이 책의 구성 ]

매쉬업을 하기 위해선 서비스와 UI기획, 객체 지향적 설계, 자유자재로 다룰 수 있는 스크립트 언어 등 여러 부분이 다양하게 요구된다. 이 책은 처음 매쉬업의 개념을 일러주어 다양한 사고와 기획을 할 수 있도록 한다. 그 다음 이해가 쉬운 HTML과 자바스크립트를 이용해 활용도와 확장성이 높은 Adobe AIR기반의 매쉬업 애플리케이션을 만들게 된다. 끝으로 여러 API를 매쉬업하면서 웹 프로젝트에서도 활용도가 높은 HTTP 프로토콜의 이해나 API의 사용자 인증, 암호화 같은 고급기술을 체계적으로 설명해줌으로써 궁극적으로 애플리케이션을 만드는 방법을 배울 수 있도록 단계적으로 구성되어 있다.

1부는 매쉬업을 위한 기초과정으로 매쉬업의 개념, 전망과 현황, 그리고 매쉬업을 하는 방법 등 매쉬업의 배경과 개념을 알아보고 간단하게 지도, 이미지 API를 활용해보고 간단한 애플리케이션을 만들면서 매쉬업의 탄탄한 기초를 다질 수 있도록 구성되어 있다.

1장 매쉬업이란?에서는 매쉬업의 의미와 시작된 배경, 매쉬업 현황 그리고 미래와 전망을 살펴보고 매쉬업할 때 꼭 알아야 할 주의사항을 소개한다. 이 외에 매쉬업의 전반적인 이해를 돕고자 오픈 API의 이해와 장점 그리고 책을 위한 필요한 사전 지식 및 준비 사항에 대해 알아본다.

2장 지도 API를 이용한 간단한 약도 만들기에서는 매쉬업에서 가장 많이 활용되는 네이버, 다음, 구글 야후 등 여러 지도API의 기본적인 이해와 사용방법을 알아보고, 간단한 지도를 만드는 것부터, 좌표 검색 방법, 마커 활용법 등을 알아보고 간단한 약도를 직접 만들면서 매쉬업 개발의 첫 걸음을 내딛게 된다.

3장 이미지 API 기초 이미지 검색기 만들기에서는 네이버, 다음, 플리커, 포토버킷 등의 이미지 검색API에 대해 알아보고 데이터를 활용해 다양한 API의 이미지 검색 애플리케이션을 만든다. 그리고 이미지 검색 API에서 사용되는 OAuth인증 방식도 다루면서 매쉬업의 기초를 다지게 된다.

2부는 매쉬업 응용코스로 3장에서 만든 이미지 검색기를 통합하면서 자바스크립트의 객체화에 대해 다루면서 시작하게 된다. 그리고 HTML기반의 Adobe AIR의 보안모델, 인증서, 패키징 방법, 배포 방법 등을 살펴보면서 Adobe AIR애플리케이션의 기초를 다진다. 또한 구글 API를 이용한 다양한 차트 생성 애플리케이션, 유튜브 API를 이용한 탐색기, API를 위한 사용자 인증방식을 이해하고 다루면서 Adobe AIR만의 여러 기능을 배우게 된다.
4장 이미지 API 응용 이미지 검색 플러그인 만들기에서는 이미지를 검색해 바로 편집기에서 활용할 수 있는 WIZWIG 웹 에디터 오픈에디터를 활용한 이미지 검색 플러그인을 구현하고 HTML페이지를 Adobe AIR 애플리케이션으로 탈바꿈하는 방법을 익히게 된다. Adobe AIR를 다루면서 Aptana IDE설치 방법과 사용법을 설명하고, AIR 보안 모델인 샌드박스에 대해 자세히 살펴보고, 샌드박스간 인터렉션 방법과 애플리케이션의 패키징부터 배포에 이르기까지 자세히 알아본다.

5장 구글 차트 API를 이용한 동적 차트 만들기에서는 구글 차트에 대해 분석하고 사용법을 익힌 다음 실무에서 자주 쓰이는 차트를 만드는 방법에 대해 살펴본다. 간단한 라인, 원형, 막대 차트부터 복잡한 버블차트, 복합 차트를 만들면서 차트 API의 원리와 데이터 인코딩 방법을 배우고 차트를 자동으로 만들어 주는 차트 생성 애플리케이션을 만든다.

6장 동영상 탐색기 만들기에서는 유튜브 API를 활용해 애플리케이션을 만들게 된다. 이 때 유튜브에서 제공하는 동영상 플레이어 API를 이용해 동영상 플레이어를 컨트롤하는 방법을 배우고, 기본 레이아웃의 기초적인 설계부터, 랜덤 재생이나 사이즈 조절 기능과 같은 서비스에는 없는 기능을 기획하고 구현을 하게 된다. 이 때 동영상 플레이리스트를 구현하면서 Adobe AIR에서 제공되는 SQLite 로컬데이터 베이스 사용방법을 익히고 , 유튜브에서 제공하는 Chromless 플레이어를 이용해 자기만의 동영상 플레이어를 만들면서 각종 테크닉들을 다룬다.

7장 사용자 인증방식의 구현과 이해에서는 플리커 사용자 인증방식, 미투데이 사용자 인증방식을 다루고 간단한 이미지 파일 업로드 애플리케이션을 만들어 본다. 이 때 HTTP Basic Authentication방식의 이해와 multipart/form-data 인코딩을 배우면서 HTTP프로토콜에 대해 체계적으로 배우게 된다. 그리고 웹캠을 활용한 매쉬업 애플리케이션을 만들면서 자바스크립트에서 액션스크립트의 라이브러리를 사용하는 방법을 익히고, 플래시와 자바스크립트가 공존하는 AIR 애플리케이션을 만들게 됨으로써 AIR와 플래시 그리고 자바스크립트의 관계에 대해 낱낱이 살펴보게 된다.

3부 실전 매쉬업 애플리케이션 만들기는 실전에 매쉬업을 적용하기 위한 방법을 배우는 과정으로, 그간 배운 API와 기술을 총 정리하고 집약해서 XML-RPC기반의 블로그 편집기를 만들게 된다. 실전인 만큼 Adobe AIR에서의 파일 객체를 다루는 방법이나 드래그 앤 드랍과 같은 고급기능을 원리부터 익히게 된다.

8장 블로그 편집기 만들기는 지금까지 다룬 모든 과정을 편집기의 기반으로 사용되는 오픈에디터의 플러그인을 만들면서 총정리하고 집약하게 된다. 블로그에 글을 작성하는 애플리케이션인 만큼 블로그 API로 사용되는 XML-RPC에 대해 자세히 살펴보고 단계적으로 블로그에 편집기능을 적용하면서 블로그 편집기의 기초 틀을 만든다. 그리고 편집기에 구글 지도를 넣을 수 있는 구글 지도 플러그인, Scribd API를 이용한 문서 뷰어 기능, 유튜브 동영상을 넣을 수 있는 유튜브 동영상 플러그인, 다국어도 편리하게 다룰 수 있는 구글 번역 플러그인 등 다양한 테크닉과 API를 총동원해 메타 블로그에 글을 작성하는 편집기 애플리케이션을 만든다. 또한 애플리케이션의 편의성을 위해 이미지 파일을 드래그해 넣으면 판별해서 파일이 자동으로 업로드되고 편집기에 파일을 판별해 용도별로 삽입되는 기능 등 Adobe AIR의 다양한 기능도 함께 다룬다.

부록 I 미투데이 알림이 만들기는 Adobe AIR의 시스템 트레이 아이콘을 활용하는 방법, 시스템 트레이에 툴팁을 띄우는 방법 등 알림기능 위해 구현하는 방법을 배우고 Adobe AIR에서 해상도를 컨트롤하는 방법, 애플리케이션 윈도우의 사용법 등 Adobe AIR만의 다양한 기술을 많이 다룬다.

부록 II Adobe AIR 도우미 유틸리티 소개에서는 Adobe AIR 애플리케이션을 만들 때 꼭 필요한 유틸리티를 소개한다. HTML기반의 Adobe AIR 애플리케이션을 효과적으로 디버깅할 수 있는 AIRIntrospector활용법과 애플리케이션의 소스 탐색을 도와주는 AIRSourceViewer 사용법, 그리고 AIR Update Framework 활용해 애플리케이션을 자동으로 업데이트 할 수 있는 방법, 마지막으로 Fiddler를 이용해 HTTP 패킷을 모니터링하는 방법까지 애플리케이션 개발에 없어서는 안될 가장 중요한 방법을 소개한다.


[ 이 책의 대상 ]

HTML과 자바스크립트 혹은 액션 스크립트를 다룰 줄 아는 사람이라면 누구든 쉽게 독자가 될 수 있으며, 매쉬업이나 Adobe AIR에 관심이 많은 독자라면 많은 기초부터 많은 기술을 탄탄하게 배울 수 있을 것이다. 특히 다음과 같은 사람들에게 많은 도움이 될 것이다.

■ 일반 웹 개발자, 웹 기획자
■ HTML을 다룰 줄 아는 개발자
■ 자바스크립트를 아는 개발자
■ 액션스크립트를 아는 개발자
■ 매쉬업에 관심이 많은 개발자
■ Adobe AIR 애플리케이션에 관심이 많은 개발자


[ 추천의 글 ]

근래에 들어 웹산업이 성숙해지는 가운데 새로운 아이디어를 찾기 위해 기업들은 자사의 데이터를 공개하고 있다. 프로슈머로서 서비스 이용자들의 왕성한 활동이 UGC라는 형태로 기업의 서비스에 기여하며, 기업의 컨텐츠를 활용해 또 다른 신규 컨텐츠로 재생산하는 선순환이 이뤄지고 있다. 따라서 기업이 모든 것을 제공하는 기존의 서비스 방식에서 기반 데이터와 도구를 제공하고 유저 또는 다른 기업을 통해 자신도 부가가치를 창출할 기회를 찾는 방향으로 변하고 있다.
『오픈 API를 활용한 매쉬업 가이드』는 정말 기다리던 책이다. 개인적으로 오픈API와 매쉬업이란 주제에 참여하고 있는 실무자로서 항상 많은 질문을 받곤 한다. ‘매쉬업이 뭐예요? 오픈API로 무얼 할 수 있죠?’ 그럴 때마다 차근차근 설명하곤 하지만 이런 갈증을 한번에 해결해줄 수는 가이드가 필요했다. 해외에서는 이미 오픈 API나 매쉬업에 대한 서적들이 많이 출간됐지만 그간 국내의 실정에 맞는 책은 없었다. 그러므로 이 책은 매쉬업을 통해 아이디어를 펼치고 싶은 기획자나 개발자들의 갖춰야 할 필독서라 할 수 있다.

오픈 API와 매쉬업을 기초부터 활용까지 알고 싶다면 이 책은 훌륭한 가이드가 될 것이다. WOW라고 탄성을 지르기에 충분히 멋진 책이다!

양주일 / NHN UIT 센터 센터장

매쉬업이라는 개념이 소개된 지 3년이 넘었지만 그 동안 국내에서는 매쉬업을 다루는 전문적인 서적이 없어 아쉬운 참에 오창훈님의 반가운 책을 만나게 되었습니다. 개방화의 물결을 타고 많은 웹사이트들이 경쟁적으로 자신들의 컨텐츠를 외부와 공유하기 시작했고 개발자들은 참여의 기회가 늘어나고 있습니다. 공개된 컨텐츠를 이용해 새로운 가치를 만들어 내는 것이 바로 매쉬업의 매력입니다.

이 책은 여러분의 아이디어가 새로운 가치를 만들어 내도록 도움을 주는 책이며 쓸만한 컨텐츠와 새로운 아이디어가 있지만 시작하는 방법을 모르는 개발자들을 도와 주는 도구입니다. 저자 오창훈 님은 국내의 다양한 인터넷 회사에서 제공하는 API비교 분석해 주고 다양한 경험을 가진 저자의 노하우를 흥미롭게 전해주고 있습니다.

불필요한 시간 낭비를 하지 마시고 여러분의 열정이 식기 전에 이 책을 통해 빨리 매쉬업의 재미를 느껴 보시기 바랍니다. 다양한 경로를 통해 아이디어가 넘치고 새로운 가치가 느껴지는 매쉬업을 만나보고 싶습니다.

정진호 / 야후 개발자 네트워크

네이버, 다음, 구글, 야후 등의 인터넷 서비스 사업자는 물론이고 최근에는 우체국 등 정부기관에서도 개발자들이 쉽게 응용할 수 있는 오픈 API 제공을 확대하고 있는 추세에서 매쉬업에 대한 책이 나온다는 소식을 듣고 너무 반가웠습니다. 매쉬업은 단순히 서로 다른
API를 섞기만 하는 것이 아니라 개발자들의 창의력과 상상력을 발휘하기 위해 이용할 수 있는 새로운 도구와 방법이라고 생각합니다.

이 책에서는 많이 쓰이는 지도 API를 비롯해서 다양한 영역의 API 사용 사례를 예제 위주로 따라해 보기 쉽도록 구성되어 있으면서 인증 등 매쉬업에 관한 여러 가지 관련 주제들을 골고루 잘 다루고 있습니다. 매쉬업에 관심은 있지만 막연한 감을 가지고 계신 분들께 적극 추천해 드리고 싶네요. 이 책을 통해서 부디 더욱 다양하고 창의적이고 재미있고 즐거운 매쉬업들이 많이 나와 주기를 기대합니다.

권순선 / NHN 부장, KLDP 설립 운영자

미투데이를 만드는 사람이라 세계적으로 큰 화제가 되고 있는 트위터와 한국의 미투데이를 비교해 달라는 질문을 많이 받고 있습니다. 그런 질문을 받을 때마다 저는 이건 단순히 두 서비스의 기능 비교 문제가 아니라는 설명으로 마무리 합니다.

약 50여명되는 트위터 본사 직원들은 모두 웹사이트와 플랫폼으로서의 서비스를 만들어가는 데만 집중하고, 다양한 부가 서비스나 아이폰 같은 부가 장비에서 트위터를 쓸 수 있는 애플리케이션을 만드는 건 모두 외부 회사들입니다. 이를 둘러싼 트위터 생태계는 계속 커나가고 있습니다. 즉, 트위터냐 미투데이냐의 비교문제가 아니라, 트위터와 그를 둘러싼 생태계와 미투데이 측 생태계의 문제인거죠. 페이스북과 트위터 이후의 매쉬업 애플리케이션은 더이상 특정 개발자들의 소일거리 산출물을 넘어서고 있습니다. 심지어 페이스북이나 트위터 API를 활용하는 응용 서비스를 주요 아이템으로 하는 회사들이 나오고, 그 응용을 통해서 수익을 만들어내고, 투자유치를 하는 상황입니다.

오창훈님의 매쉬업 가이드 발간 시점은 그래서 더욱 의미있다고 생각합니다. 이 책에서 설명하고 있는 내용들을 통해 단순한 토이 애플리케이션부터 시작해서, 수익을 만들어내는 매쉬업 애플리케이션이 나오고 그런 얘기들이 화제가 될때, 한국의 웹 생태계는 더욱 더 풍성해지리라 생각합니다.

박수만 / 미투데이

미투데이(http://me2day.net)라고 들어보셨나요? 미투데이는 150자 이내의 간단한 내용을 적을 수 있는 마이크로 블로그로써 미국에서 인기있는 트위터와 유사한 서비스입니다. 하지만 단순히 150자의 내용을 적는 것만으로는 재미가 없겠죠. 제가 종종 사용하는 기능은 핸드폰으로 사진을 찍어 미투데이에 간단한 메시지와 함께 업로드를 하는 것입니다. 통신사의 데이터 요금이 조금 신경쓰이긴 하지만 관심있는 대상을 핸드폰의 카메라로 바로 찍어 업로드를 하면 미투데이 친구(줄여서 미친이라고 합니다.)들이 즉각적으로 반응을 보여주는 재미에 즐겁게 이용하고 있습니다. 여기서 주목할만한 점은 제가 핸드폰으로 업로드한 사진이 미투데이가 아니라 플리커에 저장된다는 사실입니다. 추측해보건데 미투데이에서는 핸드폰에서 업로드한 사진은 플리커에 저장하고 메시지는 미투데이에 저장하는 것 같습니다.

그럼 어떤 방법으로 미투데이에서 플리커에 사진을 저장할까요? 그것은 바로 외부의 서비스 혹은 프로그램을 통해 사진을 저장할 수 있도록 플리커에서 오픈API를 제공하기 때문입니다. 오픈API는 네이버와 같은 회사에서 사용하는 API를 외부에 공개하여 외부의 사용자들이 손쉽게 내부의 자원을 활용할 수 있도록 해주는 인터페이스입니다. 플리커와 같은 해외 서비스뿐 아니라 국내에서도 네이버, 다음 등 대형 포털을 비롯하여 옥션 등 많은 곳에서 오픈API를 지원하고 있습니다. 이런 오픈API를 사용하면 모든 서비스를 직접 만들지 않고도 오픈API로 제공되는 기능을 마음껏 활용할 수 있습니다. 지도를 사용하거나 실시간 인기 검색어 정보를 얻어올 수도 있으며 블로그나 카페의 글을 검색할 수도 있습니다. 그리고 직접 블로그에 방문하지 않고도 글을 써서 블로그에 올릴 수도 있습니다.

그렇다면 미투데이는 왜 직접 사진을 저장하지 않고 플리커를 사용할까요? 이 질문에 대한 정확한 대답은 미투데이를 직접 만드신 분만이 답변을 해주실 수 있겠지만 제가 생각하기에는 1. 사진을 저장하는 것은 미투데이의 핵심 기능이 아니고 2. 빠른 시간 내에 사진을 저장할 수 있는 기능을 만들 수 있으며 3. 핸드폰으로 사진과 메시지를 올려 미친과 공유할 수 있는 즐거움을 제공하는 핵심 요소에 집중할 수 있기 때문이 아닌가 합니다. 그리고 이 세 가지 이유가 바로 오픈API를 이용하여 매쉬업을 하는 이유라고 생각합니다.

예를 들어 서울의 여의도에서 찍은 사진을 업로드 하면 지도상에서 여의도를 찾아볼 때 사진도 같이 찾아볼 수 있는 서비스를 만든다고 가정해봅시다. 1. 지도를 만드는 작업과 사진을 저장할 공간을 꾸리는 작업은 중요하지만 핵심 작업은 아닙니다. 게다가 지도와 사진 저장 공간을 만들기 위해 엄청난 규모의 투자도 필요합니다. 2. 또한 네이버에서 제공하는 지도 API를 사용하고 플리커의 오픈API를 사용하면 실제 지도와 사진 관리 도구를 만드는 것보다 빠른 시간내에 서비스를 만들 수 있습니다. 덤으로 오픈API를 사용하는 편이 훨씬 쉽습니다. 3. 그리고 정말 중요한 작업인 사진 정보와 지도상의 위치 정보를 결합하여 사용자들에게 새로운 즐거움을 주는 일에 집중할 수 있습니다.

중요한 가치를 만들기 위해 상대적으로 덜 중요한 요소까지 만드는 일과 이미 제공되는 오픈API를 활용하고 중요한 가치를 만드는 일에만 집중하는 것 중 어느 쪽이 더 나을지는 분명하다고 생각합니다.

하지만 이러한 오픈API와 매쉬업의 가치에도 불구하고 국내에서 제대로 된 매쉬업을 보기는 쉽지 않습니다. 여러 이유가 있겠지만 제가 생각하는 이유 중 한 가지는 바로 오픈API와 매쉬업을 시도할 때 길잡이가 될 만한 자료의 부족입니다. 오픈API를 제공하는 업체에서 튜토리얼 등 많은 자료를 제공하고 있지만 이것만으로는 충분하지 않습니다. 오픈API를 활용한 매쉬업을 만들 때 기존의 자료는 살펴보았지만 무엇을 어떻게 해야할지 여전히 고민하는 분들에게 이 책을 권하고 싶습니다.

이 책의 저자는 자바스크립트를 중심으로 오픈API를 설명하고 오픈API를 활용하여 바로 활용이 가능한 매쉬업을 만드는 과정을 보여줍니다. 또한 자바스크립트를 이용하여 매쉬업을 만들 때 항상 걸림돌이 되는 보안상의 한계를 근본적으로 극복할 수 있도록 Adobe AIR를 사용합니다. Adobe AIR는 Adobe사에서 제공하는 크로스 운영 체제 런타임으로 Flash로 만든 프로그램을 실행시킬 수 있을 뿐 아니라 간단한 수정을 통해 자바스크립트로 만든 프로그램도 실행시킬 수 있는 RIA를 위한 런타임입니다. AIR를 사용하므로써 자바스크립트의 한계를 극복하고 여러분이 만들고자 하는 매쉬업을 여러 오픈API를 사용하여 자유롭게 만들 수 있을 것입니다. 또한 책의 본문은 주로 자바스크립트로 구성되어 있지만 유능한 Flash 개발자이기도 한 저자는 Flash 개발자들을 위한 내용도 별도로 준비하고 있으니 이 책과 함께 참고한다면 많은 도움이 될 것이라고 생각합니다.

이 책이 오픈API와 이를 활용한 매쉬업에 관심있는 분들에게 좋은 길잡이가 될 수 있기를 기대합니다.

장정환 / NHN Ajax UI 랩장


[ 책에 실린 소스 코드 ]

예제로 사용된 소스 코드는 상단의 다운로드 버튼을 클릭하여 내려 받을 수 있으며, 매쉬업 커뮤니티인 매쉬업 애플리케이션을 만드는 사람들(http://cafe.naver.com/mashupapps)에서도 내려 받기가 가능하다. 그리고 커뮤니티에는 예제 외에도 도움이 될만한 자료들이 있으니 커뮤니티도 많이 참고하기 바란다.

저자/역자 소개

[ 저자 서문 ]

매쉬업을 처음 접하게 된 건 2007년 여름이었다. 매쉬업은 나에게 개발인생 8년 간 몇 번 느껴보지 못했던 재미있고 신선한 충격을 가져다 줬다. 오랜만에 느껴보는 신선함이어서 그런지 여운도 오래도록 남았다. 그 순간 분명 매쉬업이 포화상태에 이른 웹 생태계에 새로운 생명력과 전환점을 제시할 것이란 느낌이 들었기 때문이다.

웹이 실생활에 정착되기 전까지만 해도 웹 서비스는 독창적이고 차별화된 서비스로 많은 사용자를 끌어 모아 성공할 수 있었다. 회원 수와 웹 서비스의 수익이 비례되는 공식이 어느 정도 성립했기 때문이다. 그리고 그것이 가장 바람직하고 일반화된 웹 서비스의 성공 모델이었다. 물론 그 공식은 지금도 유효하다. 하지만 이젠 그런 비즈니스 모델을 만든다 해도 선점되어버린 서비스 장벽에 가로막혀 큰 성공을 거두기 힘든 것이 현실이다. 그런데 매쉬업은 이런 고정관념처럼 되어버린 공식을 뛰어 넘을 수 있도록 만든다. 매쉬업은 서비스 기반 위에 존재하는 수 많은 사용자를 기반으로 이루어지는 것이라 수요를 만들 필요가 없으며, 매쉬업 애플리케이션에 해당 서비스와 더불어 타 서비스를 공유하고, 융합하면서 질적, 양적으로 더 향상된 서비스를 제공하는 것이기에 충분히 선점된 장벽을 뚫고 나갈 수 있는 것이다.

웹은 매쉬업으로 인해 점점 더 빠르게 진화하고 있다.

매쉬업이 시작되면서 웹은 더 진화하기 위한 방법으로 그 동안 쌓아둔 수많은 정보와 서비스를 융합하기 시작했고 서로 유기적인 관계를 맺으며, 서비스 경쟁 구도에서 서로 상생해가며 발전해가는 방향으로 탈바꿈해가고 있다. 아직 국내의 경우 소수의 참여와 움직임이 보이지만, 이미 해외의 경우, 서비스와 서비스의 결합을 어떻게 해야 시너지를 낼 수 있을지, 어떤 서비스를 공유해야 사용자나, 타 서비스의 참여를 이끌어낼 수 있을지에 대한 고민을 하면서 트위터(twitter.com)나 페이스북(facebook.com)같은 웹 서비스를 만들어 큰 성공을 거두는 사례들이 늘어나고 있다.

한 걸음 더 나아가 매쉬업 서비스들을 위해 안정된 시스템을 구축하고 서비스들을 관리하는 투자를 늘리는 것이 해외의 추세다. 국내에도 이런 기운이 서서히 전달되는 분위기다. API의 출시도 늘고 있으며, 굳게 닫혀있던 정보들의 빗장이 풀리고 있다. 늦었다고 생각할 수도 있겠지만, 지금이라도 늦지 않았다. 매쉬업을 꼭 접해보고 다가올 미래에 대해 준비하기 바란다. 네트워크가 발달하면 발달 할수록 매쉬업이 더 영향력을 발휘하는 환경이 될 것이다.

2008년 매쉬업 책을 집필해야겠다는 각오를 하고 잘 다니던 직장을 그만두게 됐다. 많은 사람들에게 매쉬업을 알리고 싶었고, 잘못된 정보와 인식도 바로잡고 싶었다. 그리고 미력하겠지만 매쉬업에 대해 부족했던 정보와 자료에 밑바탕이 되었으면 하는 바람이었다. 책의 주된 내용은 1장에서 매쉬업에 대한 개념을 간단히 짚으면서 시작된다. 그리고 2장부터 지도, 이미지, 차트, 동영상등 다양한 API를 다루면서 매쉬업을 배우고 도전하게 된다. 서서히 고급화되는 단계로 진행되며, 7장부터는 매쉬업 초보 개발자들이 가장 어려워하는 관문인 사용자 인증과 관련된 부분, 인코딩과 관련된 부분 등을 상세히 다룬다. 끝으로 메타 블로그에 포스팅할 수 있는 편집기 애플리케이션을 만들고, 과정에서 드래그 앤 드랍이나 파일 객체 다루기 같은 고급 기능을 구현하면서 그 동안의 모든 과정을 정리하고 마침표를 찍게 된다.

책을 집필할 때 제일 많이 고민했던 부분이 독자가 가장 쉬운 언어로 가장 쉽게 매쉬업 애플리케이션을 구현할 수 있도록 하는 것이었다. 그 결과 책의 모든 예제는 HTML과 자바스크립트로 이루어지며, 부담 없이 매쉬업 애플리케이션을 구현할 수 있도록 Adobe AIR를 활용해 만들도록 했다. 따라서 책을 이해하는데 HTML과 자바스크립트만 알면 무리가 없을 것이며, 이와 더불어 자바스크립트를 이용한 예제지만 코드가 액션스크립트 문법과 비슷한 부분이 많기 때문에 자바스크립트를 모르더라도 액션스크립트에 대한 선 지식만 있어도 내용을 이해할 수 있을 것이다. 또한 Adobe AIR에 대해 상세한 설명이 뒷받침 되기 때문에 Adobe AIR에 대해 공부하려는 독자에게도 두루 두루 많은 부분에 대해 도움을 줄 것이라 생각한다.

책의 내용은 예제의 난이도가 점점 높아지는 방식이기 때문에, 독자가 초보라고 생각된다면, 각 장마다 정확한 마무리를 짓고 다음 장으로 넘어가는 방식으로 보는 것이 좋다 그리고 매쉬업은 많은 API를 다루기 때문에 HTTP프로토콜에 대해 많은 설명을 하게 된다. 그 부연 설명이 나올 때마다 잘 보고 이해한다면, 어떤 API든 다룰 수 있는 자신감을 얻게 될 것이다.


[ 저자 소개 ]

오창훈
2000년 웹마스터로 IT 업계에 발을 들여놓은 10년차 개발자다. 2008년 매쉬업 경진대회, 2009 다음-구글 위젯 경진대회에서 수상했으며, RIA관련 세미나와 컨퍼런스에서 발표를 하고, 꾸준히 블로그나 Adobe RIA 공식 사이트에 기술문서도 기고한다. gseshop에서 테크니컬리더로 프론트의 신기술 도입과 적용, 최적화 작업에 관여했으며, 지금은 nhn의 UIT센터에서 플래시/플렉스를 활용해 웹애플리케이션을 개발하고 있다. 온라인에서 lovedev라는 닉네임으로 활동하면서 lovedev.tistory.com 블로그도 운영하고, ACC(Adobe Community Champion)로도 열심히 활동 중이다. 살아 숨쉬는 웹 서비스를 만드는 것을 목표로 매쉬업이나, 오픈 소셜에 많은 관심을 두고 연구 중이다.

목차

목차
  • 01장 매쉬업, 시작해볼까?     
  •    1.1 매쉬업의 의미     
  •    1.2 매쉬업의 태동    
  •    1.3 국내외 매쉬업 현황    
  •    1.4 다양한 매쉬업 사례    
  •    1.5 매쉬업의 미래와 전망    
  •    1.6 매쉬업 체크리스트    
  •    1.7 오픈 API란?     
  •    1.7.1 오픈 API의 이점    
  •    1.7.2 오픈 API로 정보가 제공되지 않는다면?    
  •    1.8 매쉬업 기본기    
  •       1.8.1 Request와 Response의 이해     
  •       1.8.2REST    
  •       1.8.3 AJAX     
  •       1.8.4 JSON    
  •       1.8.5 자바스크립트     
  •       1.8.6 플래시와 플렉스     
  •       1.8.7 AIR     
  •       1.8.8 열정    
  •    1.9 매쉬업 개발환경 구성    
  •       1.9.1 Aptana IDE 설치하기     
  •       1.9.2 자바스크립트 프레임워크와 라이브러리 소개     
  • 02장 지도 API를 이용한  간단한 약도 만들기    
  •    2.1 네이버 지도 API     
  •       2.1.1 지도 만들기     
  •       2.1.2 주소로 좌표값 알아내기     
  •       2.1.3 지도 마커 만들기    
  •       2.1.4 지도에 설명 글 달기     
  •    2.2 각 서비스별 지도 API 비교와 분석     
  •       2.2.1 구글 지도 API의 특성    
  •       2.2.2 야후 지도 API의 특성     
  •       2.2.3 다음 지도 API의 특성     
  •    2.3 정리     
  • 03장 이미지 API 기초_이미지 검색기 만들기     
  •    3.1 네이버 이미지 검색 API     
  •       3.1.1 API 호출하기     
  •       3.1.2 이미지 검색기 만들기    
  •    3.2 다음 이미지 검색 API     
  •       3.2.1 API 호출하기     
  •       3.2.2 이미지 검색기 만들기     
  •    3.3 플리커 API    
  •       3.3.1 API 호출하기     
  •       3.3.2 이미지 검색기 만들기     
  •    3.4 포토버킷 API     
  •       3.4.1 OAuth 인증 방식의 이해    
  •       3.4.2 API 호출하기     
  •       3.4.3 이미지 검색기 만들기    
  •    3.5 정리     
  • 04장 이미지 API 응용_이미지 검색 플러그인 만들기     
  •    4.1 자바스크립트 객체화     
  •    4.2 통합 이미지 검색기 만들기     
  •    4.3 WYSIWYG 웹 에디터 플러그인 만들기    
  •       4.3.1 오픈에디터     
  •       4.3.2 이미지 통합 검색기를 플러그인으로 전환하기    
  •    4.4 HTML 페이지를 AIR 애플리케이션으로 전환하기     
  •       4.4.1 AIR 프로젝트    
  •       4.4.2 AIR 보안 모델    
  •       4.4.3 AIR 애플리케이션으로 전환하기    
  •       4.4.4 AIR 애플리케이션의 패키징과 배포     
  •    4.5 [도전 매쉬업] 플리커 API + 야후 지도 API    
  •    4.6 정리    
  •  
  • 05장 구글 차트 API를 이용한 동적 차트 만들기     
  •    5.1 라인 차트 만들기    
  •       5.1.1 라인 차트 API     
  •       5.1.2 간단한 라인 차트 만들기    
  •       5.1.3 라인 차트 꾸미기     
  •       5.1.4 순이익 대비 영업 달성률 차트 만들기     
  •    5.2 막대 차트 만들기     
  •       5.2.1 막대 차트 API     
  •       5.2.2 여러 종류의 막대 차트 만들기     
  •       5.2.3 수출입 실적 차트 만들기     
  •    5.3 원형 차트 만들기     
  •       5.3.1 원형 차트 API     
  •       5.3.2 학년별 비중 차트 만들기     
  •    5.4  버블 차트 만들기     
  •       5.4.1 버블 차트 API     
  •       5.4.2 프로젝트별 중요도/진행률 차트 만들기     
  •    5.5 복합 차트 만들기     
  •    5.6 차트 데이터와 차트 데이터 인코딩     
  •    5.7 [도전 매쉬업] 차트 생성기 만들기     
  •    5.8 정리     
  • 06장 동영상 탐색기 만들기     
  •    6.1 유튜브 동영상 검색 API     
  •       6.1.1 API 호출하기     
  •       6.1.2 동영상 탐색기 만들기     
  •       6.1.3 동영상 플레이어 컨트롤하기     
  •       6.1.4 그 밖의 API     
  •    6.2 [도전 매쉬업] 유튜브 미디어센터 만들기     
  •       6.2.1 기본 레이아웃 설계     
  •       6.2.2 유튜브 미디어센터 검색 영역 구현     
  •       6.2.3 SQLite를 활용한 플레이 리스트 구현     
  •       6.2.4 자동/랜덤 재생 기능 구현     
  •       6.2.5 미니 모드와 동영상 모드 구현     
  •       6.2.6 동영상 플레이어 만들기     
  •    6.3 정리     
  • 07장 사용자 인증 방식의 구현과 이해     
  •    7.1 사용자 인증 구현     
  •       7.1.1플리커 사용자 인증     
  •       7.1.2 미투데이 사용자 인증     
  •    7.2 [도전 매쉬업] 웹캠을 이용한 애플리케이션 웹캠포토 만들기     
  •       7.2.1 PC에 장착된 웹캠 연동하기     
  •       7.2.2 자바스크립트에서 액션스크립트 라이브러리 사용하기     
  •       7.2.3 파일 업로드를 위한 multipart/form-data 인코딩 구현     
  •       7.2.4 EncryptedLocalStore     
  •    7.3 정리
  •     
  • 08장 블로그 편집기 만들기     
  •    8.1 개요     
  •    8.2 블로그 API     
  •       8.2.1 XML-RPC용 자바스크립트 라이브러리 만들기     
  •       8.2.2 XML-RPC Request 만들기     
  •    8.3 블로그 편집기 만들기     
  •       8.3.1구글 지도 플러그인 만들기     
  •    8.4 파일 드래그앤드롭 기능을 이용한 파일 첨부 기능 구현     
  •    8.5 문서 뷰어 기능 구현     
  •       8.5.1 문서 파일 업로드하기     
  •       8.5.2 iPaper 문서 뷰어 만들기     
  •    8.6 유튜브 동영상 플러그인 만들기     
  •       8.6.1 JSONP     
  •       8.6.2 플러그인 만들기     
  •    8.7 구글 번역 플러그인 만들기     
  •       8.7.1 구글 언어 API     
  •       8.7.2 간단한 한/영 호환 번역기 만들기     
  •       8.7.3 번역 가능한 언어와 번역한 언어의 표현 가능 여부 감지하기     
  •       8.7.4 구글 브랜드 달기     
  •       8.7.5 여러 언어가 지원되는 간단한 번역 플러그인 만들기     
  •    8.8 플러그인 세트 만들기     
  •    8.9 정리     
  •    8.10 총정리  
  •    
  • 부록 A 미투데이 알림이 만들기     
  •    A.1 미투데이 API     
  •       A.1.1 사용자 친구 리스트 가져오기     
  •       A.1.2 포스트 리스트 가져오기     
  •       A.1.3 코멘트 리스트 가져오기     
  •       A.1.4 그 밖의 API     
  •    A.2 알림이 애플리케이션 만들기     
  •       A.2.1 감시 리스트 만들기     
  •       A.2.2 알림 기능 구현     
  •       A.3 시스템 트레이 기능 구현     
  •       A.3.1 트레이 아이콘과 메뉴 만들기     
  •       A.3.2 트레이에서 열리는 알림창 구현
  •     
  • 부록 B 어도비 AIR  도우미 유틸리티 소개     
  •    B.1 HTML 기반의 AIR 애플리케이션 소스 보기 구현     
  •    B.2 HTML 기반의 AIR 애플리케이션에서의 자바스크립트 디버깅     
  •    B.3 AIR 업데이트 프레임워크를 활용한 애플리케이션 자동 업데이트 기능 구현     

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

 1쇄 오류/오탈자 

[ p16 목차 중 05장 페이지 번호 ]
213 →223