トップ 最新 追記

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2005-08-05

* [雑感] Perlなんですか?B!

 使える言語は Perl と言うと何故にバカにされるのか?。 ああ、嫌なことを思い出しました。 前にもちらっと書いたSledge+改良blosxomのサイトに対して、いつだったか監査の方(ITコンサル?出身なんだって)がやってきて色々質問されました。で、一番最初のやりとりが「Webサーバは何ですか?」「Apacheです」「ああ、じゃあApacheとTomcatかなにかですね」「いえ、Perlです」
  そうしたら、もう顔色がみるみる変わるんです。 ぱぁるぅ? みたいな怪訝そうな顔で「……本当にPerlなんですか? でも拝見しましたが動作が非常に軽いですよね?」

 そうだ、今度「Tomcatですか」って聞かれたら「はい、トメキャットです」って答えることにしよう。 トメ婆さんの飼っている猫。 Perlで実装されてるの(参考:nekoは画面を走れるか?)。

* [Perl] ISO-2022-JP用に対応したEncod::MIME::HeaderB!

  先日、Danさんのところに送ったコードをEncodeに取り込んでもらいました。無精してpodを書かなかったのですが

 $header = encode('MIME-Header-ISO_2022_JP', $utf8);

という感じで使います。Jcodeのmime_encodeと同等の処理です(というか、Jcodeの処理を写しただけです)。これでMIME::Lite::TT::Japanese 0.04の問題も解決されるのかな。

本日のツッコミ(全2件) [ツッコミを入れる]

_ file-glog [画面を走るnekoの作者です.「トメキャット」面白いですね.nekoをwebサーバにインストールしても,監査の方への..]

_ まかまか [>なにかネタを考えて見ます おお、それはとても楽しみです! nekoは何年か前にインストールしたことがあります。 ..]

[]

■2005-08-07

* [メモ][Perl] Class::DBI関連B!

 先月末、Class::DBIのメンテナが切れてメーリングリストやWikiを閉鎖したという話が話題になっていました。そのWikiで思い出したのですが、以前「同じテーブル構造が複数のデータベースにあって、一つのクラスで両方を扱いたい」場合の方法をUsingMultipleDatabasesを参考に書きましたが、色々ミスや不十分なところがあったので、Class::DBI::Plugin::MultiDatabasesとして書き直しました。
  これも前書きましたが、Class::DBIの0.96から実装されている「メモリ内にあるオブジェクトの一意性」を保つための参照インデックス(弱いリファレンスを使う)が曲者で、例えば二つのデータベースに同じテーブル構造があって、$cd = Music::CD->retrieve(123)とします。その後データベースを変更してから再度$cd = Music::CD->retrieve(123)します。新しいデータベース上に存在する主キー123のデータを取り出したいのですが、前のオブジェクトが破壊されずに残っているため、古いデータベース上のデータが利用されてしまいます。そのため、スコープを限定しておく必要があるのですが、このプラグインではその辺のことを気にしなくても自動で何とかするようにしてみました。

 ところで先日、Acme::Class::DBI::NoThreatsというモジュールがCPANに。中は名前空間が違うだけでClass::DBIと同じ。で、説明をみるとClass::DBIのメンテナを怒らせるような内容が。

* [メモ][雑感] あれやこれやB!

 ・「アジアの安全な食べ物」という犯罪者と、それに踊らされる馬鹿。 表題は大層きついですが、内容はまあ、至極真っ当。あー、いや、コメント欄とかかみてると、本当に馬鹿が多いのかしら。

 ・ふええええ 別にこのエントリに限らないのですが、ここの書き手の方はあんなしょーもないものに対して丁寧にツッコミを入れていて偉いなあ……

* [雑感] 自転車B!

 夜、帰路にて、中学生ぐらいの男の子二人が仲良く手を繋いで自転車で駆けていきました。横方向タンデムごっこなのか、ラブラブだったのか?

[]

■2005-08-14

* [今月のAcme] 名前で笑わすモジュールB!

  (夏休み無いですけど)夏休み特集”第一弾”、名前で笑えるものを2点紹介します。最初は Acme::UTF1

 use Acme::UTF1;
 use Encode qw( encode decode );
 # ....
 $chars = decode('utf-1', $bytes);

 次は Acme::Tpyo。与えられた文字列に誤字を含めて返すmisspell()を搭載。 そんなことよりも先生! モジュール名が!

  とりあえず、あっさりと終了。 次回の第二弾は、自作モジュール Acme::BeyondPerl::ToSQLを。まだCPANにあげてないのでいずれそのうち。

* [雑感][書籍] Learning PHPB!

 PHP5で書かれたものをコードレビューすることになるので、とりあえず何か読んでおこうと思い、Learning PHP 5を注文。今日届いたのでざっと目を通したのですが、うーん、いくらLearningだからといって、"クラスとオブジェクト"の項目がたった2ページだなんて、あんまりな……
  Programming Perlみたいなのを期待していたので(いやそれならProgramming PHPなんでしょうが、古かったので)ちょっと残念。

 オライリージャパンからは何故かPHP関連の邦訳が出ないそうですが、これなら日本語版出さなくても、他社からいっぱい出てるから、需要なさそう。

* [雑感] 来年はどうかB!

 友人らと国際展示場へ。来年はこそは売る方へ、と奇声気勢を上げる。が、これもう5年ぐらい前から繰り返してるような……
  帰りに駅に行くと、「人権擁護法反対」と書かれた街宣車の前で演説している方がいました。その前では熱心に話を聞いて頷いているサクラっぽい人達がいて、人権擁護法案反対なのに何故か「民主党政権絶対阻止」と意味不明なことを言ってるが印象的でした。 と思ったら、宗教団体だったの?

本日のツッコミ(全2件) [ツッコミを入れる]

_  [5年くらい前から申し込みしていたら、今年「初めて」出展できたかも知れないのに(笑) それはともかく、昼から売り子と片..]

_ まかまか [お疲れさまです〜 >5年くらい前から申し込みしていたら、 ほんとにねえ…… まあ、今後は本気でやろうと思います。]

[]

■2005-08-18

* [今月のAcme] Perlを超えてB!

  前回に引き続き、(夏休み無いけど)夏休み特集第二弾。 懲りずに自作モジュール。 Acme::BeyondPerl::ToSQL

 use Acme::BeyondPerl::ToSQ
   ("dbi:SQLite:dbname=acme_db","","");
 
 my $value = 5;
 
 print 2 + $value;
 print 1.2 - 0.2;
 print 9 / 2;

  一見すると何も変わっていませんが、useしたファイル内での数値計算をデータベース側で行っています。デバッグオプションをセットすると

 SELECT 1.2 - 0.2 # 桁省略
 SELECT 9.0 / 2.0
 SELECT 2.0 + 5.0

というSQL文が発行されているのがわかります。これでもはやPerlの力を借りずとも、計算ができる! ……Perlの力を借りてDBとやりとりしているのは気にしない方向で。
  仕組みは単純で、定数オーバーロードを利用して数値をオブジェクトにし、後は演算子オーバーロードでSQLを発行するだけです。デバッグモードにすると実行前に定数が先に処理されてるのが視覚的にわかりますね。
  PostgreSQLやMySQLを使うと、sqrtやlog、atan2などのoverload可能な多くの関数が利用できます。

* [メモ] Acme::Inline::SQLB!

どうせなら Acme::Inline::SQL とかにしてほしかった(本日のコメント欄)

  あー、Inline::SQLって何処かで見たような気がしたのですが、CPANで探しても無いですね。

 $xored = eval_sql(q| SELECT 1 # 2 |);

みたいな感じかしら。 ちなみに普段PostgreSQL使っているので、MySQLを使うときに『PostgreSQL&MySQL逆引き大全』が結構重宝します(Amazonの書評にはバージョンが書かれていないとありますが、最初の方に対応バージョンが載っています)。

* [雑感] スーツ は あついB!

 普段夏はノースリーブで通勤してるのですが、3日連続でスーツ着て仕事。だいぶ勝手が違うためか、いつもより5割ましで疲れた気が。

本日のツッコミ(全1件) [ツッコミを入れる]

_  [どうせなら Acme::Inline::SQL とかにしてほしかった。 Dan the Man with Too ..]

[]

■2005-08-25

* [近況] 人手不足やら何やらB!

 うーん、なかなかまとまった時間がとれない……

* [メモ][Perl] JSON関連B!

 何か色々要望が来てるけど、返事書く気力が。
  ・JSONにCGI以外のリクエスト用オブジェクトを渡せるようにして
  ・JSONRPCをJSON::RPCにした方がいい
  ・JSONのキーは"なしにも対応して欲しい
  ・JSONのキーに'括りも認めて欲しい
  CGIオブジェクト以外にも対応するのは必須として、JSONRPCをJSON::RPCにするかどうかは判断難しい……

* [メモ][雑感] 倫理の倫は精力絶倫の倫B!

 上記タイトルは、私が高校時代に使っていた倫理の教科書の冒頭に出てくる倫理の説明。 たぶんこちらのテキストの中にある部分がほぼ同じ内容だったかな(実教出版の「倫理 新訂版」だったような気がしますが、郷里に戻らないとわからない)。

 なんでこんなことを思い出したかというと、adventure memo(note of vermilion)をメモしようとしたら、倫理の話題が目に入ったから。 Zork

[]