第228åMySQLã®validate_passwordã³ã³ãã¼ãã³ãã§ãã¹ã¯ã¼ãã»ãã¥ãªãã£ãå¼·åããã æ·±çºæ¥åºæµ· 2024-09-03
第228åMySQLã®validate_passwordã³ã³ãã¼ãã³ãã§ãã¹ã¯ã¼ãã»ãã¥ãªãã£ãå¼·åããã æ·±çºæ¥åºæµ· 2024-09-03
æ¬é£è¼ã§ã¯ç¬¬ä¸ç·ã®Perlããã«ã¼ãåæ¿ããã§å·çãã¦ããã¾ããä»åã¯WEB+DB PRESS Vol.62ã®ç¹é1ãHTML5/CSS3/JavaScriptå®è·µå ¥éããªã©ã®è¨äºã§ããªãã¿ã®cho45ãããããâ ææ°Perl使ãããªãè¡ãã解説ãã¾ãã ã¯ããã« ããã«ã¡ã¯ãcho45ã§ããä»åã¯ææ°Perl使ãããªãè¡ã¨ãããã¨ã§ããããµãã«æè¿ã®Perlï¼ãã¼ã¸ã§ã³5.10以éï¼ã®æ°æ©è½ãç´¹ä»ãã¾ãã ããããæ©è½ã®è©³ç´°ã«å°ã£ãã¨ãã¯ãªãã¡ã¬ã³ã¹ãé ¼ãã®ãä¸çªã§ãããããã§ã¯ç´¹ä»ããããªãæ©è½ãããã¾ãã®ã§ãèªåã§èª¿ã¹ãããããã«ãå ã«ãªãã¡ã¬ã³ã¹ã®å¼ãæ¹ããããããã¦ããã¾ãã ãªãæ¬ç¨¿ã§ã¯ãè¨èªã¨ãã¦ã®Perlï¼å é 大æåï¼ã«å¯¾ãããããå®è¡ããå¦çç³»ã¨ãã¦ã¯perlï¼å ¨é¨å°æåï¼ã¨ãã表è¨ã§ä½¿ãåãã¾ãã ãªãã¡ã¬ã³ã¹ãå¼ã ä½ãä»ããâ¦â¦ã¨ãæãã«ãªã人ãããããããã¨ã¯æã
ååã¯ã大è¦æ¨¡NATã¨ã¦ã¼ã¶ã¸ã®å½±é¿ãç´¹ä»ãã¾ãããä»åã¯ã大è¦æ¨¡NATãå©ç¨ããã¦ã¼ã¶ãå¢ããã¨ãã®ãµã¼ãéç¨è ã¸ã®å½±é¿ä¾ã¨ãã¦ã¢ã¯ã»ã¹ãã°ã®æ±ãã®å¤åãç´¹ä»ãã¾ãã ãªããã¢ã¯ã»ã¹ãã°ã®æ±ããå¤ããã®ãï¼ å¤§è¦æ¨¡NATãé常ã«å¤ãã®ISPã§éç¨ãããããã«ãªãã¨ãWebãµã¼ãéç¨è ããããåæã¨ããéç¨ãæã¾ããããã«ãªãã¾ãã ã¾ããã¢ã¯ã»ã¹ãã°ã®æ±ãæ¹ãå¤ããã¨è¨ããã¦ãã¾ãã ISPã§IPv4大è¦æ¨¡NATãéç¨ãããWebé²è¦§ãè¡ãã¦ã¼ã¶ã®IPv4ã¢ãã¬ã¹ããªã¨ã¼ã·ã§ã³ãåçã«æ¸ã£ã¦ãã¾ãã¾ããããã¯ãISPãéç¨ãã大è¦æ¨¡NATã«ãã£ã¦ãå¤ãã®ã¦ã¼ã¶ã¼ããåãIPv4ã¢ãã¬ã¹ãã«ã¾ã¨ãããã¦ãã¾ãããã§ãã ã¢ã¯ã»ã¹ãã°ã«è¨è¼ãããé ç®ãå¤åããå¯è½æ§ãããã¾ã 大è¦æ¨¡NATãæ®åããã¨ãå¤ãã®å®¶åºãåãã°ãã¼ãã«IPv4ã¢ãã¬ã¹ãå©ç¨ãã¦éä¿¡ãè¡ãããã«ãªããããã°ãã¼ãã«I
æ¬é£è¼ã§ã¯ç¬¬ä¸ç·ã®Perlããã«ã¼ãåæ¿ããã§å·çãã¦ããã¾ããä»åã®ããã«ã¼ã¯kazeburoãããã¨é·éé åºããã§ããã¼ãã¯ããã°ã§ã¢ããªã±ã¼ã·ã§ã³ã®æ¹åããã»ã¹ãåããã§ãã ãªãã¬ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ã®ä»äº å°æ篤ããããé£è¼ã®ããã³ãåãåãã¾ãããé·éé åºã§ããæ®æ®µã¯NHN Japanï¼â æ ªâ ï¼ã«ã¦ãªãã¬ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ã¨ãã¦åãã¦ãã¾ããlivedoor blogããã¼ã¿ã«ãµã¼ãã¹ãªã©èªç¤¾Webãµã¼ãã¹ã®éç¨ã«æºãã£ã¦ãããcloudforecastï¼Perlã§ä½ããããªã½ã¼ã¹ç£è¦ãã¼ã«ï¼ã使ã£ãã¡ããªã¯ã¹åéãã¯ãããã¢ããªã±ã¼ã·ã§ã³è¨è¨ã®ã¢ããã¤ã¹ãããã«ã¦ã§ã¢ã®è¨å®ãé害対å¿ã®ãã©ãã¼ãªã©ãWebã¢ããªã±ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ã«ãããéç¨ã®è² æ ãæ¸ãããã¨ã主ãªæ¥åã§ãã ãã°ã¯Devã¨Opsã®ã³ãã¥ãã±ã¼ã·ã§ã³æ段 ç£è¦ãµã¼ãããã®ã¢ã©ã¼ãã¡ã¼ã«ãå±ãããããªã½ã¼ã¹ç£è¦ã
ããç§ã®ç©ãããªæ¼ä¸ãããæ¸è°·ã®éçåãç»ãåã£ãçæ°ãããªãã£ã¹ãã«ã«ãè ã«è¦ãã®ããã¤ã³ãã©ã¨ã³ã¸ãã¢ãã¡ãç¶ã ã¨éçµãã¤ã¤ããã¾ããã10æ1æ¥ãå¥ããããã®æ¥ç¤¾åå¤æ´ã¨ãªã£ãVOYAGE GROUPï¼æ§ç¤¾åãECããï¼ãªãã£ã¹å ã®ããã³ã²ã¢ããã¼ãã£ã³ã°ã«ã¼ã ã«ã¦ã第2åãã¥ã¼ãã³ã¬ã½ã³ãéå¬ãããã®ã§ãã ä¼å ´ã¯ã10æ1æ¥ã«ç¤¾åå¤æ´ããVOYAGE GROUPã®ä¼è°ã¹ãã¼ã¹ããã³ã²ã¢ãã«ã¦ ãã¥ã¼ãã³ã¬ã½ã³ã¨ã¯ ãã¥ã¼ãã³ã¬ã½ã³ï¼Tuningathonï¼ã¨ã¯ãã·ã¹ãã ã®ãã¥ã¼ãã³ã°ã¨ãã©ã½ã³ãããåãããé èªã§ãããã¨ãã°ããã«ã½ã³ï¼Hackathonï¼ã¨ããã°ãããã°ã©ãã¼ãä¸ã«æã«éã¾ãæéãéã£ã¦éä¸çã«ããã¯ããã¤ãã³ãã§ããããã®ã·ã¹ãã ãã¥ã¼ãã³ã°çã¨èããã°ããã§ãããã ãã¥ã¼ãã³ã¬ã½ã³ã§ã¯ãWebã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ãåä¸ããããã¨ãç®çã¨ãã¾ãã
大éã«ãããµã¼ãã¸ã®ã¢ã¯ã»ã¹ãå¹ççã«æ±ã Mobage APIã§ã¯ãæ¥ç¶ããDBãµã¼ããmemcachedãµã¼ããªã©ã大éã«ããã¾ãããµã¼ããå¢ãã¦ããã¢ããªã±ã¼ã·ã§ã³ã®å¤æ´ã¯æä½éã«ããããã®ã§ããããã§ã¯ãè¤æ°ã®ãµã¼ãã¸ã®ã¢ã¯ã»ã¹ãç°¡åã«è¨è¿°ããæ¹æ³ãç´¹ä»ãã¾ãã DBã¸ã®ã¢ã¯ã»ã¹ãé è½ãã DBã¯ä¸è¬çãªããã¹ã¿ï¼ã¹ã¬ã¼ãæ§æãæ¡ç¨ãã¦ãã¾ããINSERT/UPDATE/DELETEã®ãããªæ´æ°ç³»ã®ã¯ã¨ãªã¯ãã¹ã¿ã¸ãSELECTãªã©ã®åç §ç³»ã®ã¯ã¨ãªã¯ã¹ã¬ã¼ãã¸ããããã«ãã¦ãã¾ããã¾ããSharding[11]ããã¦ããDBã®ç³»çµ±ãããã¾ãã ãã®ããã«å¤§éã«ããDBã¸ã®ã¢ã¯ã»ã¹ãç°¡åã«è¡ãããã«ãMobage APIã§ã¯DeNAã®æ澤é«ä»ãããéçºããDBIx::DBHResolverï¼ç¾å¨ã®ã¡ã³ããã¯åããDeNAã®å±±å£å¾¹ããï¼ãå©ç¨ãã¦DBã¸ã®ã¢ã¯ã»ã¹æ å ±ãé è½ï¼ãããºãï¼ã
æ¬é£è¼ã§ã¯ç¬¬ä¸ç·ã®Perlããã«ã¼ãåæ¿ããã§å·çãã¦ããã¾ããä»åã®ããã«ã¼ã¯DeNAã®å¶ç°è£äºããã§ããã¼ãã¯ãé«éãªWeb APIã®å®è£ ã¨ãã¹ããã§ãã Web APIã®åºç¤ç¥è ã¯ããã¾ãã¦ãDeNAã§Mobageãªã¼ãã³ãã©ãããã©ã¼ã ã®Web APIï¼ä»¥éMobage APIï¼ãå®è£ ãã¦ããxaicronã§ããMobageãªã¼ãã³ãã©ãããã©ã¼ã ã¯ãMobageã®æ©è½ãWeb APIãéãã¦å¤é¨ã®éçºè ã«å ¬éãããã¨ã«ãããã½ã¼ã·ã£ã«ã²ã¼ã ãã¦ã¼ã¶ã«æä¾ãããµã¼ãã¹ã§ãã ç°¡åã«èª¬æããã¨Web APIã¨ã¯ãHTTPãå©ç¨ãã¦ãããã¯ã¼ã¯è¶ãã«å¦çãè¡ããçµæãè¿ãããã¿ã§ããæè¿ã§ã¯JSONï¼JavaScript Object Notationï¼ã¨ãããã©ã¼ããããå©ç¨ãã¦ãã¼ã¿ã®ããã¨ãããããã¨ãå¤ããªã£ã¦ãããMobage APIãåºæ¬çã«ã¯JSONãåãåã£ã¦å¦çãè¡
ãã¢ãã³Perlãã¨ããè¨èã®æµè¡ å æ¥ãå½å ææ°ã®Perlããã«ã¼ã§ããç§å¤§è¼æ°ããã¢ãã³Perlå ¥éãã¨ããæ¸ç±ãåè¡ãã¾ããã æ¥æ¬ã®Perlã¦ã¼ã¶ã¼ã®ãããµã¤ããç®æãã¦ããperl-users.jpã§ããã¢ãã³ãªPerlå ¥éãã¨é¡ãã¦ãå¤æ¥ãã親ãã¾ãã¦ããPerlå ¥éã¨ã¯ã²ã¨å³éããä»é¢¨ã®Perlå ¥éããã¹ãããä½ããã¨ããåããããã¾ãã æµ·ã®åããã§ã¯ãPerl 6ã®è¨èªä»æ§ã®çå®ã«ããããã£ã¦ããã¯ãããã£ãã¯ï¼chromaticï¼æ°ããModern Perl Booksãã¨ããã¦ã§ããµã¤ããéè¨ãã¦ããâ ã¢ãã³Perlãã«ã¤ãã¦ã®èå¯ãå§ãã¾ãããæ°ã¯ãã®åãModern::Perlã¨ããã¢ã¸ã¥ã¼ã«[1]ãå ¬éãã¦ãã¢ãã³Perlãã®åèã«åªãã¦ãã¾ãã å人ã®ä¸»ç¾©ä¸»å¼µã«éããªãã®ã§ããããï¼ ã§ãããã®ãã¢ãã³Perlãã¨ã¯ãã£ããä½ãªã®ã§ããããã åé¢ãããä»é¢¨ã®
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}