トップ «前の日記(2024/07/18 (木) ) 最新 次の日記(2024/07/20 (土) )» 編集 RSS feed

HsbtDiary


2024/07/19 (金) [長年日記]

URI のデフォルトパーサーを RFC3986 準拠にした

7月の開発者会議で URI ライブラリのパーサーを RFC2396 から RFC3986 にしたいというのがあり、とりあえずやってみるか、ということでやってみた。

提案者は build メソッドだけ変えるという話をしていたけど、それはだいぶチグハグな挙動になると感じたので、DEFAULT_PARSER として定義され使われている箇所全てを RFC3986 に対応させた上で、RFC2396 な挙動を使いたい人は

URI.parser = `URI::RFC2396_PARSER

として戻せるような機構も入れておいた。なお、RFC3986 は _ を含む URI をパースできるというのが大きい違いらしい。

このコードを書いている途中に、2つのパーサーの中で微妙に非互換がある箇所を見つけたのでそこをどれくらい、どのライブラリが踏むか次第だなあ。なお、ruby/ruby にマージ後に Bundler のテストが失敗するので深追いしていたら Mock サーバーを起動する箇所で Sinatra の依存である mustermann というライブラリが見事にその非互換を踏み抜いていたので pull-request を投げておいた。

https://github.com/sinatra/mustermann/pull/138

ま、リリースまでに見つけたらぼちぼちとやっていく感じで。なお、URI に関する RFC 的なものは今は https://url.spec.whatwg.org/ で定義されているらしく、これはインクリメンタルにアップグレードするもののように見える。これに追従するパーサーを用意するのは大変な気もするけど、誰かやってくれたら URI ライブラリのデフォルトにしても良いと思うので興味がある人はよろしくお願いします。

LOGOSの保冷剤を買った

数時間を超えるドライブをするときに、クーラーボックスという名の発泡スチロールの箱の中に佐藤水産などの冷凍食品のギフトを買ったときについてきた保冷剤を再利用して詰め込んで、お茶などを冷やすのに使っていたのだけど、お金を出して専用の用途のものを買ったほうがいいのでは?となったので、Amazon のセールの時に一番売れているっぽいブランドのやつを買ってみた。

まずは冷やしてから、ということで説明を読むと完全に冷凍させるのに 18時間を要するという時点で驚いたけど、完全に凍らせた状態になってから素手でで触ると冷たいというよりも痛いというレベルで冷えてて感心した。ちゃんと説明には、熱冷ましなどに使うと凍傷になるから絶対に禁止、というようなことが書いてあってなるほどね、となった。

バッテリー付きのミニクーラーなども検討していたけど、ひとまずはこれで十分そう。


【amazon.co.jp限定】ロゴス(LOGOS) 保冷剤 倍速凍結・氷点下パックL・2個パック 長時間 防災 日本製
-
ロゴス(LOGOS)
¥3,034