RubyKaigi 2014 レポート

Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目

この記事を読むのに必要な時間:およそ 4 分

2014年9月18日~20日の3日間,タワーホール船堀にてRubyKaigi 2014が開催されました。基調講演をそれぞれレポートしてきました。

画像 画像

画像 画像

3日目最後の基調講演は@a_matsudaの紹介を受けて登壇した,Aman Gupta@tmm1です。タイトルは「Ruby 2.1 in Production」。Aman Guptaは現在GitHub, Inc.(以下,GitHub)に勤め,そこで使用している高速化のテクニックとツールを紹介しました。Ruby本体のコミッタでもあるAmanによる講演は,圧巻でした。

当日のスライド(PDF版)は次のリンクから参照できます。

はじめに

現在AmanはGitHubで技術インフラストラクチャのヴァイスプレジデントをしています。github.comの巨大なRailsアプリケーションについてモデルの数やコントローラの数,レスポンスタイムなどを紹介した後,自己紹介に移りました。

画像

Rubyとの出会い

AmanとRubyとの出会いは2002年までさかのぼります。Amanがまだ高校生のときです。そのころ,AmanはWeb開発を学んでいました。PHPに熱中していて,シェルスクリプトから3Dゲームといったものまで,すべてをPHPで書くほどだったそうです。

ある晩,ネットを見ていると偶然Programming Rubyというページを見つけました。Rubyのオブジェクトモデルの簡潔さに興味をそそられ,とても面白そうなものに見えたそうです。しかし,まだその時点ではRubyはWeb開発にあまり使えなかったので,すぐに興味をなくしPHPに戻りました。

その後,ふたたびAmanがRubyを使い始めるのは,数年後の大学時代になってからのことです。そのころRailsについての話を聞くようになり,他の人と同じようにDHHのRailsの本を一冊購入して何回か読んだそうです。

Amanはリアルタイムにブラウザにpushすることにとても興味を持っていたので,Railsにその機能を追加しようとしました。しかしすべてのメタプログラミングを追うことはできず,あきらめました。とりわけ,そのころRailsは1.0ぐらいで,コードベースはものすごいものだったようです。そこで一度Railsを触るのはやめてしまいました。

代わりに,SequelやRamazeといった,よりシンプルなRailsの代わりとなるようなものの開発に関わっていきました。EventMachineにも出会い,次第にメンテナにもなりました。

2008年からのサンフランシスコ時代

2008年にサンフランシスコに移ったのは大きな変化であったのと同時に,サンフランシスコにいるのはとても刺激的だったそうです。そのころ,ICHR: i can has rubyと呼ばれるRubyのミートアップが催されており,github.comという名のサイトを作っていた2人と出会ったのもこの場所でした。

2009年

2009年前後,GitHubの創業者たちは隔週の飲み会を開催し始めました。この機会を利用して,町のあちこちを見たり,シリコンバレーにいる他のRuby開発者たちにも会ったそうです。

2010年

2009年と2010年にはRubyコミュニティにより関わるようになり, EventMachineでの功労に対してRuby Hero Awardsを受賞したりしました。たくさんのカンファレンスにも参加するようになり,RubyのスレッドやGC,メモリのプロファイリング,デバッグについて話したそうです。

同時期にGitHubも軌道に乗り始め,サンフランシスコの優秀な開発者が徐々に会社に参加していきました。

2011年

そして2011年に,GitHubに参加しました。Amanの友人もかなり参加していたそうです。

GitHubに参加する前には,実際のところGitHubやTwitterといったサンフランシスコのスタートアップに対してパフォーマンス改善のコンサルタントをしていました。しかし,一旦github.comのコードベースにアクセスできるようになると,もう他のことはしたくなくなったそうです。それは人生の転機のようでもありました。毎日使っているgithub.comに実際に改良を加えられることが嬉しかったそうです。

空き時間にファイル検索機能に取り組み始め,GitHubのフルタイム従業員として働き始めた,まさにその最初の日に, その機能をリリースしたのでした。

著者プロフィール

高山泰基(たかやまたいき)

RubyとかRailsが楽しい。最近はリモート勤務でクラウド請求書Misocaの開発に関わっている。
西日暮里.rb主催。

twitter:@tkymtk

コメント

コメントの記入