RubyKaigi 2025の準備・予習
#RubyKaigi
https://blog.m6a.jp/entry/2024/05/11/184812
Making TCPSocket.new "Happy"!
Ruby Taught Me About Encoding Under the Hood
Keeping Secrets: GitHub's ENV Security Learnings
How to make the Groovebox
RuboCop: Modularity and AST Insights
Ruby Taught Me About Encoding Under the Hood
https://rubykaigi.org/2025/presentations/ima1zumi.html
Unicodeの話
Keeping Secrets: GitHub's ENV Security Learnings
GitHub で発生したissueの話
https://github.blog/news-insights/company-news/rotating-credentials-for-github-com-and-new-ghes-patches/
これっぽい
RuboCop: Modularity and AST Insights
https://rubykaigi.org/2025/presentations/koic
RuboCopのa lack of modularity(モジュール性の欠如)とパーサーエンジンの変更に関する話
モジュール性の欠如とは
コードベースが適切に分割・整理されていない
密結合になっている
責務が不明確
Ruby エコシステムの裏側では RuboCop が広く利用されている
Ruby LSP や Standard Ruby のバックエンドは RuboCop のエンジンを利用している
Ruby LSP
Language Server Protcol
IDEやテキストエディタ向けの支援機能
Standard Ruby
コードスタイルガイドとリンターツール
RuboCopをベースに作られている
これらのツールの役割分担が不十分だった
RuboCopのバックエンドパーサーをParser gem→Prism
Prism
Ruby3.3.0からdefault gemとして追加されたパーサー
去年もLSPとPrismの話をしている
https://rubykaigi.org/2024/presentations/koic
https://speakerdeck.com/koic/rubocop-lsp-and-prism