æ¬æ¥ã¯ãAndrey Vukolov ã® IT ãžã®ç§»è¡ã®ã¹ããŒãªãŒãå
¬éããŸãã 幌å°æã®å®å®ãžã®æ
ç±ããã£ããã§ãMSTU ã§ãã±ããç§åŠãåŠã¶ããã«ãªããŸããã å³ããçŸå®ã¯ç§ã«å€¢ã®ããšãå¿ããããŸãããããã¹ãŠãããã«é¢çœããªããŸããã C++ ãš Python ãå匷ããããšã§ãããããå¶åŸ¡ã·ã¹ãã ã®ããžãã¯ãããã°ã©ãã³ã°ãããšãããåæ§ã«åºæ¿çãªä»äºãã§ããããã«ãªããŸããã
éå§
ç§ã¯å¹Œå°æãã£ãšå®å®ã«ç±äžã§ããŠå¹žéã§ããã ããã§ãæŸèª²åŸãã©ãã«å匷ã«è¡ãããè¿·ãããããMSTUã«å ¥åŠããŸããã ããŠãã³ããã±ããæšé²å·¥åŠç§ãžã ããããã³ãŒã¹èªäœã®åéã§ããå®å®ãã±ããã®ç²æ«ãšã³ãžã³ãŸãã¯æ¶²äœãšã³ãžã³ãéžæããå¿ èŠã¯ãŸã£ãããããŸããã§ããã2001 幎ã«ã¯ãç¹å¥ææå§å¡äŒãäŸç¶ãšããŠå¿é¡è ã®å¯Ÿè±¡ã°ã«ãŒããåé ããŠããŸããã ç«è¬åº«ã«æãŸã£ãŠããŸããŸããã
åœæãããã±ãã ããŒã ãã¯èšç»ã®äžã ãã§ãããæè¡è ã¯ããããªçµŠäžãåãåãããã£ãªã¢ãå°éçãªæé·ã®èŠèŸŒã¿ãã»ãšãã©ãªãééçãªç¹å¥ãªèšèšå±ãç 究æ©é¢ã§åããŠããŸããã ããã§ãããã·ã¢ã®ç«è¬ãã±ããã¯çŽç²ã«è»äºè£œåã§ããã
ä»ããã®åéã¯éèŠãé«ãŸã£ãŠããŸããããã±ããç§åŠã«ãããŠã¯ãèªåã®æå¿ã§æŽ»åããããšã¯ã»ãšãã©äžå¯èœã§ããããšã«ãç§ã¯å匷äžã«ãã§ã«æ°ã¥ããŠããŸããã å®éãããã¯å µåœ¹ã§ãã ããšãã°ããã±ããç£æ¥ã§åããŠãããšãããšãèªåèªèº«ã§ãã£ãŠããœãããŠã§ã¢ãç¬èªã«éçºããæ©äŒã¯å®å šã«å¥ªãããŠããŸããŸãããã®æŽ»åã¯å³ããèŠå¶ãããŠããããã§ãã
ãã¹ãŠã®ãœãããŠã§ã¢è£œåã¯ç¹å¥æ³šæã«åºã¥ããŠã®ã¿éçºãããæ©å¯å§å¡äŒ (çŸåšã¯ FSTEC ã®äžéšé) ã®æ¿èªãåŸãŠããŸãã éçºè ã¯ãæåéãã³ãŒãã®ãã¹ãŠã®è¡ãç»é²ããã©ã€ã»ã³ã¹ãååŸããå¿ èŠããããŸãã ãã¹ãŠã®ãœãããŠã§ã¢ã¯ãæåã¯ã¿ã¹ã¯ ã¬ãã«ã§ç§å¯ã§ãã ããã¯ããã±ããç§åŠã®åŠçãèšç·Žããããã«çŸåšäœ¿çšãããŠãããœãããŠã§ã¢ãé ããšã 90 幎代ã«éçºãããçç±ã®äžéšã説æããŸãã
ç 究æãåæ¥ãããŸã§ã«ãç§ã¯ã¡ã«ããºã çè«ã®åŠç§ã§ãªããšãåãããšãã§ããC++ ã§æè²ããã»ã¹ ã·ãã¥ã¬ãŒã¿ãŒã®éçºãå§ããã®ã§ãæ¯èŒçšã®äŸããããã¡ãªãããšãã¡ãªãããæ¯èŒæ€èšããããšãã§ããŸããã éžæã¯æçœã§ãç§ã¯åŸã ã« IT ãšããããå·¥åŠã«åŸãå§ããŸããã å¿çšååŠã¯ãã±ããç§åŠãããã¯ããã«æ¥œããã£ãã§ããå€ãã®æªè§£æ±ºã®åé¡ããªãŒãã³ãªç°å¢ãéçºç£æ¥ã®æ¬ åŠãã·ãã¥ã¬ãŒã·ã§ã³ ãœãããŠã§ã¢ã®ç·æ¥ã®å¿ èŠæ§ããããŸããã ããããå·¥åŠã§ã¯ãäžè¬çãªãœãããŠã§ã¢ã®ã¢ãŒããã¯ãã£ã確ç«ãããŠãããããã¡ãžãŒ ããžãã¯ã AI ã®å§ãŸããå«ãè€éãªã¢ã«ãŽãªãºã ãç¹°ãè¿ãå®è£ ããå¿ èŠããããŸãã ãããã£ãŠãå®éšããŒã¿ãåŠçããããã®æåã®ããã°ã©ã ã®åŸãç§ã¯ïŒåæ¥ç 究ãé€ããŠïŒãã±ããã«æ»ãããšã¯ã»ãšãã©ãããŸããã§ããã
ãã®çµæãã¢ã¹ã¯ã¯è¿éã®èªç©ºå®å®ç£æ¥åãè€åæ§é ã®å·¥å Žã§åæ¥ãããŸã§ã®ããã XNUMX ãæéãèªåã®å°éåéã§åãæ©äŒãåŸãŸããã åæ¥åŸã¯ä»äºãæ¢ãå¿ èŠããªããããã«ããããå·¥åŠç§ã§å¿çšååŠãæããããšã«ãªããŸããã
æè²ããããã°ã©ãã³ã°ãŸã§
IFTOMMäžçäŒè°ã«ãŠç 究ã°ã«ãŒãã®åŠçã¡ã³ããŒãšïŒå³ãç§ïŒ
ç§ã¯ MSTU ã®ãµã³ããªã³ã°éšé㧠10 幎éåããã¡ã«ããºã çè«ã®ã³ãŒã¹ãæããŠããŸããã 圌ã¯ç§åŠçãªèäœãåºçã (èšäºã®æåŸãåç §)ãåŸã ã«æ©æ¢°åŠãã CAD ãããããå·¥åŠãžãšç§»è¡ããŠãããŸããã ãããŠæçµçã«åœŒã¯æåž«ãèŸããããšã決æããŸããã ãã®æ±ºå®ã®çç±ãæãæ確ã«èª¬æããããã«ãç§ãæããåŠç¿æå°èŠé 㯠XNUMX 幎éãå°æ°ç¹ä»¥äž XNUMX æ¡ãå€ãã£ãŠããªããšèšããããšæããŸãã åºçç©ããå€æãããšãå¿çšååŠã¯éåžžã«ããŸãåé²ããŸãããã
ããã«ãå ±åæžãããã°ã©ã ãåºæºã倧éã®çŽãªã©ãä»äºã¯ãŸããŸãå®åçãªä»äºã«äŒŒãŠããŸããã ãã®ãããªç¶æ³ã§ã¯ãæããããšã®åã³ãããã®åã³ãåãåã£ãããšãå ±åããããšã«ãã£ãŠçœ®ãæããããããã¯çŸåœ¹ã®å°é家ã«ãšã£ãŠäžå¿«ä»¥äžã®ãã®ã§ãã
ãããŠæçµçã«ãç§ã¯ãã®ããã«ããããå·¥åŠã«å°éããŸããã2007幎ãã2009幎ã«ãããŠãA.ãŽããã³ææãšN.ãŠã ããææãšäžç·ã«ãæåã®ç§åŠçç 究ã®æºåãå§ããŸããã ããã§ã¯ã¢ã«ãŽãªãºã ã䜿çšããŠãã¹ãããåçãããªããžã§ã¯ãã®çµè·¯ã決å®ããå¿ èŠããããŸããã ãã®ãããã¯ããã¯ããã·ã³ ããžã§ã³ãOpenCVããããã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãžã®äžæ©ã§ã (ãã ããåœæã¯ãã®ãããªèŠæš¡ã«ã€ããŠã¯èããããŸããã§ãã)ã ãã®åŸãæçµçã«ã¯å¿çšååŠãšããããå·¥åŠã®ç 究ã«éäžããéçºã¯è£å©çãªæŽ»åã«ãªããŸããã
ããããããããå·¥åŠã®åéã§æ°ããä»äºãèŠã€ããã«ã¯ãããã°ã©ãã³ã°ã®ç¥èãåäžãããè£è¶³ããå¿ èŠããããŸããã çµå±ã®ãšãããç§ã¯ XNUMX 幎éã®å€§åŠã®ã³ãŒã¹ (C++ ã® ObjectPascal ãš Borland VCL) ãé€ããŠãIT ãå ·äœçã«å匷ããããšã¯ãªããéçºã®çè«çåŽé¢ã¯æ°åŠã«äŸåããŠããŸããã
æåã¯æ¯æ ¡ã®ãã«ã¿ã€ã ã³ãŒã¹ã®éžæè¢ãæ€èšããŸããã 確ãã«ãäžèŠåãªã¹ã±ãžã¥ãŒã«ãšèªåã®ã¹ã±ãžã¥ãŒã«å€ã®ä»äºïŒäº€ä»£ãªã©ïŒãé »ç¹ã«ããããããã®ãããªç 究ãšåŠéšã§ã®ä»äºãçµã¿åãããã®ã¯ã»ãšãã©äžå¯èœã§ããããšãããã«æããã«ãªããŸããã ããã§ãåŸã ã«ææã³ãŒã¹ããªã¢ãŒãã§å±¥ä¿®ãããšããèãã«è³ããŸããã ç§ã¯ããŠãã³ã«ã«ãã Mail.ru ãã¯ãããŒã¯ ãã¬ãŒãã³ã° ã»ã³ã¿ãŒã®ææã®å§ã㧠GeekBrains ã«æ¥ãŠãPython ããã°ã©ã㌠ã³ãŒã¹ã«ç»é²ããŸããã
ã³ãŒã¹ã¯äœã®åé¡ãåŒãèµ·ãããŸããã§ããããå¯äžã®åé¡ã¯ãããããåŠéšã§ã®ä»äºãç§åŠçãªä»äºãã€ãã³ããšåžžã«çµã¿åãããªããã°ãªããªãããšã§ããã æéãéåžžã«éŒè¿«ããŠããã®ã§ã家ã®å€ã§ã®ç€ŸäŒçã€ãªããã®ã»ãšãã©ãïŒå¹žããªããšã«äžæçã«ïŒç ç²ã«ããªããã°ãªããªãã£ãã
ç§ã¯ãã®ããã«ããŠä»äºéã«å¯ŸåŠããŸããã移åäžã«åé¡ã解決ããŸããã äœåºŠãåºåŒµããããšã§å¹ããããã®ã¹ãã«ã¯ããšãŠã圹ç«ã€ããšãããããŸãããããããªããã°å®¿é¡ããã¹ãŠçµããããããšããã§ããªãããã§ãïŒçæ³ã®ä»£ããã«ããªããŸã...ïŒã ã©ããããããã¹ããŒããã©ã³ãã¯ã€ã€ã¬ã¹ã¹ããŒããã©ã³ã®ããŒããŒãã䜿çšããŠãå€åºå ã§ã³ãŒãã£ã³ã°ããããšãåŠã³ãŸããã
ç§ã®ã©ããããã㯠Dell Latitude 3470 ã§ãLogicool K 5.5 BT ããŒããŒããšçµã¿åããã察è§ç· 810 ã€ã³ã以äžã®ã¹ããŒããã©ã³ã§ããã°åé¡ãããŸããã äžè¬ã«ãç§ã¯ããžã¯ãŒã«è£œåã誰ã«ã§ããå§ãããŸãããããã¯éåžžã«ä¿¡é Œæ§ãé«ããéåžžã«éé ·ãªäœ¿çšæ¡ä»¶ã«èããããšãã§ããŸã (ããã¯æ±ºããŠå®£äŒã§ã¯ãããŸãã)ã
ããŒããŒã ããžã¯ãŒã« K810
åªãããšãã£ã¿ãŒãæã£ãŠããå ŽåãPython ã¯ãã®ãããªäœæ¥ã«éåžžã«åœ¹ç«ã¡ãŸãã ãã XNUMX ã€ã®ããã°ã©ãã³ã° ããã¯: ãã¹ã¯ããããŸãã¯ã©ã³ã¿ã€ã ç°å¢ãžã®ãªã¢ãŒãæ¥ç¶ã䜿çšããŸãã èªå® ã®ã³ã³ãã¥ãŒã¿ãŒã§ Django ãå®è¡ããŠããå®å šãª Web ãµãŒããŒã䜿çšããŠãããã€ãã®ã¿ã¹ã¯ãå®äºããŸããã ç§ã¯é»è»ã®äžã§ PyDroidãDroidEditãMaxima ãœãããŠã§ã¢ã䜿çšããŠä»äºãããŸããã
ãªããã€ãœã³ãªã®ã?
ç§ãã·ã¹ãã ã¹ã¯ãªããèšèªãšã㊠PHP ã䜿çšããããšãããŸã§ãããã»ã©æéã¯ããããŸããã§ããã ç§ã¯æåã¯ç¬åŠã§å°ããã€ãèªåã®ãããã« Python ãå匷ããŸããã ã¢ãžã¥ãŒã« ã¬ãã«ã§ Python ãš C++ ã®éã«å¹æçãªæ¥ç¶ãååšããããšãç¥ããåãèšèªå ã§æé©åãããã¢ã«ãŽãªãºã ãšããŒã¿æºåæé ãå ±æããã®ã¯èå³æ·±ããšæããçå£ã«å匷ããããšã«ããŸããã
æãåçŽãªäŸ: RISC ããã»ããµãæèŒããçµã¿èŸŒã¿ãã·ã³ã« C++ ã§å®è£ ããããéæšæºã®åŒ·åãªãã©ã€ãã®å¶åŸ¡ã·ã¹ãã ããããŸãã 管çã¯ãããšãã°ãããã¯ãŒã¯ãä»ãããµãã·ã¹ãã éã®éä¿¡ããµããŒãããããã·ã³ã«äŸåããå€éš API ãéããŠè¡ãããŸãã 倧ãŸãã«èšããšããã©ã€ãæäœã¢ã«ãŽãªãºã ã¯ãããã°ãããŠããªããäžå®ã§ã¯ãããŸãã (äœæ¥ããã»ã¹ã«å¿ããŠç°ãªãã¢ã«ãŽãªãºã ãããŒãããå¿ èŠããããŸã)ã
ãã®ãããªã·ã¹ãã ãå®çŸããæè¯ã®æ¹æ³ã® XNUMX ã€ã¯ãã¯ãã¹ãã©ãããã©ãŒã ã€ã³ã¿ããªã¿äžã§å®è¡ããã Python ã¯ã©ã¹ã®ã»ããã®åºç€ãšããŠããã·ã³åºæã® C++ ãµãã·ã¹ãã API ã䜿çšããããšã§ãã ãããã£ãŠããããã¬ãã«ã®éçºè ã¯ãçµã¿èŸŒã¿ãã·ã³ãšãã® OS ã®æ©èœãèæ ®ããå¿ èŠããªããäœã¬ãã« API ã®ãã©ãããŒããšããŠæ©èœãã Python ã¯ã©ã¹ãæäœããã ãã§æžã¿ãŸãã
C++ ãš Python ã®ãã€ã³ãã£ã³ã°ãã»ãŒãŒãããåŠã°ãªããã°ãªããŸããã§ããã é«ã¬ãã«ã®ãªããžã§ã¯ãæåæ©èœãäœã¬ãã«ãããã¯ããã«éèŠã§ããããšãããã«æããã«ãªããŸããã ãã®ãããAPI ã®èšèšãšå®è£ ã®ã¢ãããŒããå®å šã«å€æŽããPython ã¬ãã«ã®ã¯ã©ã¹ãš C/C++ ã§ã®å ±æã°ããŒãã« ããŒã¿ãéžæããå¿ èŠããããŸããã ã³ãŒãçæã«æ £ããŸããããšãã°ãROS ãã¬ãŒã ã¯ãŒã¯èªäœã¯ Python ã§ååãšãªããžã§ã¯ããçæãããããã€ã³ã¿ãŒãã§ã€ã¹ãèšèšããéã«ã¯ãèšèªã®éããç¹ã«å ¥åã®éããèæ ®ããå¿ èŠããããŸãã
çŸåšã®åãæ¹: Python ãšããããå¶åŸ¡ããžãã¯
çŸåšãç§ã¯ã¢ã¹ã¯ã¯åœç«å·¥ç§å€§åŠã®ããããç 究æè²ã»ã³ã¿ãŒã§ Python ããã³ C++ ããã°ã©ããŒãšããŠåããŠããŸãã åœç€Ÿã¯æ¿åºæ©é¢ããå§èšãããç 究ãããžã§ã¯ãããœãããŠã§ã¢ ããŒã«ãå®è¡ããŠããŸããåœç€Ÿã¯ãçµã¿èŸŒã¿ã®ãã¯ãã«ã« ããžã§ã³ ã·ã¹ãã ãšã·ã¹ãã ã«äŸåããªãé«ã¬ãã«ã®èªåå¶åŸ¡ã¢ã«ãŽãªãºã ãåãããããã¥ã¬ãŒã¿ãéçºããŠããŸãã
çŸåšãããããå¶åŸ¡ã·ã¹ãã ã®é«ã¬ãã« ããžãã¯ã Python ã§ããã°ã©ã ããŠããŸãããã®èšèªã¯ãC++ãã¢ã»ã³ãã©ãŒãGo ã§æžãããé«åºŠã«æé©åãããã¢ãžã¥ãŒã«ããªã³ã¯ããŠããŸãã
ããããå¶åŸ¡ã¢ã«ãŽãªãºã ã®ããã°ã©ãã³ã°ã§ã¯ãXNUMX ã€ã®å€§ããªã°ã«ãŒãã®ã¢ã«ãŽãªãºã ã䜿çšãããŸãã ãããã® XNUMX ã€ç®ã¯ãäœã¬ãã«ã§æ©åšã«çŽæ¥å®è£ ãããŸããããã¯ããã©ã€ã ã³ã³ãããŒã©ãŒãéä¿¡åç·ã³ã³ã»ã³ãã¬ãŒã¿ãŒãããã³ãªãã¬ãŒã¿ãŒå¯Ÿè©±ãµãã·ã¹ãã ã®çµã¿èŸŒã¿ãœãããŠã§ã¢ã§ãã
ããã§ã®ã¢ã«ãŽãªãºã ã¯ãããããå šäœã®ããã©ãŒãã³ã¹ãè¶ ããå¶åŸ¡ãããå®è¡é床ãšä¿¡é Œæ§ãå®çŸããããã«èšèšãããŠããŸãã ã·ã¹ãã å šäœã®ã»ãã¥ãªãã£ã¯äœã¬ãã«ã®å¶åŸ¡ãœãããŠã§ã¢ã«äŸåãããããåŸè ã¯å¿ é ã§ãã
XNUMX çªç®ã®ã°ã«ãŒãã®ã¢ã«ãŽãªãºã ã¯ãããããã®å šäœçãªåäœã決å®ããŸãã ãããã¯é«ã¬ãã«ã®ããã°ã©ã ã§ããããã®éçºã§ã¯ã¢ã«ãŽãªãºã ã®å®è£ ã®æ確ããšé床ã«éç¹ã眮ãããŠãããå€ãã®å Žåéåžžã«è€éã§ãã ããã«ãããããäžã®é«ã¬ãã«ã®ãœãããŠã§ã¢ã¯ãã»ããã¢ããããã³ãã¹ãã®ããã»ã¹äžã«å€æŽãããå¯èœæ§ãéåžžã«é »ç¹ã«ãããŸãã ãã®ãããªéçºã«ã¯æ±çšã€ã³ã¿ããªã¿èšèªãäžå¯æ¬ ã§ãã
ãã®ãããªä»äºã«ã¯ã©ã®ãããªç¥èãå¿ èŠã§ããïŒ
C++ ãã³ãã¬ãŒãèšèªãš Python ã®ãªããžã§ã¯ãæåæ©èœãåŠç¿ããããšãå¿ é ã«ãªããŸãã ã»ãŒããããã®ãªãã¹ãã«ã¯ãAPI ãèšèšããŠææžåããèœåã§ãã Boost::Python ã®ãããªç¹æ®ãªã©ã€ãã©ãªã®æ©èœã調ã¹ãŠã¿ãã®ãè¯ãã§ãããã äœã¬ãã«ã®ãœãããŠã§ã¢ãæ±ã人ã¯ãééããªããã«ãã¹ã¬ãã (ã«ãŒãã« ã¬ãã«ã§) ãš Linux/UNIX/QNX ã·ã¹ãã ã³ãŒã«ã«å¯ŸåŠããå¿ èŠããããŸãã ããããå·¥åŠã®åçã®ç解ãæ·±ããã«ã¯ããããã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ãã¬ãŒã ã¯ãŒã¯ã«æ £ããããšãéåžžã«åœ¹ç«ã¡ãŸãã
ç§ã¯ãéçºäžã§éèŠã®ããã³ã³ãã€ã«æžã¿ããã°ã©ãã³ã°èšèªãšã€ã³ã¿ãŒããªã¿åããã°ã©ãã³ã°èšèªãå°ãªããšã XNUMX ã€ãã€çšæããããã«ããŠããŸãã ããã¯ãé«åºŠã«ç¹æ®åããã (ã€ãŸããçãã) ã¢ã«ãŽãªãºã ãéçºããã³ã³ãã€ã«èšèªã§å®è£ ããå¿ èŠãåžžã«ãããšã³ãžãã¢ãªã³ã°åéã§ã®äœæ¥ã«ãšã£ãŠåå©ãåããæŠç¥ã§ãã ãã®ãããªãœãããŠã§ã¢çšã«ããŒã¿ãæºåããã¿ã¹ã¯ã¯ãã€ã³ã¿ãŒããªã¿èšèªã䜿çšããŠè§£æ±ºããæ¹ãã¯ããã«å¿«é©ã§ãã åœåãç§ã®ã»ããã«ã¯ C++ãPascalãBASIC ãå«ãŸããŠããŸããããåŸã« PHP ãš BASH ãè¿œå ãããŸããã
éçºããŒã«ãçåŸã®æå°ã«ã©ã®ããã«åœ¹ç«ã€ã
çŸåšã®å°éèœåéçºã®äž»ãªèšç»ã¯ãæè²åŠã«ãããå°éçãªãœãããŠã§ã¢éçºããŒã«ã®äœ¿çšã«é¢ããç§åŠçæ ¹æ ãæäŸããæè²æ¹æ³ãéçºããã³ãã¹ãããããšã§ãã
2016 幎以æ¥ãç§ã¯ããã°ã©ãã³ã°èšèªãIDEãããã¥ã¡ã³ã ãžã§ãã¬ãŒã¿ãŒãããŒãžã§ã³ç®¡çã·ã¹ãã ãªã©ã®éçºããŒã«ãé«çæè²ã®æè²å®è·µã«å°å ¥ãã倧èŠæš¡ãªå®éšãéå§ããŸããã çŸåšãå®æ§çã«äžè¬åã§ããçµæãåŸãããšãã§ããŸããã
ããšãã°ãæè²ããã»ã¹ã«ææã®ããŒãžã§ã³ç®¡çãå°å ¥ãããšãåŠçã®äœæ¥ã®è³ªãå€§å¹ ã«åäžããŸãããããã¯åŠçãå ±æãããžã§ã¯ãã«äžç·ã«åãçµããšããå¿ é ã®æ¡ä»¶ã®äžã§ã®ã¿ã§ãã å°éçãªãœãããŠã§ã¢éçºããŒã«ã䜿çšããŠæè¡åéãæããæ¹æ³ã®éçºã¯ãçŸåšãMSTU ã®åŠçãå¿é¡è ãè¿œå æè²ããã°ã©ã ã®åŠçã§æ§æãããç§ã®ç 究ã°ã«ãŒãã«ãã£ãŠç©æ¥µçã«å®æœãããŠããŸãã
ã¡ãªã¿ã«ãç§ã¯æè·ãèŸããããã§ã¯ãããŸãããMSTU ã®é«çç 究æåãã« Linux ã®èšèšãšç®¡çã«é¢ãã詳现ãªãã«ã¿ã€ã ã³ãŒã¹ãç¬èªã«éçºããèªåã§æããŠããŸãã
ç§åŠçãªä»äº
åæã®ä»äº
æåŸãã
ç§åŠåŒçšããŒã¿ããŒã¹ã«ãã£ãŠçŽ¢åŒä»ããããä»ã®äœåã¯ã次ã®ç§ã®ãããã£ãŒã«ã§èŠãããšãã§ããŸãã
åºæïŒ habr.com