とある事情でMAMPのバージョンを上げざるを得なく、その影響でDBD::mysqlがインストール出来なくなった。 mampな環境のmacにdbdmysqlをインストールの手順だとエラーが出る。(正確に言うと、/tmpが残っている間は成功する) 上記手順でbuildしたものを削除してからcarton installした時のログ 実行環境 macOS Catalina 10.15.3 MAMP 3.5.2 MySQL 5.5.42 Searching DBD::mysql on mirror index /Users/clicktx/***/***/***/local/cache/modules/ […]
Mojolicious::Validator::Validation - Perform validations - metacpan.org Mojolicious純正のフォームバリデーションを使う上で気を付ける点を書き留めておく。Mojolicious::Plugin::TagHelpersとも相性良いし(当たり前)、活用すべき。 my $validation = $c->validation; $validation->required('name')->like(qr/hoge/); $validation->optional('name2', 'trim')- […]
今更ながらDBIx::Class(DBIC)に入門。使い始めてDBICの作法に翻弄されてる。 timestamp的なカラム、例えばupdated_atカラムを自動更新させるのにハマったのでメモ。 03日目: データモデル から抜粋 package Jobeet::Schema::ResultBase; use strict; use warnings; use parent 'DBIx::Class::Core'; __PACKAGE__->load_components(qw/InflateColumn::DateTime/); sub insert { my $self = shif […]
PerlのWebApplicationFrameworkであるMojoliciousでは様々なフックが用意されているのだけれど、actionの前後だけに実行したい場合は独自にフックポイントを追加しないといけない。 実装方法その1 一番単純な実装方法はaround_actionフックを使うのが良さそう。actionは$lastフラグが真の時に実行されるので前後に独自のフックをエミットする。 sub startup { my $self = shift; ... $self->hook( around_action => sub { my ( $next, $c, $action, $ […]
Mojolicious::Plugin::LocaleTextDomainOO - I18N(GNU getext) for Mojolicious. - metacpan.org きっかけ Mojolicousで国際化するプラグインにはMojolicous::Plugin::I18Nというものがある。これは良く出来ていて、URLやドメイン名での振り分けが出来たりする。 国際化の部分はLocale::Maketextを使う。Locale::Maketext::Lexiconも使えばpoファイルなどもつかえる。 普通に使う分なら問題ないのだけど、GNU gettextのmsgctxtやtext […]
1. Mojoliciousプラグインの雛形作成 $ mojo generate plugin MyPlugin カレントディレクトリに Mojolicious-Plugin-MyPlugin というディレクトリ名で雛形作成される。 2. ドキュメントにAuthor情報を追記する。 $ cd ./Mojolicious-Plugin-MyPlugin $ vi lib/MyPlugin.pm minillaではPODに書かれているAuthorが使われる。作成された雛形(MyPlugin.pm)のPODにはAuthorの項目がないので追記する。 vi lib/Mojolicious/Plugin […]
YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa 2016/7/2 - 2016/7/3 選考方法が抽選でドキドキでしたが、無事(?)2日とも参加することが出来ました。 前夜 2日とも当選したので朝から参加しようと前泊。出発が思いのほか遅くなってしまい、品川周辺についたのが22:30まわっていたのでホテルの近場で軽く一杯飲んで帰るつもりが...常連さんと意気投合して3:00頃まで飲んでしまった...。青横ハイボールの常連さんありがとうございました。 初日 そんなこんなで初日から若干の遅刻。 聞いたトーク MySQLと正規形のはなし お前ら!! […]
OSX El Capitan(10.11.5) MAMPのバージョン 3.0.7.3 ※1 MySQLのバージョン 5.5.38 MAMPだとWarning (mostly harmless): No library found for -lmysqlclientのエラーでインストール出来ない。 mysql.hが存在しないため、別途インストールする必要があるようだ。 検索しているとC++ で MAMP の MySQL に接続する : あかぎメモに まずこの記事の手順で、MySQL のヘッダファイルやライブラリを用意しておく。うまくいけば次のようなファイルができる。 /Applications/ […]
amon2-setup.pl --flavor=Large MyApp で作成したLarge flavorのAmon2アプリのリリース管理にMinillaを使ってみようとしらうまくいかなかったので試行錯誤してみた。 まずはMinillaに最適化 minil migrate Minillaで管理するのに必要なファイルの作成や.gitignoreに追加等してくれる。 必要なディレクトリに空ファイルを作成 Large flavorのアプリで言うと db ディレクトリが必要だが、amon2-setup.plで作成した状態だと、.gitignoreは下記の状態になっている。 db/.gitignore […]
Minillaでモジュールを作る練習として Amon2のロギングにLog::Handlerを使う で書いたコードをモジュール化してみる。 Amon2-Plugin-LogDispatch を参考に(ほぼforkしたもの)をgithubに上げるところまで出来た。 ソースコードは以下。 clicktx/p5-Amon2-Plugin-LogHandler test全く書いていない。 Amon2アプリで使う プラグイン読み込んで設定を書く。CPANに公開されていないモジュールだとcartonで管理するのよく分からないから、forkしてモジュール名を変更して使う。 該当コミットは以下。 Merge b […]