Enviar búsqueda
Cargar
How to build 1 hour mashup site
•
2 recomendaciones
•
2,089 vistas
Yuichiro MASUI
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 145
Descargar ahora
Descargar para leer sin conexión
Recomendados
20140327 Event Salon 2014
20140327 Event Salon 2014
Taichi Furuhashi
20141117 調布市役所講演会
20141117 調布市役所講演会
Taichi Furuhashi
20130526 event fes2013
20130526 event fes2013
Taichi Furuhashi
20140820 マッピングパーティーを通したオープンデータづくりと人材育成
20140820 マッピングパーティーを通したオープンデータづくりと人材育成
Taichi Furuhashi
大判OSM紙地図Webサービスのプロトタイプをつくりり始めてみた
大判OSM紙地図Webサービスのプロトタイプをつくりり始めてみた
Keisuke Nakao
D3.jsで日本地図を描いてみた
D3.jsで日本地図を描いてみた
mapquestIwasaki
Ikoma mapping party 051714
Ikoma mapping party 051714
Yuichiro Nishimura
20140220 地図がつなぐ人と人~まちづくりにおける地図の役割~
20140220 地図がつなぐ人と人~まちづくりにおける地図の役割~
Taichi Furuhashi
Recomendados
20140327 Event Salon 2014
20140327 Event Salon 2014
Taichi Furuhashi
20141117 調布市役所講演会
20141117 調布市役所講演会
Taichi Furuhashi
20130526 event fes2013
20130526 event fes2013
Taichi Furuhashi
20140820 マッピングパーティーを通したオープンデータづくりと人材育成
20140820 マッピングパーティーを通したオープンデータづくりと人材育成
Taichi Furuhashi
大判OSM紙地図Webサービスのプロトタイプをつくりり始めてみた
大判OSM紙地図Webサービスのプロトタイプをつくりり始めてみた
Keisuke Nakao
D3.jsで日本地図を描いてみた
D3.jsで日本地図を描いてみた
mapquestIwasaki
Ikoma mapping party 051714
Ikoma mapping party 051714
Yuichiro Nishimura
20140220 地図がつなぐ人と人~まちづくりにおける地図の役割~
20140220 地図がつなぐ人と人~まちづくりにおける地図の役割~
Taichi Furuhashi
AIR+Blaze+Ruby
AIR+Blaze+Ruby
Yuichiro MASUI
マッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocail
Yuichiro MASUI
OSC2007-niigata - mashup
OSC2007-niigata - mashup
Yuichiro MASUI
Rails 1H
Rails 1H
Yuichiro MASUI
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
Yuichiro MASUI
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
Yuichiro MASUI
Railsチュートリアル
Railsチュートリアル
Yuichiro MASUI
InstantRails how to
InstantRails how to
Yuichiro MASUI
Rubyの基礎
Rubyの基礎
Yuichiro MASUI
PukiWiki
PukiWiki
Yuichiro MASUI
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
Masuidrive Working Style
Masuidrive Working Style
Yuichiro MASUI
Ruby de Rails
Ruby de Rails
Yuichiro MASUI
Furo Grammer
Furo Grammer
Yuichiro MASUI
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Más contenido relacionado
Más de Yuichiro MASUI
AIR+Blaze+Ruby
AIR+Blaze+Ruby
Yuichiro MASUI
マッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocail
Yuichiro MASUI
OSC2007-niigata - mashup
OSC2007-niigata - mashup
Yuichiro MASUI
Rails 1H
Rails 1H
Yuichiro MASUI
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
Yuichiro MASUI
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
Yuichiro MASUI
Railsチュートリアル
Railsチュートリアル
Yuichiro MASUI
InstantRails how to
InstantRails how to
Yuichiro MASUI
Rubyの基礎
Rubyの基礎
Yuichiro MASUI
PukiWiki
PukiWiki
Yuichiro MASUI
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
Masuidrive Working Style
Masuidrive Working Style
Yuichiro MASUI
Ruby de Rails
Ruby de Rails
Yuichiro MASUI
Furo Grammer
Furo Grammer
Yuichiro MASUI
Más de Yuichiro MASUI
(14)
AIR+Blaze+Ruby
AIR+Blaze+Ruby
マッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocail
OSC2007-niigata - mashup
OSC2007-niigata - mashup
Rails 1H
Rails 1H
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
Railsチュートリアル
Railsチュートリアル
InstantRails how to
InstantRails how to
Rubyの基礎
Rubyの基礎
PukiWiki
PukiWiki
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Masuidrive Working Style
Masuidrive Working Style
Ruby de Rails
Ruby de Rails
Furo Grammer
Furo Grammer
Último
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Último
(9)
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
How to build 1 hour mashup site
1.
1時間で作る マッシュアップ 株式会社ワイズノット 増井 雄一郎
2.
3.
↓Macbook pro
4.
↓Macbook pro Not 防水
5.
1時間以上かけてたら ゆだっちゃう
6.
Rails使ったことある人
7.
自分でMashup したことある人
8.
サイトなんかも 公開しちゃってる人
9.
Mashup マッシュアップ
10.
音楽用語
11.
Remixとの違い
12.
曲をいじったり くっつけるのが Remix
13.
歌詞はこっち メロディーはあっちで Mashup
14.
繋げるだけじゃなく 変えるだけじゃなく
15.
いろんなサイトを ごちゃまぜにしちゃえ
16.
携帯と地図のMashup
17.
18.
実は私なんかより 有名なMashupな人が 北海道にいる
19.
元道庁の黒田さん
20.
Sun × RECRUIT
Mash Up Award 最優秀賞 出張JAWS
21.
22.
今日は来られない らしい
23.
残念!
24.
Mashupとは
25.
アプリケーションの 再構築
26.
昔は無理矢理 やっていた
27.
HTML解析して・・・
28.
自分で使う分には 良いけど公開できない
29.
いまでもAPI公開して ないサイトのデータを 使うときにやる
30.
データが命! 勝手に使わせるなんて もってのほか!
31.
でもWeb2.0時代は サイト側がある程度 自由にデータや システムを使わせてくれる
32.
なんで?
33.
ビジネスモデルの変化
34.
データを囲い込んでも 換金する方法がない
35.
でもトラフィックは 広告で金になる
36.
サイトに誘導するため データを使おう
37.
その使わせてくれる 口がWebAPI
38.
色々なWebAPIが 提供されてきている
39.
大別すると3種類
40.
データ系
41.
RSS Amazon Web Service ホットペッパー Google検索 じゃらんnet
42.
データを公開
43.
ここの部分が多い
44.
既存にデータを 持っているところは 容易に展開できる為
45.
処理系
46.
スクリーンショット 形態素解析 テキスト→MP3変換
47.
データを投げると 何らかの処理を してくれる
48.
表示系
49.
Google Maps NIFTY Timeline べつやくメソッドAPI
50.
色々なデータを表示 する基盤
51.
ほとんどのAPIは MVCのMやVに相当
52.
Controllerを どうやって作る?
53.
既存の手法と同じ
54.
PHP, Perl, Ruby,
Java....
55.
ちゃんと作ると 非同期処理が多く PHPは不利
56.
そこで我らが Ruby on Rails
57.
救世主
58.
さすがはWeb2.0系 フレークワーク
59.
WebAPIを楽にする ActiveResource
60.
Rails2.0から標準添付
61.
でもRails2.0が いつ出るかは謎
62.
しかしActiveResourceは
63.
Rails 対 Rails
にしか 使えない
64.
別の方法を考えよう
65.
さてMashupで 何を作る?
66.
今日のお題は 「北海道温泉マップ」
67.
YMOZE-Yさんの リクエスト
68.
じゃらんが温泉情報 をWebAPIで公開
69.
これをマッピング
70.
どっから初めるかな
71.
まずは温泉情報を 持ってこよう
72.
APIのページを読む
73.
74.
API使うには 登録がいる
75.
APIキーをもらったら URLを叩くだけ
76.
http://jws.jalan.net/APICommon/ OnsenSearch/V1/? key=**********&l_area=010802 &count=1&xml_ptn=1
77.
XMLで帰ってくる
78.
79.
これをプログラムで ごにょごにょ・・・
80.
Railsを使えば一発!
81.
とは行かない・・・
82.
require 'net/http' require 'cgi' require
'rexml/document' class Onsen attr_accessor :address, :name, :id KEY = 'phe11375af71ba' URL = 'http://jws.jalan.net/APICommon/OnsenSearch/V1/?' def self.find(params) results = [] get(params).elements.each('Results/Onsen') do |el| results << Onsen.new(el.elements["OnsenID"].text, el.elements["OnsenName"].text, el.elements ["OnsenAddress"].text) end results end def self.url(params) params[:key] = KEY URI.parse(URL+((params.map { |key,value| "#{key}=#{CGI::escape(value.to_s)}"}).join('&'))) end def self.get(params) REXML::Document.new(Net::HTTP.get(url(params))) end def initialize(id, name, address) @id, @name, @address = id, name, address end end
83.
これでAPIを使える
84.
ちょっと読めないよね
85.
詳細はWebで!
86.
ニセコの温泉リストを 取り出す
87.
irb> puts Onsen.find(:count
=> 10, :s_area => '010802').map{|o| o.name}.join(',') =>いわない温泉,雷電温泉,朝日温泉,ニセコワイス高原温泉 (ニセ コ),ワイス温泉 (ニセコ),ひらふ温泉 (ニセコ),ニセコアンヌプリ 温泉 (ニセコ),ニセコ昆布温泉 (ニセコ),ニセコ薬師温泉...
88.
こっちはマシ
89.
このリストを Google Mapに入れる
90.
こっちはRubyの ライブラリがある
91.
YM4R/GM
92.
GoogleMaps APIを Railsで使うライブラリ
93.
$ rails onsen
-d sqlite3 $ cd onsen $ script/plugin install svn://rubyforge.org/var/svn/ym4r/Plugins/GM/trunk/ym4r_gm $ ./script/generate controller onsen index
94.
さっきのOnsenクラスは lib/onsen.rbに保存
95.
class OnsenController <
ApplicationController def index @map = GMap.new("map_div") @map.control_init :large_map => true, :map_type => true @map.center_zoom_init([42.808783,140.684566], 11) end end
96.
<html> <head> <%= GMap.header %> <%=
@map.to_html %> </head> <body> <%= @map.div(:width => 600, :height => 400) %> </body> </html>
97.
これだけで地図表示
98.
99.
これにじゃらんで ゲットした温泉を ピンで打つ
100.
Google Mapsでピンを 打つには緯度経度が 必要
101.
じゃらんAPIでは 住所しか持ってない
102.
そこで ジオコーディング
103.
住所から緯度経度を 割り出す
104.
これもGoogle Maps API の一つ
105.
YM4R/GMを使えば それも楽々
106.
ニセコ駅の緯度経度 を調べる
107.
irb> niseko =
Geocoding.get(‘ニセコ駅’) irb> niseko.first.latlon => [40.34575, -3.816734]
108.
Onsenクラスにコレを くっつける
109.
class Onsen ∼中略∼ def latlon Geocoding.get(@address).first.latlon end end
110.
これで2つのAPIを あっさりMashup
111.
これを地図に 放り込む
112.
class OnsenController <
ApplicationController def index @map = GMap.new("map_div") @map.control_init(:large_map => true, :map_type => true) @map.center_zoom_init([42.808783,140.684566], 11) Onsen.find(:count => 10, :s_area => '010802').each do |o| marker = GMarker.new( o.latlon, :title => o.name, :info_window => render_to_string(:partial => 'point', :locals => { :onsen => o })) @map.overlay_init(marker) end end end
113.
吹き出しのHTMLも
114.
<div><strong><%=h onsen.name %></strong></div> <div><%=h
onsen.address %></div>
115.
できあがり
116.
117.
つまらない・・・
118.
温泉の写真も貼ろう
119.
写真と言えば Flickr
120.
121.
もちろんWebAPI公開
122.
Ruby用バインドも 複数公開
123.
$ cd lib $
wget http://redgreenblu.com/flickr/flickr.rb $ vi flickr.rb # 57行目のAPIKEYを変更 $ cd ..
124.
試しに五色温泉の 写真を取得
125.
irb> flickr =
Flickr.new irb> photo = flickr.photos(:text => ‘ニセコ五色温泉’).first irb> photo.source('Thumbnail') =>http://farm1.static.flickr.com/136/328193836_725a658789_t.jpg
126.
これもOnsenクラスに いれちゃう
127.
class Onsen ∼中略∼ def photo(size='Thumbnail') Flickr.new.photos(:text
=> @name.gsub (/(.*/,'')).first.source(size) end end
128.
これで写真も 取得できちゃう
129.
最後にこれを マッピング
130.
<div><strong><%=h onsen.name %></strong></div> <div><%=h
onsen.address %></div> <%= image_tag(onsen.photo.source(‘Thumbnail’)) rescue ‘No photo’ %>
131.
これで吹き出しに 写真が出た
132.
133.
写真合ってない・・・
134.
ひとまずこれで完成
135.
不満点が沢山
136.
遅い!
137.
キャッシュで改善
138.
ニセコ以外は?
139.
選べるように しましょう
140.
コメントとかは?
141.
acts_as_commentableで
142.
携帯は?
143.
jpmobileで
144.
これを改善して 自分温泉地図を 作りませんか?
145.
スライドとソースは http://blog.masuidrive.jp/
Descargar ahora