hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

RubyKaigi 2023 Day2 の感想

感想

今日はDocker Tシャツを来て参加。 中の人ではないのですが、紛らわしかったのか.. ブースで中の人ではないですよね? と聞かれてしまい。。ややこしくてすみませんという感じだった。

スタンプラリーが始まったので、回っていたが残り6箇所は明日に行ってみて見ようかと思う。 M3さんがRubyの問題を出していたのがかなりいい問題だったので為になるな〜と ?の後ろに文字列を設定すると文字列にしてくれる。 普段コード書いているシーンでは使い所がほぼ無いのか全く知らなかった。 ?\は無理なようで ?\u0041 みたいに UTF-8 を設定できるので \ を?で文字列にする場合は ?\u005c で文字列にできそうな この仕組を使って ?|||?| みたいな記号をつなげて 何が返却されるかというような問題を出題していた。 すごい。

MedPeerさんはアルコールパッチテストができるシールを配布してくれていたので、 自分のお酒の弱さを再認識できましたw

Wantedlyさんは TECHBOOKが配布されており、面白い取り組みをしているな〜と ブースもRubyKaigiの醍醐味ですね。

参加セッションのまとめ

参加したセッションを簡単にまとめておく

Learn Ractor

制約が強いので利用シーンが限定される 計算処理などで並列化することで処理速度を上げる使い方は有益そう

Implementing "++" operator, stepping into parse.y

++を実装するのに どのようなアプローチで parse.y へ実装していったかの try and error に関して発表してくれていて 貴重な話だった しおいさんと話をする機会があればと思っていたがまだ、、明日タイミングが合えば話をしたいなと..

RubyGems on the watch

cdnを使った巧妙な脆弱性アタックに対応していた話。 これはなかなか見抜けないな

Revisiting TypeProf - IDE support as a primary feature

今回一番聞きたかったセッションで TypeProf v2 となり パフォーマンスがかなり改善されている話 dataflow graph に型情報を流し込んで使うという 導入されるのが楽しみな機能

Multiverse Ruby

namespaceにmoduleのtemporary領域を使って実装するという話。 以前から気になっていた namespace問題がこれによって解決できるかもしれない! まだまだ実験的で rbsなどの他の機能に影響がありそうなので今後どうなるか見ておきたい。

Hacking and profiling Ruby for performance

ISCONなどでパフォーマンス測定したり改善するにはどのようなアプローチをしていくかという話 スレッド待ちのPRを送っていたりしてISCONでもRubyを使う人が今後増えるかもしれない

The Second Oldest Bug

Sizeの大きな Hashを展開して 大量の引数としてメソッドに渡されると落ちるという問題 改善へのアプローチ方法を説明してくれた途中よくわからない箇所が多かったが楽しめて聞けた Secondということは もっと古いのもいるってことなのか。。 Fiberのensure問題なのかな? Bug #595: Fiber ignores ensure clause - Ruby master - Ruby Issue Tracking System

Optimizing YJIT’s Performance, from Inception to Production

YJITのパフォーマンス・チューニングのベンチマークを取りながらやってきた取り組みと データに基づいた意思決定を行い、原因追求していった経緯を説明してくれました。 3.3で更にパフォーマンスがよくなるそうです。 実際につかってパフォーマンスが上がらないケースは教えてほしいという話でした。 今後の展開は見逃せないです。

明日は最終日です。楽しんで行きたいと思います。