IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Ruby on Rails 海外事情コラム

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第7回 Google Summer of Code 2015のRailsプロジェクトに8名の学生 (野田貴子) 2016年1月

 Railsチームからの報告(*1)によると、今年のGoogle Summer of Code(GSoC)にて、Ruby on Railsのプロジェクトに8名の学生が選ばれたようです。

 今年で第11回を迎えるGoogle Summer of Code(GSoC)ですが、これはGoogleが指定したオープンソースのプロジェクトに対し、その年の夏の間に課題をクリアした数100人の学生が賞金をもらえる制度です。毎年2月頃、まず対象となるオープンソース(Railsなど)が募集されます。そして3月には学生の申し込みを受け付けます。4月は学生が対象のオープンソースの団体に慣れるための期間で、5月の終わりになると実際のコーディングが始まり、8月末まで続きます。各プロジェクトには、対象となるオープンソースの団体から選ばれた指導者が付きます。

 グローバルなプログラムなので、世界中に参加者がいます。以下は国ごとの参加学生数について公式発表された数字です。2015年は1,051名の学生が選ばれました。

(英語表記でのアルファベット順です。)
アルゼンチン 2、  クエート 1、 アルメニア 1、  リトアニア 1、
オーストラリア 4、  ルクセンブルク 2、 オーストリア 8、  マレーシア 1、
バングラディッシュ 1、  メキシコ 5、 ベラルーシ 6、  Moldavia 2、
ベルギー 2、  モロッコ 1、 ブラジル 15、  オランダ 10、
ブルガリア 2、  ニュージーランド 2、 カメルーン 12、  ナイジェリア 1、
カナダ 23、  ノルウェー 3、 チリ 1、  パキスタン 2、
中国 49、  パラグアイ 1、 コロンビア 2、  ペルー 2、
クロアチア 4、  フィリピン 2、 チェコ 3、  ポーランド 33、
デンマーク 1、  ポルトガル 13、 ドミニカ共和国 1、  ルーマニア 19、
エクアドル 1、  ロシア 38、 エジプト 7、  シンガポール 11、
エストニア 1、  スロバキア 6、 フィンランド 5、  韓国 5、
フランス 18、  スペイン 30、 ドイツ 50、  スリランカ 58、
ギリシャ 9、  スウェーデン 3、 ガテマラ 1、  スイス 5、
ホンジュラス 1、  台湾 2、 香港 4、  チュニジア 2、
ハンガリー 23、  トルコ 8、 インド 335、  ウガンダ 1、
インドネシア 1、  ウクライナ 8、 アイルランド 3、  アラブ 3、
イタリア 19、  イギリス 13、 ジャマイカ 1、  アメリカ 127、
日本 6、  ウルグアイ 1、 カザフスタン 1、  ベトナム 2、 ケニア 4

 そして、以下の8つのプロジェクトがGSoC 2015で選ばれました。GSoCに参加した学生は、その後も高い割合でRuby on Railsのコントリビューター(貢献者)になるようです。

1. 『アセットパイプラインのパフォーマンス改善』

 アセットをコンパイルする過程の一部をプロファイル、ベンチマーキングした上で、アセットの生成スピードを改善させます。このプロジェクトの最初の段階では、CoffeeScript、Sass、そしてUglifierをカバーします。

2. 『イベントファイルシステムのモニタリング』

 ファイルの変更を検知するためには、ポーリング式のActiveSupport::FileUpdateCheckerが長年使用されてきました。これをイベントベースのアプローチに差し替え、既存のサードパーティモニターに依存するようにします。

3. 『アセットパイプラインをソースマップに対応させる』

 CoffeeScript がJavaScriptにコンパイルされ、さらにミニファイされるなど、コードが何段階にも変換される環境に対し、コードの調査やデバッグを改善します。ソースマップがあれば、ブラウザの既存のツールを使ってCoffeeScriptなどのコードを読んだり、ブレークポイントを付けることができます。

4. 『Action ViewとActive Supportのリファクタリング』

 これはすでに備わっているべき機能なのですが、Action Viewヘルパーに名前付き引数を追加したりできるようにします。また、セキュリティやパフォーマンスを改善するため、ActionController::ParametersやActionView::OutputBufferのような抽象クラスを改良します。

5. 『ウェブコンソールのブラウザ拡張』

 これは前回のGSoCプロジェクトのフォローアップで、Railsウェブコンソールのためにブラウザ拡張を制作します。先述したソースマップのプロジェクトと同様に、既存のツールによるデバッグが向上します。

6. 『テストのエラー予測』

 最近のRubyで使えるようになったCoverageの機能を使ってテストのエラー予測をするというアイディアが、Railsのテストに組み込めるかどうかを実験します。

7. 『Cookieのリファクタリング』

 Rails のcookieの操作は極めて初歩的で、それでもほとんどの場合問題なく動いていますが、まだ改善の余地があります。既存のクッキージャーに対し、サーバーサイドの有効期限のメカニズムと、目的の項目を追加することで、コントロールしやすく、セキュリティの高いシステムにします。

8. 『RubyBench.orgの改善』

 RubyBenchはRubyや関連プロジェクト (例 Rails) のベンチマークを長時間走らせるためのすばらしいツールです。もし上手く行けば、RubyBenchでのJRubyのサポートがこのプロジェクトの次のステップになります。

(*1) http://weblog.rubyonrails.org/2015/5/2/welcome-to-gsoc-15/

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes