LoginSignup
2
0

More than 1 year has passed since last update.

Ruby 会議2022レポート(1日目と2日目)

Posted at

こんにちは!ruby2年目エンジニアのHiraです!
今回は、Ruby会議2022に参加してきたので紹介したいと思います!

イベントのタイムスケジュールとセッション

去年と同様であれば、youtube上でも今後配信されるのでこちらも是非!
https://www.youtube.com/channel/UCBSg5zH-VFJ42BGQFk4VH2A/playlists?app=desktop

せっかくなので、画像もぺたり
9614BDF9-C7E8-41E2-BA1E-28DD256A7C78.jpeg

セッション

すべてを見ることはできなかったので、個人的に気になったトピック

一日目

Ruby meets WebAssembly

スライド

web上でrubyが動かせるようになる!!!!っていうお話でした!
実際にこちらでirbをweb上で動かすといったことが可能です。
Web Assemblyを使うことで、どのブラウザでも自由に動かすことができ、ブラウザ上でうごかkスノで環境構築が不要になっています。
例として、今後、ruby3.2で以下のように扱うことができるようになりそうです。

<script type = "text/ruby">
  puts 'hello world'
</script>

ファイルシステムやOS依存に関しては、WASI(WebAssembly System Interface)で対応しているそうです。

Types teaches success, what will we do?

スライド

みんなで、gemの型定義のためにcontributionしていこうぜ!!っていうお話でした。
ruby3.0でRBSの導入が行われましたが、あまり普及させれていないみたいです。
なんと、RubyGemsには17万を超えるgemが登録されている一方でgemの型定義を集めgem_rbs_collectio(TypeScriptで言うところの DefinitelyTyped)には44個しか型定義がないみたいです。。。。
こちらの手順をみることで、意外にも簡単にcontributeできるみたいなので、我こそはという方是非contributeしていきましょう!

Tools for Providing rich user experience in debugger

rubyのデバッグツールであるhttps://github.com/ruby/debug のお話でした。
VS codeを使っての使い方のデモンストレーションを行ってくださいました。
ruby 2.6以上のversionが必要なので、業務に使っているrubyのversionによっては使えませんが、使い方によっては配列の値をビジュアライズしたりログのフィルタリングができたりなど機能がかなり充実しているので、是非使いたいなと感じました。。。!

Let’s collect type info during Ruby running and automaticall

スライド

RBSの自動生成についてのお話でした。RBSを最初から作るのはとても酷な作業ですが、こちらを扱うことで解消することができません。
また、シンボルの場合においても、どのようなシンボルが渡されるのかを定義できるみたいです。リクエストのハッシュについても定義することができるようになるので、とても使いやすそうでした。

Towards Ruby 4 JIT

JITのお話。正直、自分はこのようなお話はよくわからなかったのですが、とりあえず速度早くなったよーという話と今後もどんどん早くなるように改善していきたいみたいな話だったと思います。。。

TRICK 2022 Returns

rubyのコードを使った技術祭みたいな感じでした。。。
コード見ても何書いてあるのかわからない、、、って感じですごかったです。。。!

2日目

Keynote

MatzによるKeynote。
うさぎと亀のスライドと、今回もRubyは死んだの話を聞くことができました。
毎回面白い話をありがとうございます!!!

ruby/debug - The best investment for your productivity

先ほどと同様に、ruby/debugのお話でした。
debug中にブレイクポイントを使えたり、ブレイクポイント用にdopreを使い分けたりすることができ、とても便利そうでした。。。!

Make RuboCop super fast

スライド

Rubocopをすごい早くするためにこういうアプローチをしたよーという話でした。
require rubocopがすごい重かったらしく、デーモンモード(サーバーモード)を扱うことで、すでに起動中のプロセスでrubocopを起動することで早く起動できるようになったみたいです。
また、以下のアプローチで早くしたみたいです!

  • cache(.cache/rubocopに保存)
  • multi-cores(並列実行)
  • reduce unused requires
  • デーモンモード(サーバーモード)

How fast really is Ruby 3.x?

Ruby3ではRuby2より速度を3倍速くするというスローガン(Ruby3x3)があり、どうだったのか?に関してのお話でした。
スループットを2.7と3.2で比較したところ、たしかに3倍になっているとのこと。
ただし、Ruby自体は、早くなったとしても、PythonやLua, Perlなどと比較するとまだまだ遅いみたいです。。。
(最近は、Pythonも速さに関してだいぶ早くなっているみたいでした。。。!)

Packet analysis with mruby on Wireshark - dRuby as example

WireSharkによるPacket分析のお話でした!
Wiresharkは主にcで開発されているので、mrubyを使うことで、rubyをよめるようにしたみたいです。
途中でネットワークの不調子によりトラブルがありましたが、好きなプロトコルの話などを聞くことができたのでよかったです笑

Create my own search engine

ポケモンカードデッキの類似したデッキを表示するサイトを作成するというお話でした。
類似度計算に関しては正規化等のお話があり、研究室時代を思い出させられました笑

急に始まるポケモンカードの授業
E304576A-D203-4484-ACF8-E9C6EE93FB4A.jpeg

余談

余談ですがruby会議では、多くの企業の方が来ており、お昼のお弁当もでたりとすごい豪華でした!

F764FC30-01B7-449C-9A16-CE943DD90A1D.jpeg

まとめ

今回のRuby会議もとても楽しむことができました!
また、来年もあれば是非現地に行きたいなと思います!!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0