
ã³ãŒãã«çŽæ¥ã¢ã¯ã»ã¹ããã®ãåŸ ã€ããšãã§ããªãå Žåã¯ãããã«ç§ã®ãªããžããªããããŸã ã
ã¯ããé¡èªèã¯ã¢ããªã±ãŒã·ã§ã³ã®äžéšã§ãããæãé£ããéšåã§ãã ã³ãŒããŒã泚ãã§ãç§ã®è©±ã楜ããã§ãã ããïŒç§ã¯è©ŠããŸããïŒã
å€ãã®å ŽåãPythonã«ã¯ãã£ãŒãã©ãŒãã³ã°ãããžã§ã¯ãããããŸãããNode.jsã¯ãããŸããã ãã®çç±ã¯ãPythonã§ã¯ãå¹ççãªã³ã³ãã¥ãŒãã£ã³ã°ã®ããã®ã©ã€ãã©ãªãã¯ããã«å€ãããã§ããããšãã°ãNumpyãPandasãtensorflowãªã©ã§ãã ãããŠãã®ã£ããã¯ååã«å€§ããã§ãã ç§ã¯Node.jsãç¥ã£ãŠããŸãããŸããå°ãç¥ã£ãŠããŸããæ©æ¢°åŠç¿ã§é転ããŠããéãããããåŠã¶ããã«ããããžã§ã¯ãã§ããã䜿çšãããã£ãã§ãã
ããã¯ãã¹ãŠãAzureML APIïŒé¡ã®è¡šæ ã®å®çŸ©ïŒãæäœããããšã«é¢ãã質åã§ãã£ããªã³ã©ã€ã³ã³ã³ãã¹ãäžã«å§ãŸããŸããã é¡èªèçšã®APIããããŸãããããã€ãã®å¶éããããŸãã ããã«ãæåã«ç»åããµãŒãã¹ã«ã¢ããããŒãããå¿ èŠããããŸãã次ã«ãçµæãèšç®ããŠãç§ã«éä¿¡ããŸãã ç§ã«ã¯é ãããã ç§ã¯åœŒãšäžç·ã«ãã¬ãŒãããã£ãã®ã§ãããåœæã¯ç§ã®åœã§ã¯ãã®ãµãŒãã¹ãå©çšã§ããŸããã§ããã ã ãããç§ã¯äœãéãããšãããã¢ã€ãã¢ããããéçºè ãã¡ã«æè¬ãããã ãããŸã§ã¯ãä»ã®äººããã§ã«ãã£ãããšã ããå匷ããŠããŸããã ã»ãã¥ãªãã£ã®èŠ³ç¹ããçåããããŸããããããã¯ã¢ããæ©èœãå¿ èŠã§ããã ããã«ãäžåžãæ°ããèšèªãåŠã¶ããšã«ã€ããŠã®èšäºãèªã¿ãŸãã ã ãããŠãç§ã®ç¥èããŸã£ããæ°ãããããžã§ã¯ãã«å¿çšãã絶奜ã®æ©äŒã ãšæããŸããã
ããŠã次ã¯äœã§ããïŒ é»æºã³ãŒããMacbookã«æ¥ç¶ããŸãããããã¯é·ãäœæ¥ã«ãªãããšãå®æããããã§ããGoogleã®å人ãé£ããŠããããžã§ã¯ããéå§ããããã®ã¡ãã£ãšãããã³ããæ¢ãåã£ãŠããŸããã 人ã ã¯ãã§ã«ãããã¯ãŒã¯äžã§ãç§ãèšç»ãããã®ãå®è£ ã§ãããã©ãããå°ããŠããããšãå€æããŸããããè³¢æãªçãã¯ãããŸããã§ããã åœæãç§ã¯ãã®ã¿ã¹ã¯ã«1察1ã§å¯Ÿå¿ããŠããŸããã ããããç§ã¯Adam Gaitgayã«ããçŽ æŽãããã·ãªãŒãºã®åºçç©ã«åºäŒããŸãã ã ç§ã¯ä»¥å圌ã®ããã°ãèªãã§ããŸããããã©ããããããä»ã®ããšã«å€¢äžã«ãªããŸããã ãããŠãAdamã®ãã°ãããèšäºã«åºäŒã ã圌ãPythonã§face_recognitionããã±ãŒãžãäœæããããšãç¥ããŸããã ç§ã¯ãããããŠã³ããŒãããŠãã¹ãããŸããã ãŸãã圌ã¯ç§ãã¡ãæãã»ã©ã¹ã ãŒãºã«åäœããŸããã§ããã

