2007年04月03日(火) [過去の今日]
#1 FlashでFirefoxが落ちる事があるので見たい奴だけ見るようにする
Life is beautiful を開いたらFirefoxが落ちやがる。毎回落ちるので記事が見れないと言ってたら、 どうもFlashのせいらしい。
そこでIRCで教わった Flashblock という拡張を入れてみた。これを入れておくとFlashが表示される位置に出現する丸いボタンを押さない限りFlashが再生されないので、万が一落ちてもセッション復元で元の記事が読める。これは便利。
って、これ入れると、 YouTube Stop AutoPlay が要らなくなるな。ついでに入れちゃった機能は別のぐりもんにするかー。
(@342)
#2 YouTubeにダウンロードリンクと大きい画面で見るリンクつけるだけのグリモン
#3 Catalystのforwardの返り値
んー、forwardしたメソッドでreturnした値がforwardの返り値になるわけじゃないのか。 forwardの結果で分岐したいときは、結局$c->stash->{hoge}を使うしか無いのか? めんどうだなあ。
(@447)
#4 [ウソ記事注意!]Perlである変数が'hoge'か'fuga'だった場合に真となる文法[寝ボケてたらしいです]
IRCで相談しながら試してたら通ったので驚いた。
今までよく
if ($hoge eq 'hoge' || $hoge eq 'fuga') { print "match!\n"; }
などと書いててウザいなあと思ってたのだが、
if ($hoge eq 'hoge', 'fuga') { print "match!\n"; }
でいいらしい。
if ($hoge eq qw/hoge fuga/) { print "match!\n"; }
でもよし。
うーん、知らなかったなこれ。
(@780)
@ 2007-04-06追記:
はてブコメント でツッコミもらったから「あれ?」とか思ってもっかいやったら通らねえよ!! 俺寝ぼけてたのかよ!!
というわけでごめんなさい、ウソ記事でした orz
ああ、ここ数日書いたコード直さないと……
@ さらに追記:
またIRCで相談してたら、Perl6::Junctionを使うとよいよ、という話。
use Perl6::Junction qw/any/; if ($hoge eq any qw/hoge fuga/) { print "match!\n"; }
こんな感じで書けるっぽい。
#5 肉を食うとコーディングが進む
#6 PerlのDateTimeモジュールでset_time_zoneすると9時間ずれる件
元データの日付がUTCで記録されてるのだが、出力はJSTにしたい、と思って
my $dt = DateTime::Format::MySQL->parse_datetime($datetime); $dt->set_formatter(DateTime::Format::W3DTF); $dt->set_time_zone('Asia/Tokyo);
とかやると9時間ずれやがる。どうもset_time_zoneは現状の日付がどこのタイムゾーンのものかを指定するもの、ということか?
と思ったら、DateTime(3pm)にこんな記述ハッケソ。
For example: my $dt = DateTime->new( year => 2000, month => 5, day => 10, hour => 15, minute => 15, time_zone => 'America/Los_Angeles', ); print $dt->hour; # prints 15 $dt->set_time_zone( 'America/Chicago' ); print $dt->hour; # prints 17
……ちゃんとタイムゾーンに合わせてくれるんじゃん。
つまりあれか。time_zoneが空っぽのときは既存日付のタイムゾーンを指定、そうでなければあたらしく与えられたタイムゾーンの日付に変換、か。
ということでこうだな。
my $dt = DateTime::Format::MySQL->parse_datetime($datetime); $dt->set_formatter(DateTime::Format::W3DTF); $dt->set_time_zone('UTC'); $dt->set_time_zone('Asia/Tokyo);
……何か激しく美しくない気がするのは気のせいか?
(@920)