Perl

Mojolicious(Perl-WAF)再入門したっ! Mojolicious

Mojolicious(Perl-WAF)再入門したっ!

ドキュメントとかチュートリアルを見ながらちょっと触ってみます。 インストール+アプリ作成 とりあえずcpanmでインストール cpanm Mojolicious mojoコマンドが使えるようになったので mojo generate app MyApp これで雛型が作られたので、とりあえず起動してみま…
Perl5.24からAUTOLOAD(DESTROY)の仕様が変わったらしい Perl

Perl5.24からAUTOLOAD(DESTROY)の仕様が変わったらしい

そもそもAUTOLOADは、メソッドが無かった時に代わりに呼ばれるやつで、パフォーマンスがどうのってあまり使われる事ないかもしれないですが、便利といえば便利なのでたまーに使うんですが、Perlのバージョンを上げたら Can't call method "DESTROY" on a…
PerlのTest(prove)結果をSlackに通知する Cpan

PerlのTest(prove)結果をSlackに通知する

proveの結果をslackに通知したかったので、安易ですが以下のような感じにしてみました。 まず、以前書いたように(App::Prove::Plugin::HarrietでTest::mysqldを起動する)Harrietを使って、t/harriet/の下にutil.plを追加してみました。 my…
SlackのWebHookが色々捗る Cpan

SlackのWebHookが色々捗る

Slackへの一方的な通知だと、Webhook URLに向かってPOSTするだけなので、実装自体はめちゃくちゃ簡単。 ただ、そのWebhook URLをどうやって取得するのか?っていうのがむしろこのエントリーのキモですかねw ブラウザからSlackにログインして、以下から取得。 https://my…
FurlでオレオレSSLを突破する。 Cpan

FurlでオレオレSSLを突破する。

もはやLet's Encryptとか使えばいいんで、オレオレ証明書を作成する必要があるのかわかりませんが、とあるテスト環境がどうやらオレオレ証明書を使っているらしく、FurlでAPIを叩こうと思ったら、 Cannot create SSL connection: SSL connect attemp…
homebrewでPerl環境の構築 MacOS

homebrewでPerl環境の構築

perlのインストール の前にまずは、perlのバージョン管理ツールのplenvを入れる。 plenvのインストール brew install plenv perl-build echo 'export PATH=~/.plenv/bin:~/.plenv/shims/:$PATH' >>…
App::Prove::Plugin::HarrietでTest::mysqldを起動する Cpan

App::Prove::Plugin::HarrietでTest::mysqldを起動する

perlのtestと言えば、proveなんですけど、-Pのオプションでプラグインを追加できて、その中でも、 App::Prove::Plugin::Harrietが結構便利です。 素の状態で実行するならこんな感じ。 carton exec -- prove -PHarriet=t/harriet/ …
Test::Moreで、特定のsubtestだけを実行する Cpan

Test::Moreで、特定のsubtestだけを実行する

Test::Flattenってのを使うとできるぽい。 特定のひとつだけなので、直接Perlをぶっ叩く感じだと、以下のような感じ。 SUBTEST_FILTER=hogehoge perl -MTest::Flatten t/MyApp/main.t 環境変数(SUBTEST_FILTER)に入れたs…
Amon2(Plack)で複数の画像を同時に受け取る Amon2

Amon2(Plack)で複数の画像を同時に受け取る

html5で複数ファイルを選択(input type=”file”で複数ファイル選択と形式を指定(html5))して、サーバーに送信されたファイルをサーバー側で受け取ってみます。 サーバーサイドはPerl(Amon2+Plack)です。 Plack::Request::Upload 普通にファイルを…
plackアプリをsupervisorで永続化 Amon2

plackアプリをsupervisorで永続化

supervisorのインストールやら設定等々は、前回のエントリー(supervisorをCentOS6.5にインストールしたメモ)に書いたとおりです。 今回は、アプリ毎の設定を。 directory=/home/web/MyApp command=bash -lc 'carton exec -- …
Perlでメソッドが存在しない時に呼ばれるメソッド(AUTOLOAD) Perl

Perlでメソッドが存在しない時に呼ばれるメソッド(AUTOLOAD)

Amon2でModelを経由してDB(MySQL)にアクセスしてる(Amon2でModel作ってControllerから呼ぶ)んですが、C -> Model -> DBとつなぐ時に、Modelで処理が入る場合はいいんですが、Modelがただの経由地になってしまっている箇所がいくつかある(というか大半…