TuneCoreのAlex Kaneさんの事例紹介。
主にインディーズのメディアファイルの配信(iTunes, Amazon MP3 etcへの)ビジネスなのだそうです。
1日に100のアルバムをリリースしているそうです。
フロント(アーティスト側)は通常のアカウンティングサイト。ただし、大きなファイルのアップロードは、mongrelではなくてmerbを使っているとのこと。
配布エンジンはほとんどRuby。ただしエンコード変換は外部、XMLのValidateはJavaだそうです。
メッセージキューをYAML形式で実装しAmazonのサービスを利用。
Amazon EC2を使って配信サーバーを動的に管理している。700のサーバーを起動するのに5分。ストレージはAmazon S3。
前田修吾さんの話。「Rails症候群」
- protectedの多用(誤用)
- 既存クラスの再定義をしたがる
- Rubyが何だか知らない
- 文字列とシンボルの区別がつかない
- !の誤用
でも、Rubyのせいかも?
- protectedは不要?
- selector namespace/classbox
多様性を保証するためにも言語仕様を。
RubySpecはいいけど、政府調達には…ISO化も考えているとのこと。
iKnowの開発者Zev Blutさんによる事例報告。
2週間のリリースサイクル。短い。
失敗談:ActiveRecord count/size/lengthの違い
失敗談:OpenIDの認証が遅くなった
失敗談:ファイルシステムext3の限界でキャッシュができない
継続インテグレーションツールKwalaのおまけつき。
食べログの京和さんの事例。
Windows/ASPからRailsへの移行だったのだそうデス。
メモリ喰い対策。
データベースの負荷分散。MMCはダメ。ActsAsReadonlyableで。
クエリーはテーブルを件数、ID、属性の3段階に分けてチューニング。
routeは書いていないがそれほど特別な事はしていない。大規模でも大丈夫。
jpmobileのしだらさん。
携帯向けアプリを作る上での数々の機能を、携帯キャリア・機種によらずAPIで提供。すばらしい。絵文字変換機能まで。
山本陽平さんによるRESTの話。
山本さん的にもっとも重要視するのが、アドレス可能性と接続性だそうデス。
リソース設計重要。ステートレスにこだわりすぎる必要はない。だそうで。
CTCの高井さんと大場さんがスーツで登場。
CTCのRuby関係売上は4.3億程度だそうです。
エンタープライズとは何か?業務!
SI会社にRubyを遣わせるためには、「開発者が楽しい」「生産性が高い」ではだめで、「新規顧客・案件の獲得」が武器に。
教育体制、SLCP2007開発標準(ISO/IEC 12207)、保守・運用フェーズサポート。
見積りはFC法で実績収集。Javaより3割から5割効率的。
Java開発者には3日のトレーニング。コードレビューがうまく行く秘訣。
検証センターで実証済み。
役員をパトロンに。
artonさんによる、拡張ライブラリのためのRailsもどき。テンプレートからのScaffold生成。私は拡張ライブラリを書くことは多分ないと思うけど、便利そうです。
ごとけんさんの「さらに仕事に使うRuby」では、redMine活用に変わっていた点が注目。会社でも使ってみるか?
咳さんは「erbを偲んで」というタイトルは釣りで、GUIにおけるテンプレートとコードの役割についての持論を展開。ベンチマークの話は半分は拍手半分は爆笑。照れ屋の咳さんらしいですね。
途中から多目的ホールに移って、前田KさんのDSL話と、JUDEとRubyをつなぐ野村さんのLuRuJuの話を聞いた後、また大ホールに戻りました。
大ホールに戻ってよかったのがAppleのLaurent SansonettiさんのMac OS XでのRubyの話。RubyCocoaからMacRubyにいたる話は想像通りでしたが、ビックリしたのはMacRuby上でCocoaプログラミングを簡単にするHotCocoaなるライブラリを、*昨日*から開始したよと言う話。RubyCentralのRich Kilmerさんが協力して、一晩で320行のコードを実装。Cocoaを直接呼ぶよりはるかに簡単そうです。
さらにビックリなのが、Q&Aで明かになったこと。MacRubyでは、RubyのArrayやStringなどをObjective-Cのネイティブオブジェクトに置き換えているのですが、そのメソッド再実装などの力業をLaurentが一人でやっているということ。それもフルタイムではなく。
東大の増原さん。Ruby「で」プログラミングを教えているという話。
何でRubyか?
大学でのコンピュータサイエンス学科の人気低下。=>ハッカー以外の学生をどう惹きつけるか?
プログラミングを楽しく。(v.s. Java)
Yumi3は企業向けのソフトウェア教育。
「社内でRuby開発者を増やすには」自分たちで教えましょう。
実習はペアプログラミング!
TDD。だけどテストコードは講師が与える。
社内だけでなく、コミュニティでも教育をしましょう。
Yuguiさんは、RSpec によるBDD。
Subversionは共有フォルダ代わりになれさせた。
COM + ASP.NETの火消を諦めて、SeleniumとRSpecをツールにRailsで書き換え。
Yuguiさんたちのお手本がみんなに普及。