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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 8,615 views
Published

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

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

Published in Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,615
On SlideShare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
0
Comments
0
Likes
19

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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