5. åºåã®ç®ç? ⢠åºåãæç«ããæ¡ä»¶ ⢠âåºãâå ´æããã ⢠âè¦ãâ人ããã ⢠âåºç¨¿âããã誰ãããã ⢠åºåæ : ãªã¼ãã£ã¨ã³ã¹ : åºå主
2006å¹´10æ12æ¥ Transformerãã©ã°ã¤ã³ã®éçº ã·ãã¯ã¹ã»ã¢ãã¼ãã®æ³ä¸ï¼ããããï¼ã§ãã第7åç®ã®ä»åã¯ãMovable Typeã®ç®¡çç»é¢ã®æ©è½ãæ¡å¼µããTransformerãã©ã°ã¤ã³ã®éçºã«ã¤ãã¦ã話ãããã¨æãã¾ããMovable Typeã®ç®¡çç»é¢ã®æ©è½ãæ¡å¼µããæ¹æ³ã«ã¯ã次ã®2ã¤ã®æ¹æ³ãããã¾ãã ãã³ãã¬ã¼ãã»ã¨ã³ã¸ã³ã®å¦çã¨é£æºãã¦ç®¡çç»é¢ã®è¡¨ç¤ºãå¤æ´ããTransformerãã©ã°ã¤ã³ ã¨ã³ããªã¼ã®ä¸è¦§çã表示ããéã«ä¸ç·ã«è¡¨ç¤ºããããã©ã°ã¤ã³ã¢ã¯ã·ã§ã³ã»ã¡ãã¥ã¼ æããã©ã³ã¹ãã©ã¼ãã¼ã¨ããå¤å½¢ããããã®ã¢ãã¡ã¼ã·ã§ã³ãããã¾ããããTransfomerãã©ã°ã¤ã³ã¯ãMT::Appã®ã³ã¼ã«ããã¯ã¨ãã¦ããã³ãã¬ã¼ãã»ã¨ã³ã¸ã³ã¨é£æºãã管çç»é¢ã®è¡¨ç¤ºå 容ãå¤æ´ãã¾ãã Continue reading "Transformerãã©ã°ã¤ã³ã®éçº"... æ
CodeZineç·¨éé¨ã§ã¯ãç¾å ´ã§æ´»èºãããããããã¼ãã¹ã¿ã¼ã«ããããã®ã«ã³ãã¡ã¬ã³ã¹ãDevelopers Summitãããã¨ã³ã¸ãã¢ã®çããã¾ããã¼ã¹ãããããã®ã¤ãã³ããDevelopers Boostããªã©ããã¾ãã¾ãªã«ã³ãã¡ã¬ã³ã¹ãä¼ç»ã»éå¶ãã¦ãã¾ãã
5å¹´ã»ã©åã«ä½ã£ãã¬ã¬ã·ã¼ãªèªä½ãã¬ã¼ã ã¯ã¼ã¯ãããã®åº¦PSGIåããéã®è¨é²ã§ããåãªãè¨é²ã§ãã£ã¦ãå¿ ããããPSGIã¸ã®å¯¾å¿ã¯ããããã¨ãããï¼ãããå 容ã§ã¯ããã¾ãã*1ããèå³ãããã°ã©ããã ã¬ã¬ã·ã¼ãªã¬ãªã¬ãã¬ã¼ã ã¯ã¼ã¯ã®æ¦è¦ Oreore::Application ã¯CGI::Applicationã®ããã«ã1ãªã¯ã¨ã¹ãã«å¯¾ãã¦1ã¤ã³ã¹ã¿ã³ã¹ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ããå App.pm ã« å¼ã³åºãç¨ã® hogehoge.pl ã1ã¤ãã¤å²ãå½ã¦ã¦ã Apache::Registryã§éç¨ããã¦ãã¾ããã package MyApp; use base qw(Oreore::Application); # For index.pl?action=index sub action_index{ my $self = shift; $self->response->content(
ã¯ããã¾ãã¦ãé¢ç½æ³äººã«ã¤ãã¯ã®æç¬ã¨ç³ãã¾ããArkã¨ããWebã¢ããªã±ã¼ã·ã§ã³ä½æç¨ã®ãã¬ã¼ã ã¯ã¼ã¯ãéçºãã¾ãããä»åãã4åã«ããã£ã¦ããã®ãªãªã¼ã¹ããã°ããã®ãArkãã«ã¤ãã¦ç´¹ä»ããã¦ããã ãã¾ãã Arkï¼ã¢ã¼ã¯ï¼ã¨ã¯ Arkã¯ãPerlã§ä½ãããWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ï¼WAFï¼ã§ãã Arkã®ç¹å¾´ã¨ãã¦ã¯ Catalystã«ä¼¼ãã¤ã³ã¿ã¼ãã§ã¼ã¹ CGIï¼FCGIï¼mod_perlãªã©ãã¾ãã¾ãªç°å¢ã§å®ç¨çã«åä½ãã CGIç¨ã¢ã¼ãã®åå¨ æ¥æ¬è£½ã§ãããæ¥æ¬èªããã¥ã¡ã³ããå å®ãã¦ãã ãªã©ãæãããã¾ãã Catalystã«ä¼¼ãã¤ã³ã¿ã¼ãã§ã¼ã¹ Catalystã¯ãArkã¨åæ§ã«Perl製ã®Webã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã§ãç¾å¨ãPerlã®ãã¬ã¼ã ã¯ã¼ã¯ã§ã¯æ¨æºã¨ãªãã¤ã¤ãããã®ã§ãã Arkã¯éçºåæ©ã®1ã¤ããCGIã§ãå®ç¨çã«åä½ããCatalyst
å代æªèã®Perl軽éã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ç¥ãã®ä¸ãããããéããã§ããããï¼ ç´ä½æ²æããã£ã¦ãããªãã¨ãè¨ã£ã¦ãããã«ä½ããã¦ãªãã§ã¼ã¼ã£ã¨ãã¦ããéã«ãè ã«è¦ãã®ããå µéãæãæãã¨æãåããã¦ãããã®ã§ãç³ã訳ãªãååã§æ²ããã«ãã³ããã¼ã¯ãåã£ã¦ã¿ã¾ããã http://d.hatena.ne.jp/tokuhirom/20081111/1226418572 NanoA ã¨ããã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ãããã¦ã¿ã - kazuhoã®ã¡ã¢ç½®ãå ´ YappoLogs: Yacafi ã¨ãã軽éCGIãã¬ã¼ã ã¯ã¼ã¯æ¸ããã ã¿ããªåºæ¬çã«è»½éãªãã¬ã¼ã ã¯ã¼ã¯ãããã£ã¦ãã¦ãéçºå¹çããã軽ããé å¸ã®ããããã売ãã¨ãã¦ããã®ã§ç¹ã«åé¡ãªãã¨æãã¾ãã æ¯ã¹ãã®ã¯ä¸ã®3ã¤ã¨ ã¢ã¸ã¥ã¼ã«ã使ããªãcgi CGI.pmã§ãããåºåãããã㮠軽éãã¬ã¼ã ã¯ã¼ã¯ã®ä»£
PSGI/Plackåå¼·ä¼ãéãã¾ãã(ã²ã¨ãã§)ãè³æã¯GitHubã«ããã¦ããã¾ããããããã¾ã¨ãæ¸ã足ãã¦ãªãã®ã§ãããèªåçã«ã¯ç´å¾ããã®ã§æºè¶³ãã¦ãã¾ãã¾ããã http://github.com/kentaro/psgi-study 以ä¸ã«ãã³ããã PSGI/Plackã¨ã¯ï¼ PSGI = Perl Web Server Gateway Interface Specification Webãµã¼ãã¨Webã¢ããªã±ã¼ã·ã§ã³ã¨ã®éã®ã¤ã³ã¿ãã§ã¤ã¹ä»æ§ Plack = PSGIã®ãªãã¡ã¬ã³ã¹å®è£ PSGIå®è£ ã®ã²ã¨ã¤(ã¨ã¯ããããããæ°åãã®å ¥ã£ãæãã«ãªã£ã¦ããã©) PSGI != Yet Another WAF PSGI != Plack PSGIçå®ã®èæ¯ åWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ããã©ãã©ã«å®è£ ãã¦ãããWebãµã¼ãã¨Webã¢ããªã±ã¼ã·ã§ã³ã¨ã®ã¤ã³ã¿ãã§ã¤ã¹ã
CGI::Sessionã使ã£ã¦ã»ãã·ã§ã³ç®¡çãè¡ã£ã¦ããã¨ãã¦ã¼ã¶ã«ãã©ã¦ã¶ãéããããã¨ã»ãã·ã§ã³ãdeleteã§ããªãã®ã§ãcgisess_* ãã¡ã¤ã«ãã´ãã¨ãã¦æ®ãã¨ããåé¡ãããã¾ãã æéåãã®ã»ãã·ã§ã³ãæ¢ãã¦åé¤ããæ©è½ãèªåã§ä½ããªãããããªãããªã¼ã¨æã£ã¦ãããã¡ããã©ããã¢ã¸ã¥ã¼ã«ãããã¾ããã CGI::Session::ExpireSessions ä¸è¨ã®æ¹æ³ã§ãã´ãã¨ãªã£ã cgisess_* ãã¡ã¤ã«ãåé¤ã§ãã¾ãã CGI::Session::ExpireSessions -> new(temp_dir => './tmp', delta => 3600 ) -> expire_file_sessions(); ã»60å(3600ç§)æ´æ°ããã¦ããªã ./tmp ãã£ã¬ã¯ããªé ä¸ã® cgisess_* ãåé¤ã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}