ããã¯ãç§ãdlibãã€ã³ã¹ããŒã«ãããšãã®æãã§ã ã çç±ã¯ããããŸããããæåŸã®æ®µéã§ã€ã³ã¹ããŒã«ã«åé¡ããããŸããã ç§ã¯ãã®çç±ã解æããããã«äœæéãè²»ãããŸãããããã®æ¥ã¯ãžã ã«ãè¡ããŸããã§ããã

ç§ã¯ãããžã§ã¯ããæŸæ£ãã寞åã§ããã ãããããã®åŸã圌ã¯ãPythonããã±ãŒãžanacondaã®ãã¹ããŸãã¯ãã®ãããªãã®ãåå ã§ã競åãåå ã§ããããšãçºèŠããŸããã ç§ã¯ãŸã çæ ç³»ãç 究ããŠããã®ã§ãã¢ãã³ã³ããå»ã£ãŠãããžã§ã¯ããæŸæ£ãããããèããåãé€ããã決ããªããã°ãªããŸããã§ããã æçµçã«ãanacondaãå®å šã«åé€ããã·ã¹ãã ããŒãžã§ã³ã®ã¿ãæ®ããŠãç°ãªãããã±ãŒãžã«ãã£ãŠããŠã³ããŒããããç°ãªãããŒãžã§ã³ã®Pythonã®å®å šãªåé€ãå®äºããã®ã«1æ¥ãè²»ãããŸããã 次ã«ãHomebrewã䜿çšããŠãPython3ãæ£ããããŠã³ããŒãããdlibãã€ã³ã¹ããŒã«ãããã®æ¥ã®ãã¡ã«ãããéå§ããããšãã§ããŸããã
æ°ããåé¡ãçºçããŸããïŒã©ã€ãã©ãªãNode.jsã«çµ±åããæ¹æ³ã¯ïŒ ç¹°ãè¿ãã«ãªããŸãããç§ã¯ãžã¬ã³ãã«çŽé¢ããŸãããDjangoãFlaskãªã©ã®Pythonãã¬ãŒã ã¯ãŒã¯ãç 究ããããšããããžã§ã¯ãã®äœæ¥ãç¶ããããšã解決ã§ããªãå¯èœæ§ã®ããæœåšçã«ç¡éã®ã¿ã¹ã¯ã«é¢äžããããšã§ãã ãã®ãã¬ãŒãºãèªãã§ãé ã«æµ®ãã³ãŸããïŒ
æ°åŠã®ã«ãŒã«ïŒåçŽã«èŠããå Žåãããã¯ééã£ãŠããŸãã
ãã¬ãŒãºã¯ã·ã§ãã®èšäºãšãšãã«ç§ã«ã€ã³ã¹ãã¬ãŒã·ã§ã³ãäžããã®ã§ãããã€ãã®Webãããžã§ã¯ãã«ã€ããŠå°ãç¥ã£ãŠããNode.jsãç¶ããããšã«ããŸããã
ããã§ãç§ã¯åã³PythonãšNode.jsãçµ±åããæ¹æ³ãæ¢ãå§ããŸããã Node.jsã®åããã»ã¹ã«ã€ããŠåŠã³ãŸããã ããããç§ã®ç¶æ³ã¯æ¬¡ã®ããã«èŠããŸããã

