にょきにょきのお勉強 -3ページ目

タイムゾーン名の一覧

DateTime に time_zone を指定 する必要があることは分かったけれど、タイムゾーン名はどうやって知るの?

というわけで、 FreeBSD では以下のファイルで一覧が見られる。


/usr/share/zoneinfo/zone.tab

わからなければ素直に 'local' を指定すればいい気もするが、それは汎用的ではないので何かが気になる。


これで安心した。




DateTime では time_zone 指定をする

DateTime を使って時刻を表示させている時間がどうもずれていると思ったら time_zone の指定が必要そう。


my $dt = DateTime->now( time_zone => 'Asia/Tokyo' );

or

my $dt = DateTime->now( time_zone => 'local' );

デフォルトで指定が必要ってのも面倒だなぁ。

簡単なロギング目的だったら POSIX の strftime のほうが良かろうか。


use POSIX;

print strftime("%Y-%m-%d %H:%M:%S", localtime);

てな。

バージョンベクタ

IE にはそのブラウザが IE であるか、バージョンはどうか、などを調べたり条件分岐できるコメント形式の記述方法があります。

ありますっていっても、自分は今日まで知りませんでしたが。。だって使わないし、、

<!--[if gte IE 7]><p>IE 7 以上を使用しています。</p><![endif]-->

こんなやつ。

会社で今日、これの話題になって調べていったらバージョンベクタという名前だった。

みんな「コメント形式で書くカギカッコなやつ」とか言ってたので、名前が分かってすっきり。


バージョンベクタ




お気に入りバーて…

Windows Update で推奨項目にも入ってきたことだし、と仕事用のメインマシンのブラウザを IE8 にアップデートした。


いままで、「リンク」フォルダの中身が表示されていたところが「お気に入りバー」とか名前が変わってた。

この名前はあまり好きじゃないなぁ。。




perl module の依存関係を調べる

perl で書いている cgi の中で別なサイトのcgi にアクセスする必要がでてきた。

といっても、GET リクエスト1回叩くだけだしエラーチェックはほぼ不要というものなので、できるだけコンパクトな CPAN モジュールを使いたいところ。


コンパクトなのが良い理由は、納品先のサーバのディスクにそれほど余裕がないことと、納品先のサーバのグローバル環境にインストールされていないモジュールは自分で納品物に同梱するようなスタイルだから。


で、LWP::Simple か WWW::Mechanize で依存モジュールが少ないほうにしようと思ったのだけど、はて、どちらのほうがすくないの?


探してみたら CPAN dependencies and test results checker  というサイトがあるらしく、ここで依存モジュールの一覧を調べることができるみたい。

どうでもいいことだけど、犬の写真がこわい。


自分で数えなくてもモジュール数にナンバリングしてあって、些細なところで便利な感じ。


LWP::Simple は 31個、 WWW::Mechanize は 43個という結果だったので LWP::Simple を使おうかと思う。


あと考慮に入れておかないといけないのが、サイズも見比べてみた方がいいってのと、OS の種類が違ってもいいように XS じゃなくて Pure Perl なものかどうかという点かな。