こんにちは!Prottのフロントエンドエンジニアをやっておりますあおしです。

弊社はデザイナーの会社と思われている方も多いかと思いますが、エンジニアも多数在籍しております。(現在エンジニアによるAdvent Calendarもやってます!よろしければ見てください!)

そんな弊社ではサーバーサイドをRubyで構築することが多く、Rubyに対する貢献と会社のアピールも兼ねて、先日の12/11-13まで開催されていたRubyKaigi 2015にGoldスポンサーとして協賛しました!弊社エンジニアも数名参加しましたので、各々が印象の残ったセッションをまとめて紹介したいと思います。

Keynote(2015/12/11)

Goodpatch CTOのひらいさだあきです!

初日のKeynoteのスピーカーはまつもとゆきひろさん(Matz)で、「Ruby3 challenges」というタイトルで、Ruby2.3、Ruby3、そして、Rubyコミュニティについてのお話でした。

Ruby2.3には多くの新機能、改善、パフォーマンスチューニングが含まれています。またRuby3はRuby2より3倍速くし、2020年のリリースを目標に開発を進めていくとの発表がありました。

Ruby 2.3.0-preview2はKeynoteの前のオープニングトーク中にリリースされました。正式版はクリスマス(12/25)にリリースされる予定です。
さっそくRuby 2.3.0-preview2をインストールし、開発環境のProttをRuby 2.3.0-preview2で動かしてみました。その手順を簡易的な内容ですがこちらにまとめました。

RubyKaigi2015に行って、Ruby 2.3.0-preview2をインストールした – console.blog(self);

言語やフレームワークの進化に追従していくのはそれなりのコストがかかりますが、今後も積極的にバージョンアップをして、新しい機能や改善の恩恵を受けられるようにしていきます。

当セッションに関するツイートまとめはこちら

TRICK 2015

Prottで主にフロントエンドを担当しているよしこです!
RubyKaigiではたくさんの興味深く面白いセッションを聞くことができました。
その中でも私が一番衝撃的だったのは、1日目の最後にあったTRICK 2015の受賞作品発表です。

TRICKとは”Transcendental Ruby Imbroglio Contest”、日本語にすると「超絶技巧 Ruby 意味不明コンテスト」という「意味不明だけど超絶技巧で面白く感動するプログラムを書いて競おう」というようなコンテストです。
もともと同じコンセプトでC言語にIOCCCという大会がありますが、TRICKはそのRuby版で、2013年のRubyKaigiで第一回が開催され、今回の開催は2回目でした。

私はTRICKの受賞作品発表を見たのが初めてだったのですが、ものすごく興奮しました!

超絶技巧プログラミングの世界でポピュラーなのはQuine(クワイン)と呼ばれる「実行すると自分自身のコードを出力するコード」やPolyglotと呼ばれる「複数のプログラミング言語として正式に解釈できるコード」などだと思いますが、それら以外にも度肝を抜かれるような発想と技術力のコードの連発で、本物のプログラマーが本気を出して遊んでいる異世界感に圧倒されました。
まさにプログラミング言語での曲芸という言葉がぴったりだと思います。

どんなプログラムが入賞しているのか、ぜひご自分の目で確かめてみてください!

当セッションに関するツイートまとめはこちら

Charming Robots

Prottのサーバサイドエンジニアをしているたにしです。
私が印象に残ったこのセッションではartooというgemで、さまざまなデバイスを制御するデモが行われました。
artooは、ロボットをRubyで制御するためのgemです。
公式サイトにはロボットと書かれていますが、例えばRasbery Pi、Drone、Leap Motionといった物理的な入力を受け付けるデバイスに対応しています。
デモでは以下ようなデバイスを制御して見せてくれました。

  • プログラムからLED制御や音に反応して点灯
  • iBeaconやLeap Motionによる入力からBGMを再生する
  • MIDIパッドやDDRのダンスマットの入力からDroneを操縦

Droneが会場で飛び回るというデモがあったのですが、このデモは今回のRubyKaigiの中でもかなりの盛り上がりで、思わず他のオーディエンスと一緒に立ち上がって見入ってしまいました!デモの動画を撮ってくれた方がTwitterにあげてくれているのでぜひご覧ください。

デモごとにスライドに映されたコードを読んでみると、Rubyならではの分かりやすいメソッド名がartooにも取り入れられていて、さらっと読むだけでもled.toggleのように理解しやすいような記述がなされていました。
公式サイトにコードの例があるので、いくつか見てみると面白いと思います。

今流行りのIoTは開発が難しそうだなあという理由で敬遠していましたが、Rubyを使って簡単に記述できるのはとっても嬉しいなと思いました!

当セッションに関するツイートまとめはこちら

Rhebok, High Performance Rack Handler

エンジニアの@urapicoです。

@kazeburoさん自身が開発されているRhebokというRack Handlerについて、unicornとのベンチマークなどを比較しながらのお話でした。

普段サーバーサイドのレイテンシーを気にする身としてはとても興味深いセッションでした。弊社のサービスのProttでもunicornを使っているので、非常に参考になりました。
また、ベンチマークツールのwrkにパッチを当て、unix domain socketに対応させていたりなど、エンジニアとしての姿勢も見習いたいところが多々ありました。

Writing web application in Ruby

Prottのフロントエンドエンジニアをやっておりますあおしです。
私が一番印象に残ってるのが、Rails Girlsのオーガナイザーなどを行ってる@youchanさんのセッションです。

このセッションでは主に、JavaScriptのフレームワークであるReact.jsをRubyっぽく書くことができるgem「hyalite」の紹介でした。このgemは「Opal」RubyからJavaScriptへ変換するコンパイラを使って実装されてます。

昨今ではWebアプリ中でフロントエンドの比重が大きくなっており、RubyよりもJavaScriptを書くことが多くなってきています。そこで@youchanさんは「趣味のプログラミングくらい自分の好きな技術を使いたい!」という思いから大好きなRubyをフロントエンドでも使用できるようにこのgemを開発されたそうです。

私はフロントエンドエンジニアなのでJavaScriptを書くことが多いのですが、言語はRubyが一番好きです。なのでこのセッションを聞いてて、とても嬉しくなりました。もしかしたらフロントエンドもバックエンドもどっちもRubyで実装できる時代が来るのではないかと。今後に期待のgemです!

最後に

rubykaigi2015_2

その他興味深いトピックとして、iOSアプリリニューアルの際にデザインをお手伝いしたマネーフォワード様がフルタイムのRuby開発者を採用することを発表し、会場を多いに沸かせました。

このような形でRubyKaigi 2015は大盛況のうちに幕を閉じました。このような素晴らしいイベントを開催していただいたスタッフ、スピーカー方に感謝の気持ちで一杯です。
来年は9月に京都で、今年の3倍の規模で開催されるそうなので楽しみですね!

最後に、弊社は只今Rubyエンジニアを大募集中です!少しでも興味ある方は遊びに来ていただけると嬉しいです!