åæšèŠã·ã¹ãã ã®æåç·ãæ¢çŽ¢ããã°ããŒãã«ãªãŠãŒã¶ãŒã«åããããŒãœãã©ã€ãŒãŒã·ã§ã³ãšä¿¡é Œæ§ãé«ããåå®å šã®åœ¹å²ã«çŠç¹ãåœãŠãŸãã
é«åºŠãªåæšèŠã·ã¹ãã ïŒåå®å šã«ããããŒãœãã©ã€ãŒãŒã·ã§ã³
ãœãããŠã§ã¢éçºã®çµ¶ãéãªãé²åã®äžã§ãå¹çã®åäžããšã©ãŒã®åæžãåªããéçºè ãšã¯ã¹ããªãšã³ã¹ã®è¿œæ±ã¯æ¢ãŸãããšããããŸãããææ°ã®çµ±åéçºç°å¢ïŒIDEïŒãšã³ãŒããšãã£ã¿ã«ã¯ãã³ãŒãã£ã³ã°ããã»ã¹å šäœãéããŠéçºè ãç©æ¥µçã«æ¯æŽããé«åºŠãªããŒã«ãè£ åãããŠããŸããäžã§ããåæšèŠã·ã¹ãã ã¯ã倿°ã颿°ãã©ã¡ãŒã¿ãæ»ãå€ã«é©åãªåãéçºè ã«ç€ºã匷åãªå³æ¹ãšããŠç»å ŽããŸããããã®ããã°æçš¿ã§ã¯ããããã®ã·ã¹ãã ã®é«åºŠãªããã³ãã£ã¢ãæãäžããã°ããŒãã«èŠæš¡ã§çã«å ç¢ã§ããŒãœãã©ã€ãºãããã³ãŒãã£ã³ã°æ¯æŽãæäŸããããã®åå®å šã®éèŠãªåœ¹å²ã«ç¹ã«çŠç¹ãåœãŠãŸãã
åæšèŠã®é²å
åŸæ¥ãããã°ã©ãã³ã°èšèªã®åæšè«ã¡ã«ããºã ã¯ãããçšåºŠã®æ¯æŽãæäŸããŠããŸãããããšãã°ãPythonã®ãããªèšèªã§ã¯ãã€ã³ã¿ãŒããªã¿ãŒã¯å²ãåœãŠãããå€ã«åºã¥ããŠå€æ°ã®åãæšè«ããããšããããããŸãããã ãããã®æšè«ã¯ææ§ã«ãªãå¯èœæ§ããããç¹ã«è€éãªã·ããªãªã§ã¯ãåžžã«æ£ç¢ºæ§ãæé©ãªäœ¿çšæ³ãä¿èšŒãããããã§ã¯ãããŸãããåæã®IDEã¯ãæååãããã³ã°ãåçŽãªæ§æåæã«åºã¥ããŠãåæ©çãªèªåè£å®ãæäŸããŠããŸããã
æ©æ¢°åŠç¿ãé«åºŠãªéçåæã«ãã£ãŠåŒ·åããããããã€ã³ããªãžã§ã³ããªã·ã¹ãã ã®åºçŸã«ããããã®åéã¯äžå€ããŸããããããã®é«åºŠãªåæšèŠã·ã¹ãã ã¯ãåçŽãªæšè«ãè¶ ããŠããŸããã³ãŒãã®ã³ã³ããã¹ãã確ç«ãããã¿ãŒã³ãããã«ã¯ããåºç¯ãªéçºè ã³ãã¥ããã£å ã®äžè¬çãªãã©ã¯ãã£ã¹ãåæããŠãæ§æçã«æå¹ã§ããã ãã§ãªããæå³çã«é©åã§ãæå³ããŠããå¯èœæ§ãéåžžã«é«ãåãææ¡ããŸãã
åå®å šãšã¯ïŒ
é«åºŠãªæšèŠã·ã¹ãã ãããæ·±ãæãäžããåã«ãããã°ã©ãã³ã°ã«ãããåå®å šã®æå³ãæç¢ºã«ããããšãäžå¯æ¬ ã§ããåå®å šãªããã°ã©ãã³ã°èšèªãšã¯ãç¹å®ã®åã«å¯ŸããŠé©åã«å®çŸ©ãããŠããªãæäœã鲿¢ãŸãã¯æå¶ããèšèªã§ããç°¡åã«èšãã°ãåŠçããããã«èšèšãããŠããªãããŒã¿ã«å¯ŸããŠæäœãå®è¡ããããšããªãããã«ããŸããããšãã°ãæç€ºçãªå€æãªãã«æååãæŽæ°ã«è¿œå ããããšããªãã§ãã ãããããã«ãããäºæããªãåäœããšã©ãŒãçºçããå¯èœæ§ããããŸãã
åå®å šã¯ã次ã®ããã«åé¡ã§ããŸãã
- éçåå®å šïŒããã¯ã³ã³ãã€ã«æã«ãã§ãã¯ãããŸããJavaãC#ãTypeScriptãRustãªã©ã®èšèªã¯éçã«åä»ããããŠãããé«åºŠãªã³ã³ãã€ã«æã®åå®å šãæäŸããŸãããšã©ãŒã¯ããã°ã©ã ã®å®è¡åã«æ€åºãããŸãã
- åçåå®å šïŒããã¯å®è¡æã«ãã§ãã¯ãããŸããPythonãJavaScriptãªã©ã®èšèªã¯åçã«åä»ããããŠããŸããæè»æ§ããããŸãããåãšã©ãŒã¯ã³ãŒããå®è¡ããããšãã«ã®ã¿çºçããã©ã³ã¿ã€ã ãšã©ãŒã«ã€ãªããå¯èœæ§ããããŸãã
é«åºŠãªåæšèŠã·ã¹ãã ã®ç®æšã¯ãåçã«åä»ããããèšèªã«ãéçåå®å šã®å©ç¹ã®ããã€ããäžããéçã«åä»ããããèšèªã®ãšã¯ã¹ããªãšã³ã¹ãåäžãããããšã§ãã
çžä¹å¹æïŒåæšèŠãšåå®å š
é«åºŠãªåæšèŠãšåå®å šã®äº€å·®ç¹ã«çã®åããããŸããåãæ£ç¢ºã«æšèŠã§ããã·ã¹ãã ã¯ãã³ãŒãã£ã³ã°ãé«éåããã ãã§ãªããäžè¬çãªãã°ã®åå ã§ããåé¢é£ã®ãšã©ãŒã®å¯èœæ§ãå€§å¹ ã«æžãããŸãã
è€éãªAPIãŸãã¯å€§èŠæš¡ãªã³ãŒãããŒã¹ãæ±ãéçºè ãèããŠã¿ãŸããããé©åãªåæšèŠããªãå Žåã圌ãã¯æ¬¡ã®ããšãè¡ãå¯èœæ§ããããŸãã
- 颿°ãã©ã¡ãŒã¿ã§æåŸ ãããæ£ç¢ºãªåãå¿ããã
- äžé©åãªåã䜿çšããåŸã§åŸ®åŠãªãã°ãããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ããã
- ããã¥ã¡ã³ãã調ã¹ãããåãæšè«ãããããã®ã«ããªãã®æéãè²»ãããã¯ãŒã¯ãããŒãé ãããã
é«åºŠãªåæšèŠã·ã¹ãã ã¯ãåå®å šã®ååãæŽ»çšããŠãéçºè ãäºåã«èªå°ã§ããŸãã颿°ã`userId`ãã©ã¡ãŒã¿ã«`int`ãäºæããŠããå Žåãã·ã¹ãã ã¯`int`ãæšèŠããéçºè ãé©åãªãã£ã¹ããªãã«`string`ãŸãã¯`float`ãæž¡ãããšãããšèŠåããå¿ èŠããããŸããããããããŒãœãã©ã€ãŒãŒã·ã§ã³ãã®åŽé¢ãéèŠã«ãªãå Žæã§ãã
åæšèŠã®ããŒãœãã©ã€ãŒãŒã·ã§ã³
ãã®ã³ã³ããã¹ãã§ã®ããŒãœãã©ã€ãŒãŒã·ã§ã³ã¯ãåã«æå¹ãªåãææ¡ããã ãã§ã¯ãããŸãããããã¯æ¬¡ã®ããšãçè§£ããããšãå«ã¿ãŸãã
- ãããžã§ã¯ãã®ã³ã³ããã¹ãïŒã·ã¹ãã ã¯ããããžã§ã¯ãã®äŸåé¢ä¿ãæ¢åã®åå®çŸ©ãããã³ãã®ç¹å®ã®ã³ãŒãããŒã¹å ã§äœ¿çšãããäžè¬çãªãã¿ãŒã³ãèªèããŠããå¿ èŠããããŸãã
- éçºè ã®ã¹ã¿ã€ã«ïŒæéã®çµéãšãšãã«ãã·ã¹ãã ã¯ç¹å®ã®ããŒã¿æ§é ãŸãã¯äžè¬çãªåãšã€ãªã¢ã¹ã®åŠçã«å¯Ÿããéçºè ã®å¥œãŸããæ¹æ³ãåŠç¿ã§ããŸãã
- ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®äœ¿çšæ³ïŒæšèŠã¯ãéçºè ã䜿çšããŠããç¹å®ã®ãã¬ãŒã ã¯ãŒã¯ïŒReactãAngularãDjangoãSpringãªã©ïŒããã³ã©ã€ãã©ãªã«åãããŠèª¿æŽãããã®ãšã³ã·ã¹ãã ã«æ £çšçãªåãæäŸããå¿ èŠããããŸãã
- ããŒã ã®èŠåïŒå ±åç°å¢ã§ã¯ãã·ã¹ãã ã¯ããŒã å šäœã®åèŠåãšãã¹ããã©ã¯ãã£ã¹ãéµå®ããããã«æ§æããããšãã§ããŸãã
ãã®ããŒãœãã©ã€ãºãããã¢ãããŒãã«ãããæšèŠãåã«æ£ããã ãã§ãªããçŽæçã§ãéçºè ã®çŽæ¥çãªããŒãºãšãããžã§ã¯ãã®èŠä»¶ã«åèŽããããšãä¿èšŒãããŸãã
äž»èŠãªãã¯ãããžãŒãšãã¯ããã¯
ãããã®é«åºŠãªåæšèŠã·ã¹ãã ãæ¯ããããã€ãã®ãã¯ãããžãŒãšãã¯ããã¯ããããŸãã
1. éçåæãšã³ãžã³
é«åºŠãªéçåæãšã³ãžã³ã¯ãå€ãã®åæšèŠã·ã¹ãã ã®ããã¯ããŒã³ã§ããã³ãŒããå®è¡ããã«è§£æããããã°ã©ã ã®æ§é ãšãããŒã®æœè±¡çãªè¡šçŸãæ§ç¯ããŸããããã«ãããæ¬¡ã®ããšãçè§£ã§ããŸãã
- 倿°ã®å®£èšãšå²ãåœãŠã
- 颿°ã®ã·ã°ããã£ãšåŒã³åºãã
- ããŒã¿æ§é ã®å®çŸ©ã
- å¶åŸ¡ãããŒïŒã«ãŒããæ¡ä»¶ïŒã
åã«ãŒã«ãé©çšãããããã®åæã«åºã¥ããŠåãæšè«ããããšã«ãããæœåšçãªåã®äžäžèŽãç¹å®ããæ£ããåãææ¡ã§ããŸãã
2. æ©æ¢°åŠç¿ãšAI
æ©æ¢°åŠç¿ãç¹ã«æ·±å±€åŠç¿ã¢ãã«ã¯ããããã®ã·ã¹ãã ã®ã€ã³ããªãžã§ã³ã¹ãšããŒãœãã©ã€ãŒãŒã·ã§ã³ã匷åããäžã§éèŠãªåœ¹å²ãæãããŸããã¢ãã«ã¯ãèšå€§ãªéã®ãªãŒãã³ãœãŒã¹ã³ãŒãã§ãã¬ãŒãã³ã°ããŠã次ã®ããšãåŠç¿ã§ããŸãã
- äžè¬çãªããã°ã©ãã³ã°ãã¿ãŒã³ãšã€ãã£ãªã ã
- ç¹å®ã®ã³ã³ããã¹ãã§äœ¿çšãããç¹å®ã®åã®å¯èœæ§ã
- éçºè ãåããããŸããã解決ããäžè¬çãªæ¹æ³ã
èªç¶èšèªåŠçïŒNLPïŒã®ãããªãã¯ããã¯ãé©çšããŠãã³ã¡ã³ãã倿°åãçè§£ããæå³ãããåãæšè«ããæšèŠãããã«æŽç·Žããããšãã§ããŸãã
3. æœè±¡æ§ææšïŒASTïŒ
ASTã¯ããœãŒã¹ã³ãŒãã®æ§ææ§é ã衚ãéå±€çãªæšæ§é ã§ããåæšèŠã·ã¹ãã ã¯ãASTãæ¬¡ã®ç®çã§åºã䜿çšããŸãã
- ã³ãŒãæ§é ãããã°ã©ã ã§ãã©ããŒã¹ããã
- 倿°ãåŒã颿°åŒã³åºãã衚ãããŒããèå¥ããã
- åãã§ãã¯ã«ãŒã«ãšæšè«ã¢ã«ãŽãªãºã ãé©çšããã
ASTå ã®ããŒãéã®é¢ä¿ãåæããããšã«ãããã·ã¹ãã ã¯é«åºŠãªæ å ±ã«åºã¥ããåã®ææ¡ãè¡ãããšãã§ããŸãã
4. åæšè«ã¢ã«ãŽãªãºã
åæšè«ã«ã¯ãHindley-MilnerïŒé¢æ°åèšèªã§äžè¬çïŒããããã³ã³ããã¹ããæèããå¶çŽããŒã¹ã®ã¢ãããŒããªã©ãããŸããŸãªã¢ã«ãŽãªãºã ãæ¡çšãããŠããŸããææ°ã®ã·ã¹ãã ã§ã¯ããããã®å€å žçãªã¢ã«ãŽãªãºã ããã¥ãŒãªã¹ãã£ãã¯ãªæ¹æ³ãMLäž»å°ã®äºæž¬ãšçµã¿åãããŠã粟床ãšããã©ãŒãã³ã¹ã®äž¡æ¹ãå®çŸããããšããããããŸãã
5. Language Server ProtocolïŒLSPïŒ
Language Server Protocolã¯ãIDEãšã³ãŒããšãã£ã¿ãèšèªåºæã®ãµãŒããŒãšéä¿¡ã§ããããã«ããæšæºåãããã€ã³ã¿ãŒãã§ãŒã¹ã§ããããã«ãããã€ã³ããªãžã§ã³ããªã³ãŒãè£å®ã蚺æããªãã¡ã¯ã¿ãªã³ã°ãªã©ã®è±å¯ãªæ©èœããšãã£ã¿ãŒãšã¯ç¬ç«ããŠå®è£ ã§ããŸããåæšèŠã·ã¹ãã ã¯ãèšèªãµãŒããŒãšããŠå®è£ ãããããšãå€ããäžçäžã®ããŸããŸãªéçºããŒã«ã§ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
åå®å šæ§ãåããé«åºŠãªåæšèŠã®å©ç¹
åå®å šæ§ãéèŠããé«åºŠãªåæšèŠã®çµ±åã«ãããéçºè ãšçµç¹ã«å€§ããªã¡ãªãããããããããŸãã
1. çç£æ§ã®åäž
æ£ç¢ºã§ã³ã³ããã¹ããæèããåã®ææ¡ãæäŸããããšã§ãéçºè ã¯æ å ±æ€çŽ¢ãåãšã©ãŒã®ãããã°ã«è²»ããæéãåæžã§ããŸããããã«ãããã³ãŒãã£ã³ã°ãµã€ã¯ã«ãé«éåãããéçºããã»ã¹ãããåæ»ã«ãªããŸããåèªèã«ãã£ãŠåŒ·åãããã€ã³ããªãžã§ã³ããªèªåè£å®ã«ãããéçºè ã¯æåããæ£ããã³ãŒããäœæã§ããŸãã
2. ãã°æ°ã®åæž
åé¢é£ã®ãšã©ãŒã¯ããã°ã®éèŠãªåå ã§ããéçºè ãæ£ããåã«ç©æ¥µçã«èªå°ããæœåšçãªäžäžèŽãæ©æã«ïŒçæ³çã«ã¯ç·šéæã«ïŒãã©ã°ãç«ãŠãããšã§ããããã®ã·ã¹ãã ã¯ãã®ãããªãšã©ãŒã®çºççãå€§å¹ ã«æžãããããå®å®ããä¿¡é Œæ§ã®é«ããœãããŠã§ã¢ã«ã€ãªãããŸãã
3. ã³ãŒãã®å¯èªæ§ãšä¿å®æ§ã®åäž
é©åã«å®çŸ©ãããäžè²«ããŠäœ¿çšãããåã«ãããã³ãŒããçè§£ãããããªããŸããæšèŠãæç¢ºãªåå®çŸ©ã«åèŽããå Žåãç¹ã«æ°ããããŒã ã¡ã³ããŒãå€ãã³ãŒãã忀èšããå ŽåãçµæãšããŠåŸãããã³ãŒãã¯ããèªå·±ææžåãããä¿å®ãããããªããŸãã
4. éçºè ãšã¯ã¹ããªãšã³ã¹ã®åäž
ããã¹ã ãŒãºã§ãšã©ãŒãçºçãã«ããã³ãŒãã£ã³ã°ãšã¯ã¹ããªãšã³ã¹ã¯ãéçºè ã®æºè¶³åºŠã«å€§ããè²¢ç®ããŸããããŒã«ãåã«ãšã©ãŒãããã·ãã«å ±åããã®ã§ã¯ãªããç©æ¥µçã«æ¯æŽããå Žåãéçºè ã¯åé¡è§£æ±ºãšã€ãããŒã·ã§ã³ã«éäžã§ããŸãã
5. åçã«åä»ããããèšèªã®ã®ã£ãããåãã
PythonãJavaScriptãªã©ã®åçã«åä»ããããèšèªã®å Žåãé«åºŠãªåæšèŠã·ã¹ãã ïŒå€ãã®å ŽåãPythonã®åã¢ãããŒã·ã§ã³ãJSDocã³ã¡ã³ãã®ãããªãªãã·ã§ã³ã®åãã³ãã«ãã£ãŠåŒ·åãããŸãïŒã¯ãéçåä»ãã®å€ãã®å®å šäžã®å©ç¹ãåé¢ã«æŒãåºãããšãã§ããŸããããã«ãããéçºè ã¯ãããã®èšèªã®æè»æ§ã掻çšããªãããåºæã®ãªã¹ã¯ã®äžéšã軜æžã§ããŸãã
6. ã°ããŒãã«ãªæšæºåãšã³ã©ãã¬ãŒã·ã§ã³
ã°ããŒãã«èŠæš¡ã§ã¯ãã€ã³ããªãžã§ã³ããªæšèŠã·ã¹ãã ã«ãã£ãŠä¿é²ãããåå®å šæ§ã®ååã®äžè²«ããé©çšã«ããã倿§ãªããŒã éã§ããæšæºåãããã³ãŒãããŒã¹ã«ã€ãªããå¯èœæ§ããããŸããããã«ãããããŸããŸãªå°ççãªå Žæãæåçãªã³ã³ããã¹ãã«ãããçµ±åãç¥èå ±æãããã³å ±åéçºã®åãçµã¿ãç°¡çŽ åãããŸãã
課é¡ãšèæ ®äºé
èšãç¥ããªãå¯èœæ§ã«ãããããããé«åºŠãªåæšèŠã·ã¹ãã ã®å®è£ ãšå©çšã«ã¯èª²é¡ããããŸãã
1. è€éããšããã©ãŒãã³ã¹
é«åºŠãªåæãšMLã¢ãã«ã¯ãèšç®è² è·ãé«ããªãå¯èœæ§ããããŸãããããã®ã·ã¹ãã ããªã¢ã«ã¿ã€ã ã³ãŒãã£ã³ã°ã§åœ¹ç«ã€ã»ã©ååã«è¿ éã«æšèŠãæäŸããããšãä¿èšŒããã«ã¯ãå€§å¹ ãªæé©åãšå¹ççãªã¢ã«ãŽãªãºã ãå¿ èŠã§ããè€éãªåæã«å¿ èŠãªåŠçèœåããç¹ã«ããŒãšã³ãã®ããŒããŠã§ã¢ã䜿çšããŠããéçºè ã«ãšã£ãŠã¯èæ ®äºé ã«ãªãå¯èœæ§ããããŸãã
2. 粟床ãšåœéœæ§/åœé°æ§
å®ç§ãªã·ã¹ãã ã¯ãããŸãããMLã¢ãã«ã¯ãé¢é£æ§ã®ãªãææ¡ïŒåœéœæ§ïŒãçæããããæ£ããææ¡ïŒåœé°æ§ïŒãèŠéãããããããšããããŸãã課é¡ã¯ãéçºè ã«ãšã£ãŠè¿·æãæå°éã«æããªããã粟床ãæå€§åããããã«ãããã®ã·ã¹ãã ã調æŽããããšã«ãããŸãã
3. ãªã³ããŒãã£ã³ã°ãšåŠç¿æ²ç·
ç®æšã¯ã³ãŒãã£ã³ã°ãç°¡çŽ åããããšã§ããããããã®é«åºŠãªããŒã«ãæå€§éã«æŽ»çšããæ¹æ³ãçè§£ããã«ã¯ãããçšåºŠã®åŠç¿ãå¿ èŠã«ãªãå ŽåããããŸããéçºè ã¯ãæšèŠã广çã«äœ¿çšããããã«ãæšèŠãä¿¡é Œããçè§£ããå¿ èŠããããŸãã
4. èšèªãšãšã³ã·ã¹ãã ã®ç¹ç°æ§
åã·ã¹ãã ãšäžè¬çãªãã©ã¯ãã£ã¹ã¯ãããã°ã©ãã³ã°èšèªãšããã«é¢é£ãããšã³ã·ã¹ãã ã«ãã£ãŠå€§ããç°ãªããŸããå ç¢ãªæšèŠã·ã¹ãã ãéçºããã«ã¯ãåèšèªãšãã®äžè¬çãªã©ã€ãã©ãª/ãã¬ãŒã ã¯ãŒã¯ã«é¢ããæ·±ãçè§£ãšå°éã¢ãã«ãå¿ èŠã§ããJavaçšã«æé©åãããã·ã¹ãã ã¯ãPythonãŸãã¯Goã«çŽæ¥å€æããããšã¯ã§ããŸããã
5. ãã©ã€ãã·ãŒãšããŒã¿äœ¿çšé
ããŒãœãã©ã€ãŒãŒã·ã§ã³ã¯ãéçºè ã®è¡åããåŠç¿ããããšãæå³ããããšããããããŸãããªã³ãã¬ãã¹ãŸãã¯ãšã³ã¿ãŒãã©ã€ãºãœãªã¥ãŒã·ã§ã³ã®å Žåãã³ãŒãã®ãã©ã€ãã·ãŒãšããŒã¿äœ¿çšéã«é¢ããæžå¿µã«å¯ŸåŠããå¿ èŠããããŸããã¯ã©ãŠãããŒã¹ã®ãµãŒãã¹ã«ã¯ããŠãŒã¶ãŒã³ãŒããšå ¥åãã¿ãŒã³ãã©ã®ããã«åŠçããããã«é¢ããæç¢ºãªããªã·ãŒãå¿ èŠã§ãã
çŸå®äžçã®ã°ããŒãã«ãªäŸãšã¢ããªã±ãŒã·ã§ã³
ç¹å®ã®ç¬èªã®ã¢ã«ãŽãªãºã ã¯ç§å¯ã«ãããŠããããšãå€ãã§ããããããã®ã·ã¹ãã ã®åœ±é¿ã¯ãäžçäžã®éçºè ã䜿çšãã倿°ã®ãã©ãããã©ãŒã ãšããŒã«ã§ç¢ºèªã§ããŸãã
- TypeScriptïŒåå®å šæ§ãæ žã«æ§ç¯ãããTypeScriptã¯ãã³ã³ãã€ã©ãšIDEçµ±åã«åŒ·åãªéçåæã掻çšããŠããŸããTypeScript Language Serverã®ãããªããŒã«ã¯ãåªããåæšè«ãšèªåè£å®ãæäŸããéçºè ãå®å šãªJavaScriptãäœæã§ããããã«ããŸããããã¯ãå€§èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ã«åãçµãã°ããŒãã«ããŒã ã«ãšã£ãŠéåžžã«éèŠã§ãã
- IntelliJ IDEAïŒããã³ãã®ä»ã®JetBrains IDEïŒïŒJavaãKotlinãPythonãªã©ã®èšèªã®å ŽåãJetBrains IDEã¯æ·±ãã³ãŒãçè§£ã§æåã§ããéçåæãšã³ãžã³ãšMLæèŒã®ææ¡ã¯ãé«åºŠã«ã³ã³ããã¹ãåãããåã®æšèŠãæäŸãããšãŒããããåç±³ãªã©ã®å°åã§äžè¬çãªå€§èŠæš¡ãšã³ã¿ãŒãã©ã€ãºãããžã§ã¯ãã®éçºè ãå€§å¹ ã«æ¯æŽããŸãã
- æ¡åŒµæ©èœä»ãã®VS CodeïŒVisual Studio Codeã¯ãæ¡åŒµæ©èœã®åºç¯ãªãšã³ã·ã¹ãã ãåããŠãããå€ãã®é«åºŠãªåæšèŠã·ã¹ãã ããã¹ãããŠããŸããPythonã®å ŽåãPylanceïŒéçåãã§ãã¯ã䜿çšïŒãPyrightã®ãããªããŒã«ã¯ãå ç¢ãªåæšè«ãšè£å®ãæäŸããŸããJavaScript/TypeScriptã®å Žåãçµã¿èŸŒã¿ã®èšèªãµãŒããŒãšããŸããŸãªæ¡åŒµæ©èœãé«åºŠãªæ¯æŽãæäŸããŸããããã«ãããé«åºŠãªããŒã«ãã°ããŒãã«ã«æ°äž»åãããŸãã
- Googleã®å éšããŒã«ïŒã°ããŒãã«ãªãã¯ãããžãŒå€§æã§ããGoogleã¯ãé«åºŠãªåæšè«ãæšèŠãªã©ãã³ãŒãæ¯æŽã®ããã®é«åºŠãªå éšããŒã«ãéçºããã³äœ¿çšããŠããããã®èšå€§ãªãããžã§ã¯ããšèšèªå šäœã§äœ¿çšããŠããŸãã
- Microsoftã®IntelliCodeïŒãã®AIæ¯æŽéçºããŒã«ã¯ãæ°çŸäžãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãããåŠç¿ãããã¿ãŒã³ã«åºã¥ããŠãã³ã³ããã¹ããæèããã³ãŒãè£å®ãæäŸããŸããåã ãã§ãªããäžè¬çãªã³ãŒããã¿ãŒã³ãææ¡ããC#ãPythonãJavaScriptã«åãçµãéçºè ã®çç£æ§ãå€§å¹ ã«åäžãããŸãã
åæšèŠã®ä»åŸã®æ¹åæ§
åæšèŠã®åéã¯çµ¶ãã鲿©ããŠããŸããä»åŸã®éçºã«ã¯ã次ã®ãã®ãå«ãŸããå¯èœæ§ããããŸãã
- ããé«åºŠãªã³ã³ããã¹ãèªèïŒçŸåšã®ãã¡ã€ã«ã ãã§ãªããäŸåé¢ä¿ããã«ãæ§æãªã©ããããžã§ã¯ãå šäœããã詳现ã«çè§£ããã·ã¹ãã ã
- ããã¢ã¯ãã£ããªåçæïŒæšèŠãè¶ ããŠãç¹ã«åçã«åä»ããããèšèªã®å Žåã芳枬ãããããŒã¿äœ¿çšéã«åºã¥ããŠãåå®çŸ©ãŸãã¯ã€ã³ã¿ãŒãã§ãŒã¹ãç©æ¥µçã«ææ¡ããã³çæããã·ã¹ãã ã
- ã¯ãã¹èšèªçè§£ïŒãã€ã¯ããµãŒãã¹ãšããªã°ãããã¢ãŒããã¯ãã£ãããäžè¬çã«ãªãã«ã€ããŠãããŸããŸãªããã°ã©ãã³ã°èšèªéã§åãçè§£ããã³æšèŠã§ããã·ã¹ãã ã¯ãéåžžã«è²Žéã«ãªããŸãã
- ãã¹ããšãããã°ãšã®çµ±åïŒãã¹ãã±ãŒã¹ãŸãã¯ãããã°ã»ãã·ã§ã³ãèªèããŠããåã®æšèŠã¯ãããã«çãçµã£ã圹ç«ã€ææ¡ãæäŸã§ããŸãã
- åã®ãªãã¡ã¯ã¿ãªã³ã°ã®ããã®AIæèŒïŒããå ç¢ã§å®å šãªåæ§é ãæ¡çšããããã«ã³ãŒããèªåçã«ãªãã¡ã¯ã¿ãªã³ã°ã§ããããŒã«ã
éçºè ããã³çµç¹åãã®å®è¡å¯èœãªã€ã³ãµã€ã
é«åºŠãªåæšèŠã·ã¹ãã ã®åãæŽ»çšããã«ã¯ïŒ
éçºè åãïŒ
- åãã³ããåãå ¥ããïŒPythonã®ãããªåçã«åä»ããããèšèªã§ã¯ãç©æ¥µçã«åãã³ãã䜿çšããŸããã»ãšãã©ã®é«åºŠãªIDEã¯ãããè¯ãæšèŠã®ããã«ãããã®ãã³ããæŽ»çšããŸãã
- IDEã®æ©èœãæ¢çŽ¢ããïŒIDEãŸãã¯ãšãã£ã¿ãŒã®ã³ãŒãè£å®ããªã³ããããã³ãªãã¡ã¯ã¿ãªã³ã°ã®æ©èœãçè§£ããŸãã
- ãã£ãŒãããã¯ãæäŸããïŒããŒã«ã§èš±å¯ãããŠããå Žåã¯ãæ£ãããªããŸãã¯åœ¹ã«ç«ããªãææ¡ãå ±åããŸããããã¯ãåºç€ãšãªãã¢ãã«ã®æ¹åã«åœ¹ç«ã¡ãŸãã
- ææ°ã®ç¶æ ãç¶æããïŒIDEãšé¢é£ããæ¡åŒµæ©èœãææ°ã®ç¶æ ã«ä¿ã¡ãåæšèŠãã¯ãããžãŒã®ææ°ã®æ¹åããã¡ãªãããåŸãŸãã
- ãçç±ããçè§£ããïŒææ¡ãç²ç®çã«åãå ¥ããªãã§ãã ãããç¹å®ã®åãæšèŠãããçç±ãçè§£ããããã«ããŠãã ãããããã«ãããèšèªãšã³ãŒãããŒã¹ã®çè§£ãæ·±ãŸããŸãã
çµç¹åãïŒ
- ææ°ã®ããŒã«ã«æè³ããïŒé«åºŠãªåæšèŠããµããŒãããé«å質ã®IDEãšé¢é£ããæ¡åŒµæ©èœãžã®ã¢ã¯ã»ã¹ãéçºè ã«æäŸããŸãã
- åå®å šæåãä¿é²ããïŒç¹ã«ãªãã·ã§ã³ã§ããèšèªã§ã¯ãåãã³ããšéçåæããŒã«ã®æ¡çšã奚å±ããŸãã
- ãã©ã¯ãã£ã¹ãæšæºåããïŒäººéã®éçºè ãšèªåããŒã«ã®äž¡æ¹ãã¬ã€ãããããã«ãæç¢ºãªã³ãŒãã£ã³ã°æšæºãšåèŠåãå®çŸ©ããŸãã
- ããã©ãŒãã³ã¹ãæ€èšããïŒé«åºŠãªã³ãŒãåæããŒã«ã®èšç®éèŠã«å¯Ÿå¿ããããã«ãéçºç°å¢ã«ååãªãªãœãŒã¹ãããããšã確èªããŸãã
- ãã©ã€ãã·ãŒãè©äŸ¡ããïŒã¯ã©ãŠãããŒã¹ã®éçºãµãŒãã¹ã®å Žåãã³ãŒãåæãšããŒã¿äœ¿çšéã«é¢ãããã©ã€ãã·ãŒããªã·ãŒãæ³šææ·±ã確èªããŠãã ããã
çµè«
åå®å šæ§ã®ååãšæ·±ãçµ±åãããé«åºŠãªåæšèŠã·ã¹ãã ã¯ããœãããŠã§ã¢éçºããŒã«ã®å€§ããªé£èºã衚ããŠããŸããã°ããŒãã«ãªãœãããŠã§ã¢ããŒã ã®æåã«äžå¯æ¬ ãªãã¹ããŒãã粟床ãããã³æ¹åãããéçºè ãšã¯ã¹ããªãšã³ã¹ã®åŒ·åãªçµã¿åãããæäŸããŸããåºç€ãšãªããã¯ãããžãŒãçè§£ãããã®å©ç¹ãåãå ¥ããé¢é£ãã課é¡ã«å¯ŸåŠããããšã§ãéçºè ãšçµç¹ã¯çç£æ§ãšã³ãŒãåè³ªã®æ°ããã¬ãã«ãè§£æŸã§ããŸãããããã®ã·ã¹ãã ãé²åãç¶ããã«ã€ããŠããœãããŠã§ã¢éçºãããã€ã³ããªãžã§ã³ãã§ãä¿¡é Œæ§ãé«ããäžçäžã§ã¢ã¯ã»ã¹ããããããäžã§ã®åœ¹å²ã¯å¢ãã°ããã§ãã