SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
初めてつくる
Webアプリの開発戦略
地元の話題を知る「Zimoto」開発
小石 真人
流れ
1. 自己紹介
2. 開発したアプリ紹介
3. アプリ構成
4. 気軽にアプリを作るには
5. 終わりに
はじめに
Ruby on Rails を使用して地元の話題提供サービス「Zimoto」を開発しました
+ Why…なぜつくったか
+ What…何をつかったか
+ How…結局、どう作ればいいの?
自分なりに考えてみました
はじめまして
うめねりです。
研究開発
ストレージ
Ruby, R
群馬県
渋川市
都道府県
魅力度ランキング
46 → 45 (+1)
2014 → 2015
地元の魅力って
なんだろう
Railsで
開発してみた
地元を知ってもらう
話題作りに
デモ
全体構成
クライアント側 サーバ側
観光地、著名人情報
WebAPI
GoogleMaps API
使用データ
1. 地元地図と観光地…GoogleMapとオープンデータ
2. 地元観光地の写真とつぶやき…WebAPI(twitter, flicker)
3. 地元出身著名人…Wikipediaダンプデータ
JQuery & Railsで楽々開発
豊富なドキュメント&プラグイン & 初心者目線
JQuery:
1. railsにデフォで入っている
2. ajaxの実装が楽
3. アニメーションも簡単
Web APIでデータ取得
Gem使うと割りと簡単にデータが出せて面白い
→テストするときのモチベ維持
1. Google Map API → gem ‘gmap4rails’
2. Twitter API → gem 'twitter'
3. Flickr API → gem 'flickraw'
デザインはBootStrapに任せる
クラス名を調べて入れるだけなのでCSSを覚えなくていい
masonry.js
開発モチベーションを維持するために
1. 日本語&初心者向けドキュメントの充実した
→ Rails&jQuery
2. デザインはBootStrapに任せる
→ 機能を作ることに集中
3. WebAPIを利用すると面白い
→ テストするときのモチベ維持
ご清聴ありがとうございました
補足資料 参考にさせていただいたサイト
* [Wikipediaデータ利用参考サイトリンク集 | mwSoft](http://www.mwsoft.jp/programming/munou/wikipedia_link.html)
wikipediaのダンプデータを SQLに入れる方法
* [日本百選と座標値(経緯度数値 ](http://100sen.cyber-ninja.jp/)
県別の観光地一覧情報
* [コンテンツや画像などを順番にフェードインする jQuery | mororeco](http://morobrand.net/mororeco/javascript/fadein/)
非同期で画像を順番に表示する方法
* [HTML5アプリ作ろうぜ!( 11):Webデザイン初心者でもできる、 Bootstrapの使い方超入門 (4/4) - @IT](http://www.atmarkit.co.jp/ait/articles/1403/19/news034_4.html)
BootStrapのテーブルやボタンなどの使い方
* [【保存版】TwitterAPI1.1 REST API 全項目解説| DX.univ](http://dx.24-7.co.jp/twitterapi1-1-rest-api/)
* [Flickr API で Ruby + flickraw を使い画像検索 | EasyRamble](http://easyramble.com/flickr-api-with-ruby-flickraw.html)
[無料の写真 - Pixabay](https://pixabay.com/ja/)
* 発表資料の写真素材
補足:MySQLにWikipediaダンプデータ保存&クレンジン
グ
著名人の出身地をだす
1. ダンプデータ(2GB)から県別の芸能人一覧のページを取得
2. Mysqlにwikipediaの全ページ保存
a. xml2sql
b. pandocでmediawiki記法をhtmlに
c. ogaでスクレイピング

Contenu connexe

Tendances

文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02Masayoshi Tokumoto
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Shintaro Kakutani
 
在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選Tomoe Sawai
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎schoowebcampus
 
私はこれでエバンジェリストをやめました
私はこれでエバンジェリストをやめました私はこれでエバンジェリストをやめました
私はこれでエバンジェリストをやめましたYasuhiro Horiuchi
 
京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発Ryo Mitoma
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Yusuke Wada
 
APIコンテスト11 柿島大貴 一語一絵
APIコンテスト11 柿島大貴 一語一絵APIコンテスト11 柿島大貴 一語一絵
APIコンテスト11 柿島大貴 一語一絵calil jp
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Yutaka Tachibana
 
Refrection of kawasaki.rb
Refrection of kawasaki.rbRefrection of kawasaki.rb
Refrection of kawasaki.rbAki Ariga
 
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?Yasuhiro Horiuchi
 
プログラミングTipsサイトlt(town bash 201710)
プログラミングTipsサイトlt(town bash 201710)プログラミングTipsサイトlt(town bash 201710)
プログラミングTipsサイトlt(town bash 201710)Ryosuke Miyahara
 
Yokohama.rb Kaja推薦
Yokohama.rb Kaja推薦Yokohama.rb Kaja推薦
Yokohama.rb Kaja推薦joker1007
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御Muyuu Fujita
 
JRubyで作るapiサーバー
JRubyで作るapiサーバーJRubyで作るapiサーバー
JRubyで作るapiサーバーYamamoto Kazuhisa
 
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimプラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimKeisuke Izumiya
 
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Cake YOSHIDA
 
プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話Cake YOSHIDA
 

Tendances (20)

文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124
 
在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
 
Yapc2012ltthon
Yapc2012ltthonYapc2012ltthon
Yapc2012ltthon
 
私はこれでエバンジェリストをやめました
私はこれでエバンジェリストをやめました私はこれでエバンジェリストをやめました
私はこれでエバンジェリストをやめました
 
京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
 
APIコンテスト11 柿島大貴 一語一絵
APIコンテスト11 柿島大貴 一語一絵APIコンテスト11 柿島大貴 一語一絵
APIコンテスト11 柿島大貴 一語一絵
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01
 
Refrection of kawasaki.rb
Refrection of kawasaki.rbRefrection of kawasaki.rb
Refrection of kawasaki.rb
 
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?
ベンチャーCTO、AWSエバンジェリストを経て考える、 クラウド時代に向き合うエンジニアの心構えとは?
 
プログラミングTipsサイトlt(town bash 201710)
プログラミングTipsサイトlt(town bash 201710)プログラミングTipsサイトlt(town bash 201710)
プログラミングTipsサイトlt(town bash 201710)
 
Yokohama.rb Kaja推薦
Yokohama.rb Kaja推薦Yokohama.rb Kaja推薦
Yokohama.rb Kaja推薦
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御
 
JRubyで作るapiサーバー
JRubyで作るapiサーバーJRubyで作るapiサーバー
JRubyで作るapiサーバー
 
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvimプラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
 
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
 
プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話
 
Kyakusaki.rb
Kyakusaki.rbKyakusaki.rb
Kyakusaki.rb
 

Similaire à 初めてつくる Webアプリの開発戦略

Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例FromF
 
Kids, Ruby, Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids, Ruby, Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜宏治 高尾
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点masayoshi takahashi
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発takuma mori
 
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象Tatsuya Tobioka
 
テックリンク資料20170529
テックリンク資料20170529テックリンク資料20170529
テックリンク資料20170529yoshito funayose
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Tomoya Narita
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBeMarble
 
エンジニア向け絶対に挫折しない個人サービスの作り方
エンジニア向け絶対に挫折しない個人サービスの作り方エンジニア向け絶対に挫折しない個人サービスの作り方
エンジニア向け絶対に挫折しない個人サービスの作り方Atsushi Harada
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座DIVE INTO CODE Corp.
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係sady_nitro
 
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Takuya Mukohira
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会Rei Matsushita
 
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポAWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポかの たん
 
Yokohama.vim
Yokohama.vimYokohama.vim
Yokohama.vimgu4
 
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話PWAをWebサービスに導入した話
PWAをWebサービスに導入した話dobby618
 

Similaire à 初めてつくる Webアプリの開発戦略 (20)

Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例Movable Type Data API Swiftアプリ作成事例
Movable Type Data API Swiftアプリ作成事例
 
Kids, Ruby, Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids, Ruby, Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点Webデベロッパの祭典@東京:Webエンジニアの視点
Webデベロッパの祭典@東京:Webエンジニアの視点
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
 
テックリンク資料20170529
テックリンク資料20170529テックリンク資料20170529
テックリンク資料20170529
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
 
Rails api way in aiming
Rails api way in aimingRails api way in aiming
Rails api way in aiming
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
 
エンジニア向け絶対に挫折しない個人サービスの作り方
エンジニア向け絶対に挫折しない個人サービスの作り方エンジニア向け絶対に挫折しない個人サービスの作り方
エンジニア向け絶対に挫折しない個人サービスの作り方
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係
 
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
 
AWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポAWS ソリューションアーキテクト アソシエイト受験レポ
AWS ソリューションアーキテクト アソシエイト受験レポ
 
Yokohama.vim
Yokohama.vimYokohama.vim
Yokohama.vim
 
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話PWAをWebサービスに導入した話
PWAをWebサービスに導入した話
 

初めてつくる Webアプリの開発戦略