カカクコム&クックパッド共催 勉強会に参加してきました
Rails+OpenIDということで、顔見知りもいないほぼアウウェーな環境に参加してきました。
勉強会後は軽食も出ていたれりつくせりでした。cookpadさん、カカクコムさんありがとうございました。
以下、ざっくりと発表のメモ
発表内容
- クックパッドのRailsリリューアル
- Inside Tabelog's Backend
- Okyuu.com × Rails × OpenID
- クックパッドの裏側とこれから
- Rails2.2がやってくる
クックパッドのRailsリリューアル
発表した人:cookpad CTO 橋本さん
- クックパッドとは
- Rails採用の経緯
- なぜRails?
- Rails開発ノウハウ
- 開発の原則
- プログラマ
- 全員の環境の統一 mac*1 + emacs
- subversion
- shinjiko
- コードレビューシステム
- DBのレプリケーション
- acts_as_readonlyable プラグイン
- レシピ検索
- キャッシュ
- 初回アクセスだけページキャッシュ
- ページキャッシュを使用とした場合の問題、以下の部分をAjaxの1リクエストで処理
- ログイン情報による動的な変化
- アクセスログ
- 広告配信
- ぶらん座のキャッシュ以外は利用していないとのこと
- ユーザー専用URL
- routes.rb
- すべてのコントローラ名を検索
- 一致しない場合に専用コントローラに渡す
- routes.rb
- プレビュー機能
- 特定期間だけ表示するのはテストが行いづらい
- Time.nowを上書きして、任意の期間表示を全ページで可能にしている
- 特定期間だけ表示するのはテストが行いづらい
- アクセスログ
- Railsで何が変わったのか?
2008/10/22 追記
発表資料が公開されていました。
カカクコム&クックパッド共催・勉強会を開催しました | クックパッド開発者ブログ
Inside Tabelog’s Backend
発表した人 カカクコム 京和さん
発表内容はRuby会議08 とほぼ一緒らしいです。
- 食べログとは?
- CGM型グルメサイト
- 登録件数 60万件 グルメレビューサイトで 1位になった
- CGM型グルメサイト
- スペック
- PV 8000万
- UU 650万
- サーバ16 台
- ソース 30000 行
- 180 テーブル
- 環境
- Redhat
- Ruby1.8.5
- mongrel採用の理由
- パフォーマンス
- 秒間50アクセス
- 実際 平均0.2/リクエスト
- スケールアウト
- セッションの共有
- RailsだとDBに簡単にいれられる
- DBの分散アクセス対応
- ActsAsReadonlyable
- 課題
- フェイルオーバー
- DB障害時に自動で切り離ししてくれない
- 同時アクセス数
- すべてのスレーブを実行
- 同時アクセス数 = プロセス数
- フェイルオーバー
- セッションの共有
- パフォーマンス
- routes
- routesをつかってない
- mod_rewrite + create_url(自作)
- IIS時代の資産を継承
- マルチドメイン対応
- routesのパフォーマンス問題(とにかく遅いらしい)
- create_url(自作)
- url_forと引数互換
- contoroller + actionのメソッドでハッシュ → 変換マップ
- 欠点
- テストが書きづらい
- メンテナンスコストが高い(routesと比較ベンチ取って検証してみたい)
- routes
- cache(memchached)
- 各アプリケーションサーバ上
- キャッシュ対象
- DBへのクエリ
- テンプレートはキャッシュしてない
- 統計
- アクセス数 100リクエスト/秒
- 課題
- memchachedのメモリサイズが足りない
- ActiveRecordの富豪っぷり(無駄なカラムを取得してくる)
- session
- まとめ
Okyuu.com × Rails × OpenID
発表した人 カカクコム 藤原さん
2008/10/22 追記
cookpadの裏側とこれから
発表した人 クックパッド 高田さん(id:satoship)
- Award on Rails 2007 でクックパッド賞 もらったのでクックパッド入った
- 技術部の紹介
- エンジニア 5名
- サービス開発 2名
- 広告商品開発 1名
- インフラ 2名
- エンジニア 5名
- インフラチームの仕事
- 料理が楽しくなるシステム作り
- サーバーの設定からシステム運用まで
- cookpadの裏側
- システム構成
- ソフトウェア
- capistrano(デプロイ)
- Subversionのリビジョン確認
- CPU数・メモリ数の確認
- ソフトウェアのインストール
- スクリプトをアプリケーションと一緒にコミットできるので便利
- god (mongrelの再起動
- CPU使用率/ メモリ使用量を閾値い指定して再起動
- 落ちてるmongrelを再起動
- ただし完全に対処はできない
- nagios
- munin(モニタ
- FiveRuns manaEge(モニタ Rails内部のモニタ
- Railsの内容のモニタ
- 遅い controller/action のランキング
- よく使われている controller/action のランキング
- など・・
- FiveRuns TuneUp もあるよ
- capistrano(デプロイ)
- これから
2008/10/22 追記
発表資料が公開されていました。
カカクコム&クックパッド共催・勉強会を開催しました | クックパッド開発者ブログ
Rails2.2 がやってくる & 食べログiPhone
発表した人: カカクコム 大石さん
- Rails2.2
- スレッドセーフ
- コネクションプール
- l18n
- 食べログiPhoneアプリ
- 開発期間 2週間とちょっと
- 9月 約58000 (海外からのアクセスも多いらしい)
- 現在 約300/日
- 良く落ちる
- 重い
- 位置情報 がうまくとれない
- 近日改良予定
- 続きはWebで
感想やら
Rails使ってる人が80人も集まってるのかと思いきや、懇親会で話してみた人の7割PHPerでしたw
それでも、Railsで業務してる人も増えて来てるんだなーって実感しました。
しかし、受託でRails使ってる人っているのかな?自社サービスでは多いみたいだけども。
やっぱりこういう大規模開発のノウハウが聞ける機会って少ないので、多言語でも単純に面白いです。言語が違うと苦労するポイントもやっぱり変わってきますね。
最近はPHPなイベントばかりにいっていたので、けっこー新鮮な発見がちなほらありました。
いい刺激をもらったのでより頑張ろうと想った一日でした。
最後に宣伝
もくもく会ディノは毎週火曜日に開催してますのでお気軽に参加ください〜。一緒にもくもくしましょう。
*1:しかもpro