こんにちは!学びたいことが多くていろんな分野を彷徨っている新卒エンジニアのhansprocsです! この度は2024年8月24日に行われた大阪Ruby会議04に参加したのでその感想と気になった内容をもとに作ってみましたので皆さんにご紹介したいと思います✨
昨年と変わったところも、変わらないところも
大阪Ruby会議に参加するのは昨年に引き続き2回目です。
昨年はまだRubyをちゃんと使ったことがなかったので、話の流れを追いつくことに必死だった覚えがあります。
今年は中之島で行われました。 昨年の心斎橋とはまた違った雰囲気で、個人的には行われる場所によってイベントの雰囲気も大きく変わると感じました。
しかし、コミュニティ特有の情熱変わっていなく、Rubyへの愛が感じられて今年もまたRuby愛を深めることができました。
会場の雰囲気が変わったことで発表直後に質疑応答をすることが難しくなっていると感じました。 非常に面白い発表が多く、気になる点もあったため懇親会に参加できなかったことが残念でした。
気になったテーマ
一日が短いと感じるほど発表者の方々の発表が面白かったですね。 その中で私の目を惹いたテーマについて、以下に何点かまとめてみました。
構文解析
今年のテーマと言っていいほど構文解析に関するトークが多かったです。 言語そのものの話になるため、Rubyの裏側を担っているC言語の知識なども必要になるところもありました。 普段はあまりローレイヤのことに注目してRubyを触っているため、裏側で何が行われているかを知ることはとても興味深かったです。
特にRed Green Node
の概念が印象に残りました。
Red Green Node
とは、二重構造の構文木で、高速な部分的更新と使いやすいAPIを実現するために使われるとのことでした。
その中でGreen Node
は不変で永続的な基本構造を提供し、Red Node
はユーザーに見えるインターフェースとして機能して必要に応じて動的に構築されるものになります。
エンジニア1年目の私には難しく、なんとなくイメージがついた程度の理解にはなりましたが、いいデータストラクチャーの必要性はすごく伝わってきました。
まだ大きな言語を触ることは私には遠いように感じましたが、Markdownレベルの構文ならチャレンジしてみたいと思いました。 MarkdownにRed Green Nodeを使うことはオーバーエンジニアリングのような気もしますが、学んだことを手元で動かしてみたくなりますね。
Hotwire
最近業務で社内システムで使われているHotwireを触る機会があり、一番わかっている状態で聞くことができたテーマです。 turboとstimulusのアンチパターンの話があり、共感できることが多かったです。
業務では既にできているコードを触っていたため、当然だと思っていた書き方も試行錯誤の上にできているデザインパターンだとわかりました。
HotwireはRailsの人がなるべくJavaScriptなどの他の要素を気にせず開発に取り掛かることができる、というメリットがありますが、非常に多くのフォルダーとファイルで構成されていて、ドメイン知識に依存しやすい構造になりやすいことが気になっていたりもします。
Hotwireを使っている皆さんはこの点どう思っていらっしゃるか気になりますね。
繋がるRuby
PicoRubyやtree-sitter-rbsなど、Rubyと他の言語やプラットフォームを繋げるOSSを作っている方が多くて非常に感心しました。
PicoRubyはRubyで電子工作のコードが書けるライブラリーでした。 組み込みシステム上で軽く動くものなので使い所が多いそうだと感じました。
また、id:joker1007さんが発表されたRustで書くgemをテーマで、tree-sitter-rbs
はRustでRubyのバインディングをできるようにしてくれるものです。
メモリ操作に厳しいRustとRubyの世界を繋げることは簡単ではないことがすごく伝わってきました。
Rubyではもっと色々なことができて、そのポテンシャルを引き出すことでコミュニティが強くなる。
登壇者の方はこのような努力を「隙間産業」とおっしゃっていまして、個人的にはその「隙間」を埋める努力がRubyを2024年にも活発に使われる言語にしている原動力だと感じました。
スポンサー LT
また弊社では大阪Ruby04に協賛していて、今年もスポンサーLTを行いました。
今年中途入社された元PHPerの社員から見るRubyの特徴がテーマでした。 私はPHPには詳しくないのですが、falsyやemptyは言語ごとに異なっていて初学者が一番ハマるところでもあると思っていたので共感できるところが多かったです。
このようにインゲージではこれからもRubyコミュニティへの貢献を続けていきます。
また、インゲージはRubyを使ったことがなかった方々も歓迎しています! 興味を持っていただけましたら、ぜひエントリーを覗いてみてください!
おわりに
大阪Ruby会議04を通じて、楽しく何かを作る人たちに憧れを持つことになりました。 そしてその楽しさを人に伝えることは素敵ですね。
いつかは私もそのような楽しさを人に伝えられるようになりたいですね。 その初め一歩として以下の記事も作成していますのでぜひご覧ください!