九天社の跡地です…
2001.8.29-2008.6.10


MASHUP++

 表紙

マッシュアップの最新系!!

[Flicker API]+[Yahoo! Weather]
  → 世界各地の天気を顔写真で可視化する。
[Google Maps API]
  → スムーズな操作、快適な遷移でGoole Mapsを実装する。
[Amazon]+[Yahoo! 検索]+[はてなRSS]
  → ウィンドウショッピングを実装する。
[bk1ウィークリーランキング]+[Amazon]
  → 同種のサービスをマッシュアップする。

既存のサービスを組み合わせて、
ユニークなサービスを作りだす。


※在庫があれば上記サイトで
 入手できます。

[著]さうなまん / 鹿倉公維 / 三宅涼 / 澤久裕昭 /
   原央樹 / タナカミノル / セトウナオ / 宮下剛輔
[監]

[価格]3,360 円(税込)
[判型]B5変型/288頁
[初版]2007/04/03 
[ISBN]978-4-86167-165-4

 本書について

MASHUP(マッシュアップ)
 −さまざまなWebサービスを組み合わせて新しいカタチでアウトプットする−

 この手法を使えば、少々のやる気と根気があれば、誰でも“何か”を作ることができます。最大の魅力はその手軽さにあります。

 マッシュアップの難しさもそこにあるといえます。確かに、手軽にカタチにすることはできるでしよう。しかし、単にアウトプットを変えただけでは本家を超えるのは難しいです。何を、どう作ったらおもしろいものになるだろうか? 自分らしさをどう盛り込んでいけばいいか? はじまりが手軽な分、あとは発想やちょっとした工夫にかかってきます。

 本書では8人の著者によるマッシュアップサンプルを取り上げ、その制作工程を解説しています。使用するWebサービスが同じでもアウトプットはさまざまです。こんなことができるんだ、と感じていただくだけでもかまいません。本書を通して、既存のWebサービスを組み合わせて唯一の(ユニークな)Webサービスを作る、その発想や直感のもとを少しでも感じていただければと思います。
 また、プラガブルなフレームワークとして注目のPlaggerやI/OモジュールGainerを使ったサンプルも紹介しています。既存のマッシュアップを超える可能性が、そこにはあると考えています。

 みなさんの今後の作品作りに、少しでも役立つことができれば幸いです。

2007年3月

 目次

01 World Face Weather

●アイデア
・マッシュアップの素材
・天気を顔写真で表す

●設計
・開発環境
・プログラムの構成

●実装
     世界各都市の最新の天気を提供するYahoo! Weather
・Location IDの取得
・Condition Codeの取得
・取得したCondition Codeを感情に置き換える
・国名と感情を検索キーワードにFlickr APlを叩く
・取得した写真を各国別に一覧表示
     [COLUMN]smarty使用の理由と役割

02 Bloogle

●アイデア
・プログの横断検索

●設計
・プログラムの全体像と流れ
・開発環境
・プログラムの構成

●実装
・開発の手順
・REST形式のAPlを調査
     URLパラメータの理解
     検索結果の内容が異なる問題
・REST形式のURLを作成するゲートウェイ
・リクエストの発行と受信データの整形
・Bloogleの検索の流れ

03 RedMaps

●アイデア
・誰でも投稿できる情報サイト
・操作のスムーズさ、遷移の快適さ

●実装
・Flash画面とMap画面の切り替え
・地図をダイレクトにマーキング
・住所から検索する
     ダイアログを出す理由
     住所から緯度
・経度を取得する
・Flashのバグの回避

04 photoWords

●アイデア
・既存サービスの見せ方をアレンジ

●設計
・プログラムの流れ
・インターフェイス

●実装
・はてなWebサービスの利用
     getSimilarWordメソッド
     _getRSSメソッド
・HTML_AJAXによる通信
     PHPのクラスをHTML_AJAXに取り込む
     コールバックメソッドの定義
・LightboxJSによる写真表示
     初期設定
     写真の表示
     [COLUMN]photoWordsの設置

05 MT Affiliate

●アイデア
・コンテンツ連動をどう実現するか

●設計
・インターフェイス
・MT Affiliateの動作
     HTMLの準備

●実装
・PHPの処理
     キーワードの抽出
     商品の検索
・JavaScriptの処理
     hatenaapi.phpとの通信
     amazonecsapi.phpとの通信
     [COLUMN]MT Affiliateの設置

06 THE BOOK TEN

●アイデア
・同種のサービスを組み合わせる

●設計
・インターフェイス
・THE BOOK TENの動作

●実装
・サーバサイドの処理
     ランキング情報の取得-Ranking::getRanking()
     書籍情報の取得-Book::getItemAttributes()
     Google検索-BookRank::searchByGoogle()
・クライアントサイドの処理
     function.js
     Ranking.class.js
     Book.class.js
     [COLUMN]THE BOOK TENの設置

07 amazwalk

●アイデア
・目的のない楽しむインターフェイス
     ウインドウショッピング
・サービスの輪郭をはっきりと

●設計
・検索のデザインイメージ
・具体的なデザインへの落とし込み
・重みのつけ方

●実装
・パーツ分け
・キーワードから商品を探す
     商品情報を探すためのプロセス
     [COLUMN]ASINとISBN
     テスト用のViewを作成
     クラス構造
     「キーワード」+「amazon」でWeb検索をする
     AmazonのXSLT機能を使う
     BookShelfManagerの流れ
