■2004-11-03
* [Perl] utf8の〜(FULL WIDTH TILDEとかWAVE DASH)
で、仕事でJEncode使っていたのですが、windows上でエンコードがutf8の"〜"をJEncodeにくわせても別のコードに変換しないことを知りました。U+FF5Eの〜は他のコードに変換できなくて、U+301Cを使わないといといけないんですね。現在のJEncodeはfrom_toに文字列を渡す際、定数Encode::FB_QUIETを与えているので変換できないものにぶつかると処理しません。結果”〜”が入っているとその文字列全体がutf8のままに。Encode::FB_QUIETをとると、〜は?に置き換わります。一段落したら修正……かな。
* [Perl] 帰ってきた「EncodeモジュールでISO-2022-JP MIME-Header」
さて以前EncodeとMIME-Headerで、JEncodeのiso-2022-jp版mime_encodeの処理が正しくないけれどまあいいや、と書いたわけです。いまの仕事でJEncodeにMIME-Encodeさせたところ、Outlookでutf8のものが文字化けになりました。回避するためにiso-2022-jpにすればよいのですが、現状のJEncodeのiso-2022-jpでは不安だし、Jcodeをわざわざインストールするのは何か悔しいし……結局今急いで修正しました。
そういうわけで、JEncode v.1.33からはJcodeと同等の値を返すISO-2022-JPでのmime_encodeが実装されました。
■2004-11-10
* [雑感]
まだ仕事が終わりません。ひー。たーすーけーてー。プログラマ! プログラマ!
……集中力が切れるとろくな事になりません。rootになっている状態で大事なディレクトリ(/のサブディレクトリ)でrm -rfやっちゃうし。冷や汗かきました(本気で手が震えましたの)。
* [メモ] なんかいろいろ
何か書こうと思っても、その気力も時間もないので、後で見返せるようにメモだけ。
- 11/7はトロツキー生誕125年
- Mail::RBL(Open ProxyからのCGI書き込みを拒否するをみて、まねっこしてみたくなったので)
- アメリカの不正選挙ネタ など など など……
- モジュールの交雑 素晴らしい気がした。する。するだろう。……いやしないと思う
- こんにゃく問答〜非戦闘地域とはなんぞや かの首相はほんまもんの……
■2004-11-13
* [Perl] perl-5.8.6-RC1におけるthreadsの修正点
perldeltaより。
- Perlのコマンドラインオプションに-dt追加。デバッガがマルチスレッド(threads)をサポート。
- threads::sharedで共有された配列をforeachするとPerlがクラッシュしていたが、修正された。
- 共有配列リファレンスから要素をpopしてもメモリリークしなくなった。
だんだん安心して使えそうな雰囲気。ちなみに、iスレッドのメモには既に書いてあるのですが、スレッドの生成にかかる時間が極端に遅くなる現象はPerl 5.8.5で修正されています。以前これにはまってしまい、対処として余計なコメントを加えたり削除したりしてファイルサイズを変更するというのをやってました。
■2004-11-21
* [雑感] ホラーじゃないんだ
「いま、会いにゆきます」という映画が流行っているそうじゃないですか。通勤時にいつもポスターを見かけては、ずいぶんほのぼのとしたホラー映画なんだなあ、と思ってたのですが。どうも違うらしい。 あれでしょ、ほら、深夜に電話が鳴って、受話器を取ると「いま、会いにゆきます……」。キャー! だと思ってたんですが、ずいぶん大きな勘違いをしていたものです。
* [雑感] 消耗
先週で長かったBlosxom強化月間(?)も終わり。とはいえ、まだ色々後始末が…… で、この間に外に出していたプログラムのコードレビューをしたのですが。ファイル内の各行の重複チェックを行う処理。
my @lines = @_; # サブルーチン内 my @check = @lines; for my $line ( @lines ){ for my $check ( @check ){ if($line eq $check){ error() } } }
イメージとしてはこんな感じ。1000行のデータで100万回チェックするつもりですか。やり直してください、と。で、次に返ってきたのが
my @lines = @_; my @check = @lines; for my $line ( @lines ){ my @found = grep(/$line/,@check); if(@found > 1){ error() } }
ああ、前回よりちょっとひねってあります。笑いたいような、泣きたいような、怒りたいような。このようなソースを出してくるのは大変特殊な例なのか、良くあることなのかしら。 PHPとMySQLによるWebアプリ開発が得意と称するこの会社は、他にも配列を逆順にする処理で
my @array = @_; my @reverse; for(my $i = $#array; $i >= 0; $i-- ){ push @reverse,$array[$i]; } return @reverse;
という素敵実装をされていたのが印象的でした。Perlが不得手だとしても、PHPにarray_reverseがあるんだから同様の組み込み関数があることぐらい想像つくと思うのですが。 そんなこんなで今週はかなり疲弊していました。
■2004-11-28
* [漫画] 豪放ライラック
桑田乃梨子の『豪放ライラック』2巻を読みました。心に残るシーンが2つほど。
「バカップルは目指すもんじゃなく いつのまにか世間から与えられてる称号」 ……バカップルはグラン・ローヴァだったんだ。
意中の人にマフラーを編むにあたり、「どんな色が好きですか?」 「国防色かな」
カバーをはずした表紙・裏表紙も含めて今回も見所が一杯でした。
* [Perl] 5.8.6
Perl 5.8.6が出ました。threads関連は先日書いたのとかわっていませんね。時間のあるときにithreadsメモに追記しておきます。
_ み [忙しい時ほど心に余裕を。 と言っても往々にして出来ないのでせめて気分だけでも。 ( ^-^)_t きのこ]
_ まかまか [きのこ、きのこ! というわけで、来月またキノコを食べにいきませう〜]