hide-k.net#blog: C::P::Email::Japaneseã®æååãå¯¾å¦ ã§WAVE DASHåé¡ã«ä½ã¨ã対å¿ãããã¨ãã¦MIME::TT::Lite::Japaneseã«æãå ããã¨ãããã³ãã³ã«ã³ãªãã¨ããã£ã¦ãã¾ããããsubtech - Bulknews::Subtech - cp932 vs. shift_jisã§Encode::Aliasã使ãã°ããããããªããã¨ããã話ããã£ãã®ã§Encode::Unicode::Japaneseã¨ãããã¦è©¦ãã¦ã¿ã¾ããã sub send : Private { use Encode::Alias; use Encode::Unicode::Japanese; define_alias( qr/jis$/i => '"unijp-jis"' ); $c->email( Template => 'email.tt', To
ã¯ããã« è¯ãPluginãæ¸ãã£ã¦ãªãã¨ã¾ãè¦ãã®ããããã§ãããã åºæ¬çã«ã¯$cã«ã¡ã½ããã追å ããã£ã¦ã®ãæ¬æ¥ã®ããæ¹ãªãã§ããã©ã å¥ã«ãããå®ããªããè¡ããªãã£ã¦è¨³ãããªãã§ãã è¯ããµã³ãã« Catalyst-Plugin-Upload-MD5 Catalyst-Plugin-Upload-MIME MD5ã®ä¾ãã½ã¼ã¹è¦ã¦è§£èª¬ããã¨ã package Catalyst::Plugin::Upload::MD5; use strict; use Catalyst::Request::Upload; use Digest::MD5; our $VERSION = '0.01'; { package Catalyst::Request::Upload; sub md5sum { my $self = shift; unless ( $self->{md5sum} ) { $self
åªç§ãªãã«ã¼ã®çãããªããã§ã«ãæ¤è¨ããããããªãã¨ãªãã§ããããã©ãæãã¤ããã®ã§ä¸å¿æ¸ãã¦ããã¾ããã DBIC ã£ã¦ãredhat ç³»ç±æ¥ã®é ããªããããã®å½ãã£ã¦ãç°å¢ã§ã¯ãDBIC_NO_WARN_BAD_PERL=1 ãã¤ããªã㨠STDERR ã«ãããã¡ãã»ã¼ã¸ãåãæ©æ§ã DBIx::Class::StartupCheck ã«ããã¾ãã ããã¿ãããCatalyst ã§ã¯ä½¿ã£ã¦ãããã©ã°ã¤ã³ã®ãã¯ã¤ããªã¹ããæã£ã¦ããã¦ããããã¡ãã»ã¼ã¸ãåãã ããããªã㦠CATALYST_ENABLE_BACKWARD_COMPATIBLE_PLUGIN=1 (è±èªé©å½) ã¿ãããªã®ãã¤ããªãã¨èµ·åããªãä»çµã¿ã¨ãå ¥ããã°ããããããªãã®ããªã¨æãã¾ããã
Catalyst+mod_perlã§ã$c->res->status(304)ããã¨Internal Server Errorã« ç¾è±¡ã説æããã¨ãã£ãããã ããªãã§ãããåå 調æ»ã¨è§£æ±ºã«ãããè¦å´ããã®ã§ãã®è¨é² Apacheã®ã¢ã¯ã»ã¹ãã°ã§ã¬ã¹ãã³ã¹ã³ã¼ãã1ã«ãªã£ã¦ããå¦ãªã¬ã³ã¼ããããããããã®ãè¦ã¤ããã®ãçºç«¯ãã¾ããã¢ããªã®å´ã§ãªã¯ã¨ã¹ãã¨ã¬ã¹ãã³ã¹ããã°ã«åãã¦ã¿ããããã£ã¡ã®ãã°ã§ã¯304ã«ãªã£ã¦ããã®ãApacheå´ã§ã¯1ã«ãªã£ã¦ããã®ãåãã£ãã®ã§ãå®éã«304ãè¿ãã¯ãã®ãªã¯ã¨ã¹ããæãã¦ã¿ãã¨ã"500 Internal Server Error"ã¨ããç¡æ ãªã¡ãã»ã¼ã¸ããserver.plã§ã¯ãã¡ãã¨304ãè¿ã£ã¦ããã®ã§ãæ°ã¥ãã¦ã¾ããã§ããã ããã§mod_perl(ã¨ãããCatalyst::Engine::Apache)ã使ã£ãã¨ãã®åé¡ã§ãããã¨ã¯ã¯ã£
以åãããããªã£ã¦ããã®ãè¨æ¶ãå®ãã§ã¯ããã¾ãããã Catalystã¢ããªã±ã¼ã·ã§ã³ã® http://localhost:3000/test ã«ã¢ã¯ã»ã¹ããããsub testå 㧠$c->req->pathãè¦ã㨠/%5E/[%5E%5C.]*(%5C?|%24)/testã«ãªã£ã¦ãã¾ã£ã¦ãã¾ãããããã«ã¯ããã¯ãªÎ£ã½(ï¾Ðï¾; )ï¾ ãã®æãApacheã®è¨å®ã¯ä»¥ä¸ã®ããã«ããã¹ã«.ï¼ãããï¼ãå«ã¾ãªããã®ããCatalystã¢ããªã±ã¼ã·ã§ã³ã«é£ã°ãããã«ãã¦ãã¾ããã <LocationMatch "^/[^\.]*(\?|$)"> SetHandler modperl PerlResponseHandler MyApp </LocationMatch>ãã®æ£è¦è¡¨ç¾ãããã°ã©ã å´ã«æ¸¡ã£ã¦ãã¾ã£ã¦ããããã§ãã (?:)ã§æ¬ã£ããæ¶ããããªã¨æã£ã¦ãã£ã¦ã¿ã¾ãããä½ãå¤ããããã
æè¿ãRuby on Railsãå§ãã¨ãã¦å種ããã°ã©ãã³ã°è¨èªã«ãããWebã¢ããªã±ã¼ã·ã§ã³ã® ãã¬ã¼ã ã¯ã¼ã¯ã«é¢ãã話é¡ããããã§ãã種ã ã®ãããã¯ããããä¸ã§ãJava ã«ãããStruts ã®æ§ã«å®çªã®å°ä½ãä¸åã®ãã®ã«ãããã®ãããä¸æ¹ã§ãPHPã®ããã«ä¹±ç«ç¶æ ã®æ§ç¸ãåãã¦ãããã®ãããã¾ãããããªä¸ã§Perlã§ã¯æ¨å¹´ï¼2006å¹´9æç¾å¨ï¼ ããããããé«ãæ¡å¼µæ§ãæ¢åã®CPANã¢ã¸ã¥ã¼ã«ã¨ã®è¦ªåæ§ããã¦ãªãã¨ããCatalystãMVCãã¬ã¼ ã ã¯ã¼ã¯ã¨ãã¦æ³¨ç®ããã¦ãã¦ãã¾ãããã æ°ãããã¨ããã£ã¦ããæ¥æ¬èªæ å ± ãå°ãªãã®ãç¾ç¶ã§ãã ãããªCatalystã§ããã ã¾ãã¯è«ãã証æ ãèªåèªèº«ã§è©¦ç¨ãã¦ã¿ããã¨ã«ãã¾ããã ä»æ§ ããããã£ã¦ä¾é¡ã¨ãã¦ã¯ç°¡åãªæ²ç¤ºæ¿ãä½ã£ã¦ã¿ã¾ãããã¹ã¬ããå¼ã®ãã®ã§ã ãªãªã¸ãã«ã¡ãã»ã¼ã¸ã«ã³ã¡ã³ãã追è¨ã§ãããããªãã®ã§ãããã ã
çµå±å¦æ ¡ã®ç»é¡ãä½ãã®ã«Catalystã使ããã¨ã«ãããã§ãããªãã²ããã¶ãã«Catalyst触ã£ããã ãã©ãªã«ãã¨å¼·åã«ãªã£ã¦ããã以ä¸ã¯ç¾å¨CPANææ°ã®5.7001ã®è©±ã Viewã®ã¬ã³ããªã³ã° æã®Catalystã ã¨èªåã§Root.pmã®endã¢ã¯ã·ã§ã³ã«Viewã«ãã©ã¯ã¼ãããããã«æ¸ããªãã¨ãã¡ã ã£ãã sub end : Private { my ( $self, $c ) = @_; $c->forward('MyApp::View::TT') unless $c->response->body; }ã¨ãã風ãããããä»ã®ãã¼ã¸ã§ã³ã ã¨ã sub end : ActionClass('RenderView') {}ã¨ããã ãã§ããããã¨æãããViewã«forwardãã¦ããã¦ãããªãç°¡åã«ãªã£ããUsing RenderView for the Default Vie
Catalyst - ç°¡åãªã¢ããªã±ã¼ã·ã§ã³ã®éçº April 30, 2006 Posted by butcher in : Perl , trackback Perlã®MVCãã¬ã¼ã ã¯ã¼ã¯Catalystã«ã¤ãã¦ç´¹ä»ãã¾ãã Catalystã«ã¤ãã¦ã¯ãã¡ããåç §ãã ããã ä»åã¯ãã¤ã³ã¹ãã¼ã«ãããç°¡åãªDBã¢ããªã±ã¼ã·ã§ã³ã®éçºãmod_perlä¸ã§ã®å®è¡ã®æé ãç´¹ä»ãã¾ãã éçºç°å¢ã¯ãFedoraCore4, perl v5.8.6, Apache 2.0.55, mod_perl 2.0.2, mysq l 4.1.18 ã§ãã ã¾ãã¯ã¤ã³ã¹ãã¼ã«ã ã¤ã³ã¹ãã¼ã«ã¯é常ã«ç°¡åã§ãâTask::Catalystâã¢ã¸ã¥ã¼ã«ãå ¥ããã ãã§ãã(ä¾åé¢ä¿ã®ããä»ã®ã¢ã¸ã¥ã¼ã«ãã¤ã³ã¹ãã¼ã«ããã¾ãã) $ perl -MCPAN -e 'install Task::Cat
Catalyst 5.70 ã® dev ãªãªã¼ã¹ã§ãµãã¼ãããã Action attribute è¯ããã http://search.cpan.org/~mramberg/Catalyst-Action-RenderView-0.01/lib/Catalyst/Action/RenderView.pm ãããªãã¨ãç°¡åã«ä½ãããcoolã sub foo : Action('+Foo::Bar') 㯠sub foo : MyAction('Foo::Bar') ã¨ç価ã Catalyst::Manual::Actions
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}