524万人が利用する食のインフラ 「クックパッド」のものづくり セミナー
日本一のRailsでの大規模サイトである「クックパッド」のお話を聞きに,WebCareer主催のセミナーに参加してきました.
- MacBook Pro 17inch だった.
クックパッドとは
- ミッション:毎日の料理を楽しみにすることで,心からの笑顔を増やす
- 1998年オープン
- 料理のレシピを
- 公開する
- 探す
- 作者に報告することもできる
- 写真付きで
- 作者に報告することもできる
- 45万品のレシピがある
- 524万人/月
- 四国の人口よりも多い
- 月間 2.8 億 PV
524万人をささえるサーバ・ネットワーク
運用
- capistrano
- god
- nagios
- munin(モニタリング)
- FiveRuns Manage(モニタリング)
パフォーマンス
- キャッシュ
- クエリチューニング
- FiveRuns TuneUp
- スロークエリログ
Railsでの開発ノウハウ
DBのレプリケーション
- acts_as_readonlyable を使用
- ただしデータ更新後の SELECT は master から行うように変更
レシピの全文検索
- Tritton を使用
- 2インデックスを使って検索できる
- バッチ計算サーバでインデックスを張って,それをそのまま scp で slave へ転送したりしている
専用 URL
- routes.rb で解決
- 既存コントローラの一覧を持っていて,存在しないコントローラの場合は専用のコントローラに渡して処理する感じ
全ページのプレビュー機能
- MM/DD HH 〜 HH のみ表示
- すべてのページで任意の時間を指定してプレビューできるようにしている
- Time.now を書き換えている
- スタッフのみにはしている
- すべてのページで任意の時間を指定してプレビューできるようにしている
クックパッドのものづくり
方法
- つくるものを決める
- 計画
- 設計
- 開発
- 質を高める
作るものを決める
- Best なことに集中する
- Betterなこと,やった方がいいことは やらない!
- Best なことを見つけるための3つの輪
- やりたいことかどうか
- 情熱を持って取り組めること
- できる
- 世界で一番になれること
- やるべき
- 儲かること
- この3つの輪が重なることだけをやる
- 非常にわかりやすく理想的な形ではないでしょうか
- やりたいことかどうか
ユーザの欲求に基づいたゴール設定
- EOGS(Emotion Oriented Goal Setting)
- ユーザ層を決める
- ユーザの欲求を理解する
- 解決法を探し
- それを実行する
- ゴール設定をするなかで,チーム内で意見を自然に集約されていく.
スケジュールの3分割
- サービス完成までにやるべきこと
- 設計
- 開発
- 質を高める
- これら3つについて,同じだけ時間をかける
- 3週間後にサービスインするならば,すべて1週間ずつ
- 1週間で開発できないことは設計しない
- 設計にも1週間使う
- 質を高めるのに1週間を使うのは,非常にいい体制
ものづくりの3原則
- 無言実行
- 公開前にサービスについての説明しない
- サービスを言葉で説明できない
- ユーザに変な不安を与えないため
- 公開前に告知するメリットはない
- 無言語化
- 機能を言葉で説明しない
- 一瞬で理解できるインターフェイスじゃないと,使われない.最大2秒
- 2秒で説明できるように作る
- ヘルプやFAQを読ませるのはユーザに負担
- そもそも,読まれない
- サービスに値段をつける
- どんなサービスでも,どれだけ価値があるか値段をつける
- 「無料だから大丈夫」という考えでは負ける
- お金を払ってでも使いたいサービスが無料だと使われる
- ウェブ以外のサービスやモノは価値に対して値段がついている
- そこと勝負するためには,作るモノに値段をつけて価値を与えないといけないのかな.
- クックパッドは当初は有料サイト
- どんなサービスでも,どれだけ価値があるか値段をつける
設計する
開発する
エンジニア紹介
- 紹介が続く
エンジニア募集
- 募集中