ワナビーエンジニアのブログ

なんでもいいから文化的な生活を送りたい

RubyKaigi 2016(3日目)

3日目

最終日です。 ポケGoしながら行ったけど特になんもでなかったな京都・・

今更貼りますがscheduleから発表資料みれます。

rubykaigi.org

Ruby Committers vs the World / commiters

vs the Worldとは銘打っておりますが、回線の都合で会場のみ。

京都国際会館はとにかく会場のwifiが役に立ってなかった。

色々話が出ておりましたが、覚えているのは2つ。

svnからgitへの移行についての質問

これはいくつかの問題から難しいとのこと - gitには移行してもよい - githubはプロプライエタリなのでmainでは使わない(github社) - githubにはクローンが既にあって(ruby/ruby)、PRは受け付けている - redmineに情報がたまっていて、これからもredmineを使いたいので、githubのissueは使わない。 - svnとredmineの連携ツール/スクリプトがあるので、これを捨ててgitへの移行は簡単でない - 誰かやってほしいとのこと

Ruby3.0のimmutableな話

Q: .freezeマジックコメントはなくなって、immutableがデフォルトになるのか?

A: したいけど、影響大きそう(既存のgemとか) Python先輩を他山の石として、デフォルトは厳しいのではないかと考えている

質問内容ごとに誰が答える、みたいな役割分担がやっぱあるんですね。

それが逆に動きにくくならないのかな?と思った

Ruby3x3: How are we going to measure 3x? / @MattStudies

タイトルの通り、ベンチマークの話。

どうやって、何を、どこで、どこを計測するかによって全然違うけど?という内容でした。

さらに、ベンチマークだけに限らず、OSや、OSの設定、ハードウェア環境に左右されてしまう問題の提起。

3*3=9パターンのベンチを考えていて、gemで作ろうとしているとのこと。

たしかに今って何をもって3倍って言ってるか言及が無いのか・・・。

High Tech Seat in mruby / @yuri_at_earth

High Tech 椅子 ってナニ?wって思ってたらまじで椅子でした。

lego mindstomを使った便器のデモ。mrubyで動かしているそう。

内容はUMLについての一般的な説明でした。組み込みということで馴染みのある話が多かった。

TOPPERからの刺客だったみたいです。

過去ETロボコンでお世話になった覚えがある・・予選敗退したけど。。

mrubyはかなり興味あり

Lunch Break

ぼっちめし。

弁当が3x3に戻った。

Recent Advances in HTTP and Controlling them using ruby / @kazuho

webサーバーH2OとHTTP/2の話。

HTTP/2ってもう30%も普及してたんですね。

webサーバーとクライアントで理想的なやりとりのために、 優先度をつけようと言う話でした。

具体的にはCSSやJSといったものを最初にクライアントに渡すことで、webページの表示をはやくしているらしい。

さらにHTTP/2のpush通知と、クライアントから物理的に近いCDNを中間者として利用することで、高速にやり取りすることを考えているとのこと。

東京RubyKaigiとrebuild.fmで予習してたので、すんなり頭に入った。

何がRubyと関係あるのかというと、H2Oの設定ファイルがrubyだから。

nodeでもgolangでもなく、やっぱりDSLが優れているrubyが選ばれるのかな?

Optimizing Ruby / @shyouhei

rubyの高速化の話。

例えば1 + 2 = 3を、愚直にADDするのではなく、3をそのまま設定する特別な命令に置き換える。

というのを色々やる泥臭い最適化を施したらしい。

pureなメソッド(説明が難しいのでスライドを参照)のみに適用できる。

ベンチマークはmake benchmarkで行って、大体は同じか、ちょっと遅くなったけど、有効ものは100倍速くなったとのこと。

GCしまくるような

修正はruby2.4に入り、PRは下記

Deoptimization Engine by shyouhei · Pull Request #1419 · ruby/ruby · GitHub

うーむ泥臭い!逆に言うとRubyはもうこの段階まできてるのか、と思った。

Afternoon Break

@yuri_at_earthさんとお話させてもらった。 別に組み込み界隈にmruby広めている活動をしているわけでは無いそう、残念。

Hijacking syscalls with (m)ruby / @franckverrot

またmruby。LD_PRELOAD, DYLD_LIBRARY_PATHという環境変数を使って、

自作のsystemコールで上書きし、ハイジャックするという話。

何に使えるかピンときませんでしたが、なんか使えるかも?

Dive into CRuby / @nalsh

導入は、これからCRubyにコントリしたい人向けの発表内容か!?

と思いましたが途中からコンピュータと会話されてました。

とはいえこれもルビィノススメ並みに勉強になった。

どのソースがcommiterの誰の住処か、っていう話が分かって面白かった

その他

RubyKaigiが終了して新副菜館でラーメン食べて帰りました。

スープ超黒かった

以上RubyKaigi 2016 レポートでした。