SlideShare a Scribd company logo
クックパッド株式会社 最高技術責任者  橋本健太 [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

More Related Content

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