Perlを中心とした技術系の話などをつらつら

2004年04月27日

Date::Simple 3.0のバグ?

Date-Simpleはperlで日付処理を簡単に行うことができるので、よく使うんですが、1900年2月28日以前の日付をコンストラクタに与えると、一日前のオブジェクトができてしまうことに気づきました。Redhat7.2, per5.6.1, Date::Simple3.0という環境で確認しました。モジュールのバグなのかOSの問題なのか、モジュールの中身を詳しく見ていないのでまだわかりませんが、Date::Simple3.xで1900年2月28日以前の日付を扱うときは注意が必要そうです。

ちなみにテストに用いたスクリプトはこんな感じです。
#!/usr/local/bin/perl

use strict;
use Date::Simple 3.0;

for( my $year = 1880; $year < 1920; $year++ ){
    for( my $month = 1; $month < 13; $month++ ){
        my $day_max = get_day_max($year,$month);
        for( my $day = 1; $day <= $day_max; $day++ ){
            my $date = Date::Simple->new($year,$month,$day);
            print "Bad:",
                sprintf('%d-%02d-%02d' , $year, $month, $day),
                " ne $date\n"
                unless $day == $date->day;
        }
    }
}

sub get_day_max{
    my ($year,$month) = @_;
    return $month == 2 
        ? get_february_day_max($year)
        : (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[$month -1];
}

sub get_february_day_max{
    my $year = shift;
    if ( $year % 4 == 0 ) {
        if ( $year % 100 == 0 ) {
            if( $year % 400 == 0 ) {
                return 29
            }else{
                return 28
            }
        } else {
            return 29
        }
    } else {
        return 28
    }
}
コンストラクタに渡した日にちとできたオブジェクトから取得した日にちが異なる場合以下のようにprintします。
Bad:1900-02-20 ne 1900-02-19
Bad:1900-02-21 ne 1900-02-20
Bad:1900-02-22 ne 1900-02-21
Bad:1900-02-23 ne 1900-02-22
Bad:1900-02-24 ne 1900-02-23
Bad:1900-02-25 ne 1900-02-24
Bad:1900-02-26 ne 1900-02-25
Bad:1900-02-27 ne 1900-02-26
Bad:1900-02-28 ne 1900-02-27

Posted by horiuchi at 14:54 | Permalink | Comments (0) | TrackBack (0)

2004年04月25日

Apacheクックブックいいです

Apacheクックブック―Webサーバ管理者のためのレシピ集
Apacheクックブック―Webサーバ管理者のためのレシピ集
が届いたのでぱらぱら眺めていたんですが、この本いいです!モジュールのインストールからログの記録、バーチャルホストの設定、SSLの設定などどのレシピも実践的で役立つものばかり。たとえば、レシピ9.7「エラーを通知する」を応用すればInternal Server Errorが起こったときにメールで通知することができるようになります。

また、普段何気なく書いている設定についても細かい説明があるので、理解を深めるのにも役に立ちます。サーバー管理者は一度は目を通しておくべき本だと思いました。

Posted by horiuchi at 02:30 | Permalink | Comments (0) | TrackBack (0)

サイコドクター楷恭介

サイコドクター楷恭介 2 (2) の最新刊をコンビにで見つけたので買ってきました。今回はドッペルゲンガーのお話。もともとサイコドクターという漫画はぜんぜん知らなかったんですが、本屋の漫画コーナーをぶらついているときにきらきらしているカバーが目につき、なんとなく買ったのが最初でした。なんとなく買った漫画でしたが、かなり面白いです。

「あなたの心を覗かせてください。」

この言葉にぞくっときますねw
サイコドクター楷恭介 1 (1)

また、 サイコドクター楷恭介の部屋―あなたの心を映し出す心理テスト集 という本も出ているそうです。ちょっと興味あり。
サイコドクター楷恭介の部屋―あなたの心を映し出す心理テスト集

Posted by horiuchi at 01:58 | Permalink | Comments (2) | TrackBack (0)

2004年04月22日

ectoでポストしてみる

ectoでポストしてみるテストです。時間がなくてなかなかいじれなかったんですが、ようやく試すことができました。いつものインターフェースでないとなんか違和感がありますが、なかなかいい感じですね。

Posted by horiuchi at 19:15 | Permalink | Comments (0) | TrackBack (0)

2004年04月20日

Apacheクックブック

Apacheクックブック―Webサーバ管理者のためのレシピ集 Apache2.0、1.3対応という本が発売されていることをしり早速注文。Perlクックブックに相当お世話になっているのでクックブックという響きにはどうも弱いぼくですが、NDO::WeblogのnaoyaさんもNDO::Weblog: Apache クックブック のエントリーでいい本だと紹介しているので内容は確かでしょう。届くのが楽しみです。

Posted by horiuchi at 15:38 | Permalink | Comments (0) | TrackBack (0)

2004年04月18日

バッドノウハウカンファレンス2004

Shibuya Perl Mongers : バッドノウハウカンファレンス 2004

Shibuya.pm主催のバッドノウハウカンファレンス2004が2004年5月14日に開催されるそうです。以前Shibuya Perl Mongers 1周年記念テクニカルトークに参加したのが非常に勉強になったし、刺激になったので今回も早速申し込みました。今から楽しみです。

Posted by horiuchi at 23:54 | Permalink | Comments (1) | TrackBack (0)

2004年04月16日

堤幸彦のページ

堤幸彦のページ

TRICKやケイゾクの監督、堤幸彦さんのウェブログを見つけました。ってただそれだけ。。

Posted by horiuchi at 19:58 | Permalink | Comments (0) | TrackBack (0)

2004年04月15日

Template::Toolkit本とmod_perl本

前からほしかったPerl Template ToolkitMod_Perl Developer's Cookbook (Developer's Library)をAmazonで購入しちゃいました。両方とも要所なので読むのに一苦労しそうですが、今から届くのが楽しみです。

Posted by horiuchi at 11:13 | Permalink | Comments (0) | TrackBack (0)

2004年04月14日

ect for Windows

ecto - dev blog

ブログ編集ツールectのWindows版のベータがついにでたみたいです。

Posted by horiuchi at 20:05 | Permalink | Comments (0) | TrackBack (0)

2004年04月08日

P4G8X BIOSでハング

自宅のPCの調子が最近悪いんです。。BIOS画面でハングすることがしばしば。。無線LANボードを挿したあたりから急に調子がわるくなったような。。オンボードのLANを停止すればなおるかなー。。帰ったら試してみます。

Posted by horiuchi at 10:48 | Permalink | Comments (0) | TrackBack (0)

2004年04月07日

タイソン

[K-1] タイソンついに参戦? 日本時間9日朝ロサンゼルスで会見
だそうで。個人的にはボブサップとじゃなくて、ミルコとやってほしいなぁ。

Posted by horiuchi at 10:29 | Permalink | Comments (0) | TrackBack (0)

2004年04月06日

コメントスパム大掃除

いままでほったらかしにしておいたコメントスパムを一念発起して、大掃除しました。MTのデフォルト機能にはコメント一覧表示や一括削除機能が提供されていないため、大量のコメントスパムが送られてきた場合も一つ一つ削除しなければなりません。今までほおっておいたコメントスパムを数えてみるとおよそ100件。これを一つ一つ削除するのはちょっとやってられません。。なのでどうにかこの作業を簡単にできないかとググってみるとこんな記事を発見。
Memo Leaves: 編集メニュー画面からコメントスパムを一括削除

なるほど、管理メニューの最近のコメント一覧にチェックボックスをつけて一括削除できるようにしたんですね。この記事内にもあるように、コメント一覧を表示する別ページを作るのが一番な気がしますが、時間もないので記事通りに管理ページのテンプレートを編集しました。 実際に試してみるとこれが快適!コメントスパムの削除がひじょーに楽になりました!

Posted by horiuchi at 12:27 | Permalink | Comments (0) | TrackBack (0)

うど??

040403_1835~01.jpg
富士急ハイランドの高速バス待合室のトイレにて。 謎のすずきに思わずシャッターを押してしまいました。

Posted by horiuchi at 01:02 | Permalink | Comments (0) | TrackBack (0)