![](https://habrastorage.org/webt/3_/zc/o3/3_zco3trf5jvcztco0khn6ugyoo.jpeg)
ITæ¥çã«ç®ãåããã»ã©ãå šäœåãé ã«æµ®ãã³äžãã£ãŠããããã«æããŸãã ITãæ¬æ Œçãªãã±ãããµã€ãšã³ã¹ã§ãããããã¯ã³ã¯ãªãã¯ã§*ä»ã®ããšã*ã§ãããå¥ã®ãµãŒãã¹ã®ããã§ãã ãããŠããã®ãã¬ãŒã³ããŒã·ã§ã³ã®ç¯å²ãè¶ ããŠããŸã æ°ããæè¡ã«è§ŠããããŠããªã掻åããããŸãã åãæ¯ç§å»é¢ã«è¡ããŸããã-ããŠãITã¯ã©ãã§ããïŒ
ããã¯ãªããšééãã§ãã
ä»æ¥ãæ¯ç§å»ã¯æ²»çãåŠæ¹ããŠããã圌ã®æ±ºå®ã®èåŸã«ã¯äžçäžã®æ°çŸäººã®ãšã³ãžãã¢ã®ä»äºããããããããŸããã ããã°ã©ããŒãæ°åŠè ãæè¡è ãã¢ããªã¹ããMLã®å°é家ããããŒãžã£ãŒã3Dããªã³ã¿ãŒãæèŒããå·¥å Ž-ãã¹ãŠãèŒãããªãŠããã®ç¬é¡ã®ããã«ã
ãªããããªã«å€ãã®äººãããã®ããäœã«å¿ããã®ããæ°åŠè ãšC ++ã®å°é家ãæ¯ãå¹³ãã«ããã®ã«ã©ã®ããã«åœ¹ç«ã€ã®ãã«ã€ããŠãç§ãã¡ã¯Align Techãšè©±ããŸããã
Align Technology Inc. ãã€ãµãŒã¯ã«ã§ã¯ã圌女ã¯åŸæ¥å¡ããå¹³å 4.5ã®è©äŸ¡ãåããŸãããåŸæ¥å¡ã¯ãç¹ã«é¢çœãä»äºããœãŒã·ã£ã«ããã±ãŒãžãå¿«é©ãªç°å¢ããããŠäžçãããè¯ãå Žæã«ããããã«äŒç€Ÿãè©äŸ¡ããŸããã
-ã©ããªããšãããŠããŸããïŒ
- ã¢ã³ãã¬ã€ã»ãã¯ã·ã¢ã ïŒããã¯ç¯æ£æ²»çã§ãã ç°¡åã«èšãã°ãæ¯ãæ£ããäœçœ®ã«ç§»åããããšããçŽæããŸãã
äžæ£å¬åãæ¯ã®äžæããªã©ã®äººã«ã¯æ¬ é¥ããããŸãã åé¡ã解決ããããã«ãäŸãã°äžæ¬åŒ§ã眮ãããšãã§ããŸãã ãã®åé¡ã解決ããå¥ã®æ¹æ³ãæãã€ããŸãã-ç®ã«èŠããªãæ 客æ©ã䜿çšããŸãã ããã¯ãç¹å®ã®äººã®ããã«äœããããã®ãããªããŠã¹ã¬ãŒãã§ãã 圌女ã¯å¿ èŠãªæ¯ã«å§åããããæ¯ãåããŸãã
![](https://habrastorage.org/webt/hk/pa/3a/hkpa3al4mfuoqmchncwjpkbkn_i.jpeg)
ç§ãã¡ã¯äŒç€ŸãšããŠããã£ããã®è£œé ã®ããã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã æ²»çã®éå§æã«ãå»åž«ã¯æ¯ç§å°è±¡ããšãããå£è å 3Dã¹ãã£ããŒã§ã¹ãã£ã³ããããŒã¿ãéä¿¡ããŠã3Dã¢ãã«ã«å€æããŸãã
ãã©ããªã¹ãã£ããŒããæã¡ã§ããïŒã
Sergey ValievïŒé»åæ¯ãã©ã·ãæ³åããŠãã ããã é ãå転ãããŠæ¯ã磚ããŸãã ãã®é ã®ä»£ããã«ãé«è§£å床ã®ãããªã«ã¡ã©ããããŸãã 圌女ã®èšŒèšã«åºã¥ããŠã3Dã¢ãã«ãæ§ç¯ãããŸãã äž»ãªå°é£ã¯ããããæ£ç¢ºãã€è¿ éã«è¡ããªããã°ãªããªãããšã§ããçµå±ã®ãšãããæ£è ã¯æ€ åã®äžã§å£ãéãããŸãŸæšªããã£ãŠããŸãã ã¹ãã£ã³ã«ã¯çŽ3ã5åããããŸãã
![](https://habrastorage.org/webt/zv/cr/vf/zvcrvflxvkioscvyqnvowulwrzg.jpeg)
ã«ã¡ã©ã®æããæ°Žãã¶ãã液äœã«ã¯ãŸã å°é£ããããŸãã ãããŠä»ããšã³ãžãã¢ã¯ãããã®åŸ®åŠãã«åãçµãã§ããŸãã
-åç»ãã3Dã¢ãã«ãååŸããæ¹æ³ ããã¯åç枬éã§ããïŒ
-AM ïŒ3Dã¹ãã£ã³ãååŸããããã«å ±çŠç¹æ³ã䜿çšããŸããã€ãŸããæ å ±ãååŸããããã«ã¬ãŒã¶ãŒãšå åŠçæ¹æ³ã䜿çšããŸãã
![](https://habrastorage.org/webt/jd/nc/zq/jdnczqg-pzcbngh_ne8pthhqbws.jpeg)
æçŽãŸãã¯ã¹ãã£ã³ãå±ããšãç¹å¥ãªã¢ã«ãŽãªãºã ã§åŠçããŸãã ããã°ã©ã ã¯ãæ¯ãã©ãã«ããããä»ã®ãã¹ãŠãã©ãã«ããããç解ããŸãã ClinCheckããã°ã©ã ã䜿çšããŠãå»åž«ã¯æ£è ã®æ¯ã®3Dã¢ãã«ã確èªããæ£ããäœçœ®ã«ä»®æ³çã«ç§»åããããšãã§ããŸãã ãã®ããã°ã©ã ã«ã¯ã枬å®ããã³èšºæããŒã«ãçµã¿èŸŒãŸããŠããŸãã
-æ²»çåŸã®ã¢ã«ãŽãªãºã ãã©ã®ããã«ç解ããŠããŸããïŒ
-AMïŒæ¯ãé 眮ããç¯æ£åºæºããããŸãã æ¯ã®æ£ããäœçœ®ã®å·šå€§ãªåºç€ãããããã®å©ããåããŠããããå»åž«ã«ææ¡ããŸãã å®éãç§ãã¡ã¯åœŒãã®ä»äºãèªååããŸãã
![](https://habrastorage.org/webt/qw/z3/f1/qwz3f1ubqjhyvoevf01mbqzq0oc.jpeg)
-æ£è ã®æ¯ãšæç§æžã«ãããšã©ãããã¹ãããæ¯èŒããã ãã§ããïŒ
-AMïŒæ¯ã¯32æ¬ãããªããäºãã«å¹²æžããªãããã«ç«ã€å¿ èŠããããŸãã ãããã£ãŠãã¢ã«ãŽãªãºã ã®å©ããåããŠãç¹å®ã®æ¹æ³ã§ããããå ¬éããŸãã å»åž«ã¯ãã§ãã¯ãã調æŽãè¡ãããã¹ãŠãæ°ã«å ¥ã£ããæ²»çèšç»ãæ¿èªããã©ã€ããŒã®è£œé ããã»ã¹ãéå§ããŸãã
-ãã®ããã»ã¹ã¯ã©ã®ããã«æ©èœããŸããïŒ
ããã€ã«ã»ããããœãïŒç¹å¥ã«èšç·ŽãããåŸæ¥å¡ïŒæè¡è ïŒã®ããã«ãæ²»çããã°ã©ã ãäœæããŸãããã®ããã°ã©ã ã§ã¯ãå»åž«ããã®ããŒã¿ã«å¿ããŠã©ã€ããŒãå°å·çšã«æºåããŸãã æ£è ã®é¡ãšåçäŸã®æ²»çæ¹æ³ã«é¢ããå»åž«ã®æšå¥šäºé ã«é¢ããããŒã¿ãåãåãæè¡è ãããŸãã ãŸãããæ²»çãã®æŠå¿µã¯éå ¬åŒã§ãããã±ãŒã¹ã¯éåžžã«ç°ãªããŸãã
![](https://habrastorage.org/webt/pk/pw/jn/pkpwjnel5yzzuk8rjg079bhknr8.jpeg)
ããã°ã©ã èªäœã¯3D CADã·ã¹ãã ã§ãã æ£è ã®æ¯ã®åæç¶æ ã瀺ããŠããŸãã 次ã«ãæ²»çåŸã«ç®çã®ç¶æ ã圢æããäžé段é-æ£è ã®æ¯ãåæç¶æ ããç®çã®ç¶æ ã«ã©ã®ããã«ç§»è¡ããããèšç®ããŸãã æåŸã«ãããã°ã©ã ã§ã¯ãæ£è ãç¹å®ã®æ¯ã«ç®ã«èŠããªãèšãã¿ïŒãã¢ã¿ããã¡ã³ããïŒãåãä»ããå¿ èŠãããããšã瀺ãããšãã§ããŸããããã¯ãã©ã€ããŒãæ£ãã匷床ãçºæ®ããã®ã«åœ¹ç«ã¡ãŸãã äŸãã°ããããããªããã°ãæ¯èããæ¯ãæãã®ã¯ã»ãšãã©äžå¯èœã§ãã
![](https://habrastorage.org/webt/id/xl/-_/idxl-_znioe7j38loyw6vrbu_jy.jpeg)
ãããã®åã¹ãããã¯ãåèªåã¢ãŒãã§å®è¡ãããŸãã æè¡è ã¯å»åž«ã®åžæã«åŸã£ãŠå¿ èŠãªèšå®ãè¡ããããã°ã©ã ãçµæãçæããŸãã åã¹ãããã«ã¯ç¬èªã®éçºããŒã ããããŸãã
CADã·ã¹ãã ã®åŸã«ã¯CAMïŒã³ã³ãã¥ãŒã¿ãŒæ¯æŽè£œé ïŒãç»å ŽããŸãã å段éïŒäžéããã³æçµïŒã§æ£è ã®é¡ã®å®å šãªã¢ãã«ãèšç®ããŸãã åã¹ããŒãžã®ãããã®ã¢ãã«ã¯ã3Dããªã³ã¿ãŒã§å°å·ãããŸãã 次ã«ãå°å·ããããã©ãŒã äžã«ãã£ã«ã ãåŒã䌞ã°ããããã®ãã£ã«ã ã®äžéšãã¬ãŒã¶ãŒã§è€éãªè»éã«æ²¿ã£ãŠæãããã©ã€ããŒãåŸãããŸãã ãŸãããã¹ãŠã®æ®µéã§ãAlignå ã§éçºãããå€ãã®ãœãããŠã§ã¢ãå¿ èŠã§ãã ãã®ãããéåžžã«å€ãã®ããã°ã©ããå¿ èŠã§ãã
![](https://habrastorage.org/webt/yl/ai/ky/ylaikybtyznjn4bytmikv6opqig.jpeg)
AMïŒ 1æ¥ããã30äžã®ãŠããŒã¯ãªã©ã€ããŒã補é ããŠããŸãã åºæ¬çã«ããã¯ãã¹ãŠæåããã»ã¹ã§ããããã競åä»ç€Ÿã¯ãã®ãããªèŠæš¡ã«éããŠããŸããã ããããæåã§å€§ããªã¿ãŒã³ãéæããããšã¯ã§ããŸããã
-ãããã®30äžã®ã©ã€ããŒã¯ã©ãã§çç£ãããŠããŸããïŒ
-AMïŒã¡ãã·ã³ãšäžåœã®å·¥å Žã ãããã¯ç¹æ®ãªãã©ã¹ããã¯ã§äœãããŠããããããã¢ã©ã³ã§éçºãããŠããŸãã çäœé©åæ§è©Šéšãå®æœããããããç¹å¥ãªååŠåŒããããŸãã ææãããŠããŠã§ãããæ²»çã®çµæã«åœ±é¿ããŸãã
![](https://habrastorage.org/webt/21/nu/qa/21nuqafbcdkbwxusjzl2l2ingxg.jpeg)
ãã®åŸãæ¢è£œã®ããããå»åž«ã«éããã圌ã¯æ£è ãæåŸ ãããããã®äœ¿çšæ¹æ³ã説æããŸãã ã©ã€ããŒã¯ãå€ã§ãã»ãŒãã¹ãŠã®æéãççšããé£ã¹ç©ã ãã§é¢éžããŸãã 2é±éããšã«ããã£ããã¯æ°ãããã®ãšäº€æãããŸãã
æ¯ãšæ©æ¢°åŠç¿
äžéšã®æ¯ç§å»ã¯ããŸããªå°éå»ã»ã©æ¯ç§ç¯æ£ã«ç²ŸéããŠããªãã ãããã£ãŠãæã ã¯åœŒããããã€ãã®ç°¡åãªã±ãŒã¹ã解決ããã®ãå©ããŸãã æ¯ããããã«åããå¿ èŠãããå Žåã¯ãèªåæ²»çã䜿çšããããšããå§ãããŸãã
å»åž«ãããã€ãã®çäŸãæ²»çã§ãããã©ãããç解ããããã«ãç¹å¥ãªããã°ã©ã ã§ç¶æ³ãèªèãã蚺æãè¡ããçµè«ãåºããŸãã ãããŠããã®ãããªã¿ã¹ã¯ã«ã¯ãMLãC ++ã®å€ãã®å°é家ãå¿ èŠã§ãã èªååãããŠãããããããã¯ãšã³ãã®å°é家ãå¿ èŠã§ãã
æåã¯ã人ã ãçäŸãè©äŸ¡ããæè¡ãè¡ãã人工ç¥èœãèšç·ŽãããŸããã çŸåšããã®ãããªæäœã®ã»ãŒ100ïŒ ããã·ã³ã§å®è¡ãããŠããŸãã ç§ãã¡ã¯å€ãã®ã¢ãããŒããè©Šã¿ãŸããã 圌ãã¯åçãã3Dã¢ãã«ãäœæããããã€ãã®ççŸãèŠã€ããããšããŸããã ããã¯ããŸãããŸããããŸããã§ããã
1幎ååã«ãMLã¢ãã«ã®æåã®å埩ããªãªãŒã¹ãããŸããã ç§ã®ç¥ãéããããŒã ã¯PythonãšTensorFlowã䜿çšããŸããã è©äŸ¡ã¯ãå»åž«ãæ²»çããããã€ãã®ã«ããŽãªãŒã§è¡ãããŸãã æ£è ã¯ãåŽæ¹ã«çºæ£ãããšãæ¯ãå¯éããŠããå¯èœæ§ããããŸãã ãããã¯æ¯ã®ããŸããŸãªåé¡ã§ãããããŸããŸãªã¢ãã«ããããã«å¯Ÿå¿ããŠããŸãã ãããã¯æãäžè¬çã§ãããç§ãã¡ã¯ãããããå§ããŠããã®åŸãããã©ã€ããŒããªã±ãŒã¹ã«ç§»ããŸããã
次ã®ãªãªãŒã¹ã§ã¯ãæ¯ã«é¢ããããããçš®é¡ã®åé¡ã®ã¢ãã«ãå±éããŸãã ãã°ããã®éããã¹ãŠã®åé¡ã®ããã±ãŒã¹ã远跡ãããšã©ãŒãåæããŸãã ãã®ããã«ãæåè©äŸ¡ããŒã ããã®äºåããããŸãã
å®å šãªã¢ãã«ãã¬ãŒãã³ã°ããã»ã¹ã«ã¯çŽ2幎ããããŸããã
æ©æ¢°åŠç¿ã¯ãåçã®æäœã«ã䜿çšãããŸãã ç§ãã¡ã¯åœŒã®ç¬é¡ãæ²»çåŸã«ã©ã®ããã«èŠãããã人ã«èŠããããšããŠããŸãã ãããè¡ãã«ã¯ãæ£è ã®åçãæ®ããæ¯ã®3Dã¢ãã«ãã¬ã³ããªã³ã°ããŸãããã®åŸãããã°ã©ã ã¯çŸå®ã«è¿ãæ¹æ³ã§åçã«åã蟌ã¿ã人ãç¬é¡ãã©ã®ããã«çŸããèŠãããã確èªããŸãã
ãã·ã¢ã§ã®Alignã®ç»å Ž
-AMïŒçŽ15幎åã ã¢ã¹ã¯ã¯ã®äººã ã¯ã«ãªãã©ã«ãã¢ã§å匷ããå匷ããŠããéãAlignãªãã£ã¹ã§ä»äºãåŸãŸããã åœæã¯å°ããªäŒç€Ÿã§ããã 圌ããç 究ãçµãããšãã圌ãã¯ã¢ã¹ã¯ã¯ã«æ»ã£ããã圌ããšã®å¥çŽé¢ä¿ã¯æ®ã£ãã 圌ãã¯éåžžã«åªç§ãªããã°ã©ããŒã§ããã ãããŠã圌ããåããããããããã«ãã¢ã¹ã¯ã¯ã«å°ããªãªãã£ã¹ãéèšãããŸããã ãã®åŸãéåžžã«å€§èŠæš¡ã«æé·ããŸããã ä»ã§ã¯400人以äžãããŸãã
![](https://habrastorage.org/webt/kk/2y/mc/kk2ymc4p1ifxyrftrd02xvxwwjk.jpeg)
ããã·ãã«ã¹ã¯ã§ã¯ãã¢ã¹ã¯ã¯ãšåãããã«ãªãã£ã¹ãéèšãããŸããã éåžžã«ããèªåã蚌æããç·ãããããæ¥ãŠã圌ã®è¡ã«æ»ãããšã«ããŸããã 圌ã¯ãªã¢ãŒãã§åãããšãç³ãåºãŸãããã圌ã¯å°ããªãªãã£ã¹ãäœæããããã«å²ãåœãŠãããŸããã ä»ã§ã¯çŽ40人ãããŸãã
SVïŒèå³æ·±ãããšã«ã1幎åã«ã¢ã¹ã¯ã¯ã«ã¯çŽ200人ãããŸããã 1幎ã§ã»ãŒ2åã«ãªããŸããã
-ããããã¹ãŠã®ãããžã§ã¯ãã«ããªãã®äººã ã¯ã©ã®ããã«é åãããŠããŸããïŒ
-AMïŒããã¯ãšã³ããæ±ããšã³ãžãã¢ã®ããŒã ããããŸãã å»åž«åãã®ClinCheckããã°ã©ã ã«é¢äžããŠããããŒã ããããŸãã æ倧ã®ããŒã ã¯ã瀟å ã§ã®ã¿äœ¿çšãããæè¡è åãã®ãœãããŠã§ã¢ã«åãçµãã§ããŸãã QAããŒã ãšDevOpsããŒã ã¯å¥ã ã§ãã iTeroããŒã ã¯ã¹ãã£ããŒãœãããŠã§ã¢ãäœæããŠããŸãã
-ããŒã ã¯æè¡çã«ã©ã®çšåºŠç¬ç«ããŠããŸããïŒ
-AMïŒããŒã ã®ããžãã¹ã¿ã¹ã¯ã¯ããŒã±ãã£ã³ã°ããåŸãããŸãããæè¡çãªæ±ºå®ã¯ããã¢ã¹ã¯ã¯ã§ç¬ç«ããŠè¡ãããŸãã æ¬ç€Ÿããã®ç¹å¥ãªèš±å¯ã¯å¿ èŠãããŸããã ã·ã¹ãã éã§ã¢ãŒããã¯ãã£ãå€æŽããå Žåã¯ãå°ãªããšãããã«ã€ããŠè©±ãåããåæãåŸãªããã°ãªããŸããã ããããæ©èœã¬ãã«ã§ã¯ãå®å šã«ç¬ç«ããŠããŸãã
Andrey ZaitsevïŒã¢ãŒããã¯ãã£ã¬ãã¥ãŒããŒããšåŒã°ããããã»ã¹ããããŸãã èªç±ã«éžæã§ãããšããŠããäžæµã®å»ºç¯å®¶ã«æ£åœåããå¿ èŠããããŸãã
ããšãã°ãçŸåšãäž»ãªéçºèšèªã¯Javaã§ãã ããããããŒã ã¯ã³ããªã³ã«å€§ããªé¢å¿ã瀺ããŸããã ç§ãã¡ã®éçºè ã®1人ã¯ãæ¡çšã®ãªã¹ã¯ãããŒã¿æŒæŽ©ã®ãªã¹ã¯ãèšèªã®åé¡ãèæ ®ããŠãæ£åœãªçç±ã§ãã¬ãŒã³ããŒã·ã§ã³ãæºåããŸããã 圌ã¯å»ºç¯è©è°äŒã§ãã¬ãŒã³ããŒã·ã§ã³ãè¡ããç§ãã¡ã¯ã¢ããã°ã¬ãŒããååŸããããŒã ã¯è¿œå ã®éçºèšèªãååŸããŸããã çŸåšãæ°ãããã€ã¯ããµãŒãã¹ã§ã¯ãJavaã®ä»£ããã«Kotlinã䜿çšããŠããŸãã ã€ãŸããç§ãã¡ã¯èªç±ã§ããããã¹ãŠãæ£åœåããå¿ èŠããããŸãã æ¥ã«Haskellã«åãæ¿ããããšã¯ã§ããŸããã
-ãããŠãä»ã®ãªãã£ã¹ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ã©ã®ããã«æ§ç¯ãããŠããŸããïŒ
-AMïŒçžäºäœçšã«åé¡ã¯ãããŸããã ç±³åœããŒã¹ã«ãã©ã€ãå·ããŒãªãŒã®RïŒDãªãã£ã¹ãšãµã³ããŒã®æ¬ç€Ÿã«åžžã«åºåŒµããŠããŸãã
![](https://habrastorage.org/webt/gm/qj/_9/gmqj_9jqwvio1_5adwml-lnbqcg.jpeg)
-AZïŒããã¯ãšã³ãã«ã¯6ã€ã®SCRUMããŒã ããããŸãã 1ã€ã¯ãã«ã¢ããã®ã€ã¹ã©ãšã«äºåæã«ããããã1ã€ã¯ããŒãªãŒã«ãããæ®ãã¯ã¢ã¹ã¯ã¯ã«ãããŸãã é±ã«2ååæããããŒã ãªãŒããŒãçŸåšã®ããã»ã¹ãä»åŸã®ãªãªãŒã¹ãããŒã éã®ããåããæ°ããæè¡ãœãªã¥ãŒã·ã§ã³ãå ±éã¢ãžã¥ãŒã«ã®å€æŽã«ã€ããŠè©±ãåããŸãã ãããŠ-æšæºçãªäŒæ¥ã³ãã¥ãã±ãŒã·ã§ã³ã ãã€ã¯ããœããã«ã¯ãã¹ãŠã®ããŒã ããããŸããå¿ èŠã«å¿ããŠãååãåéããŠåœŒãšè©±ãããšãã§ããŸãã
以åã¯ããµã³ããŒã®ãªãã£ã¹ãã¢ã¹ã¯ã¯ãšã¯éã®æé垯ã«ãããšããåé¡ããããŸããã圌ããä»äºã«æ¥ãããç§ãã¡ã¯ãã å»ããŸãã ãããã£ãŠãéåžžãäŒè°ã¯å€æ¹é ãã«éå¬ãããŸããã ããŒãªãŒã®ãªãã£ã¹ãç°¡åã«ãªããã¢ã¹ã¯ã¯ã§ã¯å€æ¹4æé ããéäŒãå§ãŸããŸãã
-AMïŒç§ã®ããŒã ã¯å»åž«åãã®ããã°ã©ã ãéçºããŠããã®ã§ãã¹ããªã³ãã®æåŸã«äŒç€Ÿã§åãå»åž«ã«ãã¢ãèŠããã¹ãã§ãã 圌ãã¯ã¢ã¡ãªã«ã®ãµã³ããŒã«åº§ã£ãŠããã®ã§ãæã ããªãã¯å€æ¹7æåã«ãã¢ãå§ããªããã°ãªããŸããã
æ¯ãåäžã«ããæè¡
-誰ãäœã䜿ã£ãŠäœãããŠããã®ãæããŠãã ããã
-AM ïŒç§ã®ããŒã ãéçºããŠããClinCheckã«ã¯2ã€ã®åœ¢åŒããããŸãã 1ã€ç®ã¯ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹çšã«C ++ããã³Qtã§äœæãããŠããŸãã ãã¹ã¯ãããã¯ããªãåã«æžãããŸããã 圌ã®åé¡ã¯ããã§ããå»åž«ã¯ITæ åœè ã§ã¯ãããŸããã 圌ãã¯æ¯ç§ç¯æ£ã®åéã®å°é家ã§ããã«ãããããããã³ã³ãã¥ãŒã¿ãè¯å¥œãªç¶æ ã«ä¿ã€ããšã¯éåžžã«å°é£ã§ãã ãããŠãæŽæ°ããã°ã©ã ããªãªãŒã¹ãããšãå€ãã®æè¡çãªåé¡ãå§ãŸããŸãã
2çªç®ã®åé¡ã¯ãæ¯ç§ç¯æ£å»ã®åæ°ãMacã䜿çšããŠããããã¹ã¯ããããWindowså°çšã§ããããšã§ãã å»åž«ãããã°ã©ã ã䜿çšããå Žåã¯ãä»®æ³ãã·ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã ããã¯äžäŸ¿ã§ããäžè¬ã«ä»®æ³ãã·ã³ã管çããããšã¯ãã¡ãããã³ã³ãã¥ãŒã¿ãŒã«ããŸã察å¿ã§ããŸããã
ãããã£ãŠãWebäžã®ã¢ããªã±ãŒã·ã§ã³ã翻蚳ããŠãã©ãã§ãåäœããããã«ããŸãã æ©èœã«é¢ããŠã¯ããã¹ã¯ãããçã«ã¯ãŸã è¿œãã€ããŠããŸããã è¿œãã€ããšããã«ããã¹ã¯ããããæãããã¿ãŸãã
éçºã§ã¯ãTypeScriptãšReactJSã䜿çšããŸãã ãã®ã¹ã¯ãªãããéžæãããäž»ãªçç±ã¯ãéçãªåãã§ãã¯ã®å¯èœæ§ã§ãã èå³æ·±ãããšã«ãäžéšã®ããã³ããšã³ãããã€ã¹ã¯C ++ããåãæ¿ãã£ããããéçåä»ããåŒãç¶ã䜿çšããããšããèŠæããããŸããã
![](https://habrastorage.org/webt/0y/jk/2c/0yjk2c0sxplmqgrjtlmh0v7rdku.jpeg)
-ããããJavaScriptã§èšè¿°ããä»ã®ãµãŒãã¹ã¯ïŒ
-AMïŒã¯ããåçšWebããŒã¿ã«ãäœæããããŒã ãJSãšTypeScriptã§äœæããŸãã
-TypeScriptã䜿çšããããšã«ãããšããäŒç€Ÿãæ¢ã«JSã䜿çšããŠããã®ã§ãããã䜿çšããæ¹ãè¯ããšã¯èšãããŸããã§ãããïŒ
-AMïŒåœç¶ãéžæãå®ãå¿ èŠããããŸããããTypeScriptã«ã¯å€ãã®å©ç¹ããããšèª¬æããŸããã ããã®ãã¹ãŠã¯ãKotlinã®å ŽåãšãŸã£ããåãã§ããã
-AZïŒã¢ã³ãã¬ã€ã®ããŒã ã¯ãå»åž«ãèŠãŠããããšãæåç·ã§è¡ããŸãã ç§ã®ããŒã ã¯ãããŒã¿ã®ä¿åå ŽæãšåŠçå Žæãããããã«ããã®ããã®ããã¯ãšã³ããè¡ããŸãã 2014幎ã«ã·ã¹ãã ã®äœæãéå§ããŸããã åœæãå瀟ã«ã¯å€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã·ã¹ãã ãããã€ããããŸãããããã£ãããšéçºãããŠããŠãã¢ããªã·ãã¯ã§ããªãªãŒã¹ãµã€ã¯ã«ãéåžžã«é·ããå€ãã®ãã¹ããå¿ èŠã§ãããããã¹ãŠã®ãã«ããæåããããã§ã¯ãããŸããã§ããã
ã¡ããã©ãã®ãšãããã€ã¯ããµãŒãã¹ã®ã¢ãããŒããéåžžã«äººæ°ã«ãªããç§ãã¡ã¯ããŒã ã§ãããå®è£ ããããšããŸããã ã€ãŸããæ確ã«å®çŸ©ãããç®æšãæ確ãªè²¬ä»»ç¯å²ãæã€å°ããªã¢ããªã±ãŒã·ã§ã³ãéçºããŸãã
ã¡ã€ã³ã¹ã¿ãã¯ã¯Javaã§ãã Springããã¬ãŒã ã¯ãŒã¯ãšããŠäœ¿çšãããã®åäžã«ããå€ãã®ãã®-ã»ãã¥ãªãã£ãããŒã¿ããŒã¹ãšã®é£æºãä¿¡é Œæ§ã確ä¿ããããã®ããŸããŸãªã¯ã©ãŠããµãŒãã¹ããšã©ãŒåŠç-ã䜿çšããŸãã ç§ãã¡ã¯åœŒãããç¥ã£ãŠããŸããç§ãã¡ã¯ãã¹ãŠã奜ãã§ããŸã 圌ãå€ããŸããã ç§ãã¡ã¯ããããµãŒãã¹ã®æ žãšããŠäœ¿çšããŸãã
çŸåšãçŽ20ã25ã®ãµãŒãã¹ããããŸãã ãããã¯6ã€ã®ããŒã ã«åãããŠãããããããã®è²¬ä»»ç¯å²ã§3ã5ã€ã®ãã€ã¯ããµãŒãã¹ãååŸãããŸãã Kotlinã§Javaãæžãæããããã«ãªãœãŒã¹ãè²»ããããšã¯ãããŸãããããã¹ãŠã®æ°ãããµãŒãã¹ãšãã¹ããKotlinã§äœæããŸãã çŸåšãæ¯çã¯çŽ95/5ã§ãã ãããŸã§ã®ãšãããKotlinã§èšè¿°ãããŠãããµãŒãã¹ã¯3ã€ã ãã§ããããã¯ãæšå¹Žæ«ããã®ã¿ç©æ¥µçã«äœ¿çšãå§ããããã§ãã
-ããŒã ã¯ç§»è¡ãã©ã®ããã«èªèããŠããŸããïŒ èª°ãããããã§ããïŒ
-AZïŒå šäœãšããŠã圌ãã¯ååãã«èªèãããŠãããã¿ããªåãã§ç解ããŠããŸãã ããšãã°ãããã€ãã®Kotlinãã£ã³ããªã³ãããŸããå®éã«å€ãã®ããšãæžããŠãããã³ãŒãã¬ãã¥ãŒã§æ®ãã®éšåãæ¯æŽããŠããŸãã
Kotlinã®APIãæ£ç¢ºã«ã©ã®ããã«æ©èœããããæ£ç¢ºã«ç解ããããšæããŸããããã«ãããã³ãŒããèªåçã«æžãæããããã ãã§ã¯ãããŸããã ãããŠã圌ãã¯ç¹å®ã®ã¢ãŒãã¿ã€ããéçºããããšããŠããŸãã
äžè¬çã«ãé©åãªææ決å®ãåçŸããããšããŸãã ã»ãã¥ãªãã£ãããŒã¿ããŒã¹ãšã®é£æºãã¯ã©ãŠããããã€ããŒãšã®é£æºãªã©ãããã€ãã®ãµãŒãã¹ããããããã©ãã§ãç¹°ãè¿ãããå ±éã®ã³ãŒãããŒã¹ããããŸãã ã³ã³ããŒãã³ãéã移åããããŸããŸãªã¢ãžã¥ãŒã«ããããããžãã¹æ©èœã®ãªã空ã®ãã€ã¯ããµãŒãã¹ãæåéã1æ¥ã§è§£é€ã§ããŸãã ãããŠãããªããåãããã«å¿ èŠãªãã¹ãŠããããŸãã åé²ããã®ã«å€§ãã«åœ¹ç«ã¡ãŸãã
åºæ¬ã¬ãã«ã§ã¯ãéåžžãPostgressãŸãã¯äœããã®noSQLã䜿çšããŸãã bddãã¹ãçšã®Pythonãããã€ããããŸãã ããŸããŸãªããŒã¿ã¢ããããŒããªã¯ãšã¹ãã«å¯ŸããŠãã¹ã¯ãªãããäœæããŸãã
ãã¹ãŠã®ãµãŒãã¹ã¯ã¯ã©ãŠãã«å±éãããŸãã äž»ãªãã®ã¯Amazonã§ãã ã¢ããªã±ãŒã·ã§ã³ãååŸããDockerã³ã³ãããŒã«ããã¯ããŠããããªãŒã±ã¹ãã¬ãŒã¿ãŒã®1ã€ã«ãããã€ããŸãã æ°å¹Žåãç§ãã¡ã¯RancherãéžæããçŸåšããã䜿çšããŠããŸãã
-æåã«å°çãããšãããããžã§ã¯ãã«å€§èŠæš¡ã§è€éãªéºç£ããããšããäºå®ã«ééããŸããã§ããã ããã§ããããã¯90幎代åŸåã«å§ãŸã£ã補åã§ãã
-AZïŒç§ãã¡ã¯ãã®ãããªå€§ããªã¬ã¬ã·ãŒã¢ã³ã¹ã¿ãŒãšã®æŠãã«è¿ã¥ããŸãããæåã«ãRESTã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠãã€ã¯ããµãŒãã¹ã«ã©ããããç¹å®ã®ãããã·ãäœæããããããå éšã«äŸµå ¥ããŠãªãã¡ã¯ã¿ãªã³ã°ãè©Šã¿ãŸããã ã€ãŸãã20äžè¡ã®ã³ãŒãããŒã¹ãææ¡ããããã«äœé±éã座ãå¿ èŠã¯ãããŸããã§ããã
ãŒãããå€ãã®ããšãæžããããã€ããæžãçŽããŸãã æ°ãããããžã§ã¯ãã§ã¯ãã³ãŒãã®å質ãç¶æããããšããŸãã ããŒã ã¯ãã§ã«5幎ç®ã§ãããç§ãã¡ã¯ãããŸã§ã®ãšããããªãé 調ã«é²ãã§ããããã§ãã
æ°åŠè ãšC ++ãšãã¹ããŒãã®éçš
![](https://habrastorage.org/webt/ie/nb/dn/ienbdn0c1qgba4p3byorcztu0fi.jpeg)
-æ¯åç¯æ£ãç解ããå¿ èŠããããŸããïŒ
-AMïŒãŸã£ãããããŸããã ãã®ãããªèæ¯ãæã€äººã ãèŠã€ããããšã¯éçŸå®çã§ãã äœåèªäœã§ã¯ãäœããã®æ¹æ³ã§å匷ããå¿ èŠããããŸãã ããŒã ããšã«ç°ãªãç解ãå¿ èŠã§ãã ç§ãã¡ã¯å»åž«ãšè©±ããŠããã®ã§ãClinCheckããŒã ã¯ãã£ãšå€ããå°ãªããšã圌ãã®èšèãç解ããå¿ èŠããããŸãã
ããããã€ã³ã¿ãã¥ãŒã§ã¯ãããã«ã€ããŠã¯æ±ºããŠå°ããŸãããäž»ã«ããã°ã©ãã³ã°ã«ç²ŸéããŠãã人ãæ¢ããŠããŸãã
ããããç解ããããã«äœãèŠãŸããïŒã
-AMïŒæåã®æ®µéã§ã¯ãå±¥æŽæžãèŠãŠãçµéšãè©äŸ¡ããŸãã ãã®åŸãçŽ30åéã®é»è©±ã€ã³ã¿ãã¥ãŒãéå¬ãããã¯ãããžãŒãšãã®æ©èœãšæ¹æ³ã«ã€ããŠç°¡åãªè³ªåãããŸãã ãããŠããã人ãèªåèªèº«ãããŸãèŠããŠããã°ãç§ãã¡ã¯åœŒããªãã£ã¹ã«æåŸ ããŸãã
ããã§éåžžãããã°ã©ãã³ã°ã¿ã¹ã¯ãè¡ããŸãã ã¢ã«ãããã¯ã§ã¯ãããŸãããããããçš®é¡ã®ãœãŒãã¢ã«ãŽãªãºã ãèšè¿°ããå¿ èŠã¯ãããŸããã ããšãã°ãTwitterãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã®å®è£ æ¹æ³ãªã©ãå®çšçãªã¿ã¹ã¯ãæäŸããŸãã 人ã20ã30åéã³ãŒããæžããåŸããã®ã³ãŒãã«ã€ããŠè³ªåããŸãã
åé¡ã®å®åŒåã«ã¯ã人ãåé¿ããããšããããã€ãã®èœãšãç©Žãå«ãŸããŠããŸãã çµéšãããå Žåã圌ã¯ããã«ãããã®åé¡ãèŠã€ããã³ãŒãã§ãããã解決ããããããã«ã€ããŠæããŠãããŸãã 圌ãæ°ä»ããŠããªãå Žåãç§ãã¡ã¯åœŒã«äŒãã圌ãã©ã®ããã«æ±ºå®ããããèŠãã
äžè¬ã«ãã€ã³ã¿ãã¥ãŒã¯çŽ2æéç¶ããŸãã ãããŠãå šäœã®æ¡çšãšæ¡çšã«ã¯çŽ2é±éããããŸãã
MMïŒå éšãµãŒãã¹ã®éçšã«ã€ããŠã¯ãäž»ã«C ++ãšæ°åŠã«æ³šç®ããŸãã ããŒã ã«ãã£ãŠã¯ãäžæ¹åãŸãã¯ä»ã®æ¹åã«ãªãã»ããããããŸãã ã©ã€ããŒäžã®åã®ååžã®ã¢ãã«ãæ§ç¯ããããŒã ã¯ããã¡ãããäž»ã«æ°åŠã§ãã
ç§ãåããŠãã3Dãã©ãããã©ãŒã ã®ããŒã ã¯è£œåã®åé¡ãæ±ã£ãŠããŸããïŒå€ãã®åé¡ããããŸãïŒããã·ã¹ãã ãšã³ãžã³ããµããŒãããC ++ã©ã€ãã©ãªãäœæããŠããŸãã ããã§ãŸã第äžã«ãC ++ãšã¢ã«ãŽãªãºã ã®ç¥èã
-ããããããã®ãããªããŒã ã®äººãæ¢ãã®ã¯é£ããã§ããïŒ
ã¯ãããããã ããªãã¯ããã®è¯ãç¥èããœãããŠã§ã¢ãšãââãŒããŠã§ã¢ã®ä»çµã¿ãç解ããå¿ èŠãããã®ã§é£ããã§ãã ã§ããå°ãªããšãæ°åŠã¯ããã»ã©å¿ èŠãªãã®ã§ãããå°ãç°¡åã§ãã 人ãå°ãé·åŒãããšãèŠããŠãããªããããã¯ååããã-ãã¯ãã«ãè¡åã§ä¹ç®ãããŠããã®ãèŠãŠåœŒãstè¿·ã«é¥ããªãããã«ã
åæ§ã®æ¡çšããã»ã¹ããããŸããå±¥æŽæžãéžæããåæéé»è©±ããããŸãã é»è©±ã§ããŒã¿æ§é ãšããããäºãã«ã©ã®ããã«ç°ãªããã«ã€ããŠå°ããŸãã ãœãŒãã®è€éããã¡ã¢ãªç®¡çãä»®æ³æ©èœãšã«ã€ããŠã®æãåçŽãªã¢ã«ãŽãªãºã ã äžè¬çã«ãåºæ¬çãªããšã
-C ++ãšæ°åŠã®ç¥èãæã€äººãæ¢ããŠãããšãã圌ã®ãœããã¹ãã«ã¯éåžžã«éèŠã§ããïŒ
éåžžã人ãåªããC ++ãšæ°åŠãæã£ãŠããå ŽåããœãããŠã§ã¢ã¹ãã«ã®æ¬ åŠã¯ãããŒã ãšå¯Ÿç«ããŠå£è«ãããŠããã®ã§ã¯ãªãã芪å¯ã§ããå¯èœæ§ãé«ããªããŸãã ããšãã°ãã¿ã¹ã¯ãæãäžããã®ã倧奜ãã§ãç¹ã«äººãšè©±ãã®ã奜ãã§ã¯ãªã匷åãªå åè ã
ãã®ãããªãã®ãšç«¶åããããšã¯ãã£ãã«ãããŸããã èµ·ããããåé¡ã¯ã圌ã«ãããã©ã®ããã«æ©èœããããããªãã«äŒããŠæ¬²ããããšã§ãã ãããã質åãç¶ãããšãæçµçã«å¿ èŠãªãã®ãã¹ãŠãååŸã§ããŸãã ãããŠãããšã圌ãäœããããŸã説æã§ããªãã£ããšããŠããææžã«ã³ã¡ã³ãã説æãæžãçããæ·»ä»ããããšãã§ããŸãã
![](https://habrastorage.org/webt/kx/q7/py/kxq7pyj6kfq3gv4tmfs9itjmypu.jpeg)
-ã©ã€ããŒãèªåã§äœ¿ã£ãŠã¿ãŸãããïŒ
䜿çšæžã¿ã äŒç€Ÿã¯ãã©ã€ããŒã®è£œé ã«å¯ŸããŠå®å šã«è£åããŸãã ããããæ®å¿µãªãããå»åž«ã¯ä»äºã®è²»çšãæ¯æããªããã°ãªããŸããã ãã·ã¢ã§ã¯ãããã¯è²»çšã®ååã§ãã ã¢ã¡ãªã«ã§ã¯ãå»åž«ã®ä»äºã倧ããªéšåãå ããŠããŸãã 5ã6åãã«ãã¹ãŠã®æ²»çã
-ãããã¯ITã§ã¯ãªããããçš®ã®æ¯ç§ã§ããããšããçç±ã ãã§ãéçºè ãããªãã®ãšããã«è¡ãããããªãããšããããŸããïŒ
SVïŒããã¯ã€ã³ã¿ãã¥ãŒã§æãäžè¬çãªè³ªåã§ã-ãäžè¬çã«ITã¯ã©ãã§ãã ãããŠãããªããç§ãã¡ãæ¯ç§äŒç€Ÿã§ã¯ãªããå®éã®å»åž«ã䜿çšããæœè±¡çãªã¿ã¹ã¯ãã©ãã«ãŒã§ã¯ãªããå®éã®è£œåãäœãã ãã ãšèª¬æãããšã人ã ã¯ããã«é¢äžããŸãã