Rails Developer Conference2010 聴講記

RailsDeveloperConference2010に行ってきました。
今年に入ってから仕事が忙しかったので、久しぶりの勉強会参加でwktk
Twitterで定期的に呟いていた内容を中心にまとめておきます。

※内容、発言等で間違い等あれば修正しますのでご指摘を。

入場

ラクル青山センターに140人。初開催にしては人集まりすぎw

開演の挨拶: 実行委員長 榊祐介:@ysakaki、 30min. Inc.所属

@ysakaki氏、ちょっと上がり気味。

「渡米して感じたこと」 増井 雄一郎:@masuidrive

http://public.iwork.com/document/ja/?a=p278287629&d=RailsDevCon.key

  • 何年前かに話題になった風呂Macはまだ週何回かのペースで続けてる。幸いMacは機密性が高いので壊れたことは無いw
  • ワイズノット。。。
  • BigCanvas設立経緯。中島さんと会って30分で意気投合→勢いで会社作る(!)
  • シリコンバレーRails求人事情。10万〜17万5千$/year。通常の3倍以上。
  • アメリカでも「残業しないけど家に持ち帰って続き」「会社によっては自分の仕事終わったら帰るのいやがられる」「いつクビになるかわからん」など良いことばっかじゃない。
  • アメリカに行っても英語は喋れるようにはならない→言語(English)の不利は言語(Ruby)でかえす!
  • Railsの検定試験策定に関わってるので是非受けてみて〜
  • 帰国後空いていたけど、「Titanium Mobile」とかのAppceleratorで働くことになりました。

Rails情報源の歩き方(仮)」西村 賢:@knsmr

  • 1年休職してアメリカに行き、上司へ「日本人には英語は無理です」と報告。→紆余曲折後、なんとかTOEIC990点達成!
  • Railsの公式サイトのドキュメント、全般的にかなり便利。
  • githubの関連。視覚化してみるとRuby/Rails関連プロジェクトは小宇宙のように連携してる。PHPは(ゲフンゲフン
  • Rails最新情報週間で届けるRailsCast&ASCIICast
  • confreaks、Scaling Rails、StackOverflow...etc
  • Ruby会議に参加した米国エンジニア「アメリカのRailsConfはネクタイ組が多い。RubyConfは規模ではRailsConfに負けるがエンジニアの割合が多くて熱量では上。 」
  • キラーDHH発言。「MBA役立たず」「Microsoft眼中にない」「地元で愛されるイタリア料理店を目指せ」
  • RailsHubが@ITで12/22にオープン。見て下さい!

「とあるソーシャルアプリの開発運用」大仲 能史:@onk、(株)ドリコム ソーシャルゲーム開発デザイン部

http://www.slideshare.net/takafumionaka/ss-5852561

ドリコムで進めてるソーシャルアプリ開発運用をフィードバック。


※カンファレンス参加者の多くは賛同してくれると思うけど今回のベストセッションでしょう。
あれだけ悪かったドリコムの業績が回復した理由がわかる、それほどの発表だったと思う。
エンジニア魂を揺さぶられた。

  • ミドルウェア、ことごとく最新。unicorn2, nginx0.7, Rails3, MySQL5.1, Ruby1.9.2, Redis.... この時点で「やるなドリコム!」と思う。
  • 使用gem、plugin紹介。※そこそこRailsアプリ構築してる自分だが、知らないのがいっぱい。。。
  • net-http-spy、tcpflow等でTCPレイヤまでのパケットチェック
  • 巨大SNSからのアクセスはリリース当初から凄いトラフィックでエンジニアの甘えを許さない。リリース1weekで10万→すぐに30万ユーザ。230 imp/secを出さなければならない。
  • 企画→リリースまで2ヶ月とかざら。リリースは大安を狙っている。
  • DBのmaster/slaveはmasochizm、shardingはoctopusを使用→それだけでは圧倒的な更新頻度に耐えられない→更新頻度高いテーブルごとにマスタDBを分割→has_manyやbelogs_toなどの関連が使えなくなる→関連はAP側で実装。 ※ここに達するまでの凄い試行錯誤が見受けられる。
  • 50万ユーザが3ヶ月遊んだ想定のデータを作成した上でのアクセス負荷試験を行う→テストデータはfakerで作成。
  • JMeterで負荷をかけ、スループット,DiskIO、コネクション数を確認
  • リクエストを5秒以内に返さないとSNS側でサービスダウンと見なされてしまう→TOPからマイページへのリダイレクトを非同期にResqueで行っている。データ処理はactiverecord-importでBULK INSERT。
  • 「ユーザ数、数万で想定しているコードは全てNG」→バッチで1ユーザあたり1秒かかってたら、一日86400ユーザ分しか処理できない!
  • 普通にやっていたのでは開発スピードに追いつけない→ドキュメンテーションを減らし、開発中はER図とURL設計書だけで進める。迷ったらRailsらしく。
  • 分散した多数のサーバのログの集約が大変→scribeで収集

Railsプロジェクトを成功させるために現場ができること」赤松 祐希:@ukstudio、フリーランスプログラマ

http://www.slideshare.net/ukstudio/rails-railsdevcon2010-5842321

  • このセッションでの成功の定義:顧客が満足すること
  • 技術的負債の話。
  • みんなテスト書いてる?→テストが負債を返すための鍵。
  • 技術的負債の大きな要因の「依存性」をなくす→息を吸うようにリファクタリングするべし
  • リファクタリングは後でやろうとしても出来ない→負債を返すことを開発プロセスに組み込む→ex)開発中の週の20%を負債返済(=リファクタリング)にあてる。
  • ちゃんとバージョン管理ツール使おう。日付管理などもってのほか。
  • 既存のテストが負債になるケースがある→上位のテスト(Cucumberとか)動作を保証することで、海のテスト(RSpecとか)の自由な回収を。
  • RailsではModelに設計が引きずられがち→必要となったら単一責務を負わせるクラスをちゃんと作るべし。
  • コードレベルだけではなく、使わない機能も負債のうち。顧客との要求調整もしっかりやりましょう。

