寄り道してたらWikipediaに迷い込む

ちゃんと1行ずつ読もう、分からないところは飛ばさず読もうと思ってRailsのサンプルアプリを読み始めた。

1.year.from_nowって意味は自明だけど、実際のところ何だろうか? とか立ち止まりつつ。こういうのってActiveSupportの、確かDurationオブジェクトで。でも、from_nowってなんだ? ふむ、sinceのaliasかなるほど。

ユーザーのセッション管理はヘルパーにしてApplicationControllerにincludeしてしまうのが定石か、ところで待てよ、cookies.permanentのpermanentってなんだ、と思って、まず、ActionDispatchのディレクトリに移動。lsすると、何だか興味深いファイル名がたくさんあるので less * とかして読み始める。なるほど、ActionDispatch::BestStandardSupportなんていうRackミドルウェアがあるのか、こういう構造でミドルウェアって作るのか。なるほど、これはIEの互換性関連ぽいな、IE=Edge,chrome=1ってなんだ? なるほど、Chrome Frameがあれば、それをIEにロードしろというディレクティブなのか、げ、それってRailsのデフォルト? まあいいや、で、えーと、なんだっけ。ああ、cookiecookie、これこれ、ActionDispatch::Request::Cookiesだわ。なるほど、permanentで20年先にexpireする指定ができるのか。options[:expire] = 20.years.from_now とかしてるのか。そういえば、cookieって無限遠の未来って指定できたっけな。どれどれWikipedia。こういうときはRFCをいきなり読むより、Wikipediaでctrl-fしたほうが分かるよな。expir...そうそう、これこれ。絶対日時か秒数か。ふーん、cookieのセキュリティとかプライバシーって議論色々あるのなぁ。へぇぇ。ところでcookieの例として数値の配列なんかを入れてるけど、実際にRailsが吐くヘッダってどうなるんだろ。ていうか、ヘッダってどういう文字列だっけな。そういえば4096バイトという制限があったような。やっぱりRFC見てみるか。どれどれ、RFCってどれが最新なんや。IETFのサイトって分かりづらいな。これは古いバージョンのRFCか……、古いRFCのページは、もっと紙がかすれて腐りかけてるような画面デザインにしてほしいな。で、cookieの最新はRFC6265だ。ふむふむ、ブラウザ実装は最低限でも1つのcookieあたり4096バイト保存可能であるべきで、ドメインあたり50個のcookieに対応できて、全部で3000個のcookieを扱えないといけないのか。あれれ、ちょっと待てよ、Wikipediaの記述と違うような……。うわっ、やっぱり。RFCにリンクが貼ってあるのに、古いRFCの値を参照してるよ、これ。ドメイン単位で20、全部で300個のcookieと書いてあるのは情報が古いんだな、きっと。RFC2965のほうにはそう書いてあるし。コンピュータ関連の記述では、かなり信用している英語版Wikipediaだけど、こんな間違いがあるとはなぁ。よーし、パパ、Wikipedia編集提案しちゃうぞ、初めてのWikipedia編集だ。まずはアカウントを取って、うーん、キャプチャが読めん。よし、それで……、wikiかぁ、このtalkとeditっていうのの違いはなんだ? talkかな? ほぉ、なんか最新のブラウザ実装に基づいた議論してるんだな。それで……、それで……、それでオレは今朝は何をしていたんだっけな。そうそう、Railsアプリを読もうと思ってたんだった。げ、3行しか読んでないやん……。