Home > 仕事のこと > Re:Re:Re:Catalystアプリオレオレポリシー

Re:Re:Re:Catalystアプリオレオレポリシー

Re:Re:Catalystアプリオレオレポリシー - よく帰れない人のブログ

久しぶりのえんとりー

めがねのひとに触発されてオレオレポリシー。
Re:Catalystアプリオレオレポリシー

仕事も個人もCatalystなんで、特にポリシーは分けてない。
会社のみんなも俺のポリシーでやればいいのに。

よく帰れない人が触発されてRe:Re:Catalystアプリオレオレポリシーを書いてくれた。(久しぶりすぎてこのブログを忘れてた)
なので、ちょっとだけRe:Re:Re:Catalystアプリオレオレポリシー。

・MyApp::Pluginとかは作らない。
 だってそのアプリでしか使わないならMyApp.pmに書けば良いじゃない。
 もしMyApp.pmが長くなってきたらそのとき考える。
 他のアプリでも使いそうだったら全部C::P::Hogeにする。
 CPANにあげなくてもC::P::Hogeにする。
 そういうのはrun_script.plの中でPERL5LIBに足してパス通す。

確かにその通り。
と思って Plugin に書いていた処理を MyApp.pm に実装し直そうと思ったけどダメだ。
だって、その Plugin の setup で NEXT してるんだもん。
MyApp.pm に同じように setup を実装して NEXT しても動かない。
だいたいこんな感じの実装。

package SayCheese::Plugin::NoImage;

use strict;
use warnings;
use base 'Class::Data::Inheritable';
use IO::File;

__PACKAGE__->mk_classdata('_medium');

sub setup {
    my $c = shift;

    my $config = $c->config;
    my $mfh = IO::File->new( $config->{no_image}->{medium}, IO::File::O_RDONLY );

    my $mdata;
    while ( $mfh->sysread( my $mbuf, 8192 ) ) {
        $mdata .= $mbuf;
    }

    __PACKAGE__->_medium( $mdata );

    $c->NEXT::setup( @_ );
}

sub no_image { shift->_medium }

1;

MyApp.pm に setup() の内容を含めて no_image() として実装すれば動くのかな。
それだと、IO::File->new() が毎リクエスト動いちゃうので嫌だなぁと。
アプリ起動時に1回だけ処理されればいい内容なので明らかに setup() 内に実装する内容。
と言うことで、MyApp::Plugin はなくせませんでした。

・設定系は全部myapp.yml

本番、開発環境用の yaml はないってこと?

・myapp.ymlはリポジトリに入れず、myapp.yml.orgを入れる
 myapp.ymlは動いてる環境に合わせて。myapp.yml.orgはデフォルト
 更新があったらスクリプト使ってマージ。

今度詳しく。

・テンプレートはDreamWeaverで編集
 タグとか打ってらんねーよ!

DreamWeaver 買ってよ!

・ログは全部C::P::Log::Dispatch

C::P::Log::Dispatch ってどう?いい?
僕の場合ロガーは貧弱で C::P::Dumper くらいしか使ってない。

dbic_console.pl # MyApp::Schemas::MyAppを使ってDBICでほにゃる用のコンソール

これ気になる。
今度詳しく。

menu.yml # 外に出してないC::P::MenuMaker用の設定ファイル

BtoC だと Authetication はあっても Authorization はないって場合がほとんどだから MenuMaker らしきものを見たことがない。
C::P::MenuMaker いいなぁ。CPAN まだぁ?

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://hibinokoto.jp/mt/mt-tb.cgi/257
Listed below are links to weblogs that reference
Re:Re:Re:Catalystアプリオレオレポリシー from 日々のこと

Home > 仕事のこと > Re:Re:Re:Catalystアプリオレオレポリシー

Search
Feeds

Return to page top