読者です 読者をやめる 読者になる 読者になる

RubyKaigiとGPのために京都に行ってきた(3)

というわけで最終日、グランプリ京都、サイドイベント編です。

続きを読む

RubyKaigiとGPのために京都に行ってきた(2)

diary tech

まずはRubyKaigiまとめ、簡潔にセッション内容or感想など。 生ログはこちら

Keynote: Ruby3 Typing

最近のRuby系カンファレンスで恒例と化したRubyの型どうするよ話。

私としては「絶対に型は書きたくないでござる」でよくて、言語組み込みでstatic typingやろうと頑張るのは別にいいので、補助ツールとかでstatic analysisのようなことをして、どうしても拾えないところだけがんばる、という今までのアプローチでいいと思う。ほんとにstrictなコーディング規約とか型チェック欲しい場合はRubyでやらないし、ほんとに高度なメタプログラミングによる例外ケースは素人には作れないので玄人はhigh responsibilityをもって黒魔術してください、というのでいいのでは?

ErRuby: Ruby on Erlang/OTP

去年LTで聞いて以来興味があった話題だったのだがついにセッションになった。その間にErlang/Elixirでのプログラミング経験が増えたので内容理解の助けになった。RubyオブジェクトごとにErlang processを作るアプローチは確かにそうなりそうな気はするけれど、メモリとか大丈夫なのだろうか…?今後が楽しみなのでいくつかの組み込みメソッドの実装のpull requestとか送ってみようと思う。

Who reordered my code?!

out-of-order実行の話。ついていくのが大変だった。並行処理を行ったときにcode reorderingが発生すると問題が起きるので、問題のない範囲でreorderingするような仕組みを導入するよ、という話。

でその次は体力的に限界を迎えたためskip

笹田さんのGuildの話が聞きたかった…ので後でスライド見て復習した。

A Tale of Two String Representations

Stringの代替表現としてのRopeの話と、JRuby+Truffle上でそれを実装した話。なるほどStringを束ねたStringのようなものでロープか。そして確かに一部の変形に対して強くなるのは直感的にも納得。実際にRopeでいけるような変形がどれくらい使われるかの統計をとったり、自動的にRopeとStringの選択ができるようになるとよさそう。

Unifying Fixnum and Bignum into Integer

タイトルの通り。もともと意識しないで済んでいたけれど、この変更で壊れるケース(=ものすごいhackをしているケースなど)が実際にあるということを学んだ。

Scalable job queue system built with Docker

Job queueシステムのoverviewと、今までのjob queue systemで何がまずかったのか、どのように解決しようと思ったか、という話。競合の多い完成プロダクトの設計思想について聞けるのは大事な機会。競合のjob queue gemの特徴についてもまとめて勉強できた。

Fearlessly Refactoring Legacy Ruby

リファクタリングツールSutureの話。リファクタリングのために特定のメソッド呼び出しのところにSutureのコマンドを挿し込んで、最終的にリファクタリングが終わったらきれいに取り除ける、という仕組みが美しい。

Writing a Gameboy Emulator in Ruby

タイトルの通り。なおトラブルシューティングしながらだったのでメモは省略。確かに原理はわかるけど実際に実装しちゃうのがすごい。

How DSL works on Ruby

RubyでよくあるDSLの書き方と実際どうやって使われているかの話。こういうのも改めて整理してくれるのは本当に嬉しい。

A Nil Device, a Lonely Operator, & a Voyage to the Void Star

タイトルのVoid Starってvoid *のことか!Nilという概念がなぜ存在するか、nilやnull pointerによって発生するエラーとプログラミング言語がどのように戦ってきたか、の話。タイトルもそうだけど"Don't be a Lonely Operator"というメッセージは掛言葉の中に刺さるメッセージを持っている。

Web Server Concurrency Architecture

WebサーバーのIO待ちの実装比較とRubyのWebサーバーの実装比較。Event driven IOがレイテンシに対して強い、というのが発見だった。

Pwrake: Distributed Workflow Engine based on Rake

Rakeの記述を使った分散ワークフローエンジンの紹介。トラブルシューティングのためメモが断片的…

Modern Black Mages Fighting in the Real World

メタプログラミングテクニックの紹介と、fluentd 0.14でのプラグインアーキテクチャの変更にともなってどうやって互換性維持を実現したか、の話。実際にこういうの使う機会に出くわすことはあるんだろうか…特異クラスにprependするとか考えたこともなかったぞ…。

SciRuby Machine Learning Current Status and Future

Rubyでデータサイエンスはできるのか?問題に対する現状と今後について。個々人が試験的な実装を作り捨ててるからリアルワールドのユースケースに耐えるものが出てきていない、という状況らしい。インターフェースの整備されたライブラリが出てくれば十分にできるようになると思うのだけどこれはコミュニティの方向性を整備する人が出てくるのを待つしかないのかな…