「現実の世界で "はじめる!Cucumber"」諸橋 恭介:@moro、(株)永和システムマネジメント、Rails勉強会@東京

http://www.slideshare.net/moro/begin-cucumberinrealworld

  • Cucumber、まずは使ってみるのが大事。簡単なGETレベルから。「動かなくたって良いんだ」って気持ちで開始しよう。
  • 日本語でシナリオかけるけどどう生かす?→対話のきっかけに「お客様,チームメンバ、自分自身」
  • 「完璧なCuke→完璧なRSpec」は挫折する。 「それっぽいCuke→必要十分なRSpec」が現実的。
  • 顧客にいきなり「Cucumberというモノがありまして〜」とか言って混乱させないように。調子に乗っちゃ駄目。
  • 自分たちでアプリの動作を考えることが何より重要

Rails Add-onsで楽々開発 - youRoomを題材に -」松村 章弘:TIS(株) 社内ベンチャーカンパニー SonicGarden

http://www.slideshare.net/mat_aki/rails-add-ons-derailsdevcon

今日は上司@kuranuki氏に言われて名前を売るように言われてきた>「授業参観の親御さんの気持ちがわかります。」

  • Tweet見せながら発表。「今日はSonicGardenの提供でお送りします」
  • youRoomの開発は週一リリース。テスト自動化などの対応は必須。
  • マルチ認証FW OmniAuth
  • 検索プラグインSearchLogic。バージョンアップでエライ目に遭ったので気をつけて。
  • アプリケーション動作に直接関係無い情報(ユーザ数推移等)は、DBに入れずにGDataAPI等でGoogleSpreadSheetに投入。
  • 最初は無料HerokuでサービスIN→そのうちAmazonWebServiceに移行。
  • エラー通知はHoptoadで実現。
  • ITSとしてPivotal Trackerを使用。顧客要望があっても迅速に対応。

「初めてがRuby」松田 明, 吉田 裕美, ほか

Railsの新人教育に関するパネルディスカッション。コーチ陣2人(松田さん、吉田さん)と、新人さん5人が登壇。

  • RWC2009の「Effective Teams」見た人?と質問→2、3人→素晴らしいので見てと松田さんアピール。http://www.rubyworld-conf.org/ja/archives/2009/program/abstract/a-2/
  • 各人の経歴紹介。初めてさわるプログラミング言語Ruby
  • Railsも3系をはじめから使用。凄い。※考えてみたらRC版リリースから9ヶ月以上も経ってるんだよな。。。
  • 最初は「楽しいRuby」で勉強。内容に比べ章末問題が難しかった。
  • ソース管理にgitのプライベートリポジトリ使ったりしてる。
  • 新人から「書いたコードが良いコードなのか?」「最近デザパタ本読んで楽しかった」「リファクタリング楽しい」という感想が。素晴らしい!
  • 最後に質疑応答一つ。 Q:「これを言ってくれればもっと早くわかったのに!」ということは何? A:ググる前にAPIとかドキュメントなど一時情報の場所を教えてくれれば。。。

閉会:オラクル様あいさつ

Oracleさんのあいさつ。会社として積極的にエンジニアコミュニティとの連携を取っていきたいという気持ちの一環として、
本日の会場を提供したという思いを語る。

Oracleは最近は何かとOSSとの軋轢がいろいろ言われてるけど、社内にはこの現状に忸怩たる思いの人も多いんだろうな〜

感想

第一回目から運営、発表含めとても素晴らしい勉強会でした。
内容についてもエンタープライズからソーシャル、新人から中堅、ベテランまで網羅したバランスの良い構成だったかと。
来年も開催する予定とのことで是非参加したいです。


また、今回の会場だったオラクル青山センターは全席電源完備、140人集まっても遅くならない無料無線LAN、コーヒー無料など、
掛け値なしに今まで参加した勉強会で一番良い会場でした。


最後にスピーカー&運営の皆様お疲れ様でした!!