・商品情報から評判(キーワード)を取得する
     評価の仕方
     テスト用のViewを作成
     クラス構造
     商品の記事が書かれているサイトを探す
     形態素解析
     [COLUMN]形態素解析のソフト
     評価の精度をあげる工夫
     評価の可視化

08 BlogBattler

●アイデア
・ゲームを作ろう
・ターゲットと遊び方
・ブログにある情報
     URLを利用する
     書き込んだ内容のキーワードを利用
・エフェクト

●設計
・ゲーム世代
     ドット絵
・プログパーツ
・戦闘画面
・実際のデザインへの落とし込み

●実装
・ブログの解析
・画像検索
     [COLUMN]ブログバトラー

09 Gainer

●Gainerを使う
・Gainerの準備
     [COLUMN]I/Oモジュールとは
     [COLUMN]Mac OSXでserial_proxyがうまく起動しない
・Gainerの基礎
     動かない回路
     電子回路を学ぶ
・GainerをFlashで制御する
     LEDの点灯回路
     [COLUMN]シンク電流
     LEDの明るさ調整

●GainerでQ−STEERを操作する
・赤外線コントローラをGainerで制御する
     Q−STEERの赤外線コントローラを制御する回路
     回路の組み立て
     Flashファイルの作成

●Gainerを使ってハムスター観察
・Gainerで何ができるか
・距離をどう測るか
・センサーを組み立てる
     センサーをちょっとだけ改造
・Gainerに接続してFlashで取得
     [COLUMN]電気の流れと抵抗
     スクリプトと動作確認
・ハムスターの小屋への取り付け
・見かけを変える
     [COLUMN]Gainer開発者に聞く!

10 Plagger

●Plaggerをはじめるまえに
・Plaggerとは
     Plaggerでできること
・Plaggerのインストール
     Plaggerに必要なPerlモジュールのインストール
     Plagger trunk版のインストール
・Plaggerの実行
     [COLUMN]YAMLとは

●Plaggerプラグイン開発の基礎知識
・Plagger::FeedとPlagger::Entry
・プラグインによるフィードデータの処理
     フィードデータの入力処理
     フィードデータの加工や出力処理
・プラグインの種類と用途
     各プラグインの関係
     プラグインの実行フックフェーズ
     プラグインの実行順序

●Plaggerプラグイン解体
・全プラグイン共通
・Subscription系プラグイン
・CustomFeed系プラグイン
     CustomFeed::POP3
     CustomFeed::Simple
・Filter系プラグイン
・Widget系プラグイン
・Publish系プラグイン
     Publish::Feed
     Publish::JavaScript
・Notify系プラグイン
・ドキュメント
・テストスクリプト
     テストスクリプトの書き方
     テストの実行
・プラグイン開発の進め方

11 Webサービスリファレンス

●Flick APl
・概要
・主なメソッド

●Yahoo! Weather RSS feed
・概要

●Google Maps API
・概要
・Google Maps APIのクラス

●はてなウェブサービス
・概要
・はてなキーワードAPI
・はてなダイアリーキーワード自動リンクAPI
・はてなダイアリーキーワード連想語API

●Amazon Web Services (AWS)
・概要
・Amazon E-Commerce Service (Amazon ECS)

●Yahoo! Webサービス
・概要
・Yahoo! 検索サービス
 ダウンロード

01 World Face Weather  
 sample http://vgzh.dtdns.net/wfw/
Download http://vgzh.dtdns.net/wfw/wfw.zip
02 Bloogle  
 sample http://vgzh.dtdns.net/bloogle/
Download http://vgzh.dtdns.net/bloogle/bloogle.zip
03 RedMaps  
 sample http://neetranger.com/MapsSec/
Download http://www.9-ten.com/bookdata/1654/RedMap.zip
04 photoWords  
 sample http://www.catwalk.co.jp/mashup/
Download http://www.9-ten.com/bookdata/1654/photowords.zip
05 MT Affiliate  
 sample http://www.catwalk.co.jp/mashup/
Download http://www.9-ten.com/bookdata/1654/mtaffiliate.zip
06 THE BOOK TEN  
 sample http://www.catwalk.co.jp/mashup/
Download http://www.9-ten.com/bookdata/1654/thebookten.zip
07 amazwalk  
 sample http://amazwalk.com/mashup/
Download http://amazwalk.com/mashup/amazwalk.zip
08 BlogBattler  
 sample http://blogbattler.com/mashup/
Download http://blogbattler.com/mashup/blogbattler.zip
09 Gainer  
 Download http://www.9-ten.com/bookdata/1654/gainer.zip
http://www.9-ten.com/bookdata/1654/hamu.zip
10 Plagger  
 参考URL ★まるごとPerl(インプレスコミュニケーションズ)
―Plagger:RSS/Atom remixing Platform
http://home.impress.co.jp/reference/2289.htm
★Software Design 2006年10月号(技術評論社)
―特別企画 俺流Plagger活用術―Plagger3分Hacking
http://d.hatena.ne.jp/software_design/20060915
★日経ソフトウェア 2006年11月号(日経BP出版センター)
―簡単実装で学ぶWeb技術2006 第5回
http://software.nikkeibp.co.jp/software/backno/2006/0611indexc.html
★Rubyist Magazine
http://jp.rubyist.net/magazine/