ä¸è¡ã§ãæ¸ããåããã¨ãã¯åã®ããï¼ã¾ãã¯æ¸ããªãã§æ¸ã¾ãã話ï¼
å
é±éææ¥ã«PerlCasual #5(http://atnd.org/events/37158)ãéå¬ããã¾ããã
ã©ãèãã¦ãçºè¡¨è
ã®ä¸ã§ä¿ºã ãã¬ãã«ãæµ®ãã¦ï¼æ²ãã§ï¼ãã¾ãããã¾ãçºè¡¨ãã¦ãã¾ããï¼LTè»ã¯ãåæ°ãããªãã§ä¿ºãPerlã®ä¼ã§çºè¡¨ãã¦ãã®ï¼ãã¨è¨ã£ã¦ãããã¨ãä»ãå ãã¦ããã¾ãï¼ã
ææ³ã¨ãã¦ãã¨ã¦ããã®ããã£ãã®ã§ã詳細ã¯ä»ã®äººã®ããã°ã¨ãè¦ã¾ãããã
ã¹ã©ã¤ãã¯ãã¡ã
â»1ï¼2ãã¼ã¸ç®ã¯å½æ¥ã®ãã¿ãªã®ã§ãããç´ æãæ´»ããçºã«åé¤ããªãã§ããã¾ãï¼ããã©ãããï¼
ãã¿ã¾ããã§ãã
ä»ã¯ @uzulla ã«ãããããã¿é ãã¼ã¯ #perlcasual
— nipotan (è°·å£å ¬ä¸) (@nipotan) 2013å¹´3æ29æ¥
ãã®ãããé ãã©ãçºè¡¨ã ã£ãã¨æãã¾ãããã³ãã£ã¦ããã¨ããããã§ã¯ãªãã®ã§ããããã®ãããå¨ãã¿ã¦ããªãæã§ããã
æ親ä¼ã«ããã¦ãHachioji.pmã®ããªã£ã¦ããã§ããï¼ï¼æã£ã¦æ¥ãªãã§ãã ããï¼ãæããããã£ãã§ãã
ã¨ãããã風è©ã«ã¯å£°ã大ã«ãã¦è¨ã£ã¦ããããã
ã大ä¸å¤«ãHachioji.pmã®ç§ã ãã§ãï¼ä»ã®ã¿ããªã¯ã¾ã¨ãã§ãï¼ï¼ï¼ã
ã¾ãã¹ã©ã¤ãã¯ã·ã©ãã§æ¸ãã¦ãã®ã§ãè³ãéãã¦ç®ã ãã§è¦ã¦ã人ã«ã¯ãå¤å°ã¯ä¼ãã£ãããªã¨ãããã¾ãã
è足
LTã§ãã®ã§ãã¹ã©ã¤ãã«ã¯çãè¾¼ã¾ãªãã£ãæãå°ãããã¾ãã
ããã交ãã¦å°ãè足ãæ¸ãã¾ããè足ãªã®ã§ãèªã¾ãªãã¦ãè¯ããã¾ã¨ãã¯ä¸ã®ã¹ã©ã¤ããªã®ã§ãã¾ã¨ããèªã¾ãªãã¦è¯ãã
å説
ãªããã³ãã¥ããã£ã®åé¡ã£ã½ã話ãªã®ã§ãããåã¯ã¡ã¸ã£ã¼ãªã³ãã¥ããã£æ´»åãã¦ãªãããã´ãè«ãä½ã大層ãªãã¨ãè¨ã£ã¦ããã®ã ï¼ãããããªåé¡ã¯ãã10å¹´åã«ééæ¸ã¿ã ï¼ãçã¨æ§ããã£ã¡ãé£ãã§ããã¨ãããã¾ãããæ°åã害ããæ¹ãããããã«ããããããã¾ããã
ï¼ã¨ããã¨ãã±ãããã¼ãã¼ãæ·ãã¦ããçºè¡¨ããã¤ããã§ãããã©ãé
ã£æã£ã¦ãã¦ç大ã«ã²ããã¾ããï¼ï¼
ã¾ããçç°èã«ä½ãã§ããç§ã®ææ³è«ãªã®ã§ãã容赦ãã
åé¡ã ã¨æã£ã¦ããäº
ä¸è¨ã§ãã£ã¦
1;
ãããåå¿è ãç¥ãäºãé£ããã¨ããã®ãPerlã®è¾ãã§ããæªåé«ãã·ã¸ã«ãå«ã¾ãã¾ãã
åç´ã«ã°ã°ã©ããªãã£ã®åé¡ãªã®ã ã¨ãã£ã¦ãã¾ãã°è©±ã¯æ©ãã®ã§ãããPerlã¯ç¬ç¿ãçµæ§é¢åãããè¨èªã ã¨ç§ã¯æã£ã¦ãã¾ãã
åºæ¬çãªææ³ãå®è¡ç°å¢ã®ç¨æãã¢ãã³ãªæ¸ãæ¹ãå
¸åçãªè§£æ±ºçã
åå¦è
ããªã«ãèããã«ããã¾ããªãã ããã¨ãã£ã¦ã¯ãªã¢ããã¥ããè¨èªã§ããã¨ãããä¸äººã§ã¯ãæ£ãããã¾ããªãããè¦ã¤ãããªãã
æã®ãç§ãè²ã£ãCGIæ代ã«ããã¦ã¯ãæ£ç´æ¸ãæ¹ã§æ©ãäºãªã©ãªãã¦ãé©å½ã«å¼æ°ãã¨ã£ã¦é©å½ã«printãã¦ããã°ãªãã±ã¼ã ã£ãã®ã§ãè¨èªæ¯ã®ç¹è²ãªã©ç解ããã«ããã¼ãcãæ¸ããç¨åº¦ã®è½åãããã°æ¸ãã¾ãããä¸è¡ä¸è¡ãããããã°ã©ãã«ããªã£ã*1ã
ã¨ããããã¯æ©ãæãªã©ãªãã£ãã®ã§ããããããããã¯ãã¦ããã
ãããä»ã¯éãã¾ããå
¨ä½ãé«åº¦ã«ãªã£ã¦ãã¾ããããä¸é¨ã¨ãã¦ãWebã
å¤ãã®äººãWebãµã¼ãã¹ãæ¸ãããã«Perlã使ã£ã¦ãã¾ããå¤åä»ããããã°ã©ãã³ã°ãåå¼·ãããã¨å
¥ã£ã¦ãã人ã®ååãããã¯Webãããããããå§ãã¦ããã®ã§ã¯ãªãããªãã¨ãæãã¾ãã
ãããªæ¨ä»ãæ§ã
ãªWAF*2ãä¸ã®ä¸ã«ããã¾ããããã¯Webéçºè
ã«ã¯åºãç¥ããã¦ãã¦ããããã®ä¾¿å©ãªãã®ã使ããªãã§æ¸ãã®ã¯ã¾ã£ããã¢ãã ã¨ã¿ããªããã£ã¦ãã¾ãã
ä»ããrequire 'cgi-lib.pl';ã ã¨ãããã®ã¯ã¢ãã ã¨ã¿ããªããã£ã¦ãã¦ããããªé åãã¯ããããªãã®ã§ãã*3
ããããWAFã¯å½ç¶ã®ããã«è¨èªã®ãã¯ã¼ãæ大éã«çºæ®ããããã«é«åº¦ã«æ¸ããã¦ãã¾ãã代å
¥ã¨ifæã¨printãæ¸ããã°ä½¿ãããããªç°¡åãã¯ããã¾ããã
OOPãå½ç¶ã«ãªã£ã¦ãã¾ããæªåé«ãPerlã®OOPã¯ãããã®WAFã使ãã®ã«ã¯å¿
é ã§ãã
å¨è¾ºãã¼ã«ã§ããPerlbrewãcpanmãªã©ããããã¨å¿
è¦ããã«ã¿ãã¾ã*4ã
Perlã§Helloworldãæ¸ããã ãã§ã¯ãWAFãã¤ãã£ã¦Webãµã¼ãã¹ãæ¸ããªãã
ããPerlã ããããªããã
å ¨ãããã§ãã
話å¤ããããã§ãããè¨èªã«æ©ãã«ã¸ã§ã¤ã³ããã®ã¨ãå¾ã§ã¸ã§ã¤ã³ããã®ã«ã¯è²ã
ãªã¡ãªãããã¡ãªãããããã¨ãããã¾ãã
3ã4å¹´ä½åã«ããããã«Railsãæ¸ãã¦ã¿ããã¨ãããã®ã§ããã¾ã ãªãã¨ãªãç解ã§ããæããããã¾ãããããããä»Railsã¯èªåã«ã¯ãã®ããããããããè¦ãã¾ãã
ããã¯åç´ã«å¦ç¿æéã®åé¡ã«ãªãã®ã§ãããåç´ã§ç解ã§ãããã¡ã«åå
¥ãã¦ããã¥ãããã¨ãã¸ã ã£ããã¨ããã®ã¯ãããã話ã§ã
ç§ã¿ãããªCGIããããã¯CGIã§ã«ã¦ã³ã¿ã¼ãããããéã«ãªã£ããã¨ããæ代ããã®ãã³ããã£ã¦ã¦ãä»æ®éã«é£¯ãé£ããç¨åº¦ã«ãªã«ãããã®ã¹ãã«ãããã¾ãã
ç©ã¿éããããã
éã«ãå¾ããã¯ããã¡ãªããã ã£ã¦ããã¾ããç¥ã®é«ééè·¯ã¨ãè¨ããããã®ã§ãä»å
端ã ãããã¹ã¿ã¼ãã¦ããåºæ¬çã«åãäºãã§ããããã«ãªãã
ç©ã¿éããé¨åã«ç¡é§ããªãããã¯ãªãã®ã§ãã
ãªãã話ãããã¡ããã®ã§ãã©ãã¾ããã©ãæ¬æ¥å¾ããå
¥ã£ã¦ãã人ããã¨ããä¸å©ã«ãªããªãã¯ãã§ãã
ã©ã¤ãã©ãªã®ãããã§ãç§ã¯ãã¼ã¤ããªãã®ã«AnyEventã§éåæå¦çãããããããããã§ããå¾ããå
¥ã£ã¦ããã®ã§forkã¨ããããªãã§æ¸ããã
ãã ããã®ç¥ã®é«ééè·¯ããTMTOWTDIï¼There's more than one way to do itï¼ããæ¹ã¯ãããã§ãããï¼ããªã®ã¯ã¤ããã®ããªãã¿ãããªãã
ã¾ããä»ãªãAmon2ãMojoããã°ãããããï¼ã£ã¦è©±ãªãã§ããã©ããããDBã使ãã®ã«ãªããããããã¶å¿
è¦ãããï¼ãã§ãããï¼ï¼
Perlã¯æ¥½ããã®ã§ã
ãã¯ãã«ãã§ä»ã®è¨èªã«ã¾ã£ããè² ãã¦ããªãã¨æãã¾ãã
ãã ãã¡ãã£ã¨éã«å°ç³ãç³ã岩ãå£ãå¤ãããªãã¨ããã®ã¯ç§ã®æãæã§ãã
ããã¦åæã«ã¶ã¤ããå°ç³ã®è¶
ãæ¹ã¯ãã°ã°ãã°åºã¦ããã®ããããã¾ãããããã£ã±ãå°ç³ã ãã«ã¿ã¤ãã¥ããã
ä»ã®è¨èªã§ãããã§ãã
ãããã»ãã®è¨èªã§ã¯ã©ããªãã ãã¨ããæã«ã¤ãã¦ã¯ã
Rubyã«ããã¦ã¯ãåºæ¬çã«ãã¯ãRailsãããããã*5ãRailsãåå¼·ããã°è¯ãã®ã§ããRailsãç³ã»ã©é£ããã¦ç³ã»ã©ãããããã¦ããããã©ããã£ã¦åå¼·ããã°ããããããã¨PHPerã¯æãã¾ãããä¸åããéããªããã°ãåã®ããã§æ»ã¬äºã¯ãããéãæ¢ãã¦æ»ã¬äºã¯ãªãã®ã§ãã
PHPã«ããã¦ã¯ãã£ã¨åç´ã§ãWAFãä¸è¦ãªä¸çã§ãããããPHPãWAFã§ã*6ãecho "hello world"; ãã£ãã¼ï¼ï¼ï¼
ããåå¨ã¯ãã¦ãã¾ããCakePHPãSymfonyãªã©ãã¾ãã¾ãªWAFãããã¾ãããããããããããããããã¼ãããã³ãã¬ã¼ãã«mysql_connectãããããããããï¼ï¼ï¼ãã¨ããã©ããããããªãããã°ã©ã ãå¯è½ãªä¸çã«ããã¦ã¯ãéãéãããã¨ããæå³ã§ãã¨ã«ããäºãæ¸ã¾ããäºãã§ãã¾ãã
ã¨ã«ããã³ã±ãåã«çµããããããããåã«ããããããããã¹ããªããç¥ãããã客ããã®IEã§è¡¨ç¤ºã§ããã°ããããï¼ï¼ï¼*7
ï¼ä»ã®PythonãJSã«ã¤ãã¦ã¯ãããããéã«è¿·ã人ãé£ã³è¾¼ãäºãªã©ç¡ãã§ãããï¼
ãããã©ãããã°ããã®ãï¼
ããããæå¼ããå¿
è¦ãªã®ãï¼ã
ããããPHP.netãå¿
è¦ãªã®ãï¼ã
ããããç°¡åãªWAFãã
ãæ¬ãã
ããµã¤ããã
è²ã
ãªè§£æ±ºçã¯æµ®ãã³ã¾ãããå®éã«æä¾ããã¦ãã¾ãã
ãã ãåºæ¬çã«ã©ããæä¾ããã¨ããã§å人ã®ããæ°ããªããã°ã¯ãªã¢ã§ãã¾ããããã¤ã¾ãã¯ããæ°ãããæ°ãããã°ãªãã§ãã§ããã
æ¬å½ã«ãããã¨ããããã¾ããããåºå£ã¯ãã¡ãã§ãã
ãã¦ããããã§ãªäººï¼ç§ã¯æ®æ®µãããã§ãªäººã¨ã話ãã¦ãã¾ãï¼ã«ããããã°ãããããªã®Mooseã®ã³ã¼ãå ¨é¨ä¸ããæ¸ããªããã¦ã¿ããå ¨é¨ãã¼ãããããã¨ãã話ã§ããããããã人ãªãåé¡ç¡ãã§ãã
ç§ãããããã§ã§ãããã£ã¦è¨ãããäºãããã¾ããããã°ãããããï¼ã¨ããã®ã¯ãç§ã¯ããããæ¬å½ã«ãããæãã¾ãã
ããæ°ã®ãªã人ãç¡çããæãã¨ã£ã¦ããããªãã¦ã®ã¯æ¬å½ã«ã¢ãããã話ã§ããå¤ãã®å ´å人çã®ç¡é§ã§ãã
ã¶ã£ã¡ããPHPã§Helloworldãæ¸ãæ¹æ³ã2æéã°ã°ã£ã¦è«¦ããã®ãæ®éã®äººã§ãã
ç§ã¯ç¾å¨ãPerlãããã¼ã¨ãã¦å¯¾å³ãã¦ããäºãããããããããªã人ãããå¿
è¦ãªã©æãã¦ããªãã
ãã ããã¼ã«ã«ã¸ã¥ã¢ã«æå³ç¿¼ãåæã«èªèªãã¦ããHachioji.pm主å¬ã¨ãã¦æãæãããã¾ãã
èªåãã«ã¸ã¥ã¢ã«ãªã®ã§ããèªåãã¸ã¥ããã¤ã«ãããããã¯æé¤å°èª¬ãèªåãæ©ãã§ããäºãç¡ããªã©ã¨ã¯ããããªãã俺ã®åã«ã¯å£ãããã
ã¶ã£ã¡ããããããã奴ã¯ãã£ã¦ã«ã§ããã
ä¸è¿°ã®éããããã¯ããåãããªãæã§ãã
ããæ°ããã人ã¯ããã¤ãã¯Perlã§æ¸ããããã«ãªãã§ãããã
ç§ãããã§ãããã®ãããããã¨PHPãæ¸ãã¤ã¤ããããããã¨å¤å ããããããè²ã
ãªã·ã¼ãã³çãµã¼ã«ããã¾ãã¦ããããã¨ç¥èãããã¾ãããªãã ããã ã§æè¿ãããããã«ãªã£ã¦ãã¾ããã
ã§ããããæ°ããã人ãæåã®å°ç³ã§èºãã¦ãã°ãããããã¾ã£ã¦ãã¾ã£ããï¼ä¿ºã ï¼ãææªèæã¡ãã¦å¸°ã£ã¦ãã¾ãã®ã¯é常ã«ãã£ãããªããªã¼ã¨ããã®ãç§ã®æè¿ã®èªèã§ãã
ã¶ã£ã¡ãããç§ã¯ä»²éãããªããã°ãå°ç³ã«ã¤ã¾ã¥ãã¦å¸°ã£ã¦ãæ°ããã¾ãã
æãã¹ãPHPã¨ã主ã«IEã®æçºã§é¢åãªJSãããããªããããã¾ã¼ã«CGIããããã§ãç解åºæ¥ãç¯å²ã§Perlã使ãã
ããã¯ããã§Perlã¨ã®ä»ãåãæ¹ã ã¨ãããã¾ãããã¾ãå¤åãã£ãããªãããã£ãããªãããããªãããªããã£ãããªãã£ã¦ãã¨ã«ãã¦ãããããã¦ãããªãã¨è©±ãããã¾ãªããããã
çªç¶ã§ãã
å®ã¯ä»æ¥ãã¯ããã¦ç·´ç¿ã§ã¯ãªãMojoliciousãã¤ãã£ã¦è¶£å³ã®ã¦ã§ããµã¼ãã¹ãæ¸ãã¦ã¿ã¦ããã®ã§ããããã®ãããå¢ãã§å°ç³ã«èºãã¦ããã¾ããæ®éããã§ã¤ã£ããããï¼ã£ã¦æã§ãçªã£ããã£ã¦ããã¾ãã
Yanchaã¨ãããã¦ã¦AnyEventããªãã¨ãªããããããã«ãªã£ãã®ã«ããã¾ã OOPã§ã¯ã©ã¹ã¨ããã¯ã«æ¸ããªãã
ããããã¨ä¸è¡ãå¾ä¸è¡ã¨é²ãã¦ãå¤æ¹ã«ã¯Net::Twitter::Liteã§Twitterèªè¨¼ãã¦Tengã§SQliteã«è¡ãå
¥ãã¾ããã
å¾ãSongmuããã«ã¯é»éè¡ããããã¦ããããHayajyoãããMojoliciousã®Authãã©ã°ã¤ã³ã§Instagram対å¿ãã¦ããã¾ãããããããããã§ä¿ºã®éæã¾ã§ãã¨ã¡ãã£ã¨ã ï¼ï¼ï¼ï¼åã§ããç»ãã¯ãããã°ã£ããã ãâ¦ãã®Perlåããâ¦ï¼
ããã¾ã§ããã¨ããªãã¨ãªãå¾ã¯æ©ããæ°ããã¾ãããç¾å®ã¨ãã¦ã¯ãã®å¾ãå
¨éåã§ã³ã±ãã§ããããã
ç¹°ãè¿ãã§ãã
ã§ããããã«å¿ è¦ãªã®ã¯ããæ°ã§ãã
ãã¸ã§ãã®ä¸è¨ã«éç´ããã¦ãã¾ãã¾ãã
ããæ°ããªããã°å¸°ãã
ã³ã±ãåã«å°ç³ãã¿ããç¬éã«å¸°ãã
ãããã£ãããªãã
å°ç³ãå°ããã¿ããªãããªãã¿ãããªã
æ¬é¡ï¼ã³ã±ã¦ã帰ããªãã§æ¬²ããï¼ã¾ãã¯ãã³ã±ã¦ããããªãçºã«ã¯ï¼
ãããã¸ãããçºè¡¨ãããæã§ããã
ã³ã±ã¦å¸°ããªãçºã«ã¯ã©ãããã°ããããããã仲éããããã§è§£æ±ºã§ããªãããªã¼ãã¨ãããã¨ã§ãã
æã貸ãã¦ããã人ãããã°ã人é仲éãããã°å°ç³ã§è»¢ã¶äºã楽ããã¨æããã§ããã
ããã¦Perlã¨ããçæ¿ãã¿ã¦ä½æ°ãªãå ¥ã£ã¦ãã人ã¯ããã®æãè¦ã¤ãã£ã¦ãªãã®ã§ããã
ä»äººã§ããã仲éã£ã¦ãã£ãã£ã¦ãã§ã赤ã®ä»äººã ãã©ã¡ãã£ã¨ã ããããããªããã§ããªãããªã¿ãããªã
ããã¦ã¿ããªãªãããã¦ãã¨ãããã¾ããç§ããªãããã¦ãã¾ãã
ãªã®ã§ãå°ç³ã§ã³ã±ã¦ã人ã¯ãªãããã¦ã人ããããããã¨ãããã仲éã«ãªã£ã¦ã¿ãªããï¼
ãªã®ã§å°ç³ã§ã³ã±ãªã人ã¯ã1;ãç¬ããªã人ãï¼ä»å¾ã¨ãï¼å¿æ´ãã¾ãããã
ãããããã¨ãæ¸ãããã£ãäºã§ããã
ãã£ã¡ãã£ã¨å¾ ã£ã¦ãããªããè¨ã£ã¦ãã®ãå ¨ä½çã«çããã ãã©â¦çããã§ããã©ã
ããã£ã¦ããªã¼ã©ã¤ãã¼ãããªãã§ããã¼ã¤ãã¼ã£ã¦ã®ããã¡ãããããã§ãããã
NGOå£ä½ãä¸çãæããããªããããã£ã¡ããããããããããªãã¨ãããªããã§ããã
ååããã§ãããããä»äºã§ããã
ã¶ã£ã¡ãããPerlããã£ã¦ãä¼ç¤¾ã«ã¯ããã®ãä¸çªå¹ççãã¤æéã§Perlãæ¸ããããã«ãªãæ¹æ³ã ã¨æãã¾ãã
ç§ã¯ä»äºã§ã¯ãªããä»ã¯ã¡ã¤ã³ã¯ããã¼ã¨ãã¦Perlã使ã£ã¦ããã®ã§ãçãæã¯ããã¾ãã
ããããPHPerã§ãããããæ¿çã§ããã
ãªããããåè¨ããããã§ããã©ããããã£ã¦ãã¸ã·ã§ã³ä½ãã¤ããã§ããããwã¹ããªããã¥ã¢ã«ã§å¤§äººæ°ãããwwwãã¿ãããªã
ããããã¯ããã§ã¼ãã£ã¦è¨ã£ããåã«ãªãã¾ããã©ï¼
ã§ãããªã¢ã«ã«ããããã®ã¯ã¢ãããã¯ã«äººãã¢ãã³ãããªãã¨ãããã ã¨æãã¾ããã§ã
ç§ã®äºã¯ãã¦ããï¼ç§ãå«ãã¦ï¼ãã©ãã«ããã¦ãããªãã§ããããï¼
ç§ã¯CGIããããã§ããå
¨ç¶åå¦ãªã®ã§ãç§ã«Perlã質åãã人ã¯ããã¨ã¬ã¢ã§ãããã¾ãããã§ãã·ã¸ã«ã¨ããå¤å°äººããµãã¼ãããããããã¨ãããã¾ãããplenvã®ã¤ã³ã¹ãã¼ã«ããããªãã§ããããã§ãå®éããããã®ã人ã«ä¼ããããã¦ãã¾ãã
ãã£ãçµããï¼ãªããæ®éãªäºè¨ã£ã¦ããï¼ããã£ã¦è§£æ±ºã§ãã¦ããï¼
ããã俺ã«ã¯ãªãã£ãï¼ãªãã£ããã ï¼
ç¡ã人ããã£ã¨ããã¯ãï¼ãã®äººã«ã¨ã©ããã®æ³ãï¼
ã¾ã¨ã
ãããã人ï¼ç§ã¨ãï¼ãã¡ã²ã¦å¸°ããªãçºã«ãç§ãããªã«ããã¦ããããã§ãããHachioji.pmã¨ãã§ã
ã¨ããåãªã決æ表æãªã¹ããªããã¥ã¢ã«ãªè©±ãé·æã§ãã©ãã©ããã¾ããã
ãï¼ãå½¹ç«ã¡æ å ±ï¼ã
Perlãã£ã¦ã¿ãããã©åå¾ãã£ã±ãããããªãã¨ããHelloworldã¾ã§ã¯ã§ãããã©ãã®å
ãä¸ããªãããããããã£ã¦äººã¯ãã² Perlå
¥å¦å¼ã¨ãè¡ã£ããããã¨æãã¾ãï¼ï¼ï¼
http://www.perl-entrance.org/
ã¾ãã¯ãHachioji.pmã¨ãChiba.pmã¨ãPerl Beginnersã¨ããããã¸ãã«ãã¦ãããããã£ãï¼ãã£ã¦ããã°ãããæ°ããããã°ããã¨ã©ãã«ããªãããããï¼ä¿ºã¯ãªã£ãï¼ï¼å¹æã¯å½äººã®ææ³ã§ãããããã«ããã°ããã®æã«æ¥ã¦ãã¡ã³ã次第ã§ãã¯ãªãªãã£ãå¤ããã¾ãï¼
ããã
*1:ã¾ããä»ãããããããã¾ããã
*2:Web Application FrameworkãRailsãCakePHPãDjangoãMojoliciousãªã©
*3:ã¾ãã¯ããããªç£éã®åå¨ããç¥ããªãããããã¾ãã
*4:ãªãã¦ãã©ãã«ããªãããå¿ è¦ãªããã«è¦ãã
*5:ãã¾ãã¾ãªãã®ãããã¾ãããã¨ããããRailsã£ã¦ãã£ã¦ããã°ããã§ããçãªæå³ã§
*6:ãã³ãã¬ã¼ãã¨ã³ã¸ã³ã ï¼ã¨ãã声ããããã¾ãããç§ã¯WAFè«è ï¼ï¼ï¼ã§ã
*7:ããã¯ä¸é¨ã®äººéã§ããå¤ãã®PHPerã¯ãã£ã¨å´é«ãªç念ã«ãã¨ã¥ãããã£ããããã¦ã§ããµã¼ãã¹ãä½æãã¦ããã¾ããçã«åããªãã§ãã ããã