Hatena::Groupcatalyst

LAPISLAZULI HILL#Catalyst このページをアンテナに追加 RSSフィード

2008-01-18

[][]DBIC_NO_WARN_BAD_PERL=1 DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst のブックマークコメント

ちょっと前に作って,使わずに箱に詰めてあったアプリを組み込みサーバで起動しようとしたらエラーが出た.FedoraとかでPerlがすごく遅いという問題があったけど,それに対する対処か.そんなのがDBICに入っているんだなぁ.環境変数を設定したら動いた

WARNING: DBIx::Class::StartupCheck: This version of Perl is likely to exhibit
extremely slow performance for certain critical operations.
Please consider recompiling Perl.  For more information, see
https://bugzilla.redhat.com/show_bug.cgi?id=196836 and/or
http://lists.scsys.co.uk/pipermail/dbix-class/2007-October/005119.html.
You can suppress this message by setting DBIC_NO_WARN_BAD_PERL=1 in your
environment.

Couldn't create daemon: Address already in use at /usr/lib/perl5/site_perl/5.8.8/Catalyst/Engine/HTTP.pm line 207.

EdinhoEdinho2012/07/21 22:12I really cuodln't ask for more from this article.

rddiljlhgrddiljlhg2012/07/22 18:57EmvqmM <a href="http://yghmtxjpcyei.com/">yghmtxjpcyei</a>

ibyesceuckeibyesceucke2012/07/23 08:42Jtluz6 , [url=http://psrrwnemikyn.com/]psrrwnemikyn[/url], [link=http://erkzdnbccgzn.com/]erkzdnbccgzn[/link], http://rymusuiquues.com/

nvhjxgrnvhjxgr2012/07/24 08:09FsgFY1 <a href="http://wwdnqfunjmlu.com/">wwdnqfunjmlu</a>

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20080118

2007-12-12

[]CatalystXとはなんですか?MyAppとはなんですか? CatalystXとはなんですか?MyAppとはなんですか? - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - CatalystXとはなんですか?MyAppとはなんですか? - LAPISLAZULI HILL#Catalyst CatalystXとはなんですか?MyAppとはなんですか? - LAPISLAZULI HILL#Catalyst のブックマークコメント

http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/ExtendingCatalyst.pod#BEST_PRACTICES

Use the CatalystX::* namespace if you can!

If your extension isn't a Model, View, Controller, Plugin, or Engine, it's best to leave it out of the Catalyst:: namespace. Use <CatalystX::> instead.

Namespaces

While some core extensions (engines, plugins, etc.) have to be placed in the Catalyst::* namespace, the Catalyst core would like to ask developers to use the CatalystX::* namespace if possible.

When you try to put a base class for a Model, View or Controller directly under your MyApp directory as, for example, MyApp::Controller::Foo, you will have the problem that Catalyst will try to load that base class as a component of your application. The solution is simple: Use another namespace. Common ones are MyApp::Base::Controller::* or MyApp::ControllerBase::* as examples.

CatalystXはコア拡張以外の名前空間という認識でいいのかな?このあたりがなるべくCatalyst::Model::Adapterを使おうというのとも関連しているのかも.わかってる人,教えてください…とくに関係ないみたい,まぁ,そうだよね(thanks!> id:ikasam_a

んで,MyAppはサンプル用の名前空間っぽい.これは何となくわかってた

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20071212

2007-12-02

[][]Day 2 - Get more REST - Using YUI and JavaScript for REST Day 2 - Get more REST - Using YUI and JavaScript for REST - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - Day 2 - Get more REST - Using YUI and JavaScript for REST - LAPISLAZULI HILL#Catalyst Day 2 - Get more REST - Using YUI and JavaScript for REST - LAPISLAZULI HILL#Catalyst のブックマークコメント

http://catalyst.perl.org/calendar/2007/2

Yahoo Developer Networkを使って,JavascriptRESTサービスにアクセス.YUICatalystから使う場合のインストール・設定.サーバ側のサンプル・クライアント側のサンプル

解説のサンプルはCatalyst::Controller::RESTを使ってます

MorrieMorrie2011/12/28 07:58Me dull. You smart. That's just what I neeedd.

udeckuvudeckuv2011/12/28 20:24JXIbJO <a href="http://ffpbjfxvbycg.com/">ffpbjfxvbycg</a>

jzwbvhwajzwbvhwa2011/12/29 00:39i0ZM9k , [url=http://ofyixhscwnrr.com/]ofyixhscwnrr[/url], [link=http://nihnfievcbcb.com/]nihnfievcbcb[/link], http://iyinntsaaamm.com/

tyydrkfqrtyydrkfqr2011/12/30 23:19gVWM7j <a href="http://oclggnnsutfl.com/">oclggnnsutfl</a>

krlsjxdzyfkrlsjxdzyf2011/12/31 03:40KTwgFX , [url=http://uniailwwftpr.com/]uniailwwftpr[/url], [link=http://lzbnvcjjojnf.com/]lzbnvcjjojnf[/link], http://bdgvbxexotsj.com/

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20071202

2007-12-01

[][]Day 1 - Getting started with ExtJS screen library Day 1 - Getting started with ExtJS screen library - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - Day 1 - Getting started with ExtJS screen library - LAPISLAZULI HILL#Catalyst Day 1 - Getting started with ExtJS screen library - LAPISLAZULI HILL#Catalyst のブックマークコメント

http://catalyst.perl.org/calendar/2007/1

ExtJSはリッチなAjaxUIを作るためのjavascriptフレームワーク.jQuery,YUIprototype.jsをバックエンドとして利用できる.ライブラリ非依存で動作も可能

ライブラリの説明はあるけど,特にCatalystとは関係ない.

http://catalyst.perl.org/calendar/2007/17 に"Catalyst with Ext+Ajax: Editable Data Grids"として,例が書かれるようです

[][]Catalyst Advent Calendar 2007 目次 Catalyst Advent Calendar 2007 目次 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - Catalyst Advent Calendar 2007 目次 - LAPISLAZULI HILL#Catalyst Catalyst Advent Calendar 2007 目次 - LAPISLAZULI HILL#Catalyst のブックマークコメント

http://catalyst.perl.org/calendar/2007/

今年もAdvent Calendarの季節ですね

例によって適当な日本語概要を順次追加

VirinaVirina2012/07/23 11:37That's a nicely made answer to a chalelnigng question

qsvcxaxaqsvcxaxa2012/07/23 21:40KISjKL <a href="http://fpogbdwhhlzb.com/">fpogbdwhhlzb</a>

secqxowlkvsecqxowlkv2012/07/24 11:20ZMGy9m , [url=http://fiesdfoqsenb.com/]fiesdfoqsenb[/url], [link=http://xrcihfzsprjk.com/]xrcihfzsprjk[/link], http://svafohdrdwsl.com/

qqigopugoqqigopugo2012/07/25 22:15vYhadA <a href="http://klqjwmutugwq.com/">klqjwmutugwq</a>

pyotfnikqsypyotfnikqsy2012/07/26 22:37l2zWMr , [url=http://pprepnjgfhcf.com/]pprepnjgfhcf[/url], [link=http://roxmwcehaehe.com/]roxmwcehaehe[/link], http://fffzooryyxve.com/

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20071201

2007-10-16

[][]Catalyst::Model::Adapter調査中のメモ2 Catalyst::Model::Adapter調査中のメモ2 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - Catalyst::Model::Adapter調査中のメモ2 - LAPISLAZULI HILL#Catalyst Catalyst::Model::Adapter調査中のメモ2 - LAPISLAZULI HILL#Catalyst のブックマークコメント

404 Error - Not Foundですでにやり方は出てるので,それを参考にするだけでいいんだけど.まぁ,やってみる


演習

DateTimeカスタムPluginの機能をベースに作成する

1. ひとまずこういうモジュールを作成
package MyApp::BackEnd::DateTime;

use strict;
use warnings;

use DateTime;

our $VERSION = '0.01';

sub now {
    my ($class, $params) = @_;

    unless (exists $params->{time_zone}) {
        $params->{time_zone} = 'Asia/Tokyo';
    }

    return DateTime->now(%$params);
}

1;
2.helperを実行

./script/myapp_create.pl model DateTime Adaptor MyApp::BackEnd::DateTime now

こういうModelが生成されていた

package MyApp::Model::DateTime;
use strict;
use warnings;
use base 'Catalyst::Model::Adaptor';

__PACKAGE__->config( 
    class       => 'MyApp::BackEnd::DateTime',
    constructor => 'now',
);

1;
3.呼び出す
    my $dt = $c->model('DateTime');
    $c->response->body( $dt );
4.試してみる

何度リロードしてもアプリケーション起動した時の時刻が出ます.すでに知っているので焦らない

5.サイドHelper,今度はFactory

直接修正しないで,Helperを使ってみる.Factorymodel呼び出しごとにインスタンス作成だそうな

./script/myapp_create.pl model DateTimeFactory Factory MyApp::BackEnd::DateTime now

呼び出しはこう変える

    my $dt = $c->model('DateTimeFactory');
    $c->response->body( $dt );

モデルはこうなる

package MyApp::Model::DateTimeFactory;
use strict;
use warnings;
use base 'Catalyst::Model::Factory';

__PACKAGE__->config( 
    class       => 'MyApp::BackEnd::DateTime',
    constructor => 'now',
);

1;

これでok

6.ついでにFactory::PerRequestでHelper

リクエストごとにインスタンスを生成するそうな.nowならこれがいいかも,と思ったけど変数に入れて使い回すだけだからいっしょか

./script/myapp_create.pl model DateTimeFactoryPerRequest Factory::PerRequest MyApp::BackEnd::DateTime now
7.引数ハッシュリファレンスなので困るというのは

そこも404 Error - Not Foundで述べられているので省略

あとは

まだまだ勉強

  • Pluginを作るのか,Adaptorで作るのか→使い分けが分からない,もうPluginはいらないの?
  • AdaptorとFuctory→なんとなく分かった気がするが,実装も見る.デザインパターンとかとも比べてみる
  • C::M::Adaptorの利点をちゃんと理解する・調べる→ロジックの分離などプログラミング面はもちろん,メモリ使用量とかベンチマークとか起動時間とかの差異も欲しい
  • 具体的にロジックを追い出す方法も模索しよう→no titleの考慮した点を理解できるようにやってみる

しかし,これはほんとすっきりして良い感じ.使い回ししやすいし

JaseminJasemin2011/08/03 03:37Way to go on this essay, heepld a ton.

twyufwjkztwyufwjkz2011/08/03 16:33xxIXvX <a href="http://mvitoinpwtqn.com/">mvitoinpwtqn</a>

cqqcaerypjcqqcaerypj2011/08/04 23:32Z5xC2X , [url=http://sznbggakxhsc.com/]sznbggakxhsc[/url], [link=http://cxrtdwmfodgk.com/]cxrtdwmfodgk[/link], http://lunlsrjkzsvw.com/

zbmnnzmmzbmnnzmm2011/08/05 18:37RUfMyw <a href="http://aazawqtfwvou.com/">aazawqtfwvou</a>

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20071016