Submit Search
クックパッドのRailsリニューアル
•
27 likes
•
4,983 views
Kem Hashimoto
Follow
カカクコム&クックパッド共催・勉強会
Read less
Read more
1 of 34
More Related Content
クックパッドのRailsリニューアル
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