トップ «前の日記(2026/08/05 (水) ) 最新 RSS feed

HsbtDiary


2026/08/06 (木) [長年日記]

朝から上野駅往復

再来週に仙台に行くことにしたので、朝から新幹線の切符の受け取りに上野駅へ。ちょっと涼しいなと思い歩いて往復してきたけど帰宅するなり汗だくでしんどい。

別に新幹線くらい Suica に紐づければいちいち発券しにいく必要がないんだけど、東海道新幹線でミスって入れなかった経験以来使いたくないんだよなあ。

Ruby 開発者会議 8 月

前日に見たばかりだけど開発者会議。

https://bugs.ruby-lang.org/issues/22221

自分は最近やっている Windows のロングパスと require 高速化を出していた。このロングパス、というやつ本当に面白くて

  • claude に Ruby で不具合が直ってない、または改善の余地があることで Go, Python, Rust ではすでに解決済みのやつを調べて
  • その中で特にユーザーへのインパクトが大きいものを選んで
  • bugs に報告が来ているものはさらに優先して選んで

として出したらこれですと出してきたのが https://bugs.ruby-lang.org/issues/18947 だった。ようは、Windows で 260 文字を超えるようなパスを扱うことができなくて困っている、というやつで、自分も実はこれを claude を使って Windows で Ruby の開発をしているとしょっちゅう踏むやつなのだった。

claude は worktree を使うと異様に長いパスを作るので、最初の時点でちょっと深い位置で作業をしていて、そこからさらに深い worktree を作り、テスト用のファイル名でも、となると容易に踏んだりする。そしてその度に、一時的にドライブ直下に TEMP ディレクトリを作っておきました、とかやってるので何やってんだこいつ、となっていた。

このロングパス問題、Go はなんと解決しているらしく、どうやっているかというと Windows 10.0.15063 にある隠し API を叩くとロングパスを扱えるというものらしく、それと同じ方法を Ruby でも作って、とやったら扱えるようになってしまった。まじか。

ただ、この隠し API はドキュメントにはないものなので、怪しいなあとは思いつつも今から無効化したら golang が爆死するだろうし、その時は一緒に、ということでやっていいんじゃないかという方向性には持っていけたのでよかった。

今は nobu レビュー待ちだけど、適当な時期に入れる予定。これで自分が開発するときにちょっとした困りごとがなくなるので助かる。