Safari と gzip 圧縮 JavaScript
検証の結果、やっぱり Safari は「.js.gz な JavaScript ファイル」は処理できないみたいです。
うげぇ、と思って確認用ページ見てみたらファイル名が prototype-1.4.0.gz で Content-Type が text/plain だし。IE みたいに無駄に拡張子を見てたり Content-type で判断している可能性もなきにしもあらずなので、(ブラウザから見える)拡張子を js に、 Content-type を application/x-javascript にしてみたほうがいいと思うなぁ。マカーで Apache の設定が分かって JavaScript が分かる某先輩あたりに確認してみてもらいたいところ。
追記
「確認してみてもらいたいところ」なんて書いたら本当に確認していただけた。
とりあえず動くらしい。ということで Trackback。コメントは IP 制限ではじかれたので。
JavaScript ソースの MIME タイプ
header(”Content-type: text/javascript; charset: UTF-8″);
JavaScript ソースのContent-typeって普通 application/x-javascript じゃね、とか思ってちょっと調べてみたら、text/javascript, text/ecmascript, application/javascript, application/ecmascript の4つが IANA に登録されていて、text/(java|ecma)script のほうは obsolete になっているでやんの。いつの間に、と思ったら今年の4月に RFC 4329 で公開されたらしい。ということはこれからは
<script type="text/javascript"></script>
じゃなく、
<script type="application/javascript"></script>
が推奨と。ちょっと古いブラウザだと動かない可能性があるからやらないけど。
ちなみに「ちょっとしたメモ - スクリプトのMIMEタイプがRFCとなって公式登録へ」で試してみたら Firefox 2.0 と Opera 9.01 では4つともちゃんと動作するが、Internet Explorer 7 では application/(java|ecma)script のほうはエラーになる。おぃ。
MapViewOfFile と CRC32 の計算
mixi のC言語コミュの某トピックがなぜか Kusakabe さん作 CRC32 vs FastCRC な流れになっている。
団子厨氏の絡んだ現在の流れ自体に言いたいことがないではないが、とりあえず MapViewOfFile による Memory Mapped File な CRC32 の実装とかしてみた。Pentium M 2.0GHz で 100MBytes 程度のファイルは 0.5 秒ぐらいで計算できる*1。
しかし、MapViewOfFile なんて初めて使ったがえらく面倒だな。ていうか GetFileSize のファイルサイズの下位バイトを返して、上位バイトは引数のポインタに格納するって、どんな仕様だよ。
*1:ちなみにfgetcで1byte読み込むと10秒以上かかる
投資の利益はあぶく銭という経済学者
良記事かと思ったら最後にすごいのが。
わたしは、税金というのは、汗水垂らして庶民が稼いだ分に対しては低く抑えるべきものだと考える。そして、濡れ手で粟をつかんだようなあぶく銭に対しては「楽をして金をもうけたのだから、多めに税金を払って国民のために協力してほしい」というものなのではないだろうか。
労働で稼いだ金以外はあぶく銭ですか。まったく株式とか投資とかってなんなんだろうね。
いや、累進課税自体はいいんですがね、経済学者が投資家やファンドに向かって「楽をして金を儲けている」は無いだろう。経済学者が真面目な顔してこんなこと言っていると日本には投資家がいなくなるんじゃないかと心配するのは杞憂だろうかね。