ããããªäŸã§ããã¥ã¡ã³ããèªãã§ãã ããã ç§ã¯ããã°ãèªã¿ãŸããããã©ãã§ãåãã§ããã ããããä»åã¯ãïŒã€ã³ã¿ãŒã³ã·ããã®å©ããåããŠèªãã§ïŒä»»æã®ã³ã¹ãã§ãããžã§ã¯ããå®äºããã€ããã§ããã ã€ã³ã¿ãŒã³ã·ããã·ãŒãºã³ã®å§ãŸããè¿ã¥ããŠããã®ã§ãã§ããã ãæ©ãæºåãå®äºããå¿ èŠããããŸããã ããã«ãæ¥å¹Žã®å€ã«ãã®ãããªãããžã§ã¯ããäœæããã®ã«ååãªæéãå¿ èŠãšããŸããããGoogleãåç¬ã§äœ¿çšããŠèªåèªèº«ã§äœæããŸããã æ©æ¢°åŠç¿ã«å°ã粟éããŠãããªããããã¯ããªãã«è¿ãã§ãããïŒ
åŠç¿é床ãé ãããå Žåãæé©å€ã«å°éãããŸã§ã«æéããããããããŒã«ã«ãããã ã§ç«ã¡åŸçããŸãã é床ãé«ãããå ŽåãèŠéãå¯èœæ§ããããŸãã ãã ããé床ãæ£ããå ŽåããŸãã¯æ¡ä»¶ã«å¿ããŠèª¿æŽãããŠããå Žåãã¢ã«ãŽãªãºã ã¯æé©ãªãã€ã³ãããã°ããèŠã€ããŸãã
ç§ã«ãšã£ãŠãã¢ã«ãŽãªãºã ã«é¢ããŠã¯ãã€ã³ã¿ãŒã³ã·ããã¯æ£ããåŠç¿çã§ããã ãã®ããããããžã§ã¯ããå®äºããå¿ èŠããããŸããã

ã ããç§ã¯äžçæžåœåããŸãããæã æã®5.45ãŸã§åããŸããã ããã¯çŽ æŽãããæéã§ãããç§ã¯å€ãã®æããªééããç¯ããŸããã ãµãŒããŒã®ã³ãŒããå€æŽãããšãã«ã¿ããæŽæ°ããŸããã§ããã ã¯ã©ã€ã¢ã³ãã®ã³ãŒããæ°åå€æŽããŸãããããŠã£ã³ããŠãæŽæ°ããŸããã§ããã çç±ã¯ããããŸããããå¿«é©ãªãããã§ææ°22床ã®å¿«é©ãªæž©åºŠã§ç ãããã®ãããããŸããã Stackoverflowã§äžèŠãªè«çãšã©ãŒãæ€çŽ¢ãããªã©ãããã€ãã®é©ãã¹ãç¬éããããŸããããåŸã§ã¿ããæŽæ°ããã ãã§ä¿®æ£ããŸããã
æåŸã«ãPythonãšNode.jsã§åéãäœãããšãã§ããŸããã

