å»å¹´ã®å¹´æ«ãFlashã®XMLSocketéä¿¡ã横åããã¦ãã³ãããã¢ããªãæ¸ããã¨ããã®ã§ããããã®æã«è¦ã¤ããã®ãLee Aylwardããã®Plack::App::Proxyã§ããHTMLãç½®æãã¦Flashã®æ¥ç¶å ã横åããã¤ã¤ãèªåã®XMLSocketãµã¼ããç«ã¡ä¸ããã£ã¦ã®ã1ããã»ã¹ã§ã§ããã£ã¦ã®ã¯ãéåæãªWEBãµã¼ããªãã§ã¯ã®æã§ããï¼ ãã ãPlack::App::Proxyã触ãå§ãã¦ã¿ãã¨ããã®ã¾ã¾ã§ã¯ãªããªãé£ããé¨åãè²ã ãã£ããããã®ã§ãã³ã¡ã³ããã«ãã¦ããã£ã¦ã¡ããã¡ããããã£ãããã¦ãã¾ãã(ã¡ãªã¿ã«ãmiyagawaãããã³ã©ãã¬ã¼ã¿ã§ãç§ããããªããªããã£ã¦ã¾ãï½) ä¸è¨ã§è¨ãã°ã Plack::App::Proxy ãã«ãã¼ãã¦ããã®ã¯ Apache ã® mod_proxy ã®æ©è½ã§ãã 使ãæ¹ã¯podè¦ã¦ãããã¨å ¨é¨è¼ã£ã¦ã¾ãããä¾ãã° /back
ã¯ããã« [plack][perl] Plackã«ããããã¡ã¤ã«ã¢ãããã¼ãå¦çã®æºåã¡ã¢ « 岩家ã¶ãã ãã®ã¨ã³ããªãå ¬éå¾ï¼Plackã®ä¸ã®äººã§ãããmiyagawaããããï¼åã¨ã³ããªã®å 容ãç¾å¨ã®ãã¼ã¸ã§ã³ã®ãã®ã«ããã¦æ£ãããªãï¼ã¨ããæ¨ã®ãææãããã ãã¾ããï¼ãããã¨ããããã¾ãï¼ï¼å®éã«ã¯ï¼0.90*ç³»ã¨0.99_*ç³»ã¨ã®éãï¼ã¨ãããã¨ã§ç¡åé¡ï¼ï¼ ã¨ãããã¨ã§ï¼ç¾æç¹ã§ææ°ï¼ã§ãããï¼ï¼ã®ã0.99_5ï¼DEVELOPER RELEASEï¼ããå ¥ãï¼åãã¼ã¸ã§ã³ã«ãããPlack::Requestï¼Plack::Request::Uploadã®ããã¥ã¡ã³ãã確èªãï¼ä¿®æ£ãããã®ã以ä¸ã«æ²è¼ãã¾ãï¼ ã¢ãããã¼ããã©ã¼ã åã¨ã³ããªã¨åæ§ã®ãã®ã§ãï¼ <form action="" method="post" enctype="multipart/form-data">
CloudForecastãå æ¥ã®NoPasteã§ã¯Plack::Builderã使ã£ã¦ãããã©ã«ãã®æ©è½ã¨ãã¦Plack::Middleware::ReverseProxyãæå¹ã«ãã¦ããã my @frontproxy = map { s/\s//g } split(/,/, $ENV{FRONT_PROXY} || ""); foreach my $ip ( @frontproxy ) { my $netip = Net::IP->new($ip) or die; push @frontproxies, $netip; } buider { enable_if { my $addr = $_[0]->{REMOTE_ADDR}; my $netip; if ( defined $addr && ($netip = Net::IP->new($addr)) ) { for my $pr
Plack::Server::Standalone ç³»ã使ã£ã¦ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³éçºã¨éç¨ã楽ã«ãªã話 - JPerl Advent Calendar 2009 Perl ã«é¢ããã¡ãã£ã¨ãã Tips ãã®ã£ãã¦ã¿ãããã¡ããã¨ç¶ãããªï¼ æ¢åã®ç°å¢ã«å¯¾ããä¸æº Perl ã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ããã«ããã£ã¦ã¯ããªãã¼ã¹ãããã·ã¨ mod_perl ãçµã¿åãããããããã㯠FastCGI (ExternalServer) ãå©ç¨ããã®ãä¸è¬çã ã¨æãã¾ããããããã©ã¡ããã¨ã£ã¦ããç°å¢ãæ§ç¯ãã¦è¨å®ããã®ãé£ããã¨ããã®ãå人çãªä¸æºã§ãã (mod_redirect ãè¨å®ããã mod_fastcgi ã«ãããããã¦ã¦ã¤ã³ã¹ãã¼ã«ããã startup.pl ãæ¸ããã...)ãèªåã Plack ã®éçº (主㫠Server::Standalone 㨠Server
NAME Plack::Handler::FCGI - FastCGI handler for Plack SYNOPSIS # Run as a standalone daemon plackup -s FCGI --listen /tmp/fcgi.sock --daemonize --nproc 10 # Run from your web server like mod_fastcgi #!/usr/bin/env plackup -s FCGI my $app = sub { ... }; # Roll your own my $server = Plack::Handler::FCGI->new( nproc => $num_proc, listen => [ $port_or_socket ], detach => 1, ); $server->run($app); DESC
å ¬å¼ã®ã±ã¼ã¿ã¤ç¨ã®ãµã¤ããéããè½ã¡ã¦ãäºãå¤ãã®ã§ãã£ãã¨æ¸ããã è²ã 足ãããã©èªåç¨ã«ä½¿ãã«ã¯ããã§ååã GitHub - hirafoo/filmoa: simple twitter web-app for mobile phone ãªãPlackã¨Text::Xslate使ã£ãã¨ãæ¸ãã¨åãèããããã©å®éã¯è§¦ãç¨åº¦ã«ãã使ã£ã¦ãªãã è¿½è¨ Config::Pitã§consumer keyã¨ãtwitterã§oauthããã¨ãã«å¿ è¦ãªæ å ±ã管çãã¦ã¾ãã å½ç¶ãããªãã®ãªãã¸ããªã«å梱ããªãããµã³ãã«æ¸ãã®ããã©ãã®ã§ãããã使ãããçãã人ã¯ã³ã¼ãèªãã§èªåã§ç¨æããããããç°¡åã ããã æ§æ psgiãã¡ã¤ã«ã1åã¨ãä»ã¯ãã³ãã¬ã®ãã¡ã¤ã«ã®ã¿ã ä½ã軽ãã¦ããã£ã¨ä½¿ããWAFç¡ãããªã¼ã¨æ¢ãããã©ããã®ãsinatraããç¡ãã£ãã ããããäºã¯æ¥µãããã ã£ãã®ã§ãããã
Plack + Router::Simpleã§ç°¡åãªã¸ã§ããã¥ã¼æ¸ãã¦ã¿ã ã¾ã ã¡ããã¨ä½¿ã£ã¦ãªãããåé¡ç¹ã¨ãããããªããã©ãã¨ããããStarmanã使ãã¨ãã§çµæ§ã¹ã±ã¼ã«ã§ããæ°ãããããã®ããããèªç±ã«å¤ããããã®ãPlack++ã ãã 使ç¨æ³å®ã¨ãã¦ã¯ããããplackupãã¦ããã¦ãã¯ã©ã¤ã¢ã³ã AnyEvent::HTTP㧠http_postãã¦éåæã§å¿çå¾ ã¡ããæãã package Lyra::Server::Worker; use Moose; use Router::Simple; use JSON::XS; use namespace::autoclean; use constant NO_SUCH_WORKER => [ 404, [ "Content-Type" => "application/json" ], [ q|{ "status" => 0, "
æ¬é£è¼ã§ã¯ã第ä¸ç·ã®Perlããã«ã¼ãåæ¿ããã§å·çãã¦ããã¾ããè¨å¿µãã¹ã第1åã¯ãWEB+DB PRESSæ¬èªã§ã¯Vol.2ããå·çãã¦ãããé·ããé£è¼ãæ å½ãã¦ããå®®å·é彦ããã§ãã ã¯ããã« Perlã§Webéçºãããããã®ãã¬ã¼ã ã¯ã¼ã¯ã¯ç¾è±ç¹ä¹±ã人æ°ãéãã¦ãã¾ããæ¬ç¨¿ã§ã¯ããããã®ãã¬ã¼ã ã¯ã¼ã¯ãå ±éãã¦å©ç¨ããããã®ã¤ã³ã¿ãã§ã¼ã¹ä»æ§ã§ããPSGIã¨ããã®ã¨ã³ã¸ã³ã¨ãã¦ã®å®è£ ã§ããPlackãç´¹ä»ãã¾ãã PSGIã«è³ãé Perlã¨Webã¢ããªã±ã¼ã·ã§ã³éçºã®è¦ªåæ§ Perlã¯ãã¤ã³ã¿ã¼ãããã®ã°ã«ã¼ï¼ç³ï¼ã®ãï¼è¨èªãã¨ãè¨ãããCGIã«ããéçºãã¡ã¤ã³ã ã£ã1990年代ãããWebã¢ããªã±ã¼ã·ã§ã³éçºã«æãé¢ããã®ããããã°ã©ãã³ã°è¨èªã®ä¸ã¤ã¨è¨ã£ã¦ããã§ãããã2000年代ã«å ¥ã£ã¦ããRuby on RailsãPHPãªã©ã®ä»è¨èªããã®å½±é¿ãåãå ¥ããªãããWebéçº
ããç¥ããªãã¾ã¾ãã¯ããã¦plackupã使ã£ã¦ã¿ã¦ããã®ã ãã©ãã¡ãã£ã¨å°ã£ã¦ããã®ã§ä½æ°ãªãåãã¦ã¿ãã⦠sugyan plackup -R ãè¥å¹²è² è·ãé«ãã¦èã®ä¸ã«MacBookè¼ãã¦ä½æ¥ããã«ã¯ç±ããªããããâ¦ï¼ 2010/04/03(å) 15:38:34 miyagawa @sugyan try plackup -L Shotgun instead 2010/04/03(å) 15:41:13 miyagawa @sugyan or install Mac::FSEvents 2010/04/03(å) 15:44:43 sugyan @miyagawa ãããã¨ããããã¾ãï¼ ãã£ããããã¦ã¿ã¾ã 2010/04/03(å) 15:48:00 sugyan ãã£ããFilesys::Notify::Simpleã£ã¦ã®ãä¸ã§Mac::FSEvents(ãããã¯Linux::
ãã²ãã¯ããã¦ã髪ãã¢ãã«ã³æ°å³ã«åã£ã¦ããã¹ããçã¦ããããdankogaiããã§ããï¼ãã¨å¼ã°ãã¾ãã£ã¦å¤±ç¤¼ã§ããã·ã§ãã¯ãåãã¦ãã¾ããã¨ãããããã²ãåã£ã¦ã¿ãyusukebeã§ããæ°åãå ¥ãã¦æ¸ãã¾ãã ã¯ããã« ãã¦ãä»åã¯Plack::RequestãTemplate-ToolkitãXML::Feedã¨ãã£ãã¢ã¸ã¥ã¼ã«ã使ã£ã¦ãå°ããªãã ãã©ããªããªã使ããWebã¢ããªãä½ãéç¨ãç´¹ä»ãã¾ãããããéãã¦ãä»è©±é¡ã§ããPlackã«ã¤ãã¦ãWebã¢ããªã®ä»çµã¿ã«ã¤ãã¦å¤å°ã§ãããã£ã¦ããã ããã°ãã幸ãã§ãããã¾ãã å®ã¯ãã®ãã¿æ¨æ¥ã®å¤èãã¦ä½ã£ããã®ã§ããã¾ããã¨ããã®ããYouTubeã®åç»ãåãæµãã§å¥½ããªããã«ãã¿ã¦ã¼ãªãã¨ãµã¨æã£ãããã§ããä¾ãã°YouTubeå ã§ãPerfumeãã¨æ¤ç´¢ãããã¨åå¥ã®åç»ä»¥å¤ã«ãåçãªã¹ããã¾ãã¯è±èªã§ã¯ãPlaylistãã¨ã
The content of this blog has been updated, and now is available as an e-book called Plack Handbook. The e-book includes Japanese translation as well, and the source code of this book is available for free. 24 days have passed so fast and this is the last entry for this Plack advent calendar. Best Practices Plack and PSGI are still really young projects but we've already discovered a couple of sugg
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}