2025 年 1 月 17・18 日に行われた東京 Ruby 会議 12 に参加、前夜祭で登壇してきました。
元々プロポーザルを出す予定はなかったのだけど、公式 note で「Ruby と暮らす」がタイトルと知り、ちょうど「地図」について考えていたのでフィットしそうと思って出すことにしました。
「Thinking about a map for Rails applications」というタイトルで、ErdMap という Rails アプリの ER 図をブラウザで可視化するという gem を作ったお話をしました。
erd、rails-erd を始めとして多くの ER 図の自動生成ツールが存在しますが、すべてのモデルを書き出すため情報量が多すぎ、却って情報が読み取れないという課題があります。モデルを指定して出力することもできますが、モデルを指定するにはモデルを知らなければならず、知りたいものを知っておく必要があります。
ErdMap ではモデルを重要度ごとに並び替え、最初は最も重要な 3 つのモデルのみを表示し、ズームすると次に重要なモデルを追加表示し、さらにズームすると…というようにしました。イメージしたのは Google マップの操作感です。
また概念が関連するひとつらなりのモデルを「コミュニティ」として色分けをしました。単純な association のつながりではなく、「この概念は近しい」というグループ、地図でいうと「市」のまとまりです。

重要度の判定やコミュニティ分割にはネットワーク分析を使っていて、このアルゴリズムの解説と組み込みの方法をご紹介しました。ネットワーク分析面白い。
アイディアは @youchan さんのものです。実は作ると決めた時にはネットワーク分析自体知らず、これを教えてくれたのも @youchan さんで、去年の RubyWorld で松江の川沿いを歩きながらネットワーク分析のことを教えてもらったのが思い出深いです。
懇親会ではフィードバックをたくさん頂いて嬉しかったです。
特に @joker1007 さんから、モデル間の呼び出し、つまり依存関係をパーサーで読み解いてなんらかの形で組み込めないか、と言われて確かにとなりました。あと今は重要度の評価時に関連の方向も見ておらず重み付けは改善の余地がありそうですし、カーディナリティの表現もいまいちなのでもっとよくしていきたいと思っています。
「bundle するだけで使えるんですか?」という質問も頂いたんですが、bundle するだけで使えます(Python3 といくつかの Python パッケージのインストールが必要ではあります)。ぜひ試してみてください。
聴衆としても楽しませて頂きました。
前夜祭では @ohbarye さんの Git scrapingの話になるほど〜となっていました。スクレイピング、まさしく実行環境の用意や定期実行や保存の仕組みが面倒なんですよね。GitHub Actions を使うのは目からウロコでした。
@ydah さんのパケットキャプチャツールの話も最高でしたね。一体どうして 5 分でこれをやる思考になったのかが気になります。
本編は @jhawthorn さんのキーノートが圧巻でした。GitHub でもこういう地道なテクニックの積み重ねが為されているというのは感慨深くもありました。資料が公開されたら早く読み返したい。freno 気になりました。
ぺん さんのお仕事コードの話、ツールとか実装とかに振り回されるのじゃなく、落ち着いて丁寧に整理された結果シンプルになっていてすごいと思いました。
@ryopeko さんの functional なアプローチの話 もよかった。関数合成やカリー化はキメるとめちゃくちゃ気持ちよさそう。Lambda や Proc という関数的なアプローチがイマイチ自分の中に根付いている感覚がないけれどキメられるようになりたい。
東京近辺の地域.rb が一同に集結するのも、東京 Ruby 会議ならではでほんとうによかったですね。実は先から Shonan.rb やりたいと思っていたのですが南神奈川周辺の民で 2 月上旬に 0 回をやることになりました。声をあげてくれたあんずさんに多謝。そして KaigiEffect すごい。
三浦半島.rbの第0回を2月上旬にやる流れになりました、関係者各位ありがとうございます&よろしくお願いします……! #tokyorubykaigi
— 桐生あんず (@anzu_mmm) 2025年1月18日
カンファレンスのデザインもすごくかわいく、鶴や年賀をモチーフにしていてスタッフのみなさんから「あけましておめでとうございます」って言ってもらえたり、東京・横浜のビールやおかしを出してもらったりと、東京や季節感がふんだんに盛り込まれていてすごかった。 何よりふだん東京でお見かけしないみんなが東京に来てくれているのが嬉しかったです。
とても楽しい 2 日間でした。ありがとうございました!!