RubyKaigi 2023の3日目にオンラインで参加しました。
見た発表について少しずつ、思ったことを書きました。
Ruby Committers and The World …CRuby Committers
- 今年は英語で行われて、どうなるかと思いましたが…コメント欄やTwitterの助けで楽しめました!
- Rubyの未来の話がポンポン出てきて、おもしろかったです。
- 100年続く言語となれば、Matz引退後のコミュニティ、というのも確かに考えざるをえないんですね…。
メモ
- 英語でした…!
- これはこれでいいかも。
- コメント欄やTwitter見てればなんとなく追っかけられるし。
- Ruby3.3でやりたいこと
- コメント欄・Twitterの助けを…
- マルチレベルJIT?
- レベルが選べるのはスゴいかもしれません…。
- 世代別GCのベンチマークの改善
- 並列処理のは確かにむずかしそう……。
- うまくいけば、アプリケーションサーバとか助かりそう
- パースの話
- bisonを捨てた
- Rubyで書いたLlamaへ…。
- yarpはどう?
- 週刊Railsウォッチ: ShopifyのRubyパーサーyarp、RJITを書いた理由ほか(20230413後編)|TechRacho by BPS株式会社
- shopify製パーサー
- Ruby3.4 or 4?
- 100年続く言語になるために、自分が引退したあとのコミュニティの形を考えないとな
- Deep Freezeされた変数
- Rustはそれか。並列処理と仲がよさそう。
- TruffleRubyの知見を反映したい
- GraalVMで動くRuby
- グローバルインタープリタロックがない
- https://github.com/oracle/truffleruby
- CDN上で動かす
- 正規表現
- ReDOS攻撃に対して…バックトラックを使うな、というのはRuby的でないのでなんとか線形で済むようにしたい…。
- マジか…!
- ダックタイピングらしい型の書き方がほしい…
- たしかに…。
- でも、どうやってやるんだろう…?
The Adventure of RedAmber - A data frame library in Ruby …Hirokazu SUZUKI
- 何度かデータ分析にチャレンジしてますが…すぐ飽きてやめてしまってました。
- きっと、データ分析とPythonの両方とも慣れないものだからかも。
- コレをRubyでできるなら、もう少し違うかもしれません。
- また触ってみたくなってきました。
メモ
- Red Amber
- Ruby製データフレームライブラリ
- pythonのpandasとか
- Ruby1.4から使ってる初心者…?
- 行と列について扱える
- #schema、#vectorはRuby標準のHashやArrayで返すことで、扱いやすくしている。
- たしかに使いやすそうです…!
- #propergate、使いやすそう…。
- RedAmberはRoverインスパイア
- https://www.amazon.co.jp/dp/4802613563
- 新しい概念、SubFrame
- グループとかwindow関数のような…
- GitHub - red-data-tools/charty: Visualizing your data in Ruby で可視化できる
- いろいろ聞いてきたけど、かなりよさそう…。
- やってみたい…。
Ruby + ADBC - A single API between Ruby and DBs …Sutou Kouhei
- 須藤さんのプレゼンはいつも楽しみにしてます。
- あんまり大規模データをイジることがなかったのですが…RedAmberのときと同様、使ってみたくなってきました。
メモ
- Red Data Tools - Data processing with Ruby!
- ポリシー
- 部外者からの避難は気にしない
- これ、たしかにスゴいかも…
- ADBC
- Arrow Database Connectivity
- embulkがJRuby対応を縮小していく…?
- 大きな列志向のデータ
- 100万レコード
- Apache Arrow data format が速い
- 余談
- rabbitにchartyが組み込まれてる
- reddata toolsで処理したデータを表示しやすいのかな。スゴいかも。
- Active Recordのも準備中
- Flight SQLを使ったADBCが速い
- いつもしれっといろいろやっていますよね…スゴい…。
- FlightSQL - Postgresql
- Postgresqlの拡張機能として実装
- プロキシの実装だと、遅くなるはず。
Load gem from browser …SHIGERU NAKAJIMA
- Wasmでrequireをどうしてるのかと思ってましたが…やっぱり難しかったのですね。
- 絶賛開発中ということで、Wasmが楽しみになってきました。
メモ
- Wordle攻略用のアプリケーションをruby.wasmで作りつつ貢献した話 - Qiita
- javascriptのnpmをブラウザで使いたい と活動してきていたので、それを参考に。
- Browserify … ガッチャンコして1個のファイルにする。
- importmap
- <script type="importmap"> - HTML: HyperText Markup Language | MDN
- スクリプト言語っぽさを大事にしたいので、importmap形式を採用。
- 実装順
- require_relative <-- 今ここ作業中
- require / importmap
- 難しいところ
- promise … rubyにない。
- ruby.wasmの機能にeval asyncがあるのでそれを使う。
- fiberのスタックが小さい(256kb)
- サイズ指定してビルド
- どのファイルで実行しているのか?
- 将来
- gem installしたい
- デプロイが大変になるはず。
- UNpkgのRuby版
- 黒い画面が苦手な人にも気軽にRubyを書いてもらえるのでは。
Ruby JIT Hacking Guide …Takashi Kokubun
- JIT…わかりやすかったですが、やっぱり難しかったです…。
- ただ、スピードがどんどん上がってきて…早くプロダクションで使えるようにせねば…という気持ちになりました。
- 現在Ruby3.0…><
Let's write RBS! …Masataka Kuwabara
- RBS利用のメリットが見えてきました。
- 開発/テスト環境で外部サービスを直接使えないときに、静的解析でエラーを見つけられそうに感じました。
- 導入したい気持ちにめちゃくちゃなっています。
メモ
- RubyKaigi 2023 Let's write RBS! 予習記事 - pockestrap
- んんー…引数の書き間違いにめっちゃ効きそうですよね…。
- 外部サービスを利用しているときでも、開発/テスト環境ではつながってなかったりして、ミスを見逃しそう…。
- こういうのを拾ってもらえるの、結構いいかも…。
- elastic beanstalkの公式Rubyイメージのバージョンが古いの、結構キツいなぁ…。
Parsing RBS …Soutaro Matsumoto
- RBS、めちゃくちゃ書きやすそうでした…。
- 現在書かれているコードに対して解析をリアルタイムでやるとか、本当に大変そうでした。
- とはいえ、形になっていて…とても使いたい!という気持ちが高まっています。
- …が、いつもここでRubyのバージョンが3.0からあげられない問題があって、もどかしいです…。
- 去年から今年はRubyのバージョンを2.6から3.0までひっぱりあげましたが…
- 今年から来年までの間に、なんとか最新のRubyを使える環境を準備したい気持ちになりました。
クロージング
講演者のみなさん、オーガナイザのみなさん、スタッフのみなさん、コミッターのみなさん、スポンサーのみなさん、ツイッターやコメントをしてくれたみなさん! 今年のRubyKaigiもとても楽しかったです! 来年の沖縄も参加しようと思います! ありがとうございました!
おまけ
三日目はコスプレが切れましたw なんとなくRubyKaigi 2023のロゴの雰囲気を持ったTシャツを着せてます。