行ってきた
前半 Capistrano Yuguiさん
- インストールするとcapコマンドができる
- % cap --apply-to dirname または cap -A dirname
- % cap show_tasks
- いろいろな説明。--helpとは違う内容
- rakeがcapをラップしてるrakeのタスクで実行できる(lib/capistrano.rake)
- % rake:remote xxxx
- 設定はconfig/deploy.rb
- 標準のdeployはサーバにのディレクトリを作成してsvn coしてシンボリックリンクをはる
- シンボリックリンクだから、まずい場合にすぐ戻せる
- migrateとかもできる
- AWDwR2版は多くはないけれどcapistranoのことが載ってる
Ceruberus 継続ビルドツール よしみさん
- ビルド結果などをPlaggerみたいにパブリッシュ
- フィードとかメールとかIRCとかJabberとか
- 開発の経過を追いかけたい場合に便利
後半 フィード生成とキャッシュ 自分
- FeedToolsを使うとフィードの生成と読み込みがかんたんにできる
- hapricotは読み方がよくわからないけど、便利
- Railsのキャッシュはファイル、メモリー、DRB、Memcached
- mephisto(ブログツール)は自力でDBにキャッシュしてる
- やっぱりRailsは遅い
- mongrel clusterを使えば、そこそこ速くなる
- Sweeperはobserverみたいだけどobserverじゃなくて使いにくい
- SCGIの人はSCGIをやめてmongrelを作っているから、SCGIはもうあんまり更新されないかも
Railsとは関係ない話 瀧内さん、yamazさん
- 画像リダイレクトをたくさんやるとIEが落ちたりする
- 大規模サイトはいかにキャッシュを使うかが重要
- ApacheなりSquidなりを二段構成でアプリサーバの前に置いたりする
- 必ずしもRDBMSが良いわけじゃない
- ニコニコ動画はたぶんRDBMSは使っていない
FeedToolsの使用例
def feed item_size = 20 feed = FeedTools::Feed.new feed.link = url_for :controller => 'items', :action => 'feed' feed.language = 'ja-JP' feed.title = "recently #{item_size} items" items = Item.find :all, :limit => item_size, :order => 'created_at ASC' items.each do |item| feed_item = FeedTools::FeedItem.new feed_item.title = "item #{item.id}" feed_item.link = url_for :controller => 'items', :action => 'show', :id => item.id feed_item.updated = item.updated_at feed_item.content = item.content feed << feed_item end render_text feed.build_xml end
感想
人が多かった
WiFiが導入されて便利だった
Capistranoは使えるようにしたい
Railsのキャッシュのへんはあんまり収穫なし
でも大規模なサイトの運用の話がきけて良かった
パンくずは情報アーキテクチャ的にきちんと設計されているかがまず重要(システムの設計じゃなくて、ユーザー視点)
パンくずの実装はべたにビューに書いておけば良い気がするけど、Railsアプリでやったことないからわからない