Cpan

StarletからGazelleに乗り換えてみた。 Cpan

StarletからGazelleに乗り換えてみた。

Starletより速いらしいので、とりあえずインストールして使ってみた。 Gazelle インストール cpanm Gazelle 実際のところは、cpanfileに書いてcarton installしましたが。 Starlet -> Gazelle plackup -s Starlet を pla…
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…
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…
JavaScript::Minifierでjsをmin化しとく。 Cpan

JavaScript::Minifierでjsをmin化しとく。

jsにコメント書きまくった結果、ソースが無駄にでかくなってしまったので、少しでもファイルを軽くする為に。。 複数ファイルを繋げて1つのファイルにしつつ、コメントとか空白行を取り払う。 #!/usr/bin/perl use strict; use warnings; use Path::Class;…
FormValidator::Liteをwrapして使ってみる。 Cpan

FormValidator::Liteをwrapして使ってみる。

そのままでも充分使えそうですが、痒いところに手が届くようにしてみました。 ユーザーのプロフィールを入力するフォームをバリデートする感じで下記を書いてみました。 まずはerror_messageのymlを用意。 message: name.not_null: '' param: name: 名前 ag…