RubyKaigi2016 2日目

RubyKaigi2016 2日目

昨日に引き続き、京都は国際会館で行われているRubyKaigi2016に行ってきました!
2日目も面白い話が盛りだくさんでしたよ〜

セッション

2日目は普段使っているRakeやメタプロなどの身近な話から機械学習の話まで幅広いセッションが行われていました!

How to create bindings 2016 by Kouhei Sutouさん

僕がはじめに聞いたのは、Clear Codeのsutouさん!

「binding」のお話!

f:id:AdwaysEngineerBlog:20160910083435j:plain

恥ずかしながらbindingを知りませんでした。。。

しかし、CのライブラリのAPIRubyから使えるようにする、というところにビビっときました。 GIはかなり便利そうですが、実装したがりの僕はぜひCもしくはFFIで作ってみたい。。

これはぜひ後日ブログのネタにしたいと思います!

How DSL works on Ruby by SHIBATA Hiroshiさん

お次はツイッターでよく見るSHIBATAさん。

f:id:AdwaysEngineerBlog:20160910083440j:plain

DSLのお話!

Rubyの内部DSLがどのようなテクニックで実装されているか、わかりやすい例を交えて説明してくれました。
extendや特異メソッド、instance_evalを使ったテクニックが多かったですね。

この辺は以前に社内LT用にjavascriptDSLを作った時に体験しましたが、configファイルとかもDSLでいい感じに実装したいな、と思いました。

Rakeの内部構造までお話をしてくれ、とてもわかりやすかったです。

ランチ

今日のランチも豪華なお弁当。 ありがたいですね〜

f:id:AdwaysEngineerBlog:20160910083443j:plain

Learn Programmming essence from Ruby patches by Mitsutaka Mimuraさん

このセッションはとても面白かったです!

「what is Knowledge of Programming?」
という問いかけから始まり、
「仕事と、学校で学ぶ知識に乖離がある。」
という言葉にとても同感しました。なぜなら僕は学校で全く勉強はしていないのに、仕事でSEをやっていますからね。

しかしMiuraさん曰く、 でも学校で学ぶようなアルゴリズムやデータ構造の知識は引き出しになる、
こういった知識を学ぶために、Rubyのライブラリの理解や、アルゴリズムへの理解のために
RubyのPatchを読むのがおすすめ、とおっしゃっていました。

その理由は、
- コードが小さい
- issueなどで大まかな情報がわかる

からだそうです。

最近、正直自分の実力の伸びに少し陰りが見えたきた僕は、みんなが学校で学ぶような知識が欲しくなっていました。
でもどうやって勉強したらいいかわからず悶々していたので、せっかくRubyのしくみも読んだので、
これを機会に僕もRubyのpatchを読みたいな、と思いました。

Ruby Reference Manual 2016 Autamn by okkezさん

お次は「るりま」のお話。

f:id:AdwaysEngineerBlog:20160910083447j:plain

Rubyを扱ったことのある人ならば必ずと言っていいほど見たことがあるサイトですね。

http://docs.ruby-lang.org/ja/2.3.0/doc/index.html

ここ最近のupdateや予定のお話から、 貢献の方法までお話いただけました。

Rubyの完璧なリファレンスを作る、なんてかっこいい響きでしょうか。。。

参加する資格とかってありますか、と聞くと 日本語が話せてRubyが好きなら、とおっしゃってくださったので、頑張ってみたいです!

Modern Black Mages Fighting in the Real World by Satoshi "moris" Tagomoriさん

お次はFluentdのバージョンアップで使った「黒魔術」のお話。

バージョンアップで仕様が変わったが、たくさんの人が作ってくれたプラグインはそのまま互換性を保ちたい。。。 からメタプロでなんとかした!というお話。

f:id:AdwaysEngineerBlog:20160910083450j:plain

extendやprependを使った事例のお話でした。

fluentdくらいのサービスでもこんなに苦労しているんだ。。。としみじみ感じました。

そして、singleton_class.prependは一生やることはないだろうな。と思いました。

SciRuby Machine Learning Current Status and Future by Kenta Murataさん

最後はSciRubyのお話。 SciRubyはRubyでも機械学習をできるようにしよう、というもの。

f:id:AdwaysEngineerBlog:20160910083453j:plain

僕は機械学習は全く詳しくないので、正直よくわかりませんでしたが、
Pythonが得意とするところをRubyでできるとなると、嬉しい人はたくさんいそうだな、と思いました。

まとめ

今日は幅広い領域のセッションが聞けました! 特に印象に残ったのは、「るりま」のお話でした。

僕も貢献したい!

さて、最終日、頑張ってきますよ〜