■2005-06-03
* [メモ] XUP、OpenID、LID、その他
・XML User Profiles
XPUは、サイト毎に使い分けなければならない静的なユーザアカウントのかわりに、オープンな/共有されたユーザアカウントを利用する試み。メンバーの中の誰かを識別するのにアカウントを用いる”コミュニティ”的サイトに最も適していて、強力な認証機能を規定しないので、並み程度のセキュリティとプライバシーを要求するアプリケーションにのみ有用。
・OpenIDとフィッシング詐欺
「悪意のあるサーバによるリダイレクト→自分のOpenIDサーバそっくりのデザインの偽サーバ→アカウント・パスワード奪取」ができるという指摘。それに対して、一般的なフィッシングと変わりないのでOpenIDに限ったことではないというレス。
それに対して、これが問題なのは「見知らぬサイトからリンクを辿って自分のログインボックスへいくこと」(通常は直接、例えばブックマークからログインページにいく)という説明。それに対して(以下略)。
・人を信用させる物質特定 なんとまあ。
・ケーシー高峯は医学漫談ではなく、”お色気”医事漫談師。
■2005-06-08
■2005-06-12
* [今月のAcme] 漂白の思いやまず - Acme::Bleach系
ここギコ!さんでさえもんたメソッドを使用されたことに衝撃を受けて、時流に乗って(もう遅い)Acme::Montaにしようかなとも思ったのですが。 初心にかえって、というか以前から予定していたものとしてAcme::Bleach系いきます。
Acme::Bleachは既に「素晴らしきPerlモジュールの世界」でも書いたとおり、use Acme::Bleach
したファイルを真っ白(スペースとタブ)にしてしまうけど、実行するとちゃんと動作するよ、というモジュールです。
かのDamian Conwayがつくったもので、仕組みは、useしたソースファイルを読み込む→2進数に→0|1に応じて置換→ファイルに上書き。二度目以降はソースはそのままに元データにもどして実行。てな具合です。
で、このAcme::Bleachに触発されてCPANに登録されているモジュールがたくさん ……たくさん…… どれくらい? ってなことでだらだらと探してみました。
# 御三家 Acme::Bleach # 始祖 Acme::DWIM # Morseと供にAcme-Bleach同梱 Acme::Morse # .--.-..--.(以下略) Acme::Morse::Audible # ↑をMIDIに(別dist) # 直系 Acme::Buffy # BUffY bUFFY BUffY(以下略) Acme::Palindrome # ;"dlrow olleH" tnirp Acme::emcA # ;use Acme::emcA esu; Acme::CramCode # Compress::Zlibで圧縮 Acme::PGPSign # -----BEGIN PGP 以下略 Acme::Bushisms # ブッツュ氏大いにPerlを語る Acme::Remote::Strangulation::Protocol Acme::Python # ↑長すぎる Acme::MJD # もう何がなんだか Acme::DeepThoughts # 考える気力がないので Acme::Buckaroo # どんなものか Acme::DoubleHelix # わかりませんが、 Acme::DonMartin # 気にしない Acme::Pony # 気にしない # 派生ないしは進化 Acme::Smirch # うーん Acme::EyeDrops # 美しい! Acme::Stegano # ファイルを埋め込む
ふぅ、こんなもんでしょうか。まだあるかもしれませんが、おなかいっぱい。Acme::EyeDropsに至ってはすごすぎ。→perldoc.jpのpod。上記モジュールはリンクをつけてないので、興味のある方はCPANで探してください。そして最後に一発ネタ。
創聖のAcme::rion!
use Acme::rion; print "Hello World.";
するとエンディングが流れる:
use Acme::rion; ネストゥトゥメロ ダーポイジュ オラ トプ リージ カディエス ヤム オムオォ ラプ ヒハメホ ニーク マーナ グニグラメホプレミア パド ローポトプシン ヤムジェオソル オウ # (中略) ローポマーナオル イントレ オォ リンラオ アクメリオーン アクメリオーーン
一部の人にしか分からない上に、いまいちはずしてるね!
■2005-06-24
* [状況] アルバイト募集
下記案件の募集は終了しました。
うーん、まだちょっと忙しくて、日記書けない…… それはそれとして、ちょっと弊社のお仕事を手伝ってくださる方を募集しております。7月2日現在、下記案件の募集は終了しました。
内容: 簡単なデータからImageMagickを利用して チャートグラフの生成等を行なう Perlスクリプトの作成 報酬: 40万〜 制約: ・PerlでOOPの経験のある方 ・原則としてPerl(5.6)標準以外で CPANモジュールは利用不可 (無論Image::Magickは大丈夫) → 一からグラフ用クラスを書いて下さる方 ・開発期間は1ヶ月ぐらい
という感じなのですが、もしも興味をもたれた方がいらっしゃいましたらwepmaster[at]donzoko.netまでご連絡ください。(←webじゃなくてwep。単にmakamaka@〜でも届きます)
一応念のため付け加えておきますと、スクリプトはstrict
プラグマ下で -w -T
オプション指定で実行することを前提としています。またソースファイル内のコメントは原則英語になります(英語どうしてもダメという方は日本語でもokです)。
あ、大事なこと忘れていました。報酬の単位は「元」
や「ドル」でなく「円」です。
■2005-06-27
* [Perl][メモ] threadsとunlink
「終了した thread であっても、reference counterなどに影響を与えているような感じがします」(thread は join() では死なない より)。具体的には、threads
を使ったときに子スレッドを明示的にundef
しないとファイルをunlink
できないという話(ただしActivePerl 5.8.1以降)。要は、開いているファイルハンドルが子スレッドにコピーされたままなのでunlink
できないわけですね。
# ActivePerl 5.8.1以降 package IO::File; sub DESTROY { my $tid = threads->tid; print "destroyed($tid)\n"; } package main; my $fname = './test.dat'; my $fh = IO::File->new(">$fname"); { # ←このブロックをコメントアウトする my $th = threads->new(sub{ }); # ↑$fhが子スレッドにコピーされる $th->join(); } # ←このブロックをコメントアウトする $fh->close; print "now unlink\n"; unlink($fname) or warn $!; # ブロックなし # now unlink # Permission denied at unlink.pl # destroyed(1) # destroyed(0) # ブロックあり # destroyed(1) # now unlink # destroyed(0)
元記事にあるようにundef $th
するか、上記のように$th
のスコープを限定させてGCを発動すれば子スレッド内(tid=1)のファイルハンドルも閉じられるのがわかります。
ちなみに、join
やdetach
をしないとスレッド内のデータはclean upされません。そのためjoinable状態の$thをundef
しても、ファイルハンドルは閉じられないようです。
* [メモ] 備忘録
上ので思い出しました。ディスクロージャとithreadsでPerlクラッシュ関連をithreadメモに追記しておくこと。
奥崎謙三、亡くなられたんだ。 あー、「神様の愛い奴」を知人から借りっぱなしで、まだ観てないことを思い出した!
_ ねね [XML User Profilesちょこちょこっと翻訳サービス頼りに読んだりしてますが(まだスペックの中途までしか読..]