ã©ã€ãã©ãªãšã¯ïŒçšèªããããããã解説ïŒ
ããã°ã©ãã³ã°äžçã«ã¯ãå€ãã®ã©ã€ãã©ãªãååšããŸããããããäžäœã©ã€ãã©ãªãšã¯äœãªã®ã§ããããïŒä»åã®èšäºã§ã¯ãã©ã€ãã©ãªã®å®çŸ©ãç¹åŸŽãå©ç¹ããããŠäœæã®åºæ¬ã«ã€ããŠã玹ä»ããŸãã
1. ã©ã€ãã©ãªãšã¯
ã©ã€ãã©ãªã¯ãããã°ã©ãã³ã°ã®å¹çãé«ããããã«äœ¿çšãããåå©çšå¯èœãªããã°ã©ã ã®éåäœã§ããã©ã€ãã©ãªã«ã¯ç¹å®ã®è£å©é¢æ°ãã¯ã©ã¹ãå«ãŸããŠãããããããããã°ã©ããŒãå©çšããããšã§ãããå¹ççã«ããã°ã©ã ãäœæããããšãå¯èœã«ãªããŸãã
1.1 ã©ã€ãã©ãªã®å®çŸ©
ã©ã€ãã©ãªã¯ãæ¢åã®ã³ãŒããåå©çšããããã®ã³ãŒãã®éåäœã§ãå ±éã®æ©èœã®ã»ãããæäŸããŸããããã«ãããããã°ã©ããŒã¯æ¢åã®ã³ãŒããåäœæããå¿ èŠããªããªããå¹ççã«ã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸãã
ã©ã€ãã©ãªã¯ãäœåºŠã䜿ãåãããã°ã©ã ããŸãäœãæéããšãã«ã®ãŒãç¯çŽããŸããå€ãã®ã©ã€ãã©ãªã¯ãç¹å®ã®ããã°ã©ãã³ã°èšèªã§æžãããŠããŸãã
ãããã®æ©èœã¯ãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã§åå©çšå¯èœã§ãæéãšæéãå€§å¹ ã«ç¯çŽããããšãå¯èœã§ãã
1.2 ã©ã€ãã©ãªã®ç¹åŸŽ
ã©ã€ãã©ãªã®ç¹åŸŽã¯ããŸããã®åå©çšæ§ã«ãããŸããäžåºŠã©ã€ãã©ãªã«ã³ãŒããçµã¿èŸŒããšãããã¯ä»ã®ãããžã§ã¯ãã§ãåå©çšããããšãå¯èœã§ãã
ãŸããã©ã€ãã©ãªã¯æ¡åŒµæ§ãæã£ãŠããŸããäºãã«äŸåããªãã¢ãžã¥ãŒã«ã§æ§æãããŠãããããæ°ããªæ©èœãè¿œå ããããæ¢åã®æ©èœã匷åãããããããšãå¯èœã§ãã
ããã«ãã©ã€ãã©ãªã¯ç§»æ€æ§ãç¹åŸŽã®äžã€ã§ããããã«ãããã©ã€ãã©ãªã¯ãã©ãããã©ãŒã éã§å®¹æã«ç§»åããã³åå©çšããããšãå¯èœã«ãªããŸãã
1.3 ã©ã€ãã©ãªã®å©ç¹
ã©ã€ãã©ãªã®å©ç¹ã¯å€æ°ãããŸãããŸããæ¢åã®ã³ãŒããåå©çšã§ãããããéçºæéãå€§å¹ ã«ççž®ã§ããŸãã
ãŸããã©ã€ãã©ãªã¯ãã¹ãæžã¿ã®ä¿¡é Œæ§ã®é«ãã³ãŒãã§æ§æãããŠããã®ã§ããšã©ãŒãå°ãªããä¿å®ç®¡çã容æã§ãã
ããã«ãã©ã€ãã©ãªã®äœ¿çšã¯ãããã°ã©ããæ°ããªæè¡ãããŒã«ãåŠã¶æ©äŒãæäŸããã¹ãã«ãåäžãããŸãã
1.4 ã©ã€ãã©ãªã®äœæã®åºæ¬
ã©ã€ãã©ãªãäœæããéã¯ãæåã«å¿ èŠãªæ©èœãšãã®ç®çãæ確ã«å®çŸ©ãããšããããå§ããŸãã
次ã«ããã®æ©èœãå®çŸããããã®ã¢ãžã¥ãŒã«ãé¢æ°ãèšèšãããããããã¹ãããŸããååã«ãã¹ããããã³ãŒãã®ã¿ãã©ã€ãã©ãªã«çµã¿èŸŒã¿ãŸãã
æåŸã«ãäœæããã©ã€ãã©ãªãä»ã®ã¢ããªã±ãŒã·ã§ã³ã§é©åã«äœ¿çšã§ããããã«ãããã¥ã¡ã³ããŒã·ã§ã³ãäœæããŸããããã«ãããä»ã®ããã°ã©ããã©ã€ãã©ãªã容æã«äœ¿çšã§ããããã«ãªããŸãã
以äžãã©ã€ãã©ãªã«ã€ããŠã®åºæ¬çãªèª¬æã§ããããã®èšäºããçããã®ããã°ã©ãã³ã°ã®å©ãã«ãªãã°å¹žãã§ãã
2. ã©ã€ãã©ãªã®çš®é¡ãšç¹æ§
ããã°ã©ãã³ã°ã®äžçã§ã¯ã©ã€ãã©ãªãšããçšèªãããçšããããŸãããããããã®ã©ã€ãã©ãªã«ã¯æ§ã ãªç¹æ§ãçš®é¡ãååšããŸããããã§ã¯ããã®äžã§ã代衚çãªæšæºã©ã€ãã©ãªãåçãªã³ã¯ã©ã€ãã©ãª(DLL)ãéçã©ã€ãã©ãªã«ã€ããŠç解ãæ·±ããããã«ã¯ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®éãã«ã€ããŠã説æããŠãããŸãã
2.1 æšæºã©ã€ãã©ãª
æšæºã©ã€ãã©ãªã¯ãããã°ã©ãã³ã°èšèªã«æšæºã§å«ãŸããã©ã€ãã©ãªã®ããšã§ãç¹å®ã®èšèªã§æžãããããã°ã©ã ãå ±éã®æ©èœãå©çšã§ããããã«æäŸãããŸããæšæºã©ã€ãã©ãªã¯ããŸããŸãªéçºç°å¢ã§åäžã®æ©èœãæäŸããããšã§ãããã°ã©ãã³ã°ã«ãããå¹çãšäºææ§ãåäžãããŸãã
ãããã¯äŸãã°ãç¹å®ã®ããŒã¿åã®åŠçããã¡ã€ã«æäœãæ°åŠçãªé¢æ°ãªã©ãããã°ã©ãã³ã°ã«ãããŠäžè¬çã«åœ¹ç«ã€é¢æ°ãã¯ã©ã¹ãæäŸããŸããããã«ãããããã°ã©ããŒã¯ããå ·äœçãªåé¡è§£æ±ºã«æ³šåããããšãã§ããŸãã
ãã®ä»£è¡šäŸãšããŠã¯ãC++ã®æšæºã©ã€ãã©ãªã§ããSTLïŒStandard Template LibraryïŒããPythonã®æšæºã©ã€ãã©ãªãªã©ããããŸãã
2.2 åçãªã³ã¯ã©ã€ãã©ãª(DLL)
åçãªã³ã¯ã©ã€ãã©ãª(DLL)ã¯ãããã°ã©ã ãå®è¡æã«å¿ èŠãªã³ãŒãããªãœãŒã¹ãæäŸããŸããDLLã¯å®è¡ãã¡ã€ã«ãããŒãããããšãããããã¯å®è¡äžã«ããŒããããç¹æ§ãããåçã«ãªã³ã¯ãããã©ã€ãã©ãªãšèšããŸãã
ãã®DLLã®ç¹æ§ã«ãããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãåãã©ã€ãã©ãªã³ãŒããå ±æããããã¢ããããŒããè¿œå ãå¿ èŠãªæã«åå¥ã®ã¢ããªã±ãŒã·ã§ã³ãå€æŽããã«DLLãã¡ã€ã«ã ããæŽæ°ããããšãå¯èœã«ãªããŸããããã¯ä¿å®æ§ãå¹çæ§ãé«ããèŠçŽ ãšãªããŸãã
ããããªãããDLLã®å©çšã«ã¯æ³šæãå¿ èŠã§ãç°ãªãããŒãžã§ã³ã®DLLãåæã«ã·ã¹ãã äžã«ååšãããšãããŒãžã§ã³éã®ç«¶å(äžè¬ã«ãDLLãã«ããšåŒã°ãã)ãçºçããå¯èœæ§ãããããã管çã«ã¯æ éããæ±ããããŸãã
2.3 éçã©ã€ãã©ãª
äžæ¹ã§ãéçã©ã€ãã©ãªã¯ãã³ã³ãã€ã«æã«ããã°ã©ã ã«ãªã³ã¯ãããã©ã€ãã©ãªã§ãåžžã«åäžã®ããŒãžã§ã³ã®ã³ãŒããããã°ã©ã ã«çµã¿èŸŒãŸããŸãã
éçã©ã€ãã©ãªã䜿çšãããšãè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãã©ã€ãã©ãªãå ±æãã代ããã«ãããããã®ã¢ããªã±ãŒã·ã§ã³ãç¬èªã®ããŒãžã§ã³ã®ã©ã€ãã©ãªãä¿æããŸããããã«ãããç°ãªãããŒãžã§ã³ã®ã©ã€ãã©ãªéã§ã®ç«¶åãé¿ããããšãå¯èœã«ãªããŸãã
ããããéçã©ã€ãã©ãªã®æ¬ ç¹ãšããŠã¯ãå šãŠã®ã¢ããªã±ãŒã·ã§ã³ãç¬èªã®ã©ã€ãã©ãªããŒãžã§ã³ãä¿æããããããã£ã¹ã¯ã¹ããŒã¹ã倧éã«æ¶è²»ããããšããã©ã€ãã©ãªã®æŽæ°ãã¢ããªã±ãŒã·ã§ã³ããšã«å¿ èŠãšãªãç¹ãæããããŸãã
2.4 ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®éã
ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã¯ãããããç¬ç¹ãªåœ¹å²ãšç¹æ§ãæã€ããã°ã©ãã³ã°ããŒã«ã§ããã°ãã°æ··åãããŸãããããã圌ãã¯æ ¹æ¬çã«ç°ãªããã®ã§ãã
ç°¡åã«èšãæãããšãã©ã€ãã©ãªã¯ããªãã®ããã°ã©ã ãåŒã³åºãé¢æ°ãã¯ã©ã¹ãæäŸããäžæ¹ã§ããã¬ãŒã ã¯ãŒã¯ã¯å šäœã®ã¢ããªã±ãŒã·ã§ã³ãããŒãå¶åŸ¡ããããªãã®ã³ãŒãããã¬ãŒã ã¯ãŒã¯èªäœãåŒã³åºããšãã圹å²ãæãããŸãããã®ãæç¶ãã®æææš©ãã®éããã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ã®éãã§ãããããããå¶åŸ¡ã®å転ããŸãã¯ãããªãŠããã®ååïŒDon’t call us, we’ll call youïŒããšãè¡šçŸãããŸãã
ãã®éãã«ãããã©ã€ãã©ãªã¯ä»»æã®ã¿ã€ãã³ã°ãé åºã§å©çšã§ããæ±çšæ§ãæã€äžæ¹ããã¬ãŒã ã¯ãŒã¯ã¯ããçšåºŠèŠå®ãããã«ãŒã«ã«åŸã£ãŠéçºãããäžå®ã®å¶çŽããããŸãããããããã®äžå®ã®å¶çŽãéã«éçºã®å¹çãåäžãããã±ãŒã¹ãå€ã ãããŸãã
3. ã©ã€ãã©ãªã®å®éçãªå©çš
ã©ã€ãã©ãªã®åãåããããšã§ãããã°ã©ã ã®éçºã«ãããæéãšåŽåãå€§å¹ ã«åæžã§ããŸãããã ãã©ã€ãã©ãªãæ£ç¢ºã«é©ãã«ã¯ããã€ãã®æé ãšæ³šæç¹ãååšãããããããããç解ããããã«ã¯ããããã®ã©ã€ãã©ãªã®æ¬è³ªããã£ãããšç解ããŠããããšãå¿ èŠãšãªããŸãã
ããããã¯ã©ã€ãã©ãªã®å®éçãªå©çšã«ãããæé ãšæ³šæç¹ããŸãã©ã€ãã©ãªãããŸã管çããæ¹æ³ãåŠãã§ãããŸãããã
ãŸãã¯ã©ã€ãã©ãªã®ã€ã³ããŒãæ¹æ³ããå§ããŠã¿ãŸãããã
3.1 ã©ã€ãã©ãªã®ã€ã³ããŒã
ã©ã€ãã©ãªã䜿ãããã«ã¯ã€ã³ããŒããšããæäœãå¿ èŠã§ããã€ã³ããŒããšã¯ã©ã€ãã©ãªã®é¢æ°ãã¯ã©ã¹ãèªåã®ã³ãŒãã§äœ¿ããããã«ããããšã§ããããããèªããšé£ããæãããããããŸããããå®éã®ãšããã¯éåžžã«ã·ã³ãã«ãªæäœãšãªããŸãã
Pythonã§ã¯ãimport ã©ã€ãã©ãªåããšããã³ãã³ãã§ã©ã€ãã©ãªãã€ã³ããŒãããŸããäŸãã°ããimport numpyããå®è¡ãããšnumpyãšããã©ã€ãã©ãªãå©çšããããšãã§ããŸãã
ãŸããã©ã€ãã©ãªã«ã¯ã¢ãžã¥ãŒã«ãšåŒã°ããéšåãååšããç¹å®ã®ã¢ãžã¥ãŒã«ã ããã€ã³ããŒãããããšãå¯èœã§ãããã®éã¯ãfrom ã©ã€ãã©ãªå import ã¢ãžã¥ãŒã«åããšããã³ãã³ããå©çšããŸãã
3.2 ã©ã€ãã©ãªã®å©çšæ³
ã©ã€ãã©ãªã®å©çšæ³ãç解ããããã«ã¯ããŸããã®ã©ã€ãã©ãªãæäŸããé¢æ°ãã¯ã©ã¹ã®äœ¿ãæ¹ãç解ããå¿ èŠããããŸãã
äŸãã°ãæ°å€èšç®ã©ã€ãã©ãªã§ããNumpyã§ã¯ãè¡åã®èšç®ãè¡ãããã®é¢æ°ãæ°å€ãçšæãããŠããŸãããããã®é¢æ°ã¯ããnumpy.é¢æ°å()ããšãã圢ã§å©çšã§ããŸãããã®ä»ã«ããåã©ã€ãã©ãªã®ããã¥ã¡ã³ããŒã·ã§ã³ãåç §ããããšã§ãæäŸãããŠããé¢æ°ãã¯ã©ã¹ããã©ã¡ãŒã¿ã®è©³çŽ°æ å ±ã確èªã§ããŸãã
ãŸããã©ã€ãã©ãªã«å«ãŸããé¢æ°ãã¯ã©ã¹ã®äœ¿ãæ¹ãåŠã¶ããã«ã¯ããµã³ãã«ã³ãŒãã®é²èŠ§ãéåžžã«å¹æçã§ããå€ãã®ããã°ã©ãã³ã°èšèªãã©ã€ãã©ãªã«ã¯å ¬åŒã®ãµã³ãã«ã³ãŒããçšæãããŠããããããèŠãããšã§å ·äœçãªå©çšæ³ãåŠã¶ããšãã§ããŸãã
3.3 ã©ã€ãã©ãªã®å©çšã®æ³šæç¹
ã©ã€ãã©ãªã®å©çšã«ã¯æ³šæãå¿ èŠã§ãããŸããã©ã€ãã©ãªã®æŽæ°ã«ãã£ãŠé¢æ°åãä»æ§ãå€ããããšããããŸãããããäºææ§ã®å€±ãããæŽæ°ãšãããŸããäºææ§ã倱ããããšããã以åã«æžãããã³ãŒãã¯ãã®ãŸãŸã§ã¯åäœããªããªããŸããããããå€ãã®ã©ã€ãã©ãªã§ã¯ãã®ãããªå€§ããªå€æŽãè¡ãåã«æ©ãã«éç¥ãè¡ãããŸãã
ããã«ãã©ã€ãã©ãªéã§ååã®é¢æ°ãã¯ã©ã¹ãååšãããšããããã競åããŠãšã©ãŒãçºçããããšããããŸãããã®ãããããã€ãã®ã©ã€ãã©ãªãåæã«å©çšããå Žåã¯æ³šæãå¿ èŠãšãªããŸãã
ãŸããã©ã€ãã©ãªãå©çšããéã¯ãã®ã©ã€ã»ã³ã¹ã確èªããããšãéèŠã§ããèäœæš©æ³ãå¥çŽæ³ãåæšæ³çãéµå®ããå©çšãå¿æããŸãããã
3.4 ã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³
ã©ã€ãã©ãªã¯ãæ°ããæ©èœãè¿œå ãããããã»ãã¥ãªãã£äžã®åé¡ãä¿®æ£ãããããšãé »ç¹ã«æŽæ°ãããŸãããã®ãããã©ã€ãã©ãªãææ°ã®ç¶æ ã«ä¿ã€ããšã¯æ¥µããŠéèŠãšãªããŸãã
ã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã¯ãäž»ã«ããã±ãŒãžãããŒãžã£ãŒãå©çšããŸããPythonã§ããã°ãpipããšããããã±ãŒãžãããŒãžã£ãŒã䜿ãããpip install –upgrade ã©ã€ãã©ãªåãã®ã³ãã³ãã§è©²åœããã©ã€ãã©ãªãææ°ã®ããŒãžã§ã³ã«ã¢ããããŒãããããšãã§ããŸãã
ããããå è¿°ããéãäžéšã®ã©ã€ãã©ãªã§ã¯ããŒãžã§ã³ã¢ããã«ãã£ãŠäºææ§ã倱ãããåé¡ããããããå¿ èŠã«å¿ããŠããŒãžã§ã³ãåºå®ããããšãèããããŸãããŸããã©ã€ãã©ãªã®æŽæ°ã«ãã圱é¿ãæå°éã«æãããããå®æçãªã¢ããããŒããšäžŠè¡ããŠãã¹ãã®å®è¡ãå¿ããªãããã«ããŸãããã
4. äž»èŠããã°ã©ãã³ã°èšèªã®ã©ã€ãã©ãª
ããã°ã©ãã³ã°ã«ãããŠã©ã€ãã©ãªã¯äžå¯æ¬ ãªååšã§ãã以äžã§ã¯ãäž»èŠãªããã°ã©ãã³ã°èšèªã§ãã䜿çšãããã©ã€ãã©ãªã«ã€ããŠèª¬æããŸãã
4.1 JavaScriptã®ã©ã€ãã©ãª
JavaScriptã¯Webéçºã«æ¬ ãããªãèšèªã§ããã®æäœãç°¡æåããããæ©èœãæ¡åŒµããããã®ã©ã€ãã©ãªãæ°å€ãååšããŸãã
äŸãã°ããjQueryãã¯ãDOMæäœãç°¡åã«è¡ãããã®ã©ã€ãã©ãªã§ãWebéçºã«ãããŠåºãå©çšãããŠããŸããæ©èœãè±å¯ã§äœ¿ããããã«å ããå€ãã®ãã©ã°ã€ã³ãããæ¡åŒµæ§ãé«ããããåå¿è ããçµéšè ãŸã§å¹ åºã䜿çšãããŠããŸãã
ãŸãããReactãã¯FacebookãéçºãããŠãŒã¶ã€ã³ã¿ãŒãã§ã€ã¹æ§ç¯ã®ã©ã€ãã©ãªã§ãåçãªWebã¢ããªã±ãŒã·ã§ã³ãå¹çããéçºã§ããŸããã¢ãžã¥ãŒã«åäœã§ç®¡çã§ãããããå¯èªæ§ãšä¿å®æ§ã«åªããŠããŸãã
4.2 Pythonã®ã©ã€ãã©ãª
Pythonã¯åŠç¿ã³ã¹ããäœããããŒã¿åæããWebéçºãŸã§å¹ åºãåéã§å©çšãããŠããèšèªã§ãããã®ãããPythonã®ã©ã€ãã©ãªã¯éåžžã«å€æ©èœã§çš®é¡ãå€ãã§ãã
ãNumPyãã¯æ°å€èšç®ãå¹ççã«è¡ãã©ã€ãã©ãªã§ããå€æ¬¡å é åãæäœããæ©èœãç·åœ¢ä»£æ°ãããŒãªãšå€æãªã©ã®é«åºŠãªæ°åŠé¢æ°ãå«ãã§ããŸãããã®ã©ã€ãã©ãªã掻çšããããšã«ãããé«åºŠãªæ°å€èšç®ãPythonã§ç°¡åã«è¡ããŸãã
ãŸãããDjangoãã¯Pythonã®Webãã¬ãŒã ã¯ãŒã¯ã®äžçš®ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºã«åœ¹ç«ã¡ãŸããã»ãã¥ãªãã£å¯ŸçãæœãããŠãããããŒã¿ããŒã¹æäœã容æã«è¡ãããªã©ãéçºå¹çãå€§å¹ ã«åäžãããããšãå¯èœã§ãã
4.3 Javaã®ã©ã€ãã©ãª
JavaããŸãåºç¯ã«äœ¿çšãããèšèªã§ãå€çš®å€æ§ãªã©ã€ãã©ãªãååšããŸãã
ãApache Commonsãã¯Javaã®ããã®æ©èœåŒ·åã©ã€ãã©ãªã§ãåºæ¬æ©èœãæ¡åŒµãããæ°ããªæ©èœãè¿œå ããŸãããããã¯Javaéçºã§ãã䜿çšãããæ©èœãå«ãŸããŠããŠãã³ãŒãã®å¹çåãšçç£æ§åäžã«å¯äžããŸãã
ãŸãããJUnitãã¯åäœãã¹ããè¡ãããã®ãã¬ãŒã ã¯ãŒã¯ã§ãããœãããŠã§ã¢ã®ãã°ãæ©æã«èŠã€ããé«å質ãªããã°ã©ã ãç¶æããããã«éèŠãªããŒã«ã§ãã
4.4 C++ã®ã©ã€ãã©ãª
C++ã¯é«æ§èœãèŠæ±ãããå Žé¢ã§çšããããèšèªã§ãããã®æ§èœãæ倧éã«æŽ»ããããã®ã©ã€ãã©ãªãè±å¯ã«æã£ãŠããŸãã
ãBoostãã¯C++ã®æ©èœã匷åãã倧èŠæš¡ãªã©ã€ãã©ãªã§ãå€æ°ã®ã¢ã«ãŽãªãºã ãããŒã¿æ§é ãæäŸããŠããŸããããã«ãããã³ãŒãã£ã³ã°ã®è±ãããšæè»æ§ãåäžããããé«åºŠãªããã°ã©ãã³ã°ãå¯èœã«ãªããŸãã
ãŸãããOpenCVãã¯ç»ååŠçãæ©æ¢°åŠç¿çã«äœ¿çšãããã©ã€ãã©ãªã§ãç»ååŠçã®ããã®å€ãã®é¢æ°ãšè±å¯ãªããŒã¿åãæäŸããŸããããã«ãããè€éãªç»ååŠçãå¹ççã«è¡ããŸãã
5. ãããã質åãšè§£ç
ããã§ã¯ã©ã€ãã©ãªã«é¢ããŠãããã質åãšããã«å¯Ÿãã解çãæäŸããŸããåå¿è ããçµéšè ãŸã§å¹ åºãç解ã§ããããã«èª¬æããŸãã
5.1 ç§ã䜿ãããã©ã€ãã©ãªã¯ïŒ
ããªãã䜿ãã¹ãã©ã€ãã©ãªã¯ãããžã§ã¯ãã®èŠæ±ã«ãããŸããã©ã€ãã©ãªã®éžæã¯ããªãã解決ããããšããŠãã課é¡ã䜿çšããŠããããã°ã©ãã³ã°èšèªããããŠããªãèªèº«ã®ã¹ãã«ãçµéšã«å€§ããäŸåããŸãã
äžéšã®ã©ã€ãã©ãªã¯ç¹å®ã®èª²é¡ãå¹çãã解決ããããã«èšèšãããŠããŸããäŸãã°ãããŒã¿åæãè¡ãå ŽåãPythonã®NumPyãPandasãšãã£ãã©ã€ãã©ãªãæå¹ã§ãã
ãŸããèªåã®çµéšã¬ãã«ã«åã£ãã©ã€ãã©ãªãéžæããããšãéèŠã§ããåå¿è ã¢ããªéçºè ã¯ReactãAngularJSãšãã£ããã¬ãŒã ã¯ãŒã¯ã®ã©ã€ãã©ãªããå§ãããšè¯ãã§ãããã
5.2 ã©ã€ãã©ãªãšAPIã®éãã¯ïŒ
ã©ã€ãã©ãªãšAPIã®äž»ãªéãã¯ããã®æŽ»çšæ¹æ³ã«ãããŸããã©ã€ãã©ãªã¯ããã°ã©ã ã®äžéšãšããŠã¯ã©ã€ã¢ã³ãã«çµã¿èŸŒãŸããå®è¡ãããŸããäžæ¹ãAPIã¯ãµãŒããŒäžã§å®è¡ãããã¯ã©ã€ã¢ã³ããžã®å¿çãè¡ããŸãã
ã©ã€ãã©ãªã¯ã³ãŒãã®åå©çšã«éç¹ã眮ããŠããŠãç¹å®ã®æ©èœãæäŸããŸããäŸãã°ãæ°åŠæŒç®ã©ã€ãã©ãªã¯èšç®é¢æ°ãæäŸããŸããããã«å¯ŸããŠãAPIã¯ã¢ããªã±ãŒã·ã§ã³éã®éä¿¡ãæ¯æŽããŸããäŸãã°ããœãŒã·ã£ã«ã¡ãã£ã¢APIã¯ãŠãŒã¶ãŒæ å ±ãååŸãããæçš¿ãè¡ã£ããããããã«äœ¿çšãããŸãã
äž¡è ã¯äžéšã§éè€ããéšåããããŸãããåºæ¬çã«ã¯ãããããç°ãªãç®çãšèª²é¡è§£æ±ºã®ããã«ååšããŠããŸãã
5.3 ã©ã€ãã©ãªã®ã©ã€ã»ã³ã¹ã«ã€ããŠ
ã©ã€ãã©ãªã®ã©ã€ã»ã³ã¹ã¯ãã®äœ¿çšæ¡ä»¶ãšé åžæ¡ä»¶ãèŠå®ããŸããã©ã€ã»ã³ã¹ã¯ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªããåçšã©ã€ãã©ãªãŸã§ããŸããŸã§ãããããã«ç°ãªã䜿çšèŠçŽãååšããŸãã
ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã®ã©ã€ã»ã³ã¹ã¯å©çšè ã«å¯ŸããŠéåžžã«æè»æ§ãæäŸããŸããã倧æµã®å Žåãæ¹å€ããã³ãŒãã®å ¬éãæ±ããæ¡ä»¶ããããŸãããããæºããããšã§ãæ³çãªåé¡ãé²ããªããããœãããŠã§ã¢ã®æ¹è¯ãšå ±æãä¿é²ããŸãã
äžæ¹ã§ãåçšã©ã€ãã©ãªã§ã¯äœ¿çšæãå¿ èŠãšããããšãå€ãããã®ä»£ããã«ãµããŒããé«åºŠãªæ©èœãæäŸããŸããã©ã®ã©ã€ã»ã³ã¹ãå©ç¹ãšå¶çŽãããããããããžã§ã¯ãã®èŠä»¶ã«åãããŠé©åãªãã®ãéžã¶ããšãéèŠã§ãã
5.4 ã©ã€ãã©ãªã¯ã©ãã§èŠã€ããïŒ
ã©ã€ãã©ãªã¯å€ãã®å Žæã§èŠã€ããããšãã§ããŸããGitHubãSourceForgeãBitbucketããªã©ã®ãªã³ã©ã€ã³ãªããžããªã¯ãæ°ãåããªãã»ã©ã®ã©ã€ãã©ãªãç¡æã§æäŸããŠããŸãã
ãŸããããã°ã©ãã³ã°èšèªãæäŸããããã±ãŒãžãããŒãžã£ãŒïŒPythonã®pipãJavaScriptã®npmãªã©ïŒãçšããŠã©ã€ãã©ãªãæ¢ãããšãå¯èœã§ãããããã®ããŒã«ã¯ãã€ã³ã¹ããŒã«ãã管çãã¢ããããŒããŸã§ã®æéã軜æžããŸãã
ã©ã€ãã©ãªã®éžæã¯ãããªãã解決ãããåé¡ã䜿çšããŠããèšèªããããŠããªãèªèº«ã®çµéšã«å€§ãã«äŸåããŸããæé©ãªã©ã€ãã©ãªãæ¢ãããã«ã¯ããããã®èŠçŽ ãèæ ®ã«å ¥ãã䜿çšã¬ãã¥ãŒãããã¥ã¡ã³ããŒã·ã§ã³ããã§ãã¯ããããšãéèŠã§ãã
6. ã©ã€ãã©ãªã®ææ°ãã¬ã³ã
éå»ã«ãªãçŸä»£ã«ã¯å€çš®å€æ§ãªã©ã€ãã©ãªãçãŸããŠããŸãããããã®ã©ã€ãã©ãªã¯çŸä»£ã®ãœãããŠã§ã¢éçºãæ±ããåé¡ã解決ããããã«ãç¹å®ã®ç®çãæ¥çã匷ã¿ã«ããŠããŸããããã§ã¯ãææ°ã®ã©ã€ãã©ãªã«ã€ããŠæ³šç®ããŠãããŸãã
éèŠãªããšãå¿ããªãã§ãã ãããã©ã€ãã©ãªã¯ããŒã«ã®äžã€ã§ããããããã®ããŒã«ãã©ã®ããã«æŽ»çšããããéèŠã§ãã
ææ°ã®ã©ã€ãã©ãªãã¬ã³ããç¥ãããã«ã¯ãã€ã³ã¿ãŒãããã®æ å ±ãããŸãå©çšããåèªãæ£ããå€æãäžãããšãéèŠã§ãã
6.1 人æ°ã®ã©ã€ãã©ãªãã¬ã³ã
ReactãšVue.jsãšããJavaScriptãã¬ãŒã ã¯ãŒã¯ããçŸä»£ã®ãŠã§ãéçºã«ãããŠéåžžã«äººæ°ããããŸãããããã¯ã³ã³ããŒãã³ãããŒã¹ã®éçºãå¯èœã«ããè€éãªã¢ããªã±ãŒã·ã§ã³ã®éçºãçæéã§è¡ãããšãæ¯æŽããŠããŸãã
ããŒã¿åæã«ã¯ãPythonã®PandasãNumpyã䜿ãããŸãããããã®ã©ã€ãã©ãªã¯å€§éã®ããŒã¿ãå¹çããåæã§ããããã«èšèšãããŠããŸãã
ãŸããèŠèŠåã®ããã®ã©ã€ãã©ãªã«ãæ§ã ãªãã®ãç»å ŽããŠããŸããPythonã®MatplotlibãJavaScriptã®D3.jsãªã©ãããŒã¿ãèŠèŠåããç解ããããããããã®ã©ã€ãã©ãªãå¹ åºãéçºãããŠããçŸç¶ã§ãã
6.2 ã©ã€ãã©ãªã®æªæ¥
ã©ã€ãã©ãªã®æªæ¥ã¯äºæž¬ãé£ããã§ããäœæ ãªããæè¡ã®é²æ©ã¯æ¥éã§ãããæ°ããæè¡ã®åºçŸã«ãã£ãŠæ¢åã®ã©ã€ãã©ãªãããã«å€ããªãå¯èœæ§ããããŸãã
ããããäžæ¹ã§ã©ã€ãã©ãªã¯ãã®ãšã³ã·ã¹ãã ã圢æãç¶ãããã®ã³ãã¥ããã£ã«ãã£ãŠç¶ç¶çã«ã¡ã³ããã³ã¹ãããæè¡ã®å€åã«å¯Ÿå¿ããŠããŸããã€ãŸããã©ã€ãã©ãªã®æªæ¥ã¯ãã®ã³ãã¥ããã£ãšå ±ã«ãããšèšããã§ãããã
æŽã«ãæ±çšæ§ã®ããã©ã€ãã©ãªã¯é·ã䜿ãããŸãããç¹å®ã®ããããªçšéã«ç¹åããã©ã€ãã©ãªãååšããŸãããããã¯ãã®çšéããªããªããªãéããé·ãååšãç¶ããã§ãããã
6.3 ã©ã€ãã©ãªãšã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°
ã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ã¯ãçŸä»£ã®ãœãããŠã§ã¢éçºã«ãããŠæ¬ ãããªãèŠçŽ ãšãªã£ãŠããŸããAWS, GCP, Azureãªã©ã®ãã©ãããã©ãŒã ã䜿ã£ãŠãã¢ããªã±ãŒã·ã§ã³ãéçºãéçšããããã®ã©ã€ãã©ãªã次ã ãšç»å ŽããŠããŸãã
ãããã®ã©ã€ãã©ãªã¯ãã¯ã©ãŠãã®ç¹æ§ã掻ããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒãªã³ã°ããããã€ãããŒã¿ãã€ãã©ã€ã³ã®ç®¡çãªã©ã容æã«ãããã®ã§ãã
äŸãã°ãAWSãå©çšããéçºã§ããã°ãAWS SDKãšããã©ã€ãã©ãªã䜿ãããšã§ãAWSã®åçš®ãµãŒãã¹ãããã°ã©ã ããç°¡åã«æŽ»çšããããšãã§ããŸãã
6.4 ã©ã€ãã©ãªãšAIïŒäººå·¥ç¥èœïŒ
AIåéã§ããã©ã€ãã©ãªã®æŽ»çšã¯æ¬ ãããŸãããæ©æ¢°åŠç¿ïŒMLïŒã深局åŠç¿ïŒDLïŒãæ軜ã«è¡ãããã®ã©ã€ãã©ãªãæ°å€ãååšããŠããŸãã
代衚çãªMLã©ã€ãã©ãªãšããŠã¯ãPythonã®Scikit-learnãšãã£ãã©ã€ãã©ãªããããŸããäžæ¹ãDLã«ãããŠã¯ãTensorflowãPyTorchãåºã䜿ãããŠããŸãã
ãããã®ã©ã€ãã©ãªã䜿ãããšã§ãå°éçãªç¥èããªã人ã§ãäžå®ã®AIã¢ããªã±ãŒã·ã§ã³ãéçºããããšãå¯èœãšãªããŸãããããã®ã©ã€ãã©ãªã®ç»å Žã«ããããšã³ãžãã¢ã§ãAIã身è¿ã«æããããšãã§ããããã«ãªããŸããã