先日開催されたRubyWorld Conference 2025にて、「メタプログラミングRuby問題集の活用」というタイトルで kinoppydさんと一緒に登壇してきました。スライドはこちら。
SmartHR Tech Blogにてkinoppydさんも同様に登壇してきましたエントリを書いています。基本情報はそちらを参照してもらって、以下は内容が被ってない部分について書いていきます。
登壇に至るまで
もともとSmartHR Tech BlogにてメタプログラミングRuby問題集の情報については公開済みでしたが、カンファレンスなどで「作りました!」と宣言してもっと周知させたいな〜という気持ちでいました。
また、ruby.wasmでブラウザ版問題集を作る、英語版も出すというのは構想としては以前からあったのですが普段仕事に子育てにと忙しいのでなにかきっかけがあるといいな〜、と思っていました。というところでRubyWorld Conference 2025のプロポーザル募集が良いタイミングで開始されたため、プロポーザル駆動でブラウザ版が完成。
登壇は僕だけで行うこともできたのですが、問題集のきっかけとなったメタプログラミングRuby読書会を主催したkinoppydさんからも話してもらえたほうがより楽しいだろう、と思って二人で発表する形式にしてみました。
ブラウザ版の実装
ruby.wasmにおけるブラウザ版問題集の実装は、発表中に言及した通りwasmに関する部分ではほとんど詰まる所がなくスムーズに実装できました。大変だったのは問題をブラウザ用に再構成する部分。
最初は既存の問題をそのままブラウザ版として移植すればよかろう、と思っていたのですが、例えば1つの大問中に小問が6つあるのをそのままブラウザ内のテキストエリア内で解くのは体験が悪いなと思い小問ごとに問題を分けていきました。これをClaude Codeにやらせてみたのですが…単純にはいきません。「できました!」と言われて中身を見ると実はできてない、というAIエージェントあるあるをたくさん踏んでなんとか完成までこぎつけました。
ところでRubyWorld Conferenceでは他にもwasm関連の発表がありましたね。スモウルビー甲子園2025とTangible Code。ruby.wasmによってRubyの活用シーンが増えているのを感じます。
みんなもやってみてほしい
メタプログラミングRuby 第2版は、Railsアプリケーションを作るのであれば個人的に必読の本だと考えています。仕事でmethod_missingを書くことはほぼありませんが、gemのコードを読むには必須の知識です。僕はそう思って各お手伝い先にて通算10回以上読書会を開催してきました。
そんなメタプログラミングRuby 第2版を読破する人を増やすために、みなさんもぜひ読書会を実施してほしいです。これからメタプログラミングRuby読書会を主催するひとが参考にできるように、どのような形式で読書会を開催したのかを発表内容に盛り込んでいます。良ければ参考にしてみてください。
また、独自の問題を作るというのもやってみてほしいです。メタプログラミングRubyに限らず、技術書の理解を助けるための教材として問題を作るのはとても有効だと思っています。そして可能なら作った問題を公開してみてください。社外のひとにも役立つリソースになります。
もし読書会をやりたいが自分たちだけだと不安なので誰かに手伝ってほしい、という方がいたらなんらかの形で僕にお声がけください。問題づくりの方でも力になれると思います。
余談
RubyWorld Conference後に参加したRWC後に一畑電車のおでん電車でおでんを食べよう!の写真がバズってびっくりしました。こんなにいいねされたの初めて。
これがRuby on Rails #rubyworld pic.twitter.com/9wuVpjhzOM
— willnet (@netwillnet) November 7, 2025