5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんばんは anakano です(@AkihiroEngBd)
RubyKaigi 2025 が始まりました :tada:

楽しみに松山入りすると、AWSの大規模障害も発生したりと歓迎されている雰囲気しか感じておりません!
(障害発生時には飛行機に乗っていたとは口が裂けても言えない)

Day2 の今回見たセッション一覧

以下のセッションを見てきたので、報告します

Running Javascript within Ruby

概要

ruby 上で、js のコードを実行できるようにするライブラリを開発した。
https://github.com/hmsk/quickjs.rb
実際のコードをライブコーディングしていただきながら、function にて ruby の機能が使えるということでした。
ruby の機能とミックスしたものが書けていた。(ruby のエラークラスを js にて使っていた)
まだまだメンテナンスの人もいないため、コミッターを募集しているとのこと。

感想

ruby にて js のコードが動くようにするのは、めちゃめちゃ面白かったです。
簡易的なものの動作はかなり早かったので、js のコードを ruby で再現することもできそうだと感じてます。
このまま上手く開発が進むと、js の旨みと ruby の旨みの二つをミックスしたコードになっていくかもと期待を持てたのは個人的に嬉しい。
(js に苦手意識を持っているため)

Improvement of REXML and speed up using StringScanner

REXML の高速化がテーマ。

概要

REXML を昨年のLT から高速化したというお話。
セキュリティパッチが当たったことで、遅くなったため高速化できる箇所を探して高速化をし切った。
特に正規表現を使っているところが、遅かったため高速化するためにも StringScanner を利用して高速化させきった。
かなりの高速化を実現することができたため、その苦労がメインで会話されていた。

感想

RubyKaigi の他の方の発表を聞いた上で、高速化させているのはかなり強い。
サンプルで早くなっただけではなく、セキュリティ対応にも対策を打ちながら高速化を目指すのは、使う側としてはとても助かる。
XML 自体は、結構使っている会社もあると思うので、今後の需要も増えていきそうなイメージを持った。

RuboCop: Modularity and AST Insights

概要

inject からのモンキーパッチに対応された。
今まで色々な人が非公式なモンキーパッチを実施していたが、もう少し整理するためにもモンキーパッチを利用しなくても意図した動きになるように修正をかけた。
今後はメンテナンスコストも考えて、Prism を使っていくため、ruby 3.5 から rubocop の挙動が変わる可能性ありそう。

感想

rubocop のメンテナンスを今まで人手でやってきたのが本当に頭上がらない。
今後も上手く開発されていくのと、parser のサポートがまた増えてくる時代が来るのか廃れるのかを楽しみに見ていきたい。

Speeding up Class#new

概要

ruby → c → ruby という順番でコールした時に、それぞれが早くてもトータルのコストを考えると、 ruby → ruby → ruby とコールした方が早いケースもあるという流れでした。
その後、ruby の中で時間のかかっているのが、 initialize で上手くキャッシュも効かなかったため、Primitive を実装して Class.new で initialize がコールされないクラスを作った、
これによって、さらに高速化している。

感想

本当に日本語がうますぎて、聞いていて感心できるレベルだった。
class.new をハックするという考えがなかったため、如何にして高速化させるのかというのが重要になってくる。
これももちろん重要な基礎技術で、自分たちの周りにハックできるものがたくさんありすぎるので、自分も落ち着いたら commit してみたい。

Making TCPSocket.new "Happy"!

https://rubykaigi.org/2025/presentations/coe401_

概要

TCP socket をruby に実装してコミッターになるまでのストーリーと苦労話がメイン。
RubyKaigi の発表から、色々なコミュニティの人のサポートを得て改善していった。
その中でも直前までバグを修正に取り組まれつつ、必要なライブラリのマニュアルを読み込むことで挙動の整理をされていた。
無事リリースを迎えて必要な情報を今後も整理しつつ進めていきたいと今後のエンハンスも進んでいきそう。

感想

かなり多くの人に囲まれながら、修正が進んでいるので本当に ruby コミュニティの仲の良さが感じられる時間だった。
TCP あたりは今後もニーズがあると思うので、ちゃんとエンハンスが進んでいってほしいです。

LT

※一部のみ記載しておりますので、全て記載できておらず申し訳ありません :bow:

pickRabbit

picoRuby のラズパイで動かす取り組み。
ゲームも実装したり、線を動かすこともできる。

Road To RubyKaigi

ruby にてゲームを作って、音も作っている。
ルビイストの俳句も面白く、ゲームを実際に会場でもみれる形になりとても面白かった。

Parser 時代を振り返る

lrama を使ってparse.y をちゃんと読むための方法を考慮された。
ご自身で見えるようなツールを作られて、ちゃんと読めるので多くの人がわかりやすい状態になった。

ruby on Play Station

実際にPS1 でちゃんと動くものまで作成されていたのがすごい。
「今後PSにruby を使う人が増えていくでしょう笑」と発表されていたので、ruby でゲームを書くのは今後も発表がありそう。

最後に

明日もまたレポートを出そうと思っていますので、ぜひみていただけると助かります。
どんどんイベントにも参加していきますので、ぜひ認知いただけると嬉しいです。
rubykaigi は明日までですが、まだ終わっていないので楽しんでいきましょう

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?