3日目前半はスキップ

ぶっちゃけた話あんまりRuby committersの内輪ネタ感が好きくないため。その間に稲荷山に登ってきた。

Deletion Driven Development: Code to delete code!

Rubyでのunused methodを探索するgemを作る話。動的にメソッドが生えたり、一つのメソッドの中で複数メソッドが定義されたりするのをいちいちケアするのが大変そう。

Recent Advances in HTTP and Controlling them using Ruby

HTTP/2の課題の紹介(メイン)とそれをmrubyでこうやって解決するという話。TCPのcongestion windowの話とかはちょうどTLS脆弱性の勉強してたこともあってすんなりわかって嬉しい。HTTP/2だとこう嬉しい、っていうののあいまいだった部分が整理できた。

Ruby Concurrency Compared

並行性(concurrency)に関する概念の紹介と言語間での実装比較。資料が超充実しているのだけど資料まんまだったので読み返すのがよい。

Hijacking syscalls with (m)ruby

mrubyでシステムコールに処理を差し込む話。だいぶ力尽きてノートがまばら…。ChaosMonkey的な感じで「ネットワークが失敗する」「IOが失敗する」ような障害を擬似的に再現できるようになるとのこと。

Dive into CRuby

CRubyにどうやって貢献するか、という話。そっか…OpenSSLが穴場だったのか…。

クロージング

京都で開催して過去最大の参加者数だったとのこと。確かに東京で見かける人ばっかだったし、どっからきましたかって聞いて関東圏の人ばっかだったような…。京都開催は観光がセットでできるという意味でだいぶ嬉しかったので、来年も関東圏以外での開催だといいなあ。


第3部はGP京都編の予定。

RubyKaigiとGPのために京都に行ってきた(1)

diary

…のですが、東京に戻ってきた直後に熱出したくさいので、とりあえず画像だけの簡易更新から入ります。今週中にRubyKaigiまとめは更新する予定。

f:id:sylph01:20160908065304j:plain f:id:sylph01:20160908065538j:plain f:id:sylph01:20160908073824j:plain f:id:sylph01:20160908090319j:plain f:id:sylph01:20160910083836j:plain f:id:sylph01:20160910102652j:plain

【艦これ】イベント報告簡略版

最後にイベント報告書いたのが去年の夏イベ、照月ちゃん着任に失敗したときからなので…何回分あるんだ…????

2015秋(突入!海上輸送作戦)

甲→甲→乙→乙→甲(のはず)。Graf Zeppelinは攻略中にドロップしたが、E5を可能な限り掘ったが嵐はドロップせず。萩風ちゃんかわいい。引っ越しとかあったのによく掘ったなという印象。

そういえば

私としたことがブログで報告忘れてた。昨年12/10に鳥海ちゃんとケッコンカッコカリしました。本記事時点でLv120です。

2016冬(出撃!礼号作戦)

甲→乙→乙。沖波ちゃんドロップなし、特に掘ることもせず。この時期何やってたんだっけ…?

2016春(開設!基地航空隊)

E5まで甲→乙→乙。E5が乙だったかもしれない。掘り?何ですかそれは?時期的にはモーツァルトさらってる時期だからそれはそう。記録によるとバケツ668でスタート、最終的に120で終了の模様。

2017夏(迎撃!第二次マレー沖海戦)

乙→乙→丙→丙。最終海域を丙でクリアしたの初めてだ…そしてぬるい(それはそう)。Lv99がついに二人目(飛龍改二)。Aquilaは攻略中にドロップ。海外艦の引きが強い代わりにイベント限定レア駆逐を引かない。ついでにLibeccio二人目が来た。嵐ちゃん沖波ちゃんは依然ノードロップ。バケツはE2を353でスタート(この時点で前のイベントから200ちょっとしか増えてないあたりでやる気の少なさを感じさせる)、最終的に208で終了。


そろそろ駆逐艦のキラ付けや毎月のEOもサボるようになってきて、春イベと夏イベで「パッケージ代」の課金(=母港拡張)もしてなかったりと個人的にはついていくのは割と限界を感じてきてます。コンテンツとしてはもうちょっと続いてほしいなと思っているし信濃が事前に出てるイラスト通りならば着任ミッション成功は義務なのでそこまではゆるゆる続けると思います。コンテンツとしてはまだまだ優秀なコンテンツだと思うのでもうちょっと続いてほしいな、など。

【演奏会記録】2016/6〜8【出た方】

6月の本番終わったら書くよとは何だったのか。聴いた方、も近く(さあいつだ)更新予定。

続きを読む