AzureMLã§ã®äºä»¶ã®åŸãç§ã¯ã€ã³ã¿ãŒããããªãã§ãã¹ãŠãå®è¡ã§ããå®å šã«ãªãã©ã€ã³ã®Webã¢ããªã±ãŒã·ã§ã³ãäœæããããšã«å€¢äžã«ãªããŸããã 代ããã®APIãèŠã€ããããèªåã§ãããªããã°ãªããŸããã§ããã ãããããåç¥ã®ããã«ãã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã§ã¯ãããã¯ç©äºã®é åºã§ãã æéã¯ç©ºéã«åæ¯äŸããŸã ã ãã®ãããç¹å®ã®äœæ¥ã確å®ã«è¡ãããã«è²»ããæéãæå°éã«ããããšããŸããã åç/åç»ãã¯ã©ãŠããµãŒãã¹ã«éä¿¡ããã«ã¯æéãšãã£ãã«ãå¿ èŠã§ããã€ãŸããå æã¹ããŒã¹ãå¢ããå¿ èŠããããŸããã ã¯ã©ãŠããµãŒãã¹ã®æ¹ãã¯ããã«äŸ¿å©ã§ãããèå³ã®ããããšãããã°ãããããã®ã³ãŒããæžãã®ã奜ãã§ãã ãããåãå ¥ããã«ã¯ããªããžããªã®ã€ã³ã¹ããŒã«æé ãèªãã§ãã ãã ã
ç§ã¯å€ãã®ããã±ãŒãžãèŠã€ããäžã€äžã€è©Šãããããåäœãããæã èœãšããåã³èŠãŸããã ããšãã°ãé¡èªèã«å€±æããå Žåã®ãã©ãŒã«ããã¯ãšããŠQRã³ãŒãã®èªèãçµ±åããå¿ èŠããããŸããã ã³ãŒããçæããããã®å€ãã®ããã±ãŒãžããããŸãããããããã¹ãã£ã³ããããã§ã¯ãããŸããã æåŸã«ãInstascanããã±ãŒãžãèŠã€ããŸããã 圌ã®æ©ã¿ã«èŠããã ã å®éãPythonã§ã®é¡èªèã«OpenCV3ã䜿çšããåãã«ã¡ã©ïŒã©ãããããã§ã¯å¯äžã®ã«ã¡ã©ïŒã§QRã³ãŒããã¹ãã£ã³ããŸããã ã¹ãã£ã³ã«ã¯å°ããªãããªãã¬ãŒã ãå¿ èŠã§ããããé¡èªèçšã®ãããªã®ãµã€ãºãå€æŽãããŸããã ãŸããããã¯åé¡ã®ããã«æãããŸããã§ããã èªèããã»ã¹ãåæ¢ããQRã³ãŒããã¹ãã£ã³ããŠãããçŽãããšãã§ããŸãã ãšãŠãç°¡åã§ããã ãããã泚ææ·±ãèªããšã次ã®2ã€ã®ç¹ã«æ°ã¥ããŸããã
- ãããåçŽã«èŠããå Žåãããã¯ééã£ãŠããŸãã
- æéãæå°éã«ããããšããŠããŸãïŒäž»ãªçç±ã¯ãAPIãå©çšå¯èœã«ãªãã®ãåŸ ã€ããšã§ã¯ãããŸããïŒã
ãããã£ãŠããã®åé¡ã解決ããã«ã¯ãããã±ãŒãžã®ã³ãŒããšããããå®è¡ããããã»ã¹ã調æ»ããå¿ èŠããããŸããã
ã©ã€ãã©ãªè§£æ
ã¯ããç§ã¯ãã®ã¿ã¹ã¯ã«3åä¹ãåºããŸãããããããçš®é¡ã®å°é£ã«å¯ŸåŠããããã«ã©ã€ãã©ãªãåæããŸããã å°ãªããšãç§ã«ãšã£ãŠã®å°é£ã
- face_recognitionããã±ãŒãžã®åäœãç 究ããŠãèªåã®ç®çã«åãããŠèª¿æŽããŸããã åæã«ä»ã®äººãå©ããŸããã
- Instascanãå°ãå匷ããŠãã«ã¡ã©ã§ã©ã®ããã«æ©èœããããããã³Webã¢ããªã±ãŒã·ã§ã³ã§ã«ã¡ã©ãäžè¬çã«äœ¿çšããæ¹æ³ãç解ããŸããã åŠçããå¿ èŠãããå€ãã®ã±ãŒã¹ããããŸãïŒãŠãŒã¶ãŒãäœããã®æ¹æ³ã§ã«ã¡ã©ãåæ¢ããå Žåãããšãã°ãã¢ãŒãã«ãŠã£ã³ããŠãéããŠã¯ãªãã¯ããããå®å šã«éããããšã«ãã£ãŠã ã³ãŒããå€æŽããŠäœåºŠãå®è¡ãããã®ãã³ã«ããã€ãã®ãã°ãèŠã€ããŸããã ããæ¥ãç§ã®Macãã¡ã¢ãªäžè¶³ã«ãªãããã«ãªããæ°ç§éãã³ã°ããŸããã ç¹°ãè¿ãè©Šã¿ãåŸãç§ã¯æçµçã«æåããŸããããåã³å¥ã®ãã°ãèŠã€ããŸããã
- ä»åã¯ããããªã¢ã©ã€ãºãã¬ãŒã ã¯ãŒã¯ã®ã¢ãŒãã«ãŠã£ã³ããŠã«ãã°ããããŸããã ã³ãŒã«ããã¯ã¯æ©èœããŸããã ã°ãŒã°ã«ãGithubãšStackoverflowã§å€§éšã-ãœãªã¥ãŒã·ã§ã³ãèŠã€ããããšãã§ããŸããã§ããã ãã°ã®åå ãšãªãã³ãŒããèšç®ãããããèŠã€ãåºããconsole.logïŒïŒåŒã§æ°åå®è¡ããäœãèµ·ãã£ãŠããã®ããç解ããããšããŠããã°ã«è¿ã¥ããã³ãŒããéšåçã«åé¢ããŸããïŒãã¹ã¯ãŒãããã€ãã¹ããããã«ãŒã®ããã«æããŸããïŒã ãã®ãã¬ãŒã ã¯ãŒã¯ã®ãã©ãŒã ãããŸãè¯ããªããšèããã®ã§ãå¥ã®Webã¢ããªã±ãŒã·ã§ã³ã§éãã§ã¿ãŸãã
ã€ãã³ã++
ããã¯jQueryã«ããé©ãã¹ããã°ã§ãã ã€ãã³ãã®æ°ã¯ãã¯ãªãã¯ãããã³ã«å¢å ããŸãïŒ1ã2ã3ã4ã5ã6ã7ã8 ...ãªã¢ã«ã¿ã€ã éç¥ã¯ã衚瀺ãããå³ã®åå šäœãå®å šã«ãããã¯ããŸããã jQueryã§ã¯ãã¯ãªãã¯ïŒïŒã®ä»£ããã«onïŒïŒã䜿çšãããã³ãã©ãŒã®å€éšã§socket.onïŒïŒã€ãã³ãã䜿çšããããšãå€æããŸããã
æåŸã«ãé·ãéäºã®åŸããµãŒããŒéšåã¯ã¯ã©ã€ã¢ã³ããšããŸãæ©èœãå§ããŸããã

