2025-07-03 [長年日記]
_ URI::DEFAULT_PARSERの変更とmake_regexpメソッド
ひさびさにRubyの話。
warning: URI::RFC3986_PARSER.make_regexp is obsolete. Use URI::RFC2396_PARSER.make_regexp explicitly.
が出た。
結論としては、以下の書き換えをする。
# 修正前
regexp = URI.make_regexp
regexp = URI::RFC3986_PARSER.make_regexp
## 修正後
regexp = URI::RFC2396_PARSER.make_regexp
URI::RFC3986_PARSER.make_regexp
が廃止予定で、かわりにURI::RFC2396_PARSER.make_regexp
をつかうことの意。RFC3986の方が新しいのだから、逆なのでは?と思ったが、Gemeni 2.5Proが教えてくれた。
「Ruby 2.2.0以降、URIを解析するためのデフォルトのパーサーが、古いRFC 2396からより新しいRFC 3986に変更されました。RFC 3986は、角括弧([]
)を含むIPv6アドレスなど、より現代的なURI形式を正しく扱えるように仕様が更新されています。
しかし、make_regexp
メソッド(URIにマッチする正規表現を生成するメソッド)に関しては、互換性の問題から、デフォルトのパーサーがRFC 3986であっても、内部的には古いRFC 2396に基づいて正規表現を生成する仕様になっていました。」
コードを調べた結果、URI.make_regexp
も、URI::RFC3986_PARSER.make_regexp
もwarningが出るようになっていたので、将来削除される可能性がある。warning通り URI::RFC2396_PARSER.make_regexp
で書き換えるのが良いようだ。
URI.make_regexp
URI::RFC3986_PARSER.make_regexp
URI::RFC2396_PARSER.make_regexp
ちなみにURI::DEFAULT_PARSERは RFC2396_PARSER から RFC3986_PARSER へRuby3.4で変わるようだ。
変更はおそらくしばたさんのこのコミット。 https://github.com/ruby/ruby/commit/08e449d89baf1aeee87f084e1cd55bfe3b9cc46a
Ruby3.4では変わっている。 https://github.com/ruby/ruby/blob/v3_4_0/lib/uri/common.rb#L22
Ruby3.3ではまだRFC2396のようだ。 https://github.com/ruby/ruby/blob/v3_3_0/lib/uri/common.rb#L19-L24
2025-06-25 [長年日記]
_ 洗濯機修理
東芝のドラム式洗濯乾燥機を5年程つかっているが、乾燥がききづらくなって乾燥が終わるのに8時間くらいかかるようになってしまったので出張修理をお願いした。Webで1週間程先の日程を入れるだけで申し込みが完了してとても快適。電話だと長時間待たされるのでありがたい。
当日は朝に到着予定見込みの時間帯を連絡したあとで家まで来てくれた。ヒートポンプの出力は問題なく(ログを見れるのかっこいい)、ヒートポンプの中にホコリがたまってしまっているのが原因とのことで掃除をしてもらった。
結果、乾燥は2〜3時間程でホカホカに乾くようになって大快適。修理代3万円程で、買い換えよりずっと安くて助かった。家まできてくれて調査して直してくれて本当にありがたい。東芝の修理のエンジニアさんありがとう。
2025-05-21 [長年日記]
_ 冷蔵庫
冷蔵庫を新調した。幅が60cmのものが欲しくてビックカメラへ行ったところ、東芝のGR-Y500GTMが容量が500Lで大きいとのことでこれにした。東京都がゼロエミポイントという施策をやっていて、4万円を補助してもらった。ありがたい。古い冷蔵庫は父からもらったもので、全部で15年働いてくれた。ありがとう。ゼロエミポイントがちょうど15年で金額が上がりラッキーだった。
容量がほぼ2倍になり、空間に余裕があると心も軽くなった気がする。子供の離乳食を生協に配達してもらい、冷凍庫にたくさん入っているので、配達時にギリギリでしまうこともなくなり安心。メモリをたくさん積んでいるパソコンのようだ。扉の開け閉めも快適だし、デザインも気に入っているので、見ているだけでも心地良い。
2025-04-18 [長年日記]
_ RubyKaigi 2025
松山での開催。松山は柑橘がおいしく、市街地と温泉地がそばにあり、風が爽やかな土地だった。 いまいずみさんの基調講演に間に合うか気を揉んだが、飛行機もバスもオンタイムで余裕を持って間にあった。入り口スタッフの角谷さんとRuby friends写真を撮る。
いまいずみさんの話は立派な基調講演だった。最後に、話者へ話しかけようと呼びかけていて、前に聞いたRubyConfの参加した体験から今回のRubyKaigiもそうなってほしいという気持ちを感じた。とても良い。家族の絵文字で名前を引用してもらう。家族の絵文字👪でIRBがクラッシュしてからrelineを直し、いまはRubyコミッタになって、Rubyの最適化を止めて調べてるとのこと。家族の絵文字が遠くまで続いていたという話の構成になっていて、聞いていて胸が熱くなった。
まつもとさん基調講演。AI時代にAIにつかわれず、AIを便利につかって引き続きプログラミングしていこうというメッセージだと理解した。次のリリースのRubyを4.0にしようと思うという提案。最初のリリースから30年の節目であるので。目玉機能はZJITとネームスペース。モリスさんはまわりのコミッタたちからも圧を受けながら、「えっ、聞いてない」と笑っていた。
ほかにもいろいろ書いたのだけど、人の情報が出てくるので非公開の日記に残すことにする。
2025-03-05 [長年日記]
_ Rubyアソシエーションセミナー「Rubyを学ぶポイントとコツ」
Rubyアソシエーションさんからお話をいただいて、これからRubyをはじめる方向けへ向けて40分の講演をした。どういう内容がいいかいろいろと考えて、1月と2月の結構な時間をつかって準備した。前田修吾さんとも東京Ruby会議で会ったときに相談させてもらったりして、ひさびさにRubyを学ぶとは、について考えた日々だった。
資料をつくりはじめるともっとほかに話したいことが出てくるので、講演時間と準備時間の制限がなければもっと資料を書き続けていたと思う。Rubyアソシエーションセミナーは良い講演が多く、見てお世話になっていたので、私もお話の機会をいただけたことが嬉しかった。
講義資料と講演動画はRubyアソシエーションのページから見ることができます。 https://www.ruby.or.jp/ja/news/20250310