ãœãããŠã§ã¢éçºã®è€éããå¢ãäžã§ããããã®ã³ã°ã¯ããžãã¹ããŒãœã³ã«ãšã£ãŠé¿ããŠéããªãããã»ã¹ã§ããæ¬çš¿ã§ã¯ããããã«ãŒãã®åºæ¬ããå¿çšãŸã§ãããããã解説ããŠãããŸãããããã«ãŒã®åœ¹å²ãç解ããæ§ã ãªãã°ã«å¯Ÿå¿ããæ¹æ³ããããŠå¹æçãªããããã³ã°æŠç¥ãåŠã¶ããšã§ãéçºå¹çãåäžãããŸããããææ°ã®ããŒã«çŽ¹ä»ããé©åãªãããã«ãŒã®éžã³æ¹ãŸã§ãæ¬ã¬ã€ããçããã®èª²é¡è§£æ±ºã®æå©ããšãªãããšã§ãããã
ãããã«ãŒãšã¯ïŒåºæ¬çãªç解ãæ·±ãã
ãããã«ãŒã¯ãããã°ã©ã éçºã®ããã»ã¹ã«ãããŠãã³ãŒãå ã®ãšã©ãŒãäžå ·åãç¹å®ããä¿®æ£ããããã®ããŒã«ã§ããéçºè ã«ãšã£ãŠã¯æ¬ ãããªãååšã§ãããããè€éã§æŽç·ŽããããœãããŠã§ã¢ã補é ããéçšã§ãã®äŸ¡å€ãé«ãŸã£ãŠããŸãã
å¹ççãªããããã³ã°ã¯ã質ã®é«ããœãããŠã§ã¢ã®äŸçµŠãå¯èœã«ãããšåæã«ãã¡ã³ããã³ã¹ã³ã¹ãã®åæžã«ãå¯äžããŸãããŸãããããã«ãŒã¯éçºã®ã¹ããŒããåäžãããããçããµã€ã¯ã«ã§ã®ãªãªãŒã¹ãå®çŸãããéèŠãªèŠçŽ ã§ãã
ãã®èšäºã§ã¯ããããã«ãŒã®åºæ¬çãªæŠå¿µãã¯ããããã®æŽå²ã圹å²ããããŠããã°ã©ãã³ã°ã«ãããéèŠæ§ã«ã€ããŠè©³ããèŠãŠãããŸãã
ãããã«ãŒã®æŽå²ãšãã®é²å
ãããã«ãŒã¯ããã°ã©ãã³ã°èšèªãšå ±ã«é²åããŠããŸãããåæã®ã³ã³ãã¥ãŒãã£ã³ã°ã§ã¯ãç©ççãªæ¥ç¶ãå€æŽããããšã§ãããã°ãè¡ã£ãŠããããšãããçŸä»£ã§ã¯é«åºŠãªã€ã³ã¿ã©ã¯ãã£ããªããŒã«ãžãšçºå±ããŸããã
ããã¹ãããŒã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ããå§ãŸããã°ã©ãã£ã«ã«ãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæã€ãããã«ãŒãäž»æµãšãªãããããã®ã³ã°ã®ããã»ã¹ãããçŽæçã§ãããããããªããŸããããã®é²åã¯ãããè€éãªãœãããŠã§ã¢ã®éçºãä¿é²ããŸããã
è¿ä»£çãªãããã«ãŒããŒã«ã¯ãã¹ãããå®è¡ããã¬ãŒã¯ãã€ã³ãèšå®ãå€æ°ã®ç£èŠãªã©å€æ§ãªæ©èœãæäŸããŠãããéçºè ãããè¿ éã«åé¡ãç¹å®ã§ããããã«ãªããŸããã
ãããã®ã³ã°ã®åºç€ç¥è
ãããã®ã³ã°ãšã¯ãããã°ã©ã ã®ã³ãŒãã«ååšãããã°ãäžå ·åãèŠã€ãåºããŠä¿®æ£ããããã»ã¹ã§ãããã®ããã»ã¹ã¯ãããã°ã©ã ãå®å®ããããšã©ãŒãæžãããæçµçãªã·ã¹ãã ã®ä¿¡é Œæ§ãåäžãããããã«äžå¯æ¬ ã§ãã
ããããã³ã°ã§ã¯ãã³ãŒãã1è¡ãã€ç¢ºèªããããç¹å®ã®æ¡ä»¶ã§ãšã©ãŒãçºçããç®æãèŠã€ãããããŸãããŸãããœãããŠã§ã¢ã®åäœã芳å¯ããåé¡ã®æ ¹æ¬çãªåå ãç¹å®ããããšãå«ãŸããŸãã
çŸä»£ã®ãããã«ãŒã¯ãæççãªæ å ±ããåé¡ç¹ã解æããããã®åŒ·åãªæ©èœãæäŸããŠãããéçºè ãåé¡ãçŽ æ©ã解決ã§ãããããµããŒãããŠããŸãã
ãã°ãšã¯äœãïŒãã°ã®çš®é¡
ãã°ã¯ãããã°ã©ã ã®åäœã«äºæãã¬ãšã©ãŒãåŒãèµ·ãããœãããŠã§ã¢å ã®åé¡ãæããŸãããããã¯ããã°ã©ã ã®åäœã«åœ±é¿ãäžããå¯èœæ§ãããããŠãŒã¶ãŒäœéšãæãªãåå ãšãªããŸãã
ãã°ã«ã¯æ§ã ãªçš®é¡ããããæ§æãšã©ãŒãè«çãšã©ãŒãå®è¡æãšã©ãŒãªã©ãå«ãŸããŸãããããã®ãã°ã¯ããããç°ãªã£ã圱é¿ãåãŒãããããã¬ãŒã掻çšããŠç¹å®ãšä¿®æ£ãè¡ãå¿ èŠããããŸãã
éçºããã»ã¹ã«ãããæ©æã®ãããã®ã³ã°ã¯ãã°ã®çºèŠãšä¿®æ£ã容æã«ããã³ã¹ããæããããšãã§ãããããå¹æçãªãã°ãã©ããã³ã°ã·ã¹ãã ã®å®æœãæšå¥šãããŸãã
ãããã«ãŒã®åœ¹å²ãšããã°ã©ãã³ã°ã«ãããéèŠæ§
ãããã«ãŒã®äž»ãªåœ¹å²ã¯ãããã°ã©ã ãæ£åžžã«æ©èœããããã«ãã°ãç¹å®ããããã解æ¶ããããšã§ãããã®ããŒã«ããªããã°ãããã°ã©ããŒã¯ææ¢ãã§åé¡ãæ¢ãåºããé·æéã«ããããããã°ã匷ãããããããããŸããã
ãŸãããããã«ãŒã¯ã³ãŒãã®å質åäžã«ãå¯äžããŸãããœãããŠã§ã¢ã®å質ã¯ãã®æ©èœæ§ã ãã§ãªããä¿¡é Œæ§ãã¡ã³ããã³ã¹ã®å®¹æãã«ãå·Šå³ãããããããããã«ãŒã®äœ¿çšã¯äžå¯é¿ãšèšããã§ãããã
çµå±ã®ãšããããããã«ãŒã¯éçºè ã«ãšã£ãŠéèŠãªããŒã«ã§ãããããã°ã©ãã³ã°ã«ãããå¹çãšå質ã®äž¡é¢ãæ¯ããååšã§ããããã«ãããããé«å質ã®ãœãããŠã§ã¢ãçºå±ãç¶ããããšãã§ããã®ã§ãã
ãããã«ãŒã®äž»èŠæ©èœè§£èª¬
ãããã«ãŒã¯ããœãããŠã§ã¢éçºã«ãããéèŠãªããŒã«ã§ãããããã°ã©ã ã®ãã°ãç¹å®ãä¿®æ£ããããã«äœ¿ãããŸããäž»èŠæ©èœã®äžã€ã«ããã¬ãŒã¯ãã€ã³ãã®èšå®ããããŸããããã«ãããéçºè ã¯ããã°ã©ã ã®å®è¡ãä»»æã®å°ç¹ã§äžæåæ¢ãããå€æ°ã®ç¶æ ãããã°ã©ã ã®æåã芳å¯ããããšãã§ããŸãã
ãŸããã¹ãããå®è¡æ©èœãçšããŠãã³ãŒãã®äžè¡ãã€ãé çªã«å®è¡ããããã°ã©ã ã®æµãã詳现ã«è¿œè·¡ããããšãã§ããŸããããã«ãããäºæãã¬æåãå€æ°ã®å€ã®å€åãçºèŠãããããªããŸãã
ããã«ããããã«ãŒã¯ã³ãŒã«ã¹ã¿ãã¯ã®è¡šç€ºããµããŒãããŠãããè€æ°ã®é¢æ°ãã¡ãœãããé£æºããè€éãªããã°ã©ã å ã§ãã©ã®é¢æ°ããã©ã®é¢æ°ãåŒã³åºããããããšãã£ãæ å ±ã容æã«ç¢ºèªããããšãå¯èœã§ãã
å¹ççãªãããã®ã³ã°ããã»ã¹ã®æ§ç¯
ãããã®ã³ã°ãå¹çåããããã«ã¯ãæŠç¥çãªã¢ãããŒããæ±ããããŸããåãã«ãããžã§ã¯ãå šäœã®ãããã°èšç»ãç«ãŠãäœãããã€ãã©ã®ããã«ãããã°ãããã決å®ããããšãéèŠã§ããèšç»ãããšã«ãå ·äœçãªãããã°ã¿ã¹ã¯ãžãšèœãšã蟌ã¿ãŸãã
ãã®éã«ãèªååããããã¹ããšçµã¿åãããããšã«ãã£ãŠãããéãããããŠç¢ºå®ã«åé¡ãèŠã€ããããšãã§ããŸãããŸããããŒã å ã§ãããã°äœæ¥ãå ±æããããšã§ãããŠããŠã®äŒéãšå ±æãå³ããåã ã®ãããã°ã¹ãã«ã®åäžãç®æããŸãã
å®æçãªã³ãŒãã¬ãã¥ãŒãè¡ãããããã°ãå¿ èŠã«ãªãåã«åé¡ãèŠã€ãåºãããšããŸãæå¹ã§ãããã®ããã»ã¹ãéããŠããããã®ã³ã°äœæ¥èªäœãæžããããšãç®æšã§ãã
ãããã«ãŒã掻çšããåé¡è§£æ±ºãã¯ããã¯
åé¡è§£æ±ºã«éããŠã¯ããŸãã¯ãã°ã®åçŸãéµãæ¡ããŸããäžè²«ããŠåé¡ãçºçããã·ããªãªãç¹å®ãããã®ã·ããªãªããããã¬ã§å®è¡ããªãããã°ã®æ ¹æ¬åå ãæ¢ããŸãã
ãã®ã³ã°ã¯ããããã«ãŒãšçµã¿åãããŠäœ¿çšããããšã§ããã°ã®ããã³ãŒãã®å®è¡ãã¹ãå¯èŠåã§ããåé¡è§£æ±ºãžã®ç³žå£ãæŽãã®ã«åœ¹ç«ã¡ãŸããé©åãªãã°ã¡ãã»ãŒãžãæ¿å ¥ããããšã§ããããã°æã«äœãèµ·ãã£ãŠãããã®ç解ãæ·±ããããšãã§ããŸãã
ããã«ãæ¡ä»¶ä»ããã¬ãŒã¯ãã€ã³ãã掻çšããããšã«ãããç¹å®ã®æ¡ä»¶ãæç«ããæã®ã¿åŠçãåæ¢ãããããšãã§ããŸããããã¯ãç¹å®ã®ç¶æ³äžã§ã®ã¿çºçãããã°ã远跡ããå Žåã«éåžžã«æçšã§ãã
ã·ããªãªå¥ããããã³ã°ææ³
ç°ãªãçš®é¡ã®ãã°ã«ã¯ç°ãªãã¢ãããŒããå¿ èŠã§ããäŸãã°ãããŒãé åã®äžæ£ãªæäœãçãããå Žåã¯ãã¡ã¢ãªã®ç£èŠæ©èœãæã£ããããã«ãŒã䜿ã£ãŠãããŒãã®ç¶æ ããã§ãã¯ããŸãã
ãŸããããã©ãŒãã³ã¹ã«é¢ããåé¡ã§ã¯ããããã¡ã€ã©ãŒãçµã¿åãããŠäœ¿çšãããšå¹æçã§ãããããã«ãŒã䜿ã£ãŠè©³çŽ°ã«åé¡ãææ¡ããäžã§ããããã¡ã€ã©ãŒã§ã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ç¶æ³ãåæãããšãããã«ããã¯ãšãªã£ãŠããéšåãç¹å®ãããããªãã§ãããã
ãããã¯ãŒã¯éä¿¡ã®åé¡ãèµ·ããŠããå Žåã¯ããããã¯ãŒã¯ãã©ãã£ãã¯ãç£èŠããããŒã«ãšäœµçšããŠãããŒã¿ã®éåä¿¡ç¶æ³ã詳现ã«èª¿æ»ããŸãããã®ããã«ãã·ããªãªã«å¿ããããããã³ã°ææ³ã身ã«ä»ããããšã§ãããè¿ éãã€æ£ç¢ºã«åé¡ã解決ã§ããããã«ãªããŸãã
ãããã«ãŒã®çš®é¡ãšããããã®ç¹åŸŽ
éçºè ãã³ãŒãã®ãšã©ãŒãç¹å®ãä¿®æ£ããããã«ã¯ãå¹æçãªãããã¬ã®éžæãéèŠãšãªããŸãããããã¬ã¯è€æ°ã®ã¿ã€ããååšãã䜿çšç°å¢ãããŒãºã«ãã£ãŠéžã¶ã¹ããã®ãç°ãªããŸãããã®èšäºã§ã¯ãåãããã¬ã®çš®é¡ãšãã®ç¹åŸŽã«ã€ããŠè§£èª¬ããŸãã
ãœãŒã¹ã¬ãã«ãããã«ãŒãšãã·ã³ã¬ãã«ãããã«ãŒ
ãœãŒã¹ã¬ãã«ãããã«ãŒã¯ãé«ã¬ãã«ãªèšèªã§æžããããœãŒã¹ã³ãŒãã«çŽæ¥ã¢ã¿ããããŠäœæ¥ããã¿ã€ãã®ãããã¬ã§ãããã®ã¿ã€ãã®ãããã¬ã¯ãã³ãŒãã®å¯èªæ§ãä¿ã¡ãªãããããã°ãè¡ãããããå€ãã®éçºè ã«å¥œãŸããŸãã
ãã·ã³ã¬ãã«ãããã«ãŒã¯ãæ©æ¢°èªãŸãã¯ã¢ã»ã³ããªèšèªã®ã¬ãã«ã§åäœããäœã¬ãã«ã®ããŒã¿ãããã»ããµã®ç¶æ ãçŽæ¥æäœããŠãããã°ãè¡ããã®ã§ãããã®ã¿ã€ãã¯ããã€ã¯ãã³ã³ãããŒã©ã®ãã¡ãŒã ãŠã§ã¢ã®ãããã°ãªã©ããã詳现ãªã³ã³ãããŒã«ãå¿ èŠãªæã«å©çšãããŸãã
åã ã®ãããã«ãŒã¯ç¹å®ã®ç®çãšç°å¢ã«é©ããŠãããéçºè ã¯ãããžã§ã¯ãã®èŠæ±ã«å¿ããŠé©åãªãããã¬ãéžæããããšãæ±ããããŸãã
èšèªåºæã®ãããã«ãŒãšæ±çšãããã«ãŒ
èšèªåºæã®ãããã«ãŒã¯ãç¹å®ã®ããã°ã©ãã³ã°èšèªåãã«èšèšãããŠãããã®ã§ãJavaScript, Python, Rubyãªã©ã®èšèªã§æžãããã³ãŒãã®ãããã°ã«æé©ã§ãããããã®ãããã¬ã¯èšèªã®æ©èœãæ·±ãç解ããŠãããèšèªåºæã®ãšã©ãŒã¡ãã»ãŒãžãæ©èœãå©çšããŠå¹ççãªãããã°ãå¯èœã«ããŸãã
äžæ¹ã§ãæ±çšãããã«ãŒã¯è€æ°ã®èšèªã«å¯Ÿå¿ããŠãããå¹ åºãéçºç°å¢ã§äœ¿çšã§ããŸããæ±çšãããã«ãŒã¯ãå€èšèªãããžã§ã¯ããç°ãªãèšèªã䜿ãããŒã ã¡ã³ããŒéã§ã®å ±æã容æã«ãªãé·æãæã£ãŠããŸãã
ãããžã§ã¯ãã®ç¹æ§ãéçºè ã®å¥œã¿ã«å¿ããŠãæé©ãªãããã¬ãéžã¶ããšãã³ãŒãã£ã³ã°ã®å¹çåã«ç¹ãããŸãã
ã°ã©ãã£ã«ã«ãªã€ã³ã¿ãŒãã§ãŒã¹ãšCLI
ãããã¬ã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã«ãããŠã倧ããç°ãªããŸããã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ïŒGUIïŒãæã€ãããã¬ã¯ãèŠèŠçã«çŽæçãªæäœãå¯èœã§ããã¬ãŒã¯ãã€ã³ãã®èšå®ãå€æ°ã®ç£èŠãç°¡åã«è¡ããŸãã
äžæ¹ã§ãã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ïŒCLIïŒãæã€ãããã«ãŒã¯ãããã¹ãããŒã¹ã®æäœã§ãããGUIããã軜éã§é«åºŠãªèšå®ãå¯èœã§ããããã©ã³éçºè ã®éã§ã¯ãCLIãããã¬ã®æ¹ãæäœã®èªç±åºŠãé«ã奜ãŸããããšããã°ãã°ãããŸãã
åã ã®éçºè ã®å¥œã¿ãšçšéã«ãã£ãŠéžã¶ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ãå€ãããŸãããå€ãã®çŸä»£ã®ãããã¬ã¯äž¡æ¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŠããããšãäžè¬çã§ãã
ãªãŒãã³ãœãŒã¹ãšåçšãããã«ãŒ
ãªãŒãã³ãœãŒã¹ãããã«ãŒã¯ããœãŒã¹ã³ãŒããå ¬éãããŠãããã³ãã¥ããã£ã®ãµããŒãã«ãã£ãŠæé·ãç¶ãããããã¬ã§ããç¡æã§ã¢ã¯ã»ã¹ã§ããã«ã¹ã¿ãã€ãºãå¯èœãªãããæè»æ§ãšã³ã¹ãã®é¢ã§é åçã§ãã
å¯Ÿç §çã«ãåçšãããã«ãŒã¯äŒæ¥ã«ãã£ãŠéçºããããµããŒããæ©èœã®æ¡åŒµæ§ã«åªããŠããŸããã䜿çšããéã«ã¯ã©ã€ã»ã³ã¹æãçºçããããšãå€ãã§ããå°éçãªæ©èœãé«åºŠãªãµããŒããå¿ èŠãšãããããžã§ã¯ãã«ã¯ãåçšãããã¬ã®å©çšãé©ããŠããå ŽåããããŸãã
ã©ã®ãããã«ãŒã䜿çšãããã¯ããããžã§ã¯ãã®äºç®ãèŠä»¶ãéçºè ã®æè¡çãªãã€ã³ãã»ããã«ãã£ãŠç°ãªããŸããé·æã«ããããµããŒããå é²çãªæ©èœãèŠæ±ãããªãå Žåã«ã¯ããªãŒãã³ãœãŒã¹ãããã«ãŒãç¹ã«æçšã§ãã
å¹æçãªããããã³ã°æŠç¥
ãœãããŠã§ã¢éçºã«ãããŠããããã³ã°ã¯é¿ããŠéããªãå·¥çšã§ããå¹æçãªããããã³ã°æŠç¥ã身ã«ã€ããããšã§ãåé¡ãçŽ æ©ã解決ããçç£æ§ã®åäžã«ã€ãªãããŸãããã®èšäºã§ã¯ããã°ãå¹çè¯ãç¹å®ããä¿®æ£ããããã®æŠç¥ã«çŠç¹ãåœãŠãŠãããŸãã
åªããããããã³ã°æŠç¥ã¯ãæ確ãªããã»ã¹ãšæ¹æ³è«ãæã€ããšãéèŠã§ãããã®ã¢ãããŒãã«ã¯ãåé¡ã®åçŸæ§ã確ä¿ããããšãé©åãªããŒã«ã®éžæããããŠããŒã éã®ã³ãã¥ãã±ãŒã·ã§ã³ãå«ãŸããŸããããã§ã¯ããã®å ·äœçãªæ®µéãããã€ã玹ä»ããŸãã
ãŸãã¯ãäžè¬çãªããããã³ã°ã®æŠå¿µãç解ãããããå®éã®ãã°ä¿®æ£ã®ã»ãã·ã§ã³ã«ã©ã®ããã«é©çšããããèŠãŠãããŸãããããããšãããè¿ éãã€å¹æçã«åé¡ã解決ããããšãå¯èœã«ãªããŸãã
ããããã³ã°ã»ãã·ã§ã³ã®èšç»
ããããã³ã°ã»ãã·ã§ã³ãå§ããåã«ãèšç»ãç«ãŠãããšãéèŠã§ãããŸããåé¡ã®ç¯å²ãæ確ã«ç¹å®ããããã解決ããããã«å¿ èŠãªãªãœãŒã¹ãšæéãèŠç©ãããŸããèšç»ã«ã¯ãã©ã®ãã°ãåªå çã«åãçµããã®å€æãå«ãŸããŸãã
ã»ãã·ã§ã³ã®å¹çãæ倧éã«ããããã«ã¯ãåé¡ã®ãã°ããšã©ãŒã¡ãã»ãŒãžã®åéãé¢é£ãããœãŒã¹ã³ãŒãã®ã¬ãã¥ãŒããããŠå¯èœã§ããã°ãã°ãçºçããç°å¢ã®åçŸãå¿ èŠã§ããããã«ãããåé¡ã«çŽé¢ããæç¹ã§ããã«åããããããšãã§ããŸãã
ãŸããå ·äœçãªç®æšãèšå®ããããšã§ãããããã³ã°ã®ããã»ã¹ã«çŠç¹ãåœãŠãããšãã§ããŸããããã«ã¯ããã°ã®ä¿®æ£ã ãã§ãªããå°æ¥çãªãã°ã®äºé²ã«ã€ããŠãèæ ®ã«å ¥ããã¹ãã§ãã
ãã°ä¿®æ£ã®ã¢ãããŒãæ¹æ³
ãã°ãä¿®æ£ãããšãã«ã¯æ éãªã¢ãããŒããæ±ããããŸãããã°ã®åå ãçªãæ¢ããããã«ã¯ãã³ãŒãã段éçã«èª¿æ»ããã·ã¹ãã ã®ãã®ä»ã®éšåã«åœ±é¿ãäžããã«å€æŽãå ããå¿ èŠããããŸãã
ä¿®æ£ãè¡ãåã«ããã¹ãã±ãŒã¹ãäœæããŠãã°ãåçŸãããããšãéèŠã§ããããã«ãããä¿®æ£åŸã«å€æŽãæåŸ éãã«æ©èœãããã確èªã§ããŸãããŸãããã¹ãã±ãŒã¹ã¯å°æ¥ã®ååž°ãã¹ãã«ãããŠã圹ç«ã¡ãŸãã
ä¿®æ£çãé©çšããåŸã¯ããã®å€æŽãä»ã®ã·ã¹ãã ã³ã³ããŒãã³ããæ©èœã«å¯äœçšãåŒãèµ·ãããªãããã«ãåºç¯å²ãªãã¹ããè¡ãå¿ èŠããããŸããå質ä¿èšŒã¯ããããã³ã°ããã»ã¹ã®éèŠãªäžç°ã§ããããã®æ®µéãçãããšã¯ã§ããŸããã
ãããã«ãŒå©çšæã®ãã¹ããã©ã¯ãã£ã¹
ãããã«ãŒã¯ããã°ç¹å®ãšä¿®æ£ã®ããã»ã¹ãæ¯æŽãã匷åãªããŒã«ã§ãããããã«ãŒãæ倧é掻çšããããã«ã¯ããã®æ©èœãšäœ¿ãæ¹ã«ç²ŸéããŠããããšãå¿ èŠã§ãã
ãã¬ãŒã¯ãã€ã³ãã®èšå®ãå€æ°ã®ãŠã©ãããªã©ããããã«ãŒã®åºæ¬çãªæ©èœãç解ããŠããããšã§åé¡ã®èª¿æ»ãåçŽåãããŸãããŸããæ¡ä»¶ä»ããã¬ãŒã¯ãã€ã³ããã³ãŒã«ã¹ã¿ãã¯ã®åæãªã©ãããé«åºŠãªæ©èœãå©çšããããšã§ãåé¡ã®åå ãçŽ æ©ãèŠã€ãåºãããšãã§ããŸãã
é©åãªãããã«ãŒãéžæããããšããŸããå¹ççãªããããã³ã°ã«ã¯äžå¯æ¬ ã§ããèªåã®éçºç°å¢ã«æé©ãªãããã«ãŒãèŠã€ããããšã§ãäžå ·å解決ã®ã¹ããŒããå€§å¹ ã«åäžããŸãã
ããŒã ã§ã®ããããã³ã°ååäœå¶ã®æŽå
ããããã³ã°ã¯ããŒã ã§è¡ãããšãå€ããããå¹ççãªååäœå¶ãæŽããããšãæ¬ ãããŸãããããŒã ã¡ã³ããŒéã®æçãªã³ãã¥ãã±ãŒã·ã§ã³ãšååã¯ããã°ã®è¿ éãªä¿®æ£ã«ç¹ãããŸãã
ãã°ãã©ããã³ã°ã·ã¹ãã ã掻çšãããã°å ±åã®æšæºåããããããã³ã°äœæ¥ã®å²ãåœãŠãªã©ãçµç¹çãªã¢ãããŒããå¿ èŠã§ãããããã®ããŒã«ãšããã»ã¹ã¯ãè€æ°äººã§äžã€ã®åé¡ã«åãçµããšãã®æ··ä¹±ãé¿ãããã®é²è¡ç¶æ³ã远跡ããã®ã«åœ¹ç«ã¡ãŸãã
æçµçã«ã¯ãããããã³ã°ã¯åã ã®æè¡çèœåã ãã§ãªããããŒã ãšããŠã®èª¿æŽãéèŠãªèŠçŽ ãšãªããŸããã¡ã³ããŒãåçµãã¹ã圹å²ãç解ãããäºãã«ç¥èãå ±æãåãã°ãå šå¡ãããå¹æçãªããããã³ã°ãè¡ãããšãã§ããŸãã
çŸä»£ã®ããããã³ã°ããŒã«ãšå¿çšäºäŸ
ãœãããŠã§ã¢éçºã«ãããããããã³ã°ã®éèŠæ§ã¯ãæéã®çµéãšãšãã«ãŸããŸãèªèãããŠããŸãããšã©ãŒããã°ãçŽ æ©ãèŠã€ãåºããå¹ççã«è§£æ±ºããããã®å€ãã®ããããã³ã°ããŒã«ãçŸåšå©çšãããŠããŸããããã§ã¯æ°ããããŒã«ã®äžãããç¹ã«æ³šç®ãããŠãããã®ãããã€ã玹ä»ãããã®å¿çšäºäŸã«ã€ããŠèå¯ããŸãã
çŸä»£ã®ããããã³ã°ããŒã«ã¯ã·ã³ãã«ãªã³ã³ãœãŒã«ããŒã¹ã®ãã®ãããé«åºŠãªåææ©èœãæã€çµ±åéçºç°å¢ïŒIDEïŒã®ãã®ãŸã§ãããŸããŸã§ãããããã¯ãšã©ãŒãæ€åºããåå ã調æ»ããä¿®æ£ãå©ããããã®æ©èœãåããŠããŸãããŸããé éå°ããã®ããããã³ã°ãããªã¢ã«ã¿ã€ã ã§ã®ããŒã¿ã¢ãã¿ãªã³ã°ãªã©ãç¹å®ã®ããŒãºã«ç¹åãããã®ãååšããŸãã
ããããã³ã°ããã»ã¹ã¯ãã³ãŒãã®å質ãåäžãããã ãã§ãªããéçºã®ãµã€ã¯ã«ã¿ã€ã ãççž®ãããœãããŠã§ã¢ã®ä¿¡é Œæ§ãé«ãããšããç¹ã§éåžžã«éèŠã§ãããããã®ããŒã«ã¯ãæ©èœæ§ã ãã§ãªãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®äœ¿ããããã«ãããŠãé²åãéããŠããŸãã
人æ°ã®ããããã³ã°ããŒã«çŽ¹ä»
å€ãã®éçºè ã«ãšã£ãŠãããããã³ã°ããŒã«ã¯äžå¯æ¬ ãªååšã§ããç¹ã«æåãªãã®ã«ã¯ãGDBãVisual Studio DebuggerãEclipseã®ãããã°æ©èœãªã©ããããŸããGDBã¯å€èšèªã«å¯Ÿå¿ããã³ãã³ãã©ã€ã³ããŒã¹ã®ãããã¬ãŒã§ãããé«ãã«ã¹ã¿ãã€ãºæ§ãšåŒ·åãªæ©èœãæã£ãŠããŸãã
Visual Studio Debuggerã¯ãMicrosoftã®Visual Studio IDEã«çµã¿èŸŒãŸãããããã¬ãŒã§ãããWindowsäžã§ã®éçºã«åºã䜿ãããŠããŸãããã¡ãã¯èŠèŠçã«çŽæçãªæäœãå¯èœã§ããªãããªãããã°æ å ±ãæäŸããŸããäžæ¹ãEclipseã®ãããã°æ©èœã¯ãJavaãäžå¿ãšããéçºã«ãããŠåŒ·åãªæ¯æŽãäžããŸãã
ãããã¯ã©ããããã¬ãŒã¯ãã€ã³ãã®èšå®ãã¹ãããå®è¡ãå€æ°ã®ç£èŠãšãã£ãåºæ¬æ©èœãåããŠããã ãã§ãªããããè€éãªãšã©ãŒè§£æãã³ãŒãã®æé©åæ©èœãæèŒããŠããŸããéžæããã«ããã£ãŠã¯ãéçºèšèªãç°å¢ã«åãããæé©ãªãããã¬ãŒã®éžæãéèŠã§ãã
ã¯ã©ãŠãããŒã¹ã®ããããã³ã°ããŒã«
ã¯ã©ãŠãããŒã¹ã®ããããã³ã°ããŒã«ã®ç»å Žã¯ãéçºè ããªã¢ãŒãã§è€åçãªã·ã¹ãã ããããã°ããæ段ãæ Œæ®µã«åäžãããŸããããããã®ããŒã«ã¯ã€ã³ã¿ãŒããããéããŠãœãããŠã§ã¢ã®åäœã远跡ããåé¡ããªã¢ã«ã¿ã€ã ã§è§£æã§ããŸãã
äŸãã°ãRaygunãSentryã¯ãšã©ãŒè¿œè·¡ãšããã©ãŒãã³ã¹ã¢ãã¿ãªã³ã°ãæäŸããããã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³ã«ããããã°ã®çºçåå ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãããããã®ãµãŒãã¹ã¯ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžã«çŽçµããéçºããŒã ã顧客ã®èŠæã«ããè¿ éã«å¯Ÿå¿ã§ããããã«ãªããŸãã
ãŸãããããã®ããŒã«ã¯ã¹ã±ãŒã«ã®å€§ããªã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠããã·ãŒã ã¬ã¹ãªã€ã³ãã°ã¬ãŒã·ã§ã³ãšå®¹æãªç®¡çãå¯èœã«ããããšã§ãéçºã®çç£æ§ãé«ããŸããåæ£ããããŒã ã®ååäœæ¥ãæ¯ãã圹å²ãæãããŠããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒç°å¢ã§ã®ããããã³ã°
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒã¯ãéçºããã»ã¹ãèªååããã³ãŒãå€æŽã®ãã³ã«èªåãã¹ããè¡ãææ³ã§ããCIãçšããããšã§ãã³ãŒãã®åé¡ãæ©æã«çºèŠããä¿®æ£ã®å¹çãé«ããããšãå¯èœã«ãªããŸãã
CIç°å¢ã§ã¯ãJenkinsãTravis CIã®ãããªããŒã«ãçšããŠãã³ãŒãããªããžããªã«ã³ããããããã³ã«ãã«ããšãã¹ããå®è¡ãããŸããããã«ããããããã°ãå¿ èŠãªåé¡ãããã«æ€åºãããè¿ éãªä¿®æ£ããã»ã¹ãå¯èœã«ãªããšåæã«ããœãããŠã§ã¢ã®å質ã®äžè²«æ§ãç¶æãããŸãã
ããã«ãCIããŒã«ã¯ãã°ãã°åçš®ãããã®ã³ã°ããŒã«ãšé£æºããŠåäœããããæŽç·Žããããã£ãŒãããã¯ã«ãŒãã圢æããŸããããã¯ãšã©ãŒã®è¿ éãªæ€åºã«ã€ãªããããããã°ã®æéãå€§å¹ ã«åæžãããšããã¡ãªããããããããŠããŸãã
ããããã³ã°ã®æªæ¥ãšAIã®æŽ»çš
人工ç¥èœïŒAIïŒã®é²æ©ã¯ãœãããŠã§ã¢éçºã®ããŸããŸãªåŽé¢ã«åœ±é¿ãäžããŠãããããããã³ã°ããã»ã¹ãäŸå€ã§ã¯ãããŸãããAIæè¡ã掻çšããããããã³ã°ããŒã«ã¯ãè€éãªåé¡ã®ç¹å®ãšè§£æ±ºã«çŠç¹ãåœãŠãé²æ©ãéããŠããŸãã
ããšãã°ãããŒã¿ãã€ãã³ã°ãæ©æ¢°åŠç¿ãå¿çšããããŒã«ã¯ãéå»ã®ããŒã¿ãšãã¿ãŒã³ãããã°ã®åå ãäºæž¬ããä¿®æ£ã®ããã®æšèŠãæäŸããŸããAIãããã¬ãŒã¯ãå€ãã®å Žåãäžå ·åã®ãã¿ãŒã³ãæ€åºããããé«åºŠãªè§£æãè¡ãããšã§ãéçºè ã解決çãè¿ éã«èŠã€ããæå©ããããŸãã
å°æ¥çã«ã¯ãèªåã§ã³ãŒããä¿®æ£ããæ©èœãåããããŒã«ãç»å Žããããšãèããããããã«ãã£ãŠããããã³ã°äœæ¥ã¯ããã«å¹çåãããã§ããããAIã®é²åãéçºè ã®åŽåã軜æžããããåµé çãªäœæ¥ã«éäžã§ããç°å¢ãæäŸããããšãæåŸ ãããŠããŸãã
æçµçãªéžæïŒé©åãªãããã«ãŒãèŠã€ãã
ãããžã§ã¯ãããšã«æé©ãªãããã«ãŒãéžã¶
éçºè ã«ãšã£ãŠããããžã§ã¯ãããšã«æé©ãªãããã«ãŒãéžã¶ããšã¯éèŠã§ããããã°ã©ãã³ã°èšèªã䜿çšããæè¡ã¹ã¿ãã¯ããããžã§ã¯ãã®è€éããçèããããã«é©ãããããã«ãŒãéžå®ããå¿ èŠããããŸããäŸãã°ãC++ã§éçºããããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã«ã¯Visual StudioãGDBãé©ããŠãããããããŸããããJavaScriptã§æžãããWebã¢ããªã±ãŒã·ã§ã³ã«ã¯Chrome DevToolsãFirebugãããé©ããŠããŸãã
ãŸããéçºç°å¢ã®æŽåç¶æ³ãèæ ®äºé ã§ããçµã¿èŸŒã¿ã®ãããã¬ãè±å¯ãªçµ±åéçºç°å¢(IDE)ã䜿çšããããšã§ãè¿œå ã®ããŒã«ãã€ã³ã¹ããŒã«ããæéãçãããšãã§ããŸããåæã«ããããžã§ã¯ãã«ç¹åãããããã«ãŒã®æ©èœã䜿ãåæãèŠæ¥µããå¿ èŠããããŸãã
æåŸã«ãå°æ¥ã®ãããžã§ã¯ãã«ã察å¿å¯èœãã©ãããèããã¹ãã§ããäžåºŠèŠãããããã«ãŒãé·æçã«äœ¿çšã§ããã°ãåŠç¿ã³ã¹ããæããããšãå¯èœã«ãªããŸãããã®ãããªèŠ³ç¹ããããè€æ°ã®èšèªãç°å¢ã«å¯Ÿå¿ããŠãããããã«ãŒãéžã¶äŸ¡å€ãããã§ãããã
ã³ã¹ãå¹çã®è¯ããããã«ãŒéžå®æ³
ã³ã¹ãå¹çã¯å€ãã®äŒæ¥ãå人éçºè ã«ãšã£ãŠã®äž»èŠãªå€æåºæºã§ãããªãŒãã³ãœãŒã¹ã®ãããã«ãŒã¯ã³ã¹ãããã©ãŒãã³ã¹ãé«ããç¡æã§é«åºŠãªæ©èœã䜿çšã§ããããšãå€ãã®ã§ãç©æ¥µçã«æ€èšãã䟡å€ããããŸããããããç¡æããŒã«ã«ãç¶æ管çãã¢ããããŒããå¿ èŠãªå ŽåããããããŒã¿ã«ã³ã¹ãã¯å¿ ããããŒãã§ã¯ãããŸããã
ä»æ¹ãåçšãããã«ãŒã¯è²»çšãçºçããŸãããå°éã®ãµããŒããè±å¯ãªããã¥ã¡ã³ããå®å®ããã¢ããããŒããµã€ã¯ã«ãæäŸããããšãå€ãã§ãã倧èŠæš¡ãªãããžã§ã¯ããé·æéã«ããããµããŒããå¿ èŠãªå Žåã«ã¯ããããã®ä»å 䟡å€ãã³ã¹ããæ£åœåãããããããŸããã
ãŸããã©ã€ã»ã³ã¹åœ¢æ ã«ã泚ç®ããå¿ èŠããããŸããå人䜿çšã®å Žåã¯ç°ãªãã©ã€ã»ã³ã¹ãã©ã³ãé©å¿ãããããšãããã®ã§ãèªåã«ãšã£ãŠæãã³ã¹ãå¹çã®è¯ãéžæè¢ãç解ããããã«ã¯ãã©ã€ã»ã³ã¹ã®æ¡é ããã£ãããšç¢ºèªããããšãèå¿ã§ãã
åŠç¿ã³ã¹ããšç¿åŸæéã®ãã©ã³ã¹
ãããã«ãŒã®ç¿åŸã«ã¯æéãšåŽåãå¿ èŠã§ããåããŠå©çšããããŒã«ã§ããã°å°æŽãåŠç¿ã³ã¹ããçºçããŸãããããã£ãŠãæ°ãããããã«ãŒãéžã¶éã«ã¯ãåŠç¿ã³ã¹ããæå°éã«æããããšãéèŠã§ããããã«ã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãçŽæçã§ãã£ãããè±å¯ãªãã¥ãŒããªã¢ã«ãããã¥ã¡ã³ããæäŸãããŠãããããã«ãŒãéžã¶ãšè¯ãã§ãããã
ãŸããé¡äŒŒã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæã€ãããã«ãŒãéžã¹ã°ã以åã®çµéšã掻ãããŠè¿ éã«éŠŽæãããšãã§ããŸããäŸãã°ãEclipseããŒã¹ã®IDEã§éçºããçµéšãããå ŽåãåããEclipseããŒã¹ã®ãããã«ãŒãéžæããããšã§ãã€ã³ã¿ãŒãã§ãŒã¹ãžã®é©å¿æéãççž®ããããšãå¯èœã§ãã
ããã«ãä»ã®éçºè ãšæ å ±ãå ±æããããšã§ãå ±åã§åŠç¿ã³ã¹ããåæ ããç¿åŸæéãå¹çåããããšãäžã€ã®æŠç¥ã§ããå¹ççãªåŠç¿ãããã¯ãŒã¯ãæ§ç¯ããããã«ãã人æ°ãããã³ãã¥ããã£ã掻çºãªãããã«ãŒãéžã¶ã®ã¯è³¢æãªéžæãšèšããã§ãããã
ã³ãã¥ããã£ããã®ãã£ãŒãããã¯ãšãµããŒã
匷åãªã³ãã¥ããã£ã®ãµããŒãã¯ããããã«ãŒãéžã¶éã®å€§ããªé Œãã«ãªããŸãã掻çºãªã³ãã¥ããã£ã¯ãåé¡ã®è§£æ±ºãæ°æ©èœã®ãªã¯ãšã¹ãããã¹ããã©ã¯ãã£ã¹ã®å ±æãªã©ã«è²¢ç®ããŸãããªãŒãã³ãœãŒã¹ã®ãããã«ãŒã®å Žåã¯ç¹ã«ãã³ãã¥ããã£ã®åã¯ãããã¯ãã®çºå±ã«äžå¯æ¬ ã§ãã
ãããã£ãŠããããããã«ãŒãéžã¶åã«ã¯ããã®ã³ãã¥ããã£ã®èŠæš¡ã掻åç¶æ³ã調ã¹ãããšã倧åã§ãããã©ãŒã©ã ããã£ããããœãŒã·ã£ã«ã¡ãã£ã¢ã°ã«ãŒããªã©ã§ã®è°è«ã®æŽ»çºãããå®æçãªããŒãã¢ãããã«ã³ãã¡ã¬ã³ã¹ã®ååšã¯è¯ãææšãšãªããŸãã
ãŸããå®æçãªã¢ããããŒããããããé ä¿¡ãããŠãããããã°ãã»ãã¥ãªãã£åé¡ã«è¿ éã«å¯Ÿå¿ããŠããããéèŠã§ãããµããŒãäœå¶ãæŽã£ãŠããŠã䜿ãåŽã®å£°ã«è³ãåŸããŠããéçºè ã³ãã¥ããã£ã¯ããããã«ãŒã®ä¿¡é Œæ§ãé«ãããšåæã«ãéçºè ã®äœæ¥å¹çã倧ããåäžãããããšãã§ããŸãã