Perl

Amon2で実行時間を測定する。 Amon2

Amon2で実行時間を測定する。

自分の環境だと、$c->stash(Amon2で$c->stashを使う。)が使えるようになってるんで、そこにdispatch前の時間を保存して、dispatch後に差を見れば何秒かかったかわかる。 package MyApp::Web; use parent qw/MyApp Amon2::…
Time::Momentで月の最後の日を取得するメモ。 Cpan

Time::Momentで月の最後の日を取得するメモ。

現在DateTimeをTime::Momentに置き換え中でございます。 で、当エントリーのタイトルの件。 月の最後を取得する方法は、DateTimeで下記のように書いていた場所を、 my $last_day = DateTime->last_day_of_month( year => …
DateTimeからTime::Momentへ変更。 Cpan

DateTimeからTime::Momentへ変更。

Devel::NYTProfを叩いて重いとこを探してたら、DateTimeに時間かかってるぽい。 あんま気にせず使ってたけど、やっぱ重いのね・・。 とりあえず、DateTimeをgrepして、全部Time::Momentに書き換えてます。 複雑な処理をしてなければ、そんなに大変じゃなさそう。 Tim…
perlbrew + cartonでcron実行 Cpan

perlbrew + cartonでcron実行

perlbrewってplenvに比べたら使ってる人少ないのかな・・? 次に何か作るときはplenvにしようか・・。 ついでなんでcrontabでdirの移動方法もメモ。 */1 * * * * web cd /home/web/myapp; /bin/bash -l carton exec -- p…
htmlを軽量化!HTML::Packerでhtmlをmin化して返す。 Cpan

htmlを軽量化!HTML::Packerでhtmlをmin化して返す。

htmlから改行とか不要なスペースを削除して、DLされるhtmlを軽量化。 でかいhtmlとかだと結構軽くなる(体感速度は変わらないですが・・) $html = HTML::Packer::minify( \$html, { remove_newlines => 1, do_javascrip…
Amon2でMODE共用のconfigファイルを読み込んで使う。 Amon2

Amon2でMODE共用のconfigファイルを読み込んで使う。

Amon2は、configをdevelopmentとproductionの読み替えができるんで、DB接続周りとかの変更が可能なんですが、その他の部分で同じ内容がいくつかあって、いちいちconfigを全部変えるがめんどいので、共通な内容は別のconfigファイル(どのMODEでも読み込まれる共用ファイ…
Perlでtimelocalを使う(メモ) Perl

Perlでtimelocalを使う(メモ)

これすぐ忘れていつもググる事になるので、メモ。 use Time::Local; my $date = '2014-10-11 10:30:00'; my @date = split(/ /,$date); my @ymd = split(/-/,$date); my @hms = split(/:…
JSON(::XS|::PP)でのBoolean判定 Cpan

JSON(::XS|::PP)でのBoolean判定

APIをぶっ叩いて、jsonを受け取るとかよくある処理だと思いますけど、結果がBoolean(true|false)で返ってくる場合、なんとなく下記のように if ( $json->{'is_ok'} eq 'true' ) { # ... } なんてやってしまいがちですが・・そうじゃない。 …
FurlでBasic認証を突破する。(もしくは、curl -u的な) Cpan

FurlでBasic認証を突破する。(もしくは、curl -u的な)

某APIのサンプルがcurlしかないので、Perlで実装しようとした時に、-uってどうやんのさ・・?って調べたんでメモ。 叩きたいコマンドは、以下みたいな感じ。 curl -u user:pass http://xxx.example.com/user_data で、これをPerl(Furl)で書く…
Net::SSLeayがインストールできない場合(メモ) CentOS

Net::SSLeayがインストールできない場合(メモ)

FurlとかLWPでhttpsなページにアクセスするのにNet::SSLeayが必要。 で、素の状態でcpanmとかcartonとかでインストールしようとしてもエラーがでる。 openssl-develが必要って事で、CentOSなら下記みたいな感じで。 yum install openssl-de…
DateTime::Format::MySQLでtime_zoneを指定する方法(メモ) Cpan

DateTime::Format::MySQLでtime_zoneを指定する方法(メモ)

MySQLのフォーマット(YYYY-MM-DD hh:mm:ss)からDateTimeオブジェクトを生成したり、その逆をしたりするモジュールですが、そのままだと日本時間ではなくUTCになってしまうので、time_zoneの指定方法を調べたんでメモ。 ま、こんな感じ。 use DateTime::Fo…
CSSを軽量化!CSS::Minifier::XSを使ってみた。 Cpan

CSSを軽量化!CSS::Minifier::XSを使ってみた。

CSS::Minifierってのと、CSS::Minifier::XSってのがあったんですが、XSじゃない方はあんま更新されてないようなのでXSの方で。 ま、XSの方も1年くらい更新されてませんが・・。 #!/usr/bin/perl use strict; use warnings; use Pa…