ããªãã®ä»äºã¯ãé«ééè·¯ã®ãã¹ãŠã®è»ãããéãããããšã ãšæ³åããŠãã ããã ãã¹ãŠã®ãã©ã€ããŒã«ã¢ã¯ã»ã«ããã«ãæåŸãŸã§æŒãããã«æ瀺ããå Žåã¯ã©ããªããŸããïŒ
æããã«ãçµæã¯çœå®³ã«ãªããŸãã ããããããã¯ãŸãã«ãå€ãã®éçºè ãå®è£ ããããšããŠããé¢ä¿ã®ã¿ã€ãã§ããããœãããŠã§ã¢ãããéãäœæããããšããŠããŸãã ãããè¡ãçç±ã®ããã€ãã以äžã«ç€ºããŸãã
ãç§ãã¡ã¯æ¬åœã«ãã€ãããã¯ã«ãªãããšããŠããã®ã§ãæ§é ãããã¥ã¡ã³ããéçºããããã«ç¡é§ã«æéãç¡é§ã«ããªãã§ãã ãããã
ãããã«å®çšŒåç°å¢ã«éä¿¡ããå¿ èŠãããããããã¹ããæžãæéããããŸããïŒã
ãäœãèªååããæéããªãã£ãã®ã§ãã³ãŒããæåã§ãããã€ããã ãã§ãããã
é«ééè·¯ã®è»ã®å Žåãé«éã§ã®èµ°è¡ã«ã¯å®å šæ§ã«ç¹ã«æ³šæãå¿ èŠã§ãã è»ãçŽ æ©ãé転ã§ããããã«ããã«ã¯ããã¬ãŒãããã«ãããšã¢ããã°ãªã©ã®é©åãªããã€ã¹ãå¿ èŠã§ããããã«ãããäœãåé¡ãçºçããå Žåã«ãã©ã€ããŒãæãããšãã§ããŸãã
ãœãããŠã§ã¢ã®å Žåãã¢ãžãªãã£ã«ã¯ã»ãã¥ãªãã£ãå¿ èŠã§ãã åççãªåŠ¥åã«å°éããããšãšã泚æãæãããšãªãç²ç®çã«åé²ããããšã«ã¯éãããããŸãã æ害äºè±¡ãçºçããå Žåã®æ倱ãæå°éã«æããå®å šã¡ã«ããºã ãå¿ èŠã§ãã ç¡è¬ãªäººã¯ãæçµçã«ã¯éããªãã®ã§ã¯ãªããé ããªããŸãïŒ
â¢ãã¹ããæžããã«ãä¿åãããã1æéã¯ãæ¬çªãšã©ãŒã®åå ãšãªãééããèŠã€ããã®ã«5æéããããããããããæ°ãããšã©ãŒãçæããå Žåã¯ããã«5æéããããŸãã
â¢30åéããã¥ã¡ã³ããäœæãã代ããã«ãååŸæ¥å¡ã«ããã°ã©ã ã®äœ¿çšæ¹æ³ã1æéæããåŸæ¥å¡ã補åã誀ã£ãŠäœ¿çšãå§ãããã©ããã調æ»ããã®ã«äœæéãè²»ãããŸãã
â¢èªååãå¿é ããã«å°ãæéãç¯çŽã§ããŸãããã³ãŒããæåã§åå ¥åããã®ã«æéããããã誀ã£ãŠã¹ããŒãžãèŠéããå Žåã¯ãšã©ãŒãæ€çŽ¢ããã®ã«ããã«æéãããããŸãã
ãœãããŠã§ã¢ã®äžçã®äž»èŠãªã»ãã¥ãªãã£ã¡ã«ããºã ãšã¯äœã§ããïŒ ãã®èšäºã§ã¯ãèªåè»ã®äžçã«ããã3ã€ã®å®å šã¡ã«ããºã ãšãããã°ã©ã ã®äžçã«ãããåæ§ã®ã¡ã«ããºã ã玹ä»ããŸãã
ãã¬ãŒã/ç¶ç¶ççµ±å
åé¡ãæ¬åœã«æ·±å»ã«ãªãåã«ãè¯ããã¬ãŒãã¯è»ãæ¢ããŸãã ãœãããŠã§ã¢ã§ã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã«ãããééã£ãããã°ã©ã ãå®çšŒåã«å ¥ãåã«åæ¢ããŸãã ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ããšããçšèªãç解ããããã«ãæåã«ãã®å察ã§ããã¬ã€ãã€ã³ãã°ã¬ãŒã·ã§ã³ãæ€èšããŸãã
å³ 1.åœéå®å®ã¹ããŒã·ã§ã³
å³ã«ç€ºãããã«ãå€ãã®ã³ã³ããŒãã³ãã§æ§æãããåœéå®å®ã¹ããŒã·ã§ã³ïŒISSïŒãæ§ç¯ãã責任ããããšæ³åããŠãã ããã 1.ããŸããŸãªåœã®ããŒã ããããŸãã¯ãã®ã³ã³ããŒãã³ããäœæããå¿ èŠãããããã¹ãŠãç·šæããæ¹æ³ã決å®ããŸãã 次ã®2ã€ã®ãªãã·ã§ã³ããããŸãã
â¢ãã¹ãŠã®ã³ã³ããŒãã³ããäºåã«éçºããŸãããã®åŸãåããŒã ã¯å®å šã«ç¬ç«ããŠã³ã³ããŒãã³ããé¢ããŸãã ãã¹ãŠã®ã³ã³ããŒãã³ãã®æºåãã§ãããããããããã¹ãŠäžç·ã«å®å®ã«çºå°ããäžç·ã«ããããšããŸãã
â¢ãã¹ãŠã®ã³ã³ããŒãã³ãã®åæåæèšèšãéçºãããã®åŸåããŒã ãäœæ¥ãéå§ããŸãã åããŒã ã¯ãã³ã³ããŒãã³ããéçºããªãããåã³ã³ããŒãã³ããä»ã®ã³ã³ããŒãã³ããšç¶ç¶çã«ãã¹ãããåé¡ãçºçããå Žåã¯ã¢ãããŒããæ§é ãèšèšãå€æŽããŸãã æºåã®æ§æèŠçŽ ã¯åç¬ã§ç©ºéã«ç§»åããããã§çµã¿ç«ãŠãããŸãã
ãªãã·ã§ã³1ã§ã¯ãæåŸã«ISSå šäœãåéããããšãããšãå€æ°ã®ç«¶åãšèšèšäžã®åé¡ãçºçããŸãããã©ã³ã¹ã®é ç·ã¯ãã©ã³ã¹ãè¡ãã¹ãã§ãããåŸè ã¯ãããã€ã®ãªã¹ã®ä»äºã§ãããšç¢ºä¿¡ããŠãããã çªç¶ããã¹ãŠã®ããŒã ãã¡ããªãã¯æž¬å®ã·ã¹ãã ã䜿çšããããšãå€æããŸãããã1ã€ã¯ã€ã®ãªã¹äººã§ãã ãã€ã¬ãèšçœ®ããäœæ¥ãèªåãã¡ã«ãšã£ãŠéèŠãšèããããŒã ã¯1ã€ããããŸããã§ããã ãã¹ãŠããã§ã«è¡ãããå®å®ãé£ã³åã£ãŠãããšãã«ãã¹ãŠãæããã«ããããšã¯ãåé¡ã®è§£æ±ºãéåžžã«å°é£ã§é«äŸ¡ã«ãªãããšãæå³ããŸãã
æ®å¿µãªãããããã¯å€ãã®äŒæ¥ããœãããŠã§ã¢ãäœæãããšãã«äœ¿çšãããã¹ã§ãã éçºè ã¯ãæ°é±éãŸãã¯æ°ãæéãããããã®åéã§çµ¶ããå®å šã«ç¬ç«ããŠè¡åããæåŸã®æåŸã§åºå補åã«éçºãçµ±åããããšããŸãã ãã®ããã»ã¹ã¯ãåŸæçµ±åããšåŒã°ããããŒãžã®ç«¶åïŒå³2ãåç §ïŒãæ€åºå°é£ãªãšã©ãŒã®æ€çŽ¢ããããžã§ã¯ãã®åºåïŒãªãªãŒã¹ïŒãã©ã³ãã®å®å®åã®è©Šã¿ã解決ããããã®æéïŒæ¥ãé±ïŒã®å€§å¹ ãªæ倱ã«ã€ãªããããšããããããŸãã
å³ 2.æ©èœãã©ã³ãããããžã§ã¯ãã®åºåïŒãªãªãŒã¹ïŒãã©ã³ãã«ãŸãšãããšãæ·±å»ãªããŒãžç«¶åãçºçããŸã
ãªãã·ã§ã³2ãšããŠèª¬æãããŠãã代æ¿ã¢ãããŒãã¯ããã¹ãŠã®éçºè ãå®æçã«äœæ¥ã®çµæããŸãšãããç¶ç¶çãªçµ±åã§ãã ããã«ãããéçºè ãééã£ãæ¹åã«ç§»åããããåã«ãããžã§ã¯ãã®åé¡ãç¹å®ããéçºã®äžè²«ããéçºãå¯èœã«ããŸãã ç¶ç¶çã«çµ±åããæãäžè¬çãªæ¹æ³ã¯ãã¹ãã éçºã¢ãã«ã䜿çšããããšã§ãã
ãã®ã¢ãã«ã§ã¯ãéçºè ã¯ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒããŒãžã§ã³ç®¡çã·ã¹ãã = VCSïŒã«å¿ããŠãããã©ã³ã¯ããŸãã¯ããã¹ã¿ãŒããšåŒã°ããåããã©ã³ãã§ãã¹ãŠã®äœæ¥ãè¡ããŸãã ã¢ã€ãã¢ã¯ã誰ã§ãå®æçã«ãã®ã¹ã¬ããã«èªåã®ã³ãŒããã¢ããããŒãããããšã§ããããããã1æ¥ã«æ°åã§ãã åäžã®ãã©ã³ãã§ã®ãã¹ãŠã®éçºè ã®äœæ¥ã¯æ¬åœã«äŸ¡å€ããããŸããïŒ ã¹ãã éçºã¯ãLinkedInãFacebookãGoogleã®äœå人ãã®ããã°ã©ããŒã«ãã£ãŠäœ¿çšãããŠããŸãã Googleã®ãã©ã³ã¯ïŒããã©ã³ã¯ãïŒçµ±èšã¯ç¹ã«å°è±¡çã§ããæ¯æ¥1ã€ã®ãã©ã³ãã§ã20åè¡ãè¶ ããã³ãŒããš45,000ãè¶ ãã確èªæäœã調æŽããŠããŸãã
å³ 3.ã¹ããã³ã°ã§ã¯ããããããåããã©ã³ãã«ç¬èªã®ã³ãŒããã¢ããããŒãããŸãã
å€ãã®å Žåãäœå人ãã®éçºè ã競åããã«åããã©ã³ãã«ã³ãŒããã¢ããããŒãã§ããŸããïŒ é »ç¹ã«å°ããªç¢ºèªæäœãé »ç¹ã«è¡ããšã巚倧ãªã¢ããªã·ãã¯ãªå䜵ãå®è¡ãã代ããã«ã競åã®æ°ã¯éåžžã«å°ãªããçºçãã競åãæãŸããããšãããããŸãã ããã¯ã䜿çšãããçµ±åæŠç¥ã«é¢ä¿ãªã競åãé¿ããããªããšããäºå®ã«ãããã®ã§ããã1ãæãã2æ¥éã®äœæ¥ïŒç¶ç¶çãªçµ±åã䌎ãïŒãè¡šã競åã¯ãæ°ãæã®äœæ¥ãè¡šã競åïŒçµ±åãé ãïŒãããç°¡åã«è§£æ±ºã§ããŸãã
ãããŠããã©ã³ãã®å®å®æ§ã¯ã©ãã§ããïŒ ãã¹ãŠã®éçºè ãåããã©ã³ãã§äœæ¥ããéçºè ãã³ã³ãã€ã«ããªããé倧ãªãšã©ãŒãåŒãèµ·ããã³ãŒããããŠã³ããŒããããšãããã»ã¹å šäœããããã¯ãããå¯èœæ§ããããŸãã ãããé²ãã«ã¯ãã»ã«ããã¹ãã¬ã€ã¢ãŠããå¿ èŠã§ãã èªå·±ãã¹ãã¬ã€ã¢ãŠãã¯å®å šã«èªååãããããã»ã¹ã§ãïŒã€ãŸãã1ã€ã®ã³ãã³ãã§éå§ã§ããŸãïŒãååãªæ°ã®èªåãã¹ããå«ãŸããŠããŸãã ãããããã¹ãŠåæ Œããã°ãã³ãŒãã®å®å®æ§ã確èªã§ããŸãã éåžžã®ã¢ãããŒãã¯ã確èªæäœããã¯ãããŒãžã§ã³ç®¡çã·ã¹ãã ïŒVCSïŒã«è¿œå ããŸããVCSã¯ããã®ãããªåæäœãåãå ¥ããJenkinsãTravisãªã©ã®ç¶ç¶ççµ±åïŒCIïŒãµãŒããŒäžã®ãªã³ã¯ãä»ããŠæž¡ããæåŠããŸããã¬ã€ã¢ãŠãã倱æããå Žåã CIãµãŒããŒã¯ã³ã³ãããŒã©ãŒã§ãããã³ãŒãã®åãããããã§ãã¯ããŠããããã©ã³ã¯ã«ããŒãã§ããããã«ããŸãã è¯ããã¬ãŒãã®ããã«åäœããæ¬çªã«å ¥ãåã«æªãã³ãŒããæ¢ããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãªãã§ã¯ã誰ããåäœããããšã瀺ããŸã§ããœãããŠã§ã¢ã¯å£ããŠãããšã¿ãªãããŸããããã¯éåžžããã¹ããŸãã¯ã€ã³ãã°ã¬ãŒã·ã§ã³ã®æ®µéã§çºçããŸãã ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã§ã¯ãæ°ããå€æŽã®ãã³ã«ãœãããŠã§ã¢ãåäœãããšä¿¡ããããŠããŸãïŒãã¡ãããããªãå æ¬çãªèªåãã¹ãã®ã»ããããªãéãïŒ-éçºè ã¯éåãçºçããç¬éãç¥ã£ãŠããããããšã©ãŒãããã«ä¿®æ£ã§ããŸãã
-Jez HumbleyãšDavid Farleyãæ¬Continuous DeliveryïŒContinuous Delivery of SoftwareïŒã®èè
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã䜿çšããŠå€§ããªå€æŽãå ããã«ã¯ã©ãããã°ããã§ããïŒ ã€ãŸãã1é±éãå¿ èŠãšããæ©èœã«åãçµãã§ããå Žåã1æ¥ã«äœåºŠããã©ã³ã¯ã«ã¢ããããŒãã§ããŸããïŒ 1ã€ã®è§£æ±ºçã¯ãæ©èœã®åãæ¿ãã䜿çšããããšã§ãã
å®å šã©ãã/æ©èœã¹ã€ãã
19äžçŽåé ãã»ãšãã©ã®äººã¯ãšã¬ããŒã¿ãŒãé¿ããã±ãŒãã«ãå£ãããšãšã¬ããŒã¿ãŒã®ä¹å®¢ãæ»ã¬ããšãæããŠããŸããã ãã®åé¡ã解決ããããã«ããšãªã·ã£ãªãŒãã£ã¹ã¯ãå®å šãªãšã¬ããŒã¿ãŒããçºæãããã®æå¹æ§ã倧èã«å®èšŒããŸããã ãããè¡ãããã«ããªãŒãã£ã¹ã¯å€§ããªãªãŒãã³ãšã¬ããŒã¿ã·ã£ãããæ§ç¯ãããªãŒãã³ãšã¬ããŒã¿ãæ°éæã¡äžããŠãã¢ã·ã¹ã¿ã³ãã«èŽè¡ã®åã§ã±ãŒãã«ãåãããã«åœããŸããã 4.ãšã¬ããŒã¿ãŒã¯èœäžãå§ããŸããããããã«åæ¢ããŸããã
å³ 4.ãšãªã·ã£ã»ãªãŒãã£ã¹ã¯ãå®å šãªãªããããå®èšŒããŸãã
ã©ã®ããã«æ©èœããŸããïŒ å®å šãšã¬ããŒã¿ãŒã®éèŠãªèŠçŽ ã¯ãå³1ã«ç€ºãå®å šã©ããã§ãã 5.åæäœçœ®ã§ã¯ãå®å šã©ããã¯å®å šã«äŒžã³ãŠããããšã¬ããŒã¿ã·ã£ããã®ã©ããã«å ¥ãããšã¬ããŒã¿ãåããªãããã«ãªã£ãŠããŸãã ãšã¬ããŒã¿ã±ãŒãã«ãååã«ç· ããããŠããå Žåã«ã®ã¿ãå®å šã©ãããå€ããŸãã èšãæããã°ãã©ããã¯ã±ãŒãã«ãç¡å·ã®å Žåã«ã®ã¿æ ŒçŽãããŸãã
å³ 5.å®å šãšã¬ããŒã¿ãŒã®ç¹èš±ã®å³ã¯ãäžå€®ã«ãšã¬ããŒã¿ãŒãããïŒDïŒãåŽé¢ã«å®å šã©ãããããïŒfïŒãäžéšã«ã±ãŒãã«ãããïŒGïŒãšã¬ããŒã¿ãŒã·ã£ããã瀺ããŠããŸãã
ãã®çŽ æŽããããã¶ã€ã³ã§ã¯ãå®å šã©ããã¯ããã©ã«ãã§ã»ãã¥ãªãã£ãæäŸããŸãã ãœãããŠã§ã¢ã§ã¯ãããã©ãŒãã³ã¹ã¹ã€ããã¯åãæ©èœãå®è¡ããŸãã æ©èœã¹ã€ããã䜿çšããæ¹æ³ã¯ãæ§æãã¡ã€ã«ãŸãã¯ããŒã¿ããŒã¹ã§ååä»ãæ©èœã¹ã€ããïŒshowFeatureXYZãªã©ïŒãæ€çŽ¢ãããifãã¹ããŒãã¡ã³ãã§ãã¹ãŠã®æ°ããã³ãŒããã©ããããããšã§ãã
ifïŒfeatureToggleEnabledïŒâ showFeatureXYZâïŒïŒ{showFeatureXYZïŒïŒ}
éèŠãªèãæ¹ã¯ãããã©ã«ãã§ã¯ããã¹ãŠã®æ©èœã¹ã€ããããªãã®äœçœ®ã«ãããšããããšã§ãã ã€ãŸã ããã©ã«ãã®äœçœ®ã¯å®å šã§ãã ã€ãŸããç¹æ§ã¹ã€ããã®ã·ã§ã«ãæå¹ã«ãªã£ãŠããéããifãæŒç®åã¯ã³ãŒããå®è¡ãããªãããŸãã¯ç®ã«èŠããå¹æããªãããšãä¿èšŒãããããäžå®å šãªã³ãŒããŸãã¯èª€ã£ãã³ãŒããããŒãããŠçµäºããããšãã§ããŸãã
ç¹æ§ã®äœæ¥ãå®äºããããæå®ããã¹ã€ããç¹æ§ãããªã³ãã®äœçœ®ã«é 眮ã§ããŸãã ãããã®ã¹ã€ããã®ç¹æ§ãšå€ãæ§æãã¡ã€ã«ã«ä¿åããæãç°¡åãªæ¹æ³ã ãããã£ãŠãéçºç°å¢ã®æ§æã§ãã®æ©èœãæå¹ã«ã§ããŸãããå®äºãããŸã§äœ¿çšãããªãããã«ããããšãã§ããŸãã
# config.yml
dev:
showFeatureXYZ: true
prod:
showFeatureXYZ: false
ãã匷åãªãªãã·ã§ã³ã¯ãåãŠãŒã¶ãŒã®ç¹æ§ã¹ã€ããã®å€ãèšå®ã§ããåçã·ã¹ãã ã®ååšãšãåŸæ¥å¡ãç¹æ§ã¹ã€ããã®å€ãåçã«å€æŽããŠç¹å®ã®ãŠãŒã¶ãŒã®ç¹å®ã®ç¹æ§ãæå¹ãŸãã¯ç¡å¹ã«ããããšãã§ãããŠãŒã¶ãŒWebã€ã³ã¿ãŒãã§ã€ã¹ã®ååšã§ãå³ã«ç€ºãã 6ã
ããšãã°ãéçºäžãæåã¯äŒç€Ÿã®åŸæ¥å¡ã«ã®ã¿ããã€ãã®ç¹æ§ãèš±å¯ã§ããŸãã æ©èœãå®æãããããã¹ãŠã®ãŠãŒã¶ãŒã®1ïŒ ã«å¯ŸããŠæå¹ã«ããããšãã§ããŸãã ãã¹ãŠãæ£åžžã§ããã°ã10ïŒ ã®ãŠãŒã¶ãŒã«èš±å¯ãäžãã次ã«50ïŒ ã«èš±å¯ãäžããããšãã§ããŸãã ããæç¹ã§åé¡ãçºçããå ŽåãWebããŒã¹ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠãåé¡ã®æ©èœããªãã«ããããšãã§ããŸãã ããã©ãŒãã³ã¹ã¹ã€ããã¯ããã³ãããŒã¯ã«ã䜿çšã§ããŸãã
å³ 6. LinkedIn XLNTæ©èœãªãããŒã«ã䜿çšããŠãç±³åœãŠãŒã¶ãŒã®1ïŒ ã«å¯ŸããŠäžéšã®æ©èœãæå¹ã«ãã
ãã«ã¯ããã/ãœãŒã¹ã³ãŒãããŒã¹ã®ããŒãã£ã·ã§ã³åå²
è¹è¶ã§ã¯ãéå£ã䜿çšããŠãæç±ãããé²æ°Žã³ã³ããŒãã¡ã³ããäœæããŸãã ãã®ãããã±ãŒã¹ãç Žå£ããããšã1ã€ã®ã³ã³ããŒãã¡ã³ãã®ã¿ã殺å°ããŸãã
åæ§ã«ããœãããŠã§ã¢ã§ã¯ããœãŒã¹ã³ãŒãããŒã¹ãåé¢ãããã³ã³ããŒãã³ãã«åå²ããããšãã§ããŸãããã®ãããåé¡ãçºçããå Žåããã®ã³ã³ããŒãã³ãå ã§ã®ã¿åäœããŸãã
ãœãŒã¹ã³ãŒãããŒã¹ã®ææªã®ç¹æ§ã¯å€§ããããããããœãŒã¹ã³ãŒãããŒã¹ã®ããŒãã£ã·ã§ã³åå²ã¯éèŠã§ãã ããã°ã©ã ã倧ããã»ã©ãéçºã¯é ããªããŸãã ããšãã°ãSteve McConnellã®èæžãPerfect CodeãïŒSteve McConnellã®ãCode Completeãã2004幎ïŒã®ã¿ãã¬ãããèããŠã¿ãŸãããããããžã§ã¯ãã®ãµã€ãºïŒã³ãŒãè¡ïŒãšãšã©ãŒå¯åºŠïŒã³ãŒã1000è¡ãããã®ãšã©ãŒæ°ïŒã®é¢ä¿ã瀺ããŸãã
ããã§ã¯ãã³ãŒãããŒã¹ãå¢å ããã«ã€ããŠããšã©ãŒã®å¯åºŠãå¢å ããããšãããããŸãã ãœãŒã¹ã³ãŒãããŒã¹ã2åã«å¢å ããå Žåããšã©ãŒã®æ°ã¯4ã8åã«å¢å ããŸãã ãŸãã50äžãè¶ ããã³ãŒãè¡ãåŠçããå¿ èŠãããå Žåããšã©ãŒå¯åºŠã¯10è¡ããšã«1ã€ã®ãšã©ãŒã«éããå¯èœæ§ããããŸãã
ãã®çç±ã¯ãã¢ã³ãã£ã»ãã³ãã®èæžã§ãã ãVenkat Subramaniamãã®åŒçšã䜿çšãããšãé«éãœãããŠã§ã¢éçºã«é¢ãããšãã¥ãŒãã ããã§ãã ã-ããœãããŠã§ã¢éçºã¯ãçµ±åéçºç°å¢ãèšèšããŒã«ã§ã¯ãªããã©ã®ã¹ããŒã ã§ãè¡ãããŸããã ããã¯ããªãã®é ã®äžã§èµ·ãããŸããã æ°åäžã®ã³ãŒãè¡ãå«ããœãŒã¹ã³ãŒãããŒã¿ããŒã¹ã¯ã人ãå¿ã«çããŠããããšãã§ãããã®ãã¯ããã«è¶ ããŠããŸãã ãã®ãããªå·šå€§ãªããã°ã©ã ã®ãã¹ãŠã®çžäºäœçšãšãããããã¯ãèæ ®ããããšã¯äžå¯èœã§ãã ãããã£ãŠãããã°ã©ã ãåå²ããŠãç¹å®ã®ç¬éã«ããã°ã©ã ã®äžéšã«éäžããä»ã®ãã¹ãŠãå®å šã«æ®ãããšãã§ããããã«ããæŠç¥ãå¿ èŠã§ãã
ã³ãŒãããŒã¹ãåå²ããã«ã¯ãäž»ã«2ã€ã®æŠç¥ããããŸãã1ã€ã¯äººçºçãªæ©èœãžã®äŸåé¢ä¿ã®å°å ¥ã§ããããã1ã€ã¯ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®å°å ¥ã§ãã
人工çãªæ©èœãžã®äŸåæ§ã®èãæ¹ã¯ãä»ã®ã¢ãžã¥ãŒã«ã®ãœãŒã¹ã³ãŒãã«äŸåãã代ããã«ïŒãœãŒã¹ã®äŸåæ§ïŒãä»ã®ã¢ãžã¥ãŒã«ã«ãã£ãŠçºè¡ãããããŒãžã§ã³ç®¡çããã人工çãªæ©èœã«åŸãããã«ã¢ãžã¥ãŒã«ãå€æŽããããšã§ãïŒäººå·¥çãªæ©èœãžã®äŸåæ§ïŒã ããªãã¯ãã§ã«ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã§ãããããŠãããããããŸããã JavaScriptããã°ã©ã ã§jQueryã䜿çšããããJavaã³ãŒãã§Apache Kafkaã䜿çšããã«ã¯ã察å¿ãããªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã®ãœãŒã¹ã³ãŒãã«äŸåããããããã®ã©ã€ãã©ãªãæäŸããããŒãžã§ã³ç®¡çããã人工å±æ§ïŒjquery-1.11-min.jsãŸãã¯kafkaãªã©ïŒã«äŸåããŸã-clients-0.8.1.jarã åã¢ãžã¥ãŒã«ã®åºå®ããŒãžã§ã³ã䜿çšãããŠããå Žåãéçºè ããã®ãããªã¢ãžã¥ãŒã«ã«å¯ŸããŠè¡ã£ãå€æŽã¯ãæ瀺çã«æŽæ°ãéžæãããŸã§åœ±é¿ããŸããã ãã®ã¢ãããŒãã¯ãè¹è¶ã®éå£ã®ããã«ãä»ã®ã³ã³ããŒãã³ãã®åé¡ããããªããéé¢ããŸãã
ãã€ã¯ããµãŒãã¹ã®èãæ¹ã¯ããã¹ãŠã®ã¢ãžã¥ãŒã«ãåãããã»ã¹ã§åäœããæ©èœåŒã³åºããä»ããŠéä¿¡ããåäžã®ã¢ããªã·ãã¯ã¢ããªã±ãŒã·ã§ã³ãããåã¢ãžã¥ãŒã«ãåå¥ã®ããã»ã¹ã§åäœããåé¢ãµãŒãã¹ã«åãæ¿ããããšã§ããã¡ãã»ãŒãžã ãµãŒãã¹ã®å¢çã¯ãœãããŠã§ã¢æææš©ã®å¢çãšããŠæ©èœããããããã€ã¯ããµãŒãã¹ã¯ããŒã ãç¬ç«ããŠäœæ¥ã§ããããã«ããåªããæ¹æ³ã§ãã ãã€ã¯ããµãŒãã¹ã䜿çšãããšãããŸããŸãªãã¯ãããžãŒã䜿çšããŠè£œåãäœæããããšãã§ããŸãïŒããšãã°ã1ã€ã®ãã€ã¯ããµãŒãã¹ãPythonã§ãå¥ã®ãã€ã¯ããµãŒãã¹ãJavaã§ã3ã€ç®ãRubyã§ïŒãåãµãŒãã¹ãç¬ç«ããŠè©äŸ¡ã§ããŸãã
人工çãªæ©èœãšãã€ã¯ããµãŒãã¹ãžã®äŸåæ§ã«ã¯å€ãã®å©ç¹ããããŸãããå€ãã®é倧ãªæ¬ ç¹ãå«ãŸããŠããŸããã©ã¡ãã®æ¹æ³ããåè¿°ã®ç¶ç¶ççµ±åã®ã¢ã€ãã¢ãšççŸããŠæ©èœããŸãã ãã¬ãŒããªãã®è©³çŽ°ã«ã€ããŠã¯ããã³ãŒãããŒã¹ããã€ã¯ããµãŒãã¹ãšã¢ãŒãã£ãã¡ã¯ãã«åå²ãããïŒã ãã€ã¯ããµãŒãã¹ãšäººå·¥ç¹æ§ã¢ãããŒãã«ããããœãŒã¹ã³ãŒãããŒã¹ã®åé¢ãïŒãåç §ããŠãã ããã
3ã€ã®è³ªå
ã»ãã¥ãªãã£ã¡ã«ããºã ã䜿çšãããšãããè¿ éã«ç§»è¡ã§ããŸããããã¹ãŠã®è²»çšãæ¯æãå¿ èŠããããŸããéçºãå®éã«é ããªãå Žåãäºåã®æéãå¿ èŠã§ãã çŸåšã®è£œåã®ã»ãã¥ãªãã£ã¡ã«ããºã ã«è²»ãã䟡å€ãããæéã決å®ããæ¹æ³ã¯ïŒ 決å®ãäžãã«ã¯ã次ã®3ã€ã®è³ªåãããå¿ èŠããããŸãã
â¢åé¡ã®ã¡ã«ããºã ã«ãã£ãŠå¯ŸåŠãããåé¡ã®ã³ã¹ãã¯ãããã§ããïŒ
â¢ã»ãã¥ãªãã£ã¡ã«ããºã èªäœã®äŸ¡æ Œã¯ãããã§ããïŒ
â¢ãããã®åé¡ã¯ã©ã®çšåºŠçºçããå¯èœæ§ããããŸããïŒ
ãã®èšäºãçµäºããããã«ãäžè¬çãªãœãªã¥ãŒã·ã§ã³ã§äžèšã®3ã€ã®è³ªåãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸããããèªåãã¹ããè¡ããã©ããã§ãã
é åºãªãã¹ãæ奜家ã®äžã«ã¯ããã¹ãŠã«å¯ŸããŠãã¹ããäœæãã100ïŒ ã®ã³ãŒãã«ãã¬ããžãç®æããŠåªåããå¿ èŠããããšäž»åŒµãã人ãããŸãããçŸå®ã®äžçã§ã¯ããã«è¿ããã®ãèŠãããšã¯éåžžã«ãŸãã§ãã HelloãStartupãæžãããšããGoogleãFacebookãLinkedInãTwitterãInstagramãStripeãGitHubãªã©ãéå»10幎éã§æãæåããã¹ã¿ãŒãã¢ããã®éçºè ã«ã€ã³ã¿ãã¥ãŒããŸããã ç¹ã«åæã®æ®µéã§ããã§ãã¯ãããã®ãšãã§ãã¯ããªããã®ã«ã€ããŠãå šå¡ãæ éã«èãæãã劥åæ¡ãäœæããããšãå€æããŸããã
ãããã®3ã€ã®è³ªåãæ€èšããŠãã ããã
èªååããããã¹ãã®äœæãšä¿å®ã®ã³ã¹ãã¯ãããã§ããïŒ
åäœãã¹ãã®æºåã¯çŸåšå®äŸ¡ã§ãã é«å質ã®ãã¹ããã©ãããã©ãŒã ã¯ãã»ãŒãã¹ãŠã®ããã°ã©ãã³ã°èšèªã§äœ¿çšã§ããŸãã ã»ãšãã©ã®å»ºç©ã·ã¹ãã ã«ã¯ãåäœãã¹ãã®ãµããŒããçµã¿èŸŒãŸããŠãããéåžžã¯è¿ éã«æ©èœããŸãã äžæ¹ãçµ±åãã¹ãïŒç¹ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãã¹ãïŒã§ã¯ãã·ã¹ãã ã®éèŠãªéšåã䜿çšããå¿ èŠããããŸããã€ãŸããæ§æã«è²»çšãããããäœæ¥ãé ããä¿å®ãé£ãããªããŸãã
ãã¡ãããçµ±åãã¹ãã§ã¯ãåäœãã¹ãã§ã¯èŠèœãšãããå€ãã®ãšã©ãŒããã£ããã§ããŸãã ããããã»ããã¢ãããšå®è£ ã¯éåžžã«é«äŸ¡ã§ãããããã»ãšãã©ã®ã¹ã¿ãŒãã¢ããã¯åºå®è³ç£ãéåžžã«è€éãªåäœãã¹ãã«æ¯ãåããéåžžã«äŸ¡å€ã®ããéèŠãªçµ±åãã¹ãã®å°ããªã»ããã«å°ãã ãæè³ããããšãå€æããŸããã
èªååããããã¹ãããªãå Žåã«åæ Œã§ãããšã©ãŒã®ã³ã¹ãã¯ãããã§ããïŒ
1é±é以å ã«æšãŠãå¯èœæ§ãé«ããããã¿ã€ããäœæããå Žåããšã©ãŒã®ã³ã¹ãã¯äœãããããã¹ãã«æè³ãã䟡å€ã¯ãããããããŸããã äžæ¹ãæ¯æãåŠçã·ã¹ãã ãäœæããå Žåããšã©ãŒã®ã³ã¹ãã¯éåžžã«é«ããªããŸãããã¡ãããã¯ã©ã€ã¢ã³ãã®ã¯ã¬ãžããã«ãŒããã2ååŒãèœãšããããééã£ãéé¡ã§æäœãããããããšã¯æãŸãããããŸããã
ç§ãéçºè ãšè©±ãåã£ãæ°èäŒæ¥ã¯ãã¹ãã®ããæ¹ãç°ãªããŸããããã»ãšãã©å šå¡ãã³ãŒãã®ããã€ãã®éšåïŒéåžžã¯æ¯æããã»ãã¥ãªãã£ãããŒã¿ã¹ãã¬ãŒãžïŒãèªã決å®ããŸããããéåã¯åã«å®¹èªã§ããªããããæ·±å»ãªãã§ãã¯ãè¡ãããŸããæåéãåæ¥ããã
èªåãã¹ããªãã§ãšã©ãŒãçºçããå¯èœæ§ã¯ã©ã®ãããã§ããïŒ
äžã«ç€ºããããã«ãã³ãŒãããŒã¹ã倧ãããªããšããšã©ãŒã®å¯åºŠãå¢å ããŸãã åãããšããããŒã ã®èŠæš¡ãšãããžã§ã¯ãã®è€éãã®å¢å€§ã«ãåœãŠã¯ãŸããŸãã
10,000è¡ã®ã³ãŒããæã€2人ã®ããã°ã©ãã®ããŒã ã®å Žåããã¹ãã®äœæã«è²»ããæéã®ããã10ïŒ ã§ååã§ãã 20人ã®ããã°ã©ããš100,000è¡ã®ã³ãŒãã䜿çšãããšãããã«ã¯20ïŒ ã®æéããããã100äžè¡ã®200人ã®ã³ãŒãéçºè ã®ããŒã ã§ã¯50ïŒ ãå¿ èŠã«ãªããŸãã
ããã°ã©ã ã®ãµã€ãºãšéçºè ã®æ°ãå¢ããã«ã€ããŠããã¹ãã«ããå€ãã®æéãè²»ããå¿ èŠããããŸãã