• Save
クックパッドのRailsリニューアル
Upcoming SlideShare
Loading in...5
×
 

クックパッドのRailsリニューアル

on

  • 11,960 views

カカクコム&クックパッド共催・勉強会

カカクコム&クックパッド共催・勉強会

Statistics

Views

Total Views
11,960
Views on SlideShare
10,481
Embed Views
1,479

Actions

Likes
19
Downloads
0
Comments
0

10 Embeds 1,479

http://techlife.cookpad.com 1414
http://www.slideshare.net 24
https://twimg0-a.akamaihd.net 11
http://s.deeeki.com 10
http://okyuu.com 10
http://cookpadtech.wordpress.com 4
http://webcache.googleusercontent.com 3
http://static.slideshare.net 1
http://cache.yahoofs.jp 1
url_unknown 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

クックパッドのRailsリニューアル クックパッドのRailsリニューアル Presentation Transcript

  • クックパッド株式会社 最高技術責任者 橋本健太 [email_address]
    • クックパッドとは?
    • Rails リニューアルの経緯
    • なぜ Rails ?
    • 開発ノウハウ
    • Rails で何が変わったか?
    • 毎日の料理を楽しみにすることで心からの笑顔を増やす
    • http://cookpad.com
    • 1998 年オープン
    • 「毎日の料理を楽しみにすることで心からの笑顔を増やす」ことのみを追求する
      • 世界で一番!生活の役に立つサイト作り
    • おいしいものができたとき - 「レシピをのせる」
      • 料理レシピを作って整理
      • みんなに公開
    • おいしいものが食べたいとき - 「レシピをさがす」
      • 公開されている 42 万品のレシピから今日食べたい物を決める
      • 作った写真をレシピ作者に送ることも
    • 月間ユーザ数 483 万人
    • 月間ページビュー 2.8 億PV
    • ユーザ数で世界 8 位 ( rails100 )
    • ページビューでは世界 2 位の Rails サイト( alexa )
    • クックパッドとは?
    • Rails リニューアルの経緯
    • なぜ Rails ?
    • 開発ノウハウ
    • Rails で何が変わったか?
    • 2005 年に一度挑戦
    • 2007 年に社内ツール、広告配信ツール、データ提供サービス「たべみる」を、 Rails で構築
    • 2007 年 11 月にリニューアル開発開始
      • 2007 年に「食べログ」さんの Rails リニューアル成功を聞き相談
    • 2008 年 6 月 3 日「モバれぴ」リニューアル
    • 2008 年 7 月 12 日完全リニューアル
      • 3 度の切り戻しを経て
      • Rails 化
      • サイトリニューアル
      • データスキーマ変更
      • インフラをすべて入れ替え
    • クックパッドとは?
    • Rails リニューアルの経緯
    • なぜ Rails ?
    • 開発ノウハウ
    • Rails で何が変わったか?
    • ユーザに「より高い価値を提供」「し続ける」ため
      • より高い価値
        • アジャイルな開発
      • 提供し続ける
        • コードの寿命
    • 機能より価値
      • 仕様への準拠よりもユーザの満足度を重視する手法
        • 変化するフィードバックに素早く対応することで価値を高める
    • Rails は、アジャイル開発のためのフレームワーク
    • 2006 年リニューアル時のコードは、機能追加などにより、混沌状態に
    • リファクタリングし続けられる状態を保つことが大事
      • MVCフレームワーク
      • DRY原則
      • テスト完備
    • クックパッドとは?
    • Rails リニューアルの経緯
    • なぜ Rails ?
    • 開発ノウハウ
    • Rails で何が変わったか?
    • 開発の原則
    • 開発基盤
    • DBのレプリケーション
    • レシピ検索
    • キャッシュへの対処
    • ユーザ専用URL
    • プレビュー機能
    • アクセスログ
    • 2つの原則
      • Rail にのる
        • なるべく、 Rails に用意されている機能で解決する
      • リファクタリングし続けられる状態を保つ
        • DRY違反をしない
        • テストを書く
        • 成長の速度を維持するため
    • プログラマは、全員 Mac を使用
    • Emacs
      • rails.el
    • Subversion と trac
    • Shinjiko
      • Mondorian クローンのコードレビューシステム
    • マスターとスレーブの切り替えには acts_as_readonlyable を使用
    • データ更新後の SELECT は、マスターから
    • Tritton を使用(未来検索ブラジル)
      • MySQLを拡張しているので、テーブルをジョインできる
      • 2インデックス
      • インデックスを貼ったテーブルのファイルをそのまま各スレーブDBにコピー
    • ページキャッシュをしようとした場合の問題
      • ログイン情報による動的な変化
        • 「○○さんようこそ」
      • アクセスログ
      • 広告配信
    • この3つについて、 Ajax の1リクエストで処理
    • 一部のユーザは自分専用の URL を持つ
      • http://cookpad.com/kem
    • routes.rb
      • 全てのコントローラ名を検索
      • 一致しない場合に専用のコントローラに渡している。
    • 「○月○日○時~○時のみ公開」などの場合
    • すべてのページで、任意の日付を指定して、プレビューできる。
    • Time.now を上書き
      • http://cookpad.com/?current_time=2008-11-01
      • アクセス制限あり
    • MySQL を使用
    • controller, action を同時に書き込むことにより、後の集計を楽に
    • クックパッドとは?
    • Rails リニューアルの経緯
    • なぜ Rails ?
    • 開発ノウハウ
    • Rails で何が変わったか?
    • エンジニア5人で、リニューアル達成
      • PC向け
      • モバイル
      • 社内システム
      • 広告システム
      • データスキーマ変更とデータ移植
      • インフラ
    • 保守性
      • 保守するコードが減少
    • 可読性
      • 再利用しやすくなる
    • 拡張性
    • 楽しい
      • Ruby 開発者たちのテーマは「愛」
        • 楽しくプログラミングできるようにしようというこだわり
      • 使う人のことを考えたものづくり ⇒ おもてなしの心
      • おもてなしの心をもったツールで、
      • おもてなしの心をもったサービスを作れる
      • 同じようにおもてなしの心を持ったOSSの開発者たちの資産も活用できる!
  •  
    • これからもクックパッドは
    • 「 毎日の料理を楽しみにすることで心からの笑顔を増やす 」
    • ためのサービスを作り続けていきます
  •  
    • クックパッドでは
    • 500万人の「料理を楽しく」してくれるプログラマ
    • 10億超のPVと未来の技術を活用していくエンジニア
    • を、大募集しています!
    • ご静聴ありがとうございました
    • 今後ともよろしくおねがいいたします
    • クックパッド開発者ブログ
    • http://techlife.cookpad.com