ç§ã¯ãã¹ãŠãæºåãã§ããŠãããšæã£ãã ããããããã§ã¯ããŠãŒã¶ãŒãCRUDæäœãå®è¡ã§ããããã«ããŒã¿ããŒã¹ãµããŒããè¿œå ãããšã©ããªãã®ããšããã¢ã€ãã¢ã蚪ããŸããã ãŠãŒã¶ãŒã䜿çšãããã®ã¯SQLãŸãã¯NoSQLã®è£éã«ä»»ããããšæããŸããã ç§ã¯ãµããŒããè¿œå ãããšæã£ãŠããŸããããããã§ãéã皌ãããšãã§ããŸãïŒã»ãšãã©æåããªãã£ãã®ã§ãé²ã®äžãæ©ãã«ããŸããå§ããããšãã§ããŸãïŒã ããå°ããçä¿¡/çºä¿¡ããžã¿ãŒã®èªåç»é²ã®ããã®æ¬æ Œçãªæ©èœïŒé¡èªèãQRã³ãŒãã¹ãã£ã³ãAPIå¶éã®æ¬ åŠã3段éèªèšŒïŒããããŸãã ãããïŒ
- ãªãŒãã³ãœãŒã¹ã³ãã¥ããã£ãããã¹ãŠãåŠã³ãŸããã
- ããŸããŸãªäŒç€Ÿãããã¯ããŠè£œåã販売ã§ãããšã¯æããŸããã ç§ã¯ãããé¢åã§ãã ãã£ãšäŒŒããããªè£œåãéçºããããšæããŸãã
- æ ç»ããœãŒã·ã£ã«ãããã¯ãŒã¯ãã®ã·ãŒã³ã玹ä»ããŸãããããŒã¯ã¯ãMicrosoftããè³Œå ¥ã®ç³ãåºããã£ãã«ãé¢ããããMarkãã¢ããªã±ãŒã·ã§ã³ãäœæããç¡æã§ã¢ã¯ã»ã¹ã§ããããã«ããŸãããäžããæžããŸããã
MongoDBã®çµ±åã«å°ãæ £ããã®ã§ãMongoDBãçµ±åããŠã¿ãŸããããŸãã倧åŠã§SQLããŸã å匷ããŠããŸããã 次ã®åŠæã®ã¿ã«ãªããŸãã ãã®ããããã®æ©èœã®å®è£ ãå¥ã®ãããžã§ã¯ãã«ä»»ãããããããã©ãŒã¯ãŸãã¯ç§»æ€ããŸããã
äžè¬ã«ãéçºãçµ±åãç 究ãé©çšããããã°ãªã©ã«æ°æ¥éãè²»ãããŸããã
æåŸã«ãç§ã¯ãããèŠãŸããïŒ

ããã³ããšã³ããããã¯ãšã³ããããã³ããŒã¿ããŒã¹ã¯é£æºããŠåäœããŸãã ãã¡ãããäžå€®ã«ããã®ã¯ãµãŒããŒéšåã§ãïŒPythonãšNode.jsã®ãã¯ãŒãçµã¿åãããŠããŸãïŒã OpenCV3ïŒããã«ã¯ãã€ããªã®ã€ã³ã¹ããŒã«ãå¿ èŠã§ãïŒãface_recognitionãnumpyãpandasãããŒã¿ã»ããã«çµ±åããçµæã.csv圢åŒã§ç§ã®Pythonããã»ã¹ã«ä¿åã§ãããããããšãã°ã¢ãã«ããã¬ãŒãã³ã°ãããªã©ãä»ã®ã¿ã¹ã¯ã解決ã§ããŸãã ãããã£ãŠãé©åãªããŒããŠã§ã¢ãããã°ãç§ã®ãããžã§ã¯ãã«åºã¥ããŠãŸã£ããç°ãªãããšãè¡ãããšãã§ããŸãã
ããã³ããšã³ããGIFã«ãããããŒã¿ããŒã¹ã誰ã§ãããã¯ããªãã®è£éã§ä»»ããŸãã
Signing.OffïŒïŒ;
* * *
ãããžã§ã¯ããžã®ãªã³ã¯ ã
ã³ãŒãããŒã¹ã¯ããã»ã©å€§ãããªãã®ã«ããªããã®ããã¹ããæžããã®ã§ããïŒ äœãæªãã®ïŒ ãŸããå€ãã®äººã«ãšã£ãŠããã¯ã»ãã®æ°çŸè¡ã®ã³ãŒãã§ãããç§ã«ãšã£ãŠã¯ããã¹ãŠã®éšåãçµ±åããäœç³»çã«ç 究ããæ¢åã®ç¥èãæŽæ°ãããã®ç¡å¶éã®ãããžã§ã¯ãã§ããŒã¿ããŒã¹ãåå¥ã«ä¿®æ£ããããšã¯ïŒç§ã«ãšã£ãŠïŒãã¹ãŠããŸã 誰ãããŠããªãã¿ã¹ã¯ã§ã解決æžã¿ïŒPythonããã³Node.jsã®æ©æ¢°åŠç¿ïŒã ãŸããå€åç§ã¯ã²ã©ãèŠãŠããŸããã äžè¬çã«ãç§ã«ãšã£ãŠããã¯å€§ããªãããžã§ã¯ãã§ãã 誰ããããã圹ã«ç«ã€ãšæãããšãé¡ã£ãŠããŸãã ããã«ããã®æçš¿ã¯ãäœããå£ãããšããåãããšãã®ãã©ã¹ãã¬ãŒã·ã§ã³ãšäžæçãªå¹žçŠã®ç¬éãæãåºãããããã«æžããŸããã ããã人çã§ãã