Ruby on Rails でつくるアタシ好みの愛され Web サービス
Upcoming SlideShare
Loading in...5
×
 

Ruby on Rails でつくるアタシ好みの愛され Web サービス

on

  • 4,579 views

 

Statistics

Views

Total Views
4,579
Views on SlideShare
4,558
Embed Views
21

Actions

Likes
4
Downloads
13
Comments
0

3 Embeds 21

http://coderwall.com 17
http://paper.li 3
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ruby on Rails でつくるアタシ好みの愛され Web サービス Ruby on Rails でつくるアタシ好みの愛され Web サービス Presentation Transcript

    • RubyonRailsでつくる アタシ好みの 愛されWebサービス しだら ようじ SHIDARA Yohji 日本Rubyの会 Ruby札幌 Lovable Webservices Development by Hand with Ruby on Rails. 2008-08-08 釧路工業技術センター オープンソフトウェアシステム構築講座
    • 設樂 洋爾 / SHIDARA Yohji / dara ‣dara@ruby-sapporo.org ‣http://d.hatena.ne.jp/darashi http://twitter.com/darashi ‣札幌生まれ, 札幌育ち, 札幌大好き ‣大学院生 ‣Ruby札幌 運営チーム ‣RubyKaigi2008 実行委員 / スピーカ
    • 今日お伝えしたいこと:
    • Ruby on Rails をつかって 自分好み の Webサービス を 作ってみませんか!
    • そのためにお話したいこと:
    • ‣Ruby on Rails のご紹介 ‣Rails による 私の 開発事例 ‣コミュニティとのかかわり
    • ‣Ruby on Rails のご紹介 ‣Rails による 私の 開発事例 ‣コミュニティとのかかわり
    • Rubyとは
    • まつもとゆきひろさん(通称Matz) によって開発された オブジェクト指向スクリプト言語
    • http://www.ruby-lang.org/ja/about/
    • http://www.ruby-lang.org/
    • http://www.ruby-lang.org/
    • Ruby on Rails とは
    • Rubyで作られている Webアプリケーション フレームワーク
    • http://www.rubyonrails.org
    • http://www.rubyonrails.org
    • http://www.rubyonrails.org
    • 2つのキーワード ‣DRY: Don t Repeat Yourself 「同じことを繰り返さない」 ‣CoC: Convention over Configuration 「設定より規約」
    • 価値観
    • 「楽しい」
    • Railsプロダクト
    • http://www.ruby-lang.org
    • http://aboutme.jp
    • http://tabelog.com
    • http://www.iknow.co.jp
    • http://30d.jp
    • http://twitter.com
    • 大規模システムでの実績も
    • 気付いていないだけで Railsで稼働しているサイトも 身近にあるかもしれません
    • ‣Ruby on Rails のご紹介 ‣Rails による 私の 開発事例 ‣コミュニティとのかかわり
    • 私事ですが、
    • スープカレーが大好き
    • 06: 108皿 07: 45皿 08(-8/8): 34皿
    • Webサイトまで作ってしまった
    • http://soupcurry.info
    • http://soupcurry.info
    • 最寄りのスープカレー店を 携帯電話のGPS機能で検索できる
    • Ruby on Rails を つかっています
    • なぜ soupcurry.info を つくったのか
    • チキン 辛さ8 CHAIN GANG ORIGINAL SOUP CURRY & BAR 龍祈 http://soupcurry.info/shop/138 スープカレー ‣中毒性がある →我慢できない ‣店ごとに個性的 →食べ歩きを楽 しみたい ‣店舗が乱立気味 →好みにあった お店でぐゎらチキ天 ぐゎらん洞 http://soupcurry.info/shop/5
    • よくあるシチュエーション ‣ 今すぐカレーを食べたい気分だ。 ‣ 今日は普段行かない場所に居るので、折 角だから近くの行ったことのないお店で 食べてみたい。 ‣ お目当ての店に着いたけれど、スープが 切れて閉店していた。近くのお店はどこ だろう。 ‣ ガイド本は持ち歩きたくない。 ‣ お店のレビューを見たい。 ‣ 不慣れな土地でも迷わずに行きたい。
    • ソリューション ‣携帯電話用 スープカレー店データベース ‣レビュー検索エンジン +
    • 「こんなサイトがあったらいいな」
    • http://soupcurry.info
    • http://soupcurry.info
    • サイト規模
    • 全国のスープカレー店 484店舗を網羅
    • Google検索「スープカレー」第2位 (2008-08-03現在)
    • Google検索「スープカレー」第2位 (2008-08-03現在)
    • アクセス解析 (PCのみ)
    • 携帯電話からのアクセス 61,234 PV/月 (2008年07月)
    • LOC: 1211行
    • soupcurry.info ツアー
    • トップページ
    • 店舗情報ページ(1) - 店舗概要
    • 店舗情報ページ(2) - レビュー検索
    • 店舗情報ページ(3) - 付近のお店
    • 携帯電話 - GPSで最寄りの店舗を検索
    • 携帯電話 - GPSで最寄りの店舗を検索
    • 携帯電話 - GPSで最寄りの店舗を検索
    • 携帯電話 - 店舗情報
    • 携帯電話 - 店舗情報
    • 携帯電話 - 店舗情報
    • EZナビウォークと連携
    • EZナビウォークと連携
    • EZナビウォークと連携
    • レビュー検索 ‣APIを利用 ‣ Web検索 Yahoo! Japan ‣ blog検索 Technorati ‣定期的に巡回 ‣検索ヒット数から有名度指標を 計算して表示
    • hotpepper.jp API ‣Web上にクーポンがある場合は 表示 ‣電話番号をキーにして クエリを発行
    • 定休日の自動判定 ‣定休日文字列から定休日を判定 ‣ 火曜日(祝日の場合は翌日) ‣ 火曜日(祝日の場合は営業) ‣ 月曜日/第2,4土曜日 ‣ 無休(年末年始を除く)/その他/不定 ‣Rubyの柔軟な文字列処理: わずか78行
    • 運用
    • サイトポリシー ‣客観的情報サイトに徹する ‣自動化できる部分はどんどん自動化 ‣レビュー検索, クーポン検索 ‣負担なくデータを更新できるインタ フェイス (当初は緯度経度と電話番号のみを格 納していた) ‣技術遊びのテストベッド とにかくおもしろそうなことをやる
    • 管理画面 - トップ 各種リマインダ
    • 管理画面 - 店舗情報編集
    • 履歴 ‣ 2003年ごろ 構想, プロトタイプ作成 ‣ 2005/01/24 soupcurry.infoドメイン取得 ‣ 2005/02/11 第1世代 リリース (Ruby CGI, さくらインターネット) ‣ 2005/12/08 第2世代 開発開始 ‣ 2006/01/24 第2世代 リリース (Ruby on Rails, bluehost) ‣ 2008/01/19 サーバ移転 (site5.com)
    • フィードバック ‣ 20件のフィードバック (2008年7月) ‣ データの鮮度維持に不可欠 ‣ 開店, 閉店, 誤情報の訂正, 臨時休業, 臨時 営業, 定休日・営業時間の変更, システム改 善の提案, ... ‣ スープカレーファンの方, お店の方からも ‣ 投稿フォーム設置により増加 (以前はメールのみ) ‣ サイト開設をきっかけに交流
    • 大事なこと
    • 世界がかわった
    • 世界がかわった ‣スープカレー店を沢山覚えた (覚えなくていいように作ったは ずなのに・・・) ‣沢山の人が使ってくれている ‣スープカレー仲間ができた ‣サイトの構築・運営を自分の肌に 触れるものとして学んだ
    • こんなサイトがあったらいいな
    • それを形にするための強力な道具
    • Ruby Ruby on Rails
    • soupcurry.infoの もう一つの意味
    • 携帯電話用サイト
    • キャリア毎に仕様が全然違う
    • 携帯電話用サイトを作るには 大量の雑多なノウハウが必要
    • それらをモジュール化し soupcurry.info から 切り離して公開
    • 携帯電話用Railsプラグイン jpmobile
    • http://jpmobile-rails.org
    • jpmobileが 紹介されています
    • 実際のプロダクトにも
    • http://tabelog.com
    • 日本Ruby会議2008 jpmobile について メインセッションで発表
    • ガラパゴスに 線路を敷こう 携帯電話用Railsプラグイン Jpmobile しだら ようじ SHIDARA Yohji Lay Rails on “Galapagos” Jpmobile: A Rails Plugin for Japanese Mobile Phones
    • http://flickr.com/photos/june29/2600992008/
    • http://flickr.com/photos/june29/2600166483
    • 自分の話をこんなに沢山の人が聞い てくださって、沢山のフィードバッ クをもらえる。それも直接。 RubyKaigiってすごい。本当にす ごいところなんだな。発表を終えて から痛感しました。去年は当日ス タッフとして参加して、今年は実行 委員としても参加して、なんだかわ かったような気になっていたのです が、このスケール、この一体感。本 当に大舞台で喋ってしまった!と。 世界が少しまわった気がしました。 http://d.hatena.ne.jp/darashi/20080626/1214493910
    • ここまでのまとめ
    • なぜ soupcurry.info を つくったのか
    • 「こんなサイトがあったらいいな」
    • 結果
    • 気がついたら世界がかわってた!
    • ‣Ruby on Rails のご紹介 ‣Rails による 私の 開発事例 ‣コミュニティとのかかわり
    • 日本Rubyの会
    • http://jp.rubyist.net?About
    • http://twitter.com/takahashim/statuses/881234363
    • 入会案内 ‣日本Rubyの会には、本会の趣旨に 賛同する個人ないし法人が、会員と して参加することができます。入会に 際して、特に会費などは徴収しており ません。日本Rubyの会メーリング リストへ登録すれば、その時点で、 本会に入会したとみなされます。 登 録の前に、「日本Rubyの会とは」 および「日本Rubyの会会則」をよ くご確認ください。 http://jp.rubyist.net?Admission
    • Ruby札幌
    • Ruby札幌とは ‣札幌にて Ruby に関する活動を 行っているコミュニティです。 Ruby勉強会@札幌 や 開発集会 @札幌、Ruby Sapporo Night などのイベントを定期的 に開催しています。 ‣From Sapporo, with Love for Ruby.
    • http://ruby-sapporo.org
    • Rubyコミュニティと私(1) ‣2007-03-24 Ruby勉強会@札幌-2 ‣2007-05-26 Ruby勉強会@札幌-3 発表 ‣2007-06-09,10 日本Ruby会議2007 当日スタッフ ‣2007-08-13 Ruby札幌運営チーム結成
    • Rubyコミュニティと私(2) ‣2008-02-16 日本PostgreSQLユーザ会 北海道支部/Ruby札幌 合同セミナー ‣2008-06-20,21,22 日本Ruby会議2008 実行委員・メインセッション発表 (最初は発表とコミュニティ出展だけ の予定だったが・・・) ‣2008-06-28 オープンソースカンファレンス2008 Hokkaido 発表
    • オンラインでの交流チャネル(1) ‣blog http://d.hatena.ne.jp/darashi ‣twitter http://twitter.com/darashi ‣ML(Mailing List)
    • オンラインでの交流チャネル(2) ‣Rails chat http://andworkspace.net ‣ustream.tv http://ustream.tv ‣irc
    • 最初のきっかけは勉強会
    • 気がついたら
    • 世界がかわっていた!
    • ‣Ruby on Rails のご紹介 ‣Rails による 私の 開発事例 ‣コミュニティとのかかわり
    • buzztter.com
    • twitter の イマを切り取るサービス
    • twitter.com
    • http://twitter.com
    • 「いまなにしてる?」で繋がる コミュニケーションツール
    • http://twitter.com/darashi
    • buzztter.com
    • twitter の イマを切り取るサービス
    • http://buzztter.com/ja 2008-08-04 03:48am
    • http://buzztter.com/ja 2008-07-24 00:45am
    • 基本的なアイディア:
    • 普段より多く言及されている コトバを抽出する
    • 扱うべきデータ量 ‣ 2008年8月3日 buzztter調べ ‣ 387,595 updates/日 ‣ 16,149.7 updates/時 ‣ 269.2 updates/分 ‣ データの大きさ (JSON response) ‣ 約13kB/20 updates ‣ 約240.8MB/日 ‣ 約85.8GB/年
    • DB 解析 クローラ 言語推定 HOT通知bot 定時通知bot ユーザ Web UI twitter.com buzztter
    • 入力データの厄介事 ‣ある程度のリアルタイム性が要求 される: ‣最新の20更新しか入手できな い。 ‣取りこぼしたら終わり。 ‣各国語が混在している。 ‣言語推定が必要。
    • 解析 ‣直近1時間で頻出している フレーズを抽出 ‣過去の出現頻度と比較して スコアを決定 ‣言及数と言及者数を考慮 ‣最近活発なものほど高いスコア ‣ゴミを除去するための細かな処理
    • Web UI ‣かなり素直な Railsアプリケーション ‣Twitter検索エンジンとしても動作 ‣Javascriptで自動更新 ‣RSS出力あり
    • 定時通知bot ‣30分ごとに上位のフレーズを送信 ‣cronで定時実行 ‣言語ごとにtwitterアカウントを用意: ‣ 日本語版 http://twitter.com/buzztter ‣ 英語版 http://twitter.com/buzztter_en
    • HOT通知bot ‣バースト状態を通知する。 ‣スコアが閾値以上 ‣直近8時間以内に通知していない
    • ベッドの横から世界に発信
    • 自作PC Core 2 Duo 6400 (2.13GHz) Memory: 4GB HDD: 500GB SATA
    • 反響
    • アクセス解析
    • buzztterが 紹介されています
    • twitter上での反響(1) ‣ twitter、buzztter、twitter検 索、tumblr、はてブ。これらが手放せ ない。 http://twitter.com/akio0911/statuses/387770042 ‣ buzztterはtwitter-erの心を映す鏡 http://twitter.com/maybowjing/statuses/ 344534932 ‣ 相変わらずbuzztterはよく空気を読ん でる。そもそも、そういう仕組みのモノ なんだけど。 http://twitter.com/NStyles/statuses/335544352
    • twitter上での反響(2) ‣ buzzterだけで何が起きたかすべてわ かる http://twitter.com/packirara/statuses/876096752 ‣ ばずったー便利だな。映画何やってるか すぐ判る。 http://twitter.com/erinaceus/statuses/851255193 ‣ ばずったーの反応速度はすごいなー http://twitter.com/enryu951/statuses/866105443 ‣ 30秒でbuzztterが「ゆれ」「地震」 を検出 http://twitter.com/colspan/statuses/864082227
    • 精読・速読・buzztter ‣ (略) buzztter というサービスが存在す るからだ。自分が「速読の Twitter」を 実行しなくても、このサイトを見れば Twitter の動きが大まかにではあるが読 める。(略) http://worstman.net/blog/088 ‣ [twitter][comment]buzztterってめ ちゃくちゃ偏ってるよ。あくまでもオレが 読んでる1500人強の全ログ傾向の印象だ けど→このサイトを見れば Twitter の動 きが大まかにではあるが読める http://b.hatena.ne.jp/otsune/20071024
    • 系としてのbuzztter
    • メディアとしてのbuzztter ‣重大ニュースの速報 辞任, 事故, 訃報, ... ‣twitterユーザにとっての重大ニュー ス 新商品, 新機能, 買収, 訃報, ... ‣twitterユーザが注目するテレビ番組 アニメ, お笑い, ドキュメンタリー, ... ‣災害情報 地震, 雨, 雷, 火災, 停電, 電車遅延, ...
    • buzztterが与える影響 ‣ このbuzztterを見たあとでは、ばんごはんを餃 子にしても、あえて餃子を避けても負けな気がす る。(意識した時点でもう精神が餃子の支配下に 置かれる) http://twitter.com/hatoko/statuses/281085152 ‣ buzztter入りしているのを見て、なんだか久々 に赤福が食いたくなってきた http://twitter.com/AIce/statuses/346543102 ‣ buzztterで思い出したけど、今日は鰻でした http://twitter.com/ozon/statuses/866961564
    • 履歴 ‣2007-04-12 プロジェクト開始 ‣2007-04-24 リリース ‣2007-04-28 bot リリース ‣2007-05-01 フレーズ抽出の実装 ‣2007-05-22 類似発言抽出機能 ‣2007-06-05 英語版リリース ‣2008-06-12 全面リニューアル
    • buzztterに対するツッコミ ‣はい、buzztterダウト! http://twitter.com/night16/statuses/363321482 ‣buzztter は毛ずきらしい http://twitter.com/kommm/statuses/362095092 ‣@buzztter自重しろwwwwww http://twitter.com/scudroid/statuses/339228382
    • buzztterに言わせたい ‣.@buzztterが北海道という単語を キーワードにするのが僕の夢。 http://twitter.com/smokeymonkey/statuses/ 386516592 ‣buzztter に「HOT: 女装」と言わ せるライフハック。 http://twitter.com/cress_cc/statuses/349727262
    • buzztterの可能性 ‣ニュース速報より早い速報 ‣草の根的ニュースメディア ‣特定のユーザ層のためのニュース メディア ‣ゆるいコミュニケーションハブ ‣情報のサーキュレータ的役割
    • まとめ
    • Ruby on Rails をつかって 自分好み の Webサービス を 作ってみませんか!
    • 世界がかわるかも!
    • Ruby / Rails の始め方
    • 続きは 明日のハンズオンで!