éåæå®è¡ã¯ãçŸä»£ã®JavaScriptã·ã¹ãã ããã©ãŠã¶ããµãŒããŒããããŠåæ£ç°å¢éã§ã©ã®ããã«åäœããããå®çŸ©ãããã®ã§ããè€æ°ã®æäœãäºãã«ãããã¯ããããšãªãç¬ç«ããŠé²è¡ã§ããããã«ããããšã§ãããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ãåäžãããŸãããã®æè»æ§ã¯ããªã¢ã«ã¿ã€ã ã€ã³ã¿ãŒãã§ãŒã¹ãããŒã¿ã¹ããªãŒãã³ã°ããããŠã¬ã¹ãã³ã·ããªãã€ã¯ããµãŒãã¹ããµããŒãããŸãããåæã«æ§é çãªäžéææ§ããããããŸããéåæåŒã³åºããã©ã®ããã«çžäºäœçšããéè€ããå®äºããããçè§£ããã«ã¯ãåŸæ¥ã®å¶åŸ¡ãããŒè¡šçŸã§ã¯èŠããŠããªãå®è¡é åºã«é¢ããæŽå¯ãå¿ èŠã§ããã¢ãŒããã¯ããéçºè ããããŠããã©ãŒãã³ã¹ãšã³ãžãã¢ã«ãšã£ãŠããã®è€éãã¯éçåæãããå°é£ã«ãããšåæã«ãããäžå¯æ¬ ãªãã®ã«ããŠããŸãã
åŸæ¥ã®éçè§£æãšã³ãžã³ã¯ãå¶åŸ¡ãããŒãç·åœ¢ãã€äºæž¬å¯èœãªã·ãŒã±ã³ã·ã£ã«ããã°ã©ã åãã«èšèšãããŠããŸããããã®ãããã³ãŒã«ããã¯ãã€ãã³ããšããã¿ãŒãé£éããPromiseãšãã£ãéåææ§é ãæããã®ãå°é£ã§ããããã®çµæãã·ã¹ãã ã®åäœã¯æçåãããéèŠãªçžäºäœçšãèŠèœãšãããŠããŸãå¯èœæ§ããããŸããéåæãæ£ç¢ºã«ã¢ãã«åã§ããªãããšã§ãããã©ãŒãã³ã¹ã®äœäžãäžè²«æ§ã®ãªãããŒã¿ãããŒããããã¯åæå®è¡è² è·æã«ã®ã¿çºçããå®å®æ§ã®åé¡ãªã©ãæ€åºãããªããŸãŸã«ãªãå¯èœæ§ããããŸããå€§èŠæš¡ãªã³ãŒãããŒã¹ã§ã¯ããããã®åé¡ã¯æ¥éã«æ¡å€§ããã¡ã³ããã³ã¹ã³ã¹ããã¢ããã€ãŒãŒã·ã§ã³ã®é å»¶ã«ã€ãªãããŸãã
ã³ãŒãã€ã³ããªãžã§ã³ã¹ã®èªåå
Smart TS XL ã®é«åºŠãªäŸåé¢ä¿ãã¬ãŒã¹ã«ãããéåæ JavaScript ã¢ããªã±ãŒã·ã§ã³ã®ãªã¹ã¯ãšé å»¶ã軜æžããŸãã
ä»ããæ¢çŽ¢ããéçè§£æãšåœ±é¿è§£æã®é²æ©ã«ãããéåæã·ã¹ãã ãé«ç²ŸåºŠã§æ€èšŒã§ããããã«ãªããŸãããé å»¶ã³ã³ããã¹ããšäžŠè¡ã³ã³ããã¹ãã«ãããå®è¡ã°ã©ãããããã³ã°ã§ããããŒã«ã䜿ãã°ãããã«ããã¯ãç¹å®ããæªåŠçã®ãããã¹ãæ€åºããé ããäŸåé¢ä¿ãæããã«ããããšãã§ããŸãããããã®æè¡ã«ãããéåæããžãã¯ã®è¿œè·¡ãšæž¬å®ãå¯èœã«ãªããããŒã ã¯å®éã®ã¯ãŒã¯ããŒããã€ãã³ããã¥ãŒããµãŒãã¹å¢çãã©ã®ããã«ééããããçè§£ã§ããããã«ãªããŸãããããã圱é¿è§£æãœãããŠã§ã¢ãã¹ãã§æŠèª¬ãããŠãããããªèŠèŠåãšäŸåé¢ä¿è¿œè·¡ãšçµã¿åãããããšã§ãã¢ããã€ãŒãŒã·ã§ã³ããŒã ã¯æ€èšŒå¯èœãªæ¹åæ§é ãåŸãããšãã§ããŸãã
æ¬çš¿ã§ã¯ãéåæJavaScriptããã°ã©ã ã®éçè§£æã®èåŸã«ããæè¡çåçãæ¢ããŸããåã»ã¯ã·ã§ã³ã§ã¯ãéåæãããŒã®ã¢ããªã³ã°ãäŸåé¢ä¿ã®ãããã³ã°ãCI/CDç°å¢ãžã®è§£æã®çµ±åãå€§èŠæš¡ç°å¢ã§ã®ããã©ãŒãã³ã¹æé©åã«ã€ããŠè©³çްã«è§£èª¬ããŸãã埪ç°çè€éæ§ã«å¯Ÿããéçè§£æææ³ãã©ã³ã¿ã€ã è§£æã®è§£æãªã©ãé¢é£ããIN-COMã®ç ç©¶ãåç §ããããšã§ãè§£æã®å¯èŠæ§ã«ãã£ãŠéåæã·ã¹ãã ã®ãããã°ã®è¿ éåãããå®å šãªè¿ä»£åãç¶ç¶çãªæé©åãå¯èœã«ãªãããšã瀺ããŸãã
éåæå¶åŸ¡ãããŒã®è€éã
éåæå¶åŸ¡ãããŒã¯ãJavaScriptã¢ããªã±ãŒã·ã§ã³ã®çè§£ãä¿å®ãåææ¹æ³ãæ ¹æ¬çã«å€é©ããŸããåŸæ¥ã®åæããã°ã©ã ã§ã¯ã1ã€ã®åœä»€ã決å®è«çã«å¥ã®åœä»€ã«ç¶ããŸãããéåæããžãã¯ã¯ã€ãã³ãã«ãŒãã«ãã£ãŠèª¿æŽãããåå¥ã®ã³ã³ããã¹ãéã§å®è¡ãããŸãããããã¯ãŒã¯åŒã³åºãããã¡ã€ã«èªã¿åããã¡ãã»ãŒãžãã¥ãŒãšã®ããåããªã©ã®æäœã¯ãå®äºããåã«ã¡ã€ã³ã¹ã¬ããã«å¶åŸ¡ãæ»ããŸãããã®ãããŒã®é転ã¯ãåå ãšçµæãæéãã³ã³ããã¹ãããŸãã¯å®è¡ã¹ã¿ãã¯ã«ãã£ãŠåé¢ã§ãããããé«åºŠãªåæããŒã«ã§ãããå°é£ã極ããŸãããããã®é¢ä¿ãçè§£ããããšã¯ãã¿ã€ãã³ã°ãã°ã®èšºæãäŸåé¢ä¿ã®ãã§ãŒã³ã®æ€èšŒããããŠè² è·æã®ã·ã¹ãã åäœã®äºæž¬ã«äžå¯æ¬ ã§ãã
æ ¹æ¬çãªèª²é¡ã¯ãéåæã·ã¹ãã ãããžãã¯ãã€ã³ã¿ãŒãªãŒãããæ¹æ³ã«ãããŸããè€æ°ã®é¢æ°ã¯ãœãŒã¹ã³ãŒãäžã§ã¯ç¬ç«ããŠããããã«èŠããŸãããå ±æç¶æ ãã€ãã³ãã«ãã£ãŠããªã¬ãŒãããã³ãŒã«ããã¯ãã§ãŒã³ãä»ããŠçžäºäœçšããŸããéçè§£æã§ã¯ããããã®éç·åœ¢ãã¹ãåæ§ç¯ããçã®å®è¡é åºãåæ ãããå¿ èŠããããŸãããããå®çŸããã«ã¯ãæ§æã¹ãã£ã³ã ãã§ãªããPromiseãã©ã®ããã«è§£æ±ºããããããã€ã¯ãã¿ã¹ã¯ããã¯ãã¿ã¹ã¯ã®åŸãã«ã©ã®ããã«ãã¥ãŒã€ã³ã°ãããããã³ãŒã«ããã¯ããã£ããã£ããã倿°ãã©ã®ããã«åç §ããããšãã£ãã»ãã³ãã£ãã¯ã¢ããªã³ã°ãå¿ èŠã§ãããã®ãããªç²ŸåºŠããªããã°ã圱é¿åºŠã®æšå®ãšãªã¹ã¯æ€åºã¯äžå®å šãªãŸãŸã§ãã
ã€ãã³ãé§ååäžŠè¡æ§ãšé ããå®è¡ãã¹
ã€ãã³ãé§ååäžŠè¡æ§ã¯ãJavaScriptã®éåæåäœã®åºç€ãå®çŸ©ããŸããã€ãã³ãã«ãŒãã¯ããã¥ãŒã«å ¥ããããã³ãŒã«ããã¯ããã€ã¯ãã¿ã¹ã¯ããããŠã·ã¹ãã ãªãœãŒã¹ãå©çšå¯èœã«ãªã£ãéã«å®è¡ããããã¯ãã¿ã¹ã¯ã管çããŸãããã®åçãªã¹ã±ãžã¥ãŒãªã³ã°ã¯åªããã¹ã±ãŒã©ããªãã£ãå®çŸããŸãããè«çãããŒãææ§ã«ããŠããŸãå¯èœæ§ããããŸããå¶åŸ¡ãã¹ããããã³ã°ããããšããéçã¢ãã©ã€ã¶ãŒã¯ãçŽæ¥çãªåŒã³åºãã ãã§ãªããæœåšçãªã€ãã³ãããªã¬ãŒãé å»¶ç¶ç¶ãè§£éããå¿ èŠããããŸãã
äŸãã°ãããã¢ãžã¥ãŒã«ã«ç»é²ãããã€ãã³ããªã¹ããŒã¯ãæåã®ããªã¬ãŒããããªãæéãçµã£ãŠãããå¥ã®ã³ã³ããŒãã³ãã®ããžãã¯ã«åœ±é¿ãäžããã·ã¹ãã ç¶æ ã倿Žããå¯èœæ§ããããŸãã忣ç°å¢ãã¢ãžã¥ãŒã«ç°å¢ã§ã¯ããããã®ã€ãªãããç¹å®ããã«ã¯ãæ§æããªãŒãè¶ ããäŸåé¢ä¿ã®èªèãå¿ èŠã§ããé«åºŠãªããŒã«ã¯ãåæé¢ä¿ãšéåæé¢ä¿ã®äž¡æ¹ããããã³ã°ããã°ã©ãããŒã¹ã®ã¢ãã«ãçµã¿èŸŒãã§ããããã¥ãŒã«å ¥ããããã¢ã¯ã·ã§ã³ãéããŠç¶æ ãã©ã®ããã«å€åãããã瀺ããŸããäŸåé¢ä¿ã®å¯èŠåã§èª¬æãããããªæŽå¯ã«ãããéçºè ã¯ããã©ãŒãã³ã¹ã®æ¥äžæãåºåã®äžæŽåãåŒãèµ·ããå¯èœæ§ã®ãããç£èŠãããŠããªãçµè·¯ãæ€åºã§ããŸãã
å€§èŠæš¡ã·ã¹ãã ã«ãããŠã¯ããã®çè§£ãå®å šãªã¢ããã€ãŒãŒã·ã§ã³ã®åºç€ãšãªããŸããããŒã ãã³ãŒã«ããã¯ãå€çšããã³ãŒããæ§é åãããéåæããã³åŸ æ©ãã¿ãŒã³ã«ãªãã¡ã¯ã¿ãªã³ã°ããéã«ãæ¢åã®ã€ãã³ãé¢ä¿ãå®å šã«å¯èŠåããããšã§ãåäœã®æŽåæ§ã確ä¿ã§ããŸãããããã®ã€ãã³ãé§ååã®ãªã³ã¯ãèªèããéçè§£æã¯ãååž°ãé²ãã確å®ãªæ®µéçãªå€é©ãå¯èœã«ããŸãã
PromiseãšéåæãããŒã®è§£é
Promiseã¯éåæããžãã¯ã«æ§é åãããåŠçãå°å ¥ããæ·±ããã¹ããããã³ãŒã«ããã¯ãæ§æå¯èœãªãã§ãŒã³ã«çœ®ãæããŸããããããããã®æœè±¡åã¯åæã®è€éããå¢å€§ãããŸãããªããªããåPromiseã¯ãçŸåšã®ã¹ã³ãŒããè¶ ããæ¡ä»¶ã«åºã¥ããŠè§£æ±ºãŸãã¯æåŠãããå¯èœæ§ã®ããå°æ¥ã®å€ã衚ãããã§ãããããã£ãŠãéçè§£æã§ã¯ãå¶åŸ¡ãšæéã®äž¡æ¹ã®æ¬¡å ãèæ ®ããå®å šãªå®è¡ãã¹ãåæ§ç¯ããå¿ èŠããããŸãã
éåæã¡ãœãããè€æ°ã®PromiseãåŸ æ©ããå Žåãã¢ãã©ã€ã¶ãŒã¯é åºãäŸåé¢ä¿ãããã³æœåšçãªç«¶åãæšæž¬ããå¿ èŠããããŸããäžéšã®ã¢ãã©ã€ã¶ãŒã¯ãå¶åŸ¡ãããŒã°ã©ãããé å»¶è§£æ±ºãææããæéã°ã©ãã«æ¡åŒµããŸãããããã®ããŒã«ã¯ããã€ã¯ãã¿ã¹ã¯ã®ãã¥ãŒãšã¹ã±ãžã¥ãŒãªã³ã°ãã§ãŒãºãã¢ãã«åããããšã§ãä»ã®éåææäœãšæ¯èŒããŠçµæããã€å©çšå¯èœã«ãªãããäºæž¬ããŸããããã«ããã䞊åã¿ã¹ã¯ãæå³ããã·ãªã¢ã«åããããäžèŠãªé å»¶ãåŒãèµ·ããããããããžãã¯ãæ€åºã§ããŸãã
ãããã¹ããŒã¹ã®ãããŒãæ£ç¢ºã«è§£éããããšã§ãæé©åãšä¿¡é Œæ§ã®äž¡æ¹ã®ç®æšéæããµããŒãããŸããéçºè ã¯ãåŸ æ©äžã®åŒã³åºããæ£ãã䞊ååãããŠããããäŸå€ãé»ã£ãŠç¡èŠãããŠããããšãã£ã蚌æ ãåŸãããšãã§ããŸãããã®æç¢ºåã«ãããå®è¡æã®äºæž¬äžå¯èœæ§ãäœæžããããŒã ãèšèšäžã®æåŸ ã«æ²¿ã£ãŠåäœã調æŽããã®ã«åœ¹ç«ã¡ãŸããããã«ãããã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ã«ãããŠã¢ããªã±ãŒã·ã§ã³ã®å埩åã匷åããããšãã§ããŸãã
ã³ãŒã«ããã¯ãšã¯ããŒãžã£ã®çžäºäœçšã®åŠç
ã³ãŒã«ããã¯ã¯ãã¬ã¬ã·ãŒããã³ãã€ããªããJavaScriptã·ã¹ãã ãç¹ã«asyncãawaitãããå€ããã¬ãŒã ã¯ãŒã¯ãAPIã«ãããŠãäŸç¶ãšããŠåºãæ®åããŠããŸããã³ãŒã«ããã¯ã¯ãã¯ããŒãžã£ã芪ã¹ã³ãŒããã倿°ããã£ããã£ãããããéåæã³ãŒããå ã®é¢æ°ããæ»ã£ãåŸã«å ±æç¶æ ã倿Žã§ããŠããŸããããã³ã³ããã¹ãã®è€éãããããããŸãããããã£ãŠãéçè§£æã§ã¯ãæœåšçãªå€æ°ã®å€ç°ããªãŒã¯ãææ¡ããããã«ãèªåœç°å¢ãã·ãã¥ã¬ãŒãããå¿ èŠããããŸãã
ã¯ããŒãžã£ã¢ããªã³ã°æ©èœãåããããŒã«ã¯ã倿°ã®ãã€ã³ãã£ã³ã°ãšã©ã€ããµã€ã¯ã«ãåæããéåæåŒã³åºãéã§åç §ãé¢é£ä»ããŸããããã«ãããåæå®è¡æã®æå³ããªãããŒã¿æ°žç¶åãã¡ã¢ãªå¢å ãããŒã¿ç Žæãªã©ã®ãªã¹ã¯ãç¹å®ã§ããŸããã³ãŒãå¯èŠåæŠç¥ãšåæ§ã®å¯èŠåãšçµã¿åãããããšã§ããããã®ã¢ãã«ã¯ãã³ãŒã«ããã¯ãéããŠç¶æ ãã©ã®ããã«äŒæããããä¿å®æ åœè ã«æ§é çã«çè§£ãããã®ã«åœ¹ç«ã¡ãŸãã
æ£ç¢ºãªã³ãŒã«ããã¯ãšã¯ããŒãžã£ã®åæã¯ãã©ã®ã»ã°ã¡ã³ããå®å šã«Promiseãéåæé¢æ°ã«å€æã§ããããæç¢ºã«ããããšã§ãã¢ããã€ãŒãŒã·ã§ã³ã«ã圹ç«ã¡ãŸããããŒã ã¯ãé ããå¯äœçšãçºçãããããšãªãè€éãªã³ãŒã«ãã§ãŒã³ã段éçã«ãªãã¡ã¯ã¿ãªã³ã°ã§ãããããã·ã¹ãã ããžãã¯ã®é²åã«åãããŠå®å®æ§ãç¶æã§ããŸãã
æéçé åºãšã€ã³ã¿ãŒãªãŒãã®è€éã
æéçãªé åºä»ãã¯ãè€æ°ã®éåææäœãã©ã®ããã«å ±åããããå®çŸ©ããŸããJavaScriptã¯ã·ã³ã°ã«ã¹ã¬ããã®ã€ãã³ãã«ãŒãå ã§å®è¡ãããããã䞊åå®è¡ã§ã¯ãªãã¹ã±ãžã¥ãŒãªã³ã°ã«ãã£ãŠèŠããäžã®äžŠè¡æ§ãå®çŸãããŸããéçè§£æã§ã¯ãã¿ã¹ã¯ããã¥ãŒã«ç»é²ãããå®è¡ãããäžæãããåéãããé åºãè§£éãã埮åŠãªã¿ã€ãã³ã°äŸåæ§ãæããã«ããå¿ èŠããããŸãã
äŸãã°ãå ±æç¶æ ã®èªã¿åããšæžã蟌ã¿ãè¡ãæäœã¯ãã³ãŒã«ããã¯ã®ç»é²é åºããªãœãŒã¹ã®ã¬ã€ãã³ã·ã«å¿ããŠã€ã³ã¿ãŒãªãŒãã®é åºãç°ãªãå ŽåããããŸãããããã®äŸåé¢ä¿ãéçã«ææ¡ã§ããªããã°ãç«¶åç¶æ ãäžæŽåãªç¶æ ãæ£çºçã«çºçãããããã°ãå質ä¿èšŒãè€éåããå¯èœæ§ããããŸããã€ã³ã¿ãŒãªãŒããã¿ãŒã³ãã¢ãã«åããããšã§ãã¢ãã©ã€ã¶ãŒã¯éçºã®æ©ã段éã§é決å®çãªåäœãæ€åºã§ããŸãã
ãã®æ©èœã¯ãWebãœã±ãããã¡ãã»ãŒãžãããŒã«ãŒãªã©ã®éåæAPIãšçµ±åããã·ã¹ãã ã§ç¹ã«åœ¹ç«ã¡ãŸããã€ã³ã¿ãŒãªãŒããçè§£ããããšã§ãåæå®è¡ã®æé©åã«ãã£ãŠããžãã¯ã誀ã£ãŠå€æŽãããããšãåé¿ã§ããŸããæ§é åãããå¶åŸ¡ãããŒãããã³ã°ãšæéãèæ ®ããäŸåé¢ä¿ã°ã©ãã«ãããçµç¹ã¯ãã€ãŠã¯åºç¯ãªã©ã³ã¿ã€ã ãã°ãéããŠã®ã¿å¯èœã ã£ãå¯èŠæ§ãå®çŸã§ããŸãã
éåæå®è¡ã»ãã³ãã£ã¯ã¹ã®éçè§£æåºç€
éåæå®è¡ã®è§£æã«ã¯ãæ§æã®èªã¿åãã颿°åŒã³åºãã®ã«ãŠã³ã以äžã®ããšãæ±ããããŸããJavaScriptã©ã³ã¿ã€ã å ã§éåææäœãã©ã®ããã«ã¹ã±ãžã¥ãŒã«ãäžæåæ¢ãåéããããŠèª¿æŽãããããå¶åŸ¡ããå®è¡ã¢ãã«ãçè§£ããå¿ èŠããããŸããåæã·ã¹ãã ã¯æãæ¬¡ã ã«å®è¡ããŸãããéåæã·ã¹ãã ã¯ã€ãã³ãã«ãŒããšãã¥ãŒããŒã¹ã®ã¢ãŒããã¯ãã£ã«äŸåããã¿ã¹ã¯ãç¶ç¶çã«åé 眮ããŸãã宣èšãšå®è¡ã®åé¢ã«ãã£ãŠçããäžç¢ºå®æ§ã¯ãéçè§£æã§ã¯çŽæ¥èгå¯ã§ã¯ãªãæœè±¡ã¢ããªã³ã°ã«ãã£ãŠè§£æ±ºããå¿ èŠããããŸãã
éåæããã°ã©ã ã®éçè§£æãã¬ãŒã ã¯ãŒã¯ã¯ããã®é ããé åºãåæ§ç¯ããããšãç®çãšããŠããŸãããããã®ããŒã«ã¯ãasyncæäœãšawaitæäœã®å éšã©ã€ããµã€ã¯ã«ãã·ãã¥ã¬ãŒããããã€ã¯ãã¿ã¹ã¯ãšãã¯ãã¿ã¹ã¯ã®ãã¥ãŒãè§£éããå¶åŸ¡ãããŒãäžæãããã³ã³ããã¹ããã©ã®ããã«ééããããç¹å®ããŸãããããã®ããŒã«ã¯ãèªåœæ§é ã ãã§ãªãåäœæšè«ã«ãæ¡åŒµããããšã§ãéåæã¢ã¯ã·ã§ã³éã®å®éã®äŸåé¢ä¿ãæããã«ããŸãããããã®ããŒã«ã®ç²ŸåºŠã¯ãæªåŠçã®æåŠã埪ç°çãªäŸåé¢ä¿ãå®è¡ã¿ã€ãã³ã°ã®ãããšãã£ãåé¡ããããã€åã«çºèŠã§ãããã©ãããå·Šå³ããŸãã
ã€ãã³ãã«ãŒãã¢ããªã³ã°ãšæœè±¡è§£é
ã€ãã³ãã«ãŒãã¯ãJavaScriptã«ãããéåæåäœãçµ±å¶ããäžå¿çãªã¡ã«ããºã ã§ãããã¹ãŠã®ã¿ã€ããŒããããã¯ãŒã¯ãªã¯ãšã¹ãããŠãŒã¶ãŒã€ãã³ãã¯ãã¥ãŒã«å ¥ããã¹ã¿ãã¯ãå©çšå¯èœã«ãªã£ããšãã«å®è¡ãããã®ãåŸ ã¡ãŸããéçè§£æã§ã¯ããã®ãã¥ãŒã®æåãçè§£ããããšãäžå¯æ¬ ã§ããæœè±¡è§£éã«ãããã¢ãã©ã€ã¶ãŒã¯ã³ãŒããå®è¡ããã«ã·ã¹ãã ã®ç¶æ ãæŠç®ã§ããŸãã
ãã®ã¢ãããŒãã«ãããããŒã«ã¯ãã¥ãŒã®é²åãã¢ãã«åããéåæé¢æ°ãç»é²ãããã¿ã€ãã³ã°ãå¶åŸ¡ãè§£æŸããã¿ã€ãã³ã°ãã¹ã¿ãã¯ã«åæå ¥ãããã¿ã€ãã³ã°ã远跡ããŸããã€ãã³ãã«ãŒããã·ãã¥ã¬ãŒãããããšã§ãã©ã®ã¿ã¹ã¯ãéè€ããå¯èœæ§ãããããã©ã®ã¿ã¹ã¯ãåŠçã®é²è¡ãé»å®³ããããã©ã®ã¿ã¹ã¯ãå€éšã·ã°ãã«ã«äŸåããããæšè«ããããšãå¯èœã«ãªããŸãããã®ã¬ãã«ã®æšè«ã¯ãæœåšçãªãããããã¯ã飢é€ç¶æ ãæ€åºããããã®åºç€ãšãªããŸããéçãœãŒã¹ã³ãŒãè§£æã§è°è«ãããŠããææ³ãšåæ§ã®ææ³ã¯ã圢åŒã¢ãã«ãäºæž¬å¯èœãªããã©ãŒãã³ã¹ãšä¿¡é Œæ§ã®çµæã«ã©ã®ããã«çµã³ã€ããã瀺ããŠããŸãã
ã€ãã³ãã«ãŒãã¢ããªã³ã°ãã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ã«çµ±åããããšã§ãç°ãªãã¢ãžã¥ãŒã«ããµãŒãã¹å¢çãè¶ããŠã©ã®ããã«çžäºäœçšããããæç¢ºã«ãªããŸããããã«ãããã·ã¹ãã ã®ããéšåã®å€æŽããå¥ã®éšåã®å®è¡ã¿ã€ãã³ã°ãé åºãæå³ãã倿ŽããŠããŸãããšããªããªããŸãã
async ããã³ await æ§é ã®æœè±¡æ§ææš
async æãš await æã¯æ§æçã«ã¯ã·ã³ãã«ã§ãããè€éãªå¶åŸ¡åäœãé èœããŠããŸããŸãã衚é¢çã«ã¯ãããããã® await æã¯å®è¡ãäžæåæ¢ããåŸã§åéãããµã¹ãã³ããã€ã³ããå°å ¥ããŸããéçè§£æãã¬ãŒã ã¯ãŒã¯ã¯ããããã®ãµã¹ãã³ãå¢çãæç€ºçã«è¡šçŸããããã«ãæœè±¡æ§ææšïŒASTïŒãæ¡åŒµããŸãã
ãã®å€æã«ãããäžèŠç·åœ¢ã«èŠããã³ãŒãããåéãšããžã§æ¥ç¶ãããéçµåãã¹ã®éåã«å€æãããŸãããããã®ãšããžãåæããããšã§ãããŒã«ã¯äºæž¬äžå¯èœãªã³ã³ããã¹ããç¹å®ã®ç¶æ å€ååŸã«åéããå¯èœæ§ã®ããã³ãŒããç¹å®ããŸãããŸããåŸ æ©äžã®æäœéã®äŸåé¢ä¿ã远跡ã§ããããã䞊è¡åŠçã®æé©åã®æ©äŒãæããã«ãªããŸãã
詳现ãªASTè§£éã¯ãéåæããžãã¯ãè€æ°ã®ãªããžããªã«ãŸããããšã³ã¿ãŒãã©ã€ãºèŠæš¡ã®ã·ã¹ãã ã«ãããŠç¹ã«äŸ¡å€ããããŸããååž°åæãè¿ä»£åèšç»ã«å¿ èŠãªåæçãªå¯èŠæ§ãæäŸããŸããå¶åŸ¡ãããŒã®è€éããªã©ã®ææšãçšããããšã§ãåawaitãå šäœã®å®è¡è€é床ã«ã©ã®ããã«åœ±é¿ããããå®éåã§ããŸãã
ã³ã³ããã¹ãã®äŒæãšããŒã¿äŸåæ§ã®è¿œè·¡
éåæã·ã¹ãã ã®éçè§£æã§ã¯ãé å»¶åŒã³åºããä»ããã³ã³ããã¹ãã®äŒæãèæ ®ããå¿ èŠããããŸãã倿°ããšã©ãŒãã³ãã©ããªããžã§ã¯ãåç §ã¯ãã¹ã¿ãã¯éã®å¶åŸ¡é·ç§»äžã§ãä¿æãããŸãããããã®äŸåé¢ä¿ã远跡ããããšã¯ãæå³ããªãããŒã¿çµåãæŒæŽ©ãæ€åºããããã«äžå¯æ¬ ã§ãã
ã³ã³ããã¹ãäŸåã¢ãã«ã¯ãåéåæåŒã³åºãããã®èªåœç°å¢ã«çµã³ä»ããããšã§ãåŸæ¥ã®åæãæ¡åŒµããŸãããã®é¢é£ä»ãã«ãããéåæå¢çãè¶ããŠæç¶ããå ±æãªãœãŒã¹ãšå¯å€ç¶æ ã®èå¥ãå¯èœã«ãªããŸãããããã®ã¡ã«ããºã ãçµã¿èŸŒãã ããŒã«ã¯ãããŒã¿ã®æŽåæ§ãå®è¡ã¿ã€ãã³ã°ã«äŸåããã·ããªãªãæããã«ããããšãã§ããŸãã
忣ã¢ãŒããã¯ãã£ã§ã¯ãã³ã³ããã¹ãäŒæåæã¯å¯èŠ³æž¬æ§ããµããŒãããŸããéåæã³ãŒãããã°èšé²ããã³ãã¬ãŒã¹ãã¬ãŒã ã¯ãŒã¯ã«æ¥ç¶ããããšã§ãéçºèšºæãšå®è¡æã¡ããªã¯ã¹ãæŽåãããŸããã¢ããªã±ãŒã·ã§ã³ããã©ãŒãã³ã¹ç£èŠã§èª¬æãããŠããã¢ãããŒããšã®çµ±åã«ãããéçèŠç¹ãšå®è¡æèŠç¹ã®äž¡æ¹ã®äžè²«æ§ãç¶æãããŸãã
éåæã»ãã³ãã£ã¯ã¹ã®ããã®æœè±¡ãã¡ã€ã³èšèš
éçè§£æã®äžæ žãæãã®ã¯ãæœè±¡ãã¡ã€ã³ã®æŠå¿µã§ããããã¯ãããã°ã©ã ã®ããããã£ãã©ã®ããã«è¿äŒŒãããããå®çŸ©ããŸããéåæJavaScriptã®å Žåãæœè±¡ãã¡ã€ã³ã¯æéäŸåããã³ç¶æ äŸåã®é¢ä¿ãæããå¿ èŠããããŸããããã«ã¯ãPromiseã®æºåç¶æ³ã解決é åºããªãœãŒã¹ã®ããã¯ãªã©ãå«ãŸããŸãã
ãããã®ãã¡ã€ã³ãèšèšããã«ã¯ã粟床ãšã¹ã±ãŒã©ããªãã£ã®ãã©ã³ã¹ãåãå¿ èŠããããŸããé«ç²ŸåºŠãªãã¡ã€ã³ã¯èª€æ€ç¥ãæžãããŸãããå€§èŠæš¡ãªã³ãŒãããŒã¹ã§ã¯èšå€§ãªèšç®ãªãœãŒã¹ãæ¶è²»ããå¯èœæ§ããããŸããç°¡çŽ åããããã¡ã€ã³ã¯ããã©ãŒãã³ã¹ãåäžãããŸããã埮åŠãªéåæåäœãèŠèœãšããªã¹ã¯ããããŸããçŸä»£ã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãã³ãŒãã®ã³ã³ããã¹ãã«åºã¥ããŠãã¡ã€ã³ã®è€éãã調æŽãããã€ããªãããªã¢ãããŒããæ¡çšãããããšããããããŸãã
广çãªãã¡ã€ã³èšèšã«ãããéåæéçè§£æã®ç²ŸåºŠãšå¹çæ§ãç¶æãããŸããããã«ãããéå°ãªãªãŒããŒããããªãã«CIç°å¢å ã§ã®ç¶ç¶çãªã¹ãã£ã³ãå¯èœã«ãªããå€§èŠæš¡ã·ã¹ãã ã®ããã¢ã¯ãã£ããªä¿å®ããµããŒãããŸãããã®é²åã¯ãéçæšè«ã«ãã£ãŠçã®èšºæçµæã§ã¯ãªããå®çšçãªæŽå¯ãåŸããããšããããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®èåŸã«ããåæåçãåæ ããŠããŸãã
éåæã¡ãã»ãŒãžãã¥ãŒãšã€ãã³ããšããã¿ãŒã®ãããã³ã°
ã¡ãã»ãŒãžãã¥ãŒãšã€ãã³ããšããã¿ãŒã¯ãéåæJavaScriptã·ã¹ãã ã®éä¿¡åºç€ã§ãããããã«ãããåé¢ãããã³ã³ããŒãã³ãéã§ããŒã¿äº€æãåŠçã®ããªã¬ãŒãå®è¡ã®èª¿æŽãå¯èœã«ãªããçŽæ¥é¢æ°ãåŒã³åºãå¿ èŠããããŸãããNode.jsããã€ããªãããã€ã¯ããµãŒãã¹ãªã©ã®ç°å¢ã§ã¯ããããã®ã¡ã«ããºã ã«ãã£ãŠãããžãã¹ããžãã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®åã¬ã€ã€ãŒã«ãããã€ãã³ãã®äŒææ¹æ³ãå¶åŸ¡ãããŸãããã®ã¢ãŒããã¯ãã£ã¯ã¹ã±ãŒã©ããªãã£ãšé害åé¢ãå®çŸããäžæ¹ã§ãåæã®è€éããå¢å€§ãããŸããéçè§£æã§ã¯ãããã»ã¹å¢çãè¶ãããããµãŒãããŒãã£ã©ã€ãã©ãªãé¢äžããããã©ã³ã¿ã€ã æ§æã«äŸåãããããå¯èœæ§ã®ããéä¿¡çµè·¯ãåæ§ç¯ããå¿ èŠããããŸãã
ãããã®é¢ä¿ãçè§£ããã«ã¯ããããªãã·ã£ãŒãšãµãã¹ã¯ã©ã€ããŒéã®è«ççãªæ¥ç¶ããããã³ã°ããå¿ èŠããããŸãããã®ããã»ã¹ã«ãããççµåã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã远跡å¯èœãªãããŒã«å€æãããŸããåã€ãã³ããªã¹ããŒãŸãã¯ã¡ãã»ãŒãžãã³ãã©ãŒã¯äŸåé¢ä¿ã°ã©ãã®ããŒããšãªããã¡ãã»ãŒãžãã£ãã«ã¯æ¥ç¶ãšããžã圢æããŸãããããã®æ§é ãå¯èŠåãæ€èšŒããããšã§ãçµç¹ã¯éåæã¡ãã»ãŒãžã確å®ã«ãæ£ããé åºã§ãæåŸ ãããããŒã¿æŽåæ§ã§åŠçãããããšãä¿èšŒã§ããŸãããã®ãããªãããã³ã°ã¯ãã¢ããã€ãŒãŒã·ã§ã³èšç»ãããã©ãŒãã³ã¹æé©åããããŠèªåååž°æ€åºã®åºç€ãšãªããŸãã
ã¡ãã»ãŒãžã®ãããã¥ãŒãµãŒãšã³ã³ã·ã¥ãŒããŒã®èå¥
éåæã¡ãã»ãŒãžã³ã°ãåæããæåã®ã¹ãããã¯ãã¡ãã»ãŒãžã®çºä¿¡å ãšæ¶è²»å ãç¹å®ããããšã§ããJavaScriptç°å¢ã§ã¯ããããã¥ãŒãµãŒã¯EventEmitterã€ã³ã¹ã¿ã³ã¹ãä»ããŠã€ãã³ãããšãããããããRabbitMQãªã©ã®ãããŒã«ãŒã«ã¡ãã»ãŒãžããããªãã·ã¥ããããWebSocketãä»ããŠããã·ã¥éç¥ãéä¿¡ãããããŸããã³ã³ã·ã¥ãŒããŒã¯ãã€ãã³ããã³ãã©ãŒãã³ãŒã«ããã¯ãã€ã³ãã£ã³ã°ããŸãã¯ã¡ãã»ãŒãžãªã¹ããŒãä»ããŠãããã®ãœãŒã¹ããµãã¹ã¯ã©ã€ãããŸãã
éçè§£æããŒã«ã¯ãåçã«æ§ç¯ãããå Žåã§ãããœãŒã¹ã³ãŒããã¹ãã£ã³ããŠãããã®é¢ä¿æ§ãæœåºããŸãã颿°ã·ã°ããã£ãã€ã³ããŒãæãã©ã³ã¿ã€ã ããã¯ãçžé¢ãããããšã§ãå®è¡ããããšãªãéä¿¡ããããžãåæ§ç¯ããŸããäŸãã°ãéå±€åãããæœè±¡åãæã€ãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ã§ã¯ãåäžã®ã¡ãã»ãŒãžã¿ã€ããå®å ã«å°éããåã«ããã«ãŠã§ã¢ãééããããšããããŸãããã®ãã¿ãŒã³ãèªèããããšã§ãéåæãã€ãã©ã€ã³ã«ãããããŒã¿ã®æµãããšã³ãããŒãšã³ãã§å¯èŠåã§ããŸãã
ãããã¥ãŒãµãŒãšã³ã³ã·ã¥ãŒããŒããããã³ã°ããããšã§ãåé·ãŸãã¯æä»£é ãã®ã¡ãã»ãŒãžãããŒãç¹å®ããããšãã§ããŸããããã¯ãç¶ç¶çãªã·ã¹ãã åçåãæ¯æŽãããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§ç€ºãããŠããææ³ãšæŽåããŠãããè¿ä»£åã®éçšã§å¿ èŠãªéä¿¡ãã£ãã«ã®ã¿ãã¢ã¯ãã£ãç¶æ ãç¶æããããšãä¿èšŒããŸãã
è€éãªéå±€æ§é ãéããã€ãã³ãäŒæã®è¿œè·¡
å€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã€ãã³ããåçŽãªãã€ã³ãããŒãã€ã³ãã®ãã¹ã蟿ãããšã¯çšã§ãã代ããã«ãã€ãã³ãã¯è€æ°ã®ãªã¹ããŒãããã«ãŠã§ã¢å±€ããããŠå€æé¢æ°ãå«ãéå±€æ§é ãéããŠäŒæããŸããéçè§£æã§ã¯ãã€ãã³ãã®çºè¡ãã°ã©ããã©ããŒãµã«åé¡ãšããŠã¢ãã«åããããšã§ãããããäŒæãã§ãŒã³ãæããŸãã
åãšããã·ã§ã³ããŒãã¯ãç»é²ããããã³ãã©ãžã®ãšããžãããªã¬ãŒãããã³ãã©èªäœãäºæ¬¡ã€ãã³ããçºä¿¡ããå ŽåããããŸããçµæãšããŠåŸãããã°ã©ãã¯ãåäžã®ããªã¬ãŒãè€æ°ã®ã¢ãžã¥ãŒã«ã«é£éçã«åœ±é¿ãåãŒããã¡ã³ã¢ãŠããã¿ãŒã³ã瀺ãããšããããããŸãããã®æ§é ãçè§£ããããšã§ãæå³ããªãéè€ã埪ç°äŸåãé²ããããã©ãŒãã³ã¹ã®äœäžãåé¿ã§ããŸããã³ãŒãå¯èŠåã§èª¬æãããããªå¯èŠåããŒã«ã䜿çšãããšããããã®äŒæãããã¯ãŒã¯ãããç°¡åã«è§£éã§ããŸãã
ã€ãã³ãéå±€ãããã³ã°ã¯ãã·ã¹ãã ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããŠç¹ã«åœ¹ç«ã¡ãŸããããŒã ãåŸæ¥ã®ã¡ãã»ãŒãžã³ã°ãã¬ãŒã ã¯ãŒã¯ããæšæºåããããã¹ã¢ãŒããã¯ãã£ã«ç§»è¡ããéã«ã¯ãåçã®äŒæåäœãç¶æããããšãäžå¯æ¬ ã§ããéçãããã³ã°ã«ãããæ§é 倿ŽåŸãéèŠãªéç¥ã確å®ã«å®å ã«å±ãããšã確èªã§ããŸãã
éåæã¡ãã»ãŒãžã®é å»¶ãšé åºã®ã¢ãã«å
éåæã¡ãã»ãŒãžã³ã°ã¯ââãã·ã¹ãã è² è·ããããã¯ãŒã¯ç¶æ³ãåŠçé床ã«ãã£ãŠå€åããé å»¶ããããããŸããéçåæã§ã¯ãããçŽæ¥æž¬å®ããããšã¯ã§ããŸãããããã¥ãŒã®æ·±ããåŠçã®è€éããã·ãªã¢ã«åã³ã¹ãã調ã¹ãããšã§ãæœåšçãªé å»¶ãæšå®ããããšãã§ããŸãã
åæã¢ãã«ã¯ãã¥ãŒã®æåãã·ãã¥ã¬ãŒãããæ§ã ãªæ¡ä»¶äžã§ã¡ãã»ãŒãžã®é åºãšã¿ã€ãã³ã°ãã©ã®ããã«å€åããããç¹å®ããŸãããã®ã¢ããªã³ã°ã«ãããã¡ãã»ãŒãžã®å°çé åºãã¿ã€ãã³ã°ã®å€åã«ææãªã³ã³ããŒãã³ããç¹å®ãããŸããäŸãã°ãéèååŒã·ã¹ãã ã§ã¯ãã¡ãã»ãŒãžã®å°çé åºãä¹±ãããšãäžæµã®èšç®åŠçã«åœ±é¿ãåãŒãå¯èœæ§ããããŸãããã®ãããªäŸåé¢ä¿ãéçã«æ€åºããããšã§ãéçºè ã¯æ±ºå®è«çãªã¡ãã»ãŒãžé åºä»ãããªã·ãŒãé©çšã§ããŸãã
éçã¢ããªã³ã°ãšã©ã³ã¿ã€ã è§£æã®ç¥èŠãçµã¿åãããããšã§ïŒ ãã©ã³ã¿ã€ã è§£æã®è§£æãã§èª¬æãããŠãããã®ãšåæ§ïŒãéåæã·ã¹ãã ã«ãããã¡ãã»ãŒãžã®äŒæçµè·¯ãäºå±€æ§é ã§çè§£ããããšãå¯èœã«ãªããŸããããã«ãããäºç¥ä¿å šãšä¿¡é Œæ§èšç»ã匷åãããŸãã
ã¡ãã»ãŒãžæŒæŽ©ãšæªåŠçã€ãã³ãã®æ€åº
éåæã·ã¹ãã ã«ãããäžå®å®æ§ã®é »ç¹ãªåå ã¯ãæ¶è²»ãããªãã¡ãã»ãŒãžãã€ãã³ãã®èç©ã§ãããããããªãŒã¯ã¯ãã¡ã¢ãªã®å¢å€§ããã¥ãŒã®ç¡å¶éãªæ¡åŒµããããã¯ç¶æ ã®äžæŽåãåŒãèµ·ããå¯èœæ§ããããŸããéçè§£æã¯ã察å¿ãããªã¹ããŒãæããªããšããã¿ãŒãç¹å®ãããã³ãã©ãŒã®å®è¡ã«å€±æããå¯èœæ§ã®ããæ¡ä»¶ãè§£æããããšã§ããã®åé¡ã«å¯ŸåŠããŸãã
éçããŒã«ã¯ãã€ãã³ãç»é²ã®ã©ã€ããµã€ã¯ã«ã远跡ããããšã§ã賌èªè§£é€åŒã³åºãã®æ¬ èœãéã¢ã¯ãã£ããªã«ãŒãã£ã³ã°ãã¹ããŸãã¯ãã³ãã©ãŒãæä¹ çã«ç¡å¹ã«ããæ¡ä»¶ãæ€åºããŸããçžäºåç §ã¬ããŒããªã©ã®äŸåé¢ä¿ã®å¯èŠåãšçµã¿åãããããšã§ããã®åæã¯åã¡ãã»ãŒãžã¿ã€ãã®çã®éçšç¯å²ãæããã«ããŸãã
æªåŠçã€ãã³ãã®çºçãé²ãããšã§ãéçšäžã®ãªãŒããŒããããåæžãããäºæž¬å¯èœæ§ãåäžããŸããã¢ããã€ãŒãŒã·ã§ã³ããŒã ã«ãšã£ãŠããããã®ãªãŒã¯ãæ©æã«è§£æ±ºããããšã§ãæ¬çªç°å¢è² è·æã«ã®ã¿çºçãã埮现ãªã©ã³ã¿ã€ã ãšã©ãŒãé²ããã·ã¹ãã å šäœã®ä¿¡é Œæ§ãšãªãã¡ã¯ã¿ãªã³ã°ãžã®æºåæ§ãåäžãããããšãã§ããŸãã
éçè§£æãšã³ãžã³ãéåæãã¿ãŒã³ã«é©å¿ããã
åŸæ¥ã®å¶åŸ¡ãããŒåãã«æ§ç¯ãããéçè§£æãšã³ãžã³ã¯ãéåæããã°ã©ã ã«é©çšãããšæå€§ã®éçã«éããŸããJavaScriptã§ã¯ã颿°åŒã³åºãã¯å¿ ãããåºçŸé ã«å®è¡ãããããã§ã¯ãããŸãããã€ãã³ãããããã¹ãã¿ã€ããŒã¯å®è¡ãé å»¶ãŸãã¯ã€ã³ã¿ãŒãªãŒãããããããœãŒã¹ã³ãŒãã®ç·åœ¢èµ°æ»ã§ã¯ææã§ããªãç¶æ ãçããŸãããã®ãããªåäœãè§£æããã«ã¯ãéçãšã³ãžã³ã¯ã«ãŒã«ããŒã¹ã®ã¹ãã£ã³ããã¢ãã«ããŒã¹ã®è§£éãžãšé²åããå¿ èŠããããŸãããã®å€é©ã«ã¯ãå éšè¡šçŸã®æ¡åŒµãå¶åŸ¡ãããŒã®è§£æ±ºåŒ·åããããŠäžŠè¡æ§ãšé å»¶ç¶æ é·ç§»ã®èªèæ©èœã®çµ±åãå¿ èŠã§ãã
åæãšã³ãžã³ãéåæãã¿ãŒã³ã«é©å¿ãããã«ã¯ãç®çã®è»¢æãå¿ èŠã§ããç®çã¯ãã¯ãæ§æéåã®æ€åºã ãã§ãªããåæå®è¡ã¿ã¹ã¯éã®åäœé¢ä¿ãè§£éããããšã«ãããŸããææ°ã®ããŒã«ã¯ãéåææ§é ãã¿ã€ãã³ã°ãé åºããªãœãŒã¹å ±æã«åœ±é¿ãäžããç®æãç¹å®ããå¿ èŠããããŸãããŸããã¢ãžã¥ãŒã«ãå®è¡ã³ã³ããã¹ãå šäœãžã®åœ±é¿ã枬å®ããå¿ èŠããããŸãããããå®çŸããã«ã¯ãã·ã³ããªãã¯è§£æãã°ã©ãã¢ããªã³ã°ãäŸåé¢ä¿ã®äŒæãçµã¿åãããæè¡ãå¿ èŠã§ãããããã®æ©èœãçµã¿åãããããšã§ãéåæã·ã¹ãã ã¯äºæž¬äžå¯èœãªå®è¡ç°å¢ãããã¢ããã€ãŒãŒã·ã§ã³ãæé©åãæ€èšŒããµããŒãããåæå¯èœãªã¢ãŒããã¯ãã£ãžãšå€è²ããŸãã
éåæè§£æ±ºã®ããã®å¶åŸ¡ãããŒã°ã©ãã®æ¡åŒµ
åŸæ¥ã®å¶åŸ¡ãããŒã°ã©ãïŒCFGïŒã¯ãäžé£ã®æãšåå²ãã¹ãéããŠå®è¡é åºã衚ããŸããããããéåæJavaScriptã§ã¯ãå¶åŸ¡ãå€éšã³ã³ããã¹ãã«ç§»è¡ããããé å»¶ã€ãã³ãã®åŸã«åéãããããããšããããŸãããããåŠçããããã«ãéçãšã³ãžã³ã¯ãPromiseã®äœæãã€ãã³ãã®ç»é²ãåéãã€ã³ãã衚ãããŒããæ¿å ¥ããããšã§ãCFGã®æ§ç¯ãæ¡åŒµããŸãã
åéåææäœã¯ãéå§çšãšç¶ç¶çšã®2ã€ã®ãªã³ã¯ãããããŒããçæããŸãããããã®éã®ãšããžã¯ãå®è¡ã®æœåšçãªãããŒãå®çŸ©ããŸãããããã®æ¡åŒµCFGã¯ãäžæåŸã«çºçããé·ç§»ãæããã«ããã¢ãã©ã€ã¶ãŒãPromiseãã³ãŒã«ããã¯ãã¿ã€ããŒãéããŠå®è¡ããã¬ãŒã¹ã§ããããã«ããŸããå€§èŠæš¡ã·ã¹ãã ã«é©çšãããšã䞊åã¢ã¯ãã£ããã£ãšãã®äº€å·®ãå æ¬çã«ææ¡ã§ããŸãã
CFGã«éåæè§£æ±ºæ©èœãçµ±åããããšã§ãè¿ä»£åæã®ç²ŸåºŠãåäžããŸãããšã³ãžãã¢ã¯ãããã¢ãžã¥ãŒã«ã®éåæãã¿ãŒã³ã倿Žããå Žåã«ä»ã®ã¢ãžã¥ãŒã«ã«ã©ã®ãããªåœ±é¿ãããããã·ãã¥ã¬ãŒã·ã§ã³ã§ããŸãã圱é¿åæãœãããŠã§ã¢ãã¹ãã§åŸãããç¥èŠãšåæ§ã®æ¹æ³ãçšããŠãã¢ãã©ã€ã¶ãŒã¯å±éåã«äŒæãªã¹ã¯ãå®éåããŸãã
éåæã³ã³ããã¹ãã®ããã®ãã€ããªããéçã»åçæšè«
çŽç²ã«éçãªã¢ãã«ã¯ããªãã¬ã¯ã·ã§ã³é¢æ°åŒã³åºããåçã€ã³ããŒããå®è¡æã«çæãããã€ãã³ãåãšãã£ãåçãªèšèªæ©èœãæ±ãéã«ãåºæã®äžç¢ºå®æ§ã«çŽé¢ããŸãããã€ããªããæšè«æè¡ã¯ããã¬ãŒã¹ãå®è¡æã·ã°ããã£ãéç衚çŸã«çµã¿èŸŒãããšã§ããã®åé¡ã«å¯ŸåŠããŸãã
ãšã³ãžã³ã¯éå»ã®å®è¡ãã芳枬ããããã¿ãŒã³ãåéããããããçšããŠéçäºæž¬ã粟緻åããŸããäŸãã°ããã颿°ãç¹å®ã®ã€ãã³ããäžè²«ããŠçºçãããå Žåããã®æ å ±ã¯å°æ¥ã®åæã«ãããŠéçä»®å®ãšããŠä¿åãããŸããèšå·æšè«ãšçµéšçæšè«ãçµã¿åãããããšã§ãéçãªç¢ºå®æ§ãšå®è¡æã®å€åæ§ãšã®éã®ã®ã£ãããåããããšãã§ããŸãã
ãã®ãã€ããªããææ³ã¯ããã©ã³ã¿ã€ã åæã®è§£æãã§æŠèª¬ãããŠããã¢ãããŒããšæŽåããŠããŸãããã¹ãŠã®ãã¹ããµã€ã¯ã«ã§å®å šãªèšæž¬ãå¿ èŠãšããã«éåæå®è¡ãçŸå®çã«çè§£ããããšãã§ãã粟床ãšå¹çã®ãã©ã³ã¹ãåããŠããŸãã
éåæå¢çãè¶ããå ±æãªãœãŒã¹ã¢ã¯ã»ã¹ã®ã¢ãã«å
åæå®è¡ã®å±éºæ§ã¯ãéåæã¿ã¹ã¯ãå ±æç¶æ ãæäœããéã«ãã°ãã°çºçããŸããéçè§£æãšã³ãžã³ã¯ããªãœãŒã¹ã®æå¹æéãã¢ãã«åããè€æ°ã®éåæå¢çã«ãŸãããã¢ã¯ã»ã¹ãã¿ãŒã³ãç¹å®ããããšã§ããã®åé¡ã«å¯ŸåŠããŸããå ±æå€æ°ãŸãã¯ãªããžã§ã¯ãåç §ã¯ãããããé¢é£ããèªã¿åãæäœãšæžãèŸŒã¿æäœãæã€è¿œè·¡å¯Ÿè±¡ãšã³ãã£ãã£ãšãªããŸãã
ãããã®çžäºäœçšããããã³ã°ããããšã§ãã¢ãã©ã€ã¶ãŒã¯æœåšçãªããŒã¿ç«¶åãäžæŽåãªæŽæ°ãæ€åºããŸããããã«ãããç¹å®ã®ã¿ã€ãã³ã°æ¡ä»¶äžã§ã®ã¿çºçããå¯èœæ§ã®ããéæ±ºå®çãªåäœã鲿¢ã§ããŸãããã®ã¢ãããŒãã¯ãå ±æãã£ãã·ã¥ãã¡ã¢ãªå ããŒã¿ã¹ãã¢ãäžè¬çã«äœ¿çšãããNode.jsã¢ããªã±ãŒã·ã§ã³ã§ç¹ã«å¹æçã§ãã
è€éãªãã€ã¯ããµãŒãã¹ç°å¢ã§ã¯ããªãœãŒã¹ã¢ããªã³ã°ã¯ã¹ã±ãŒã©ããªãã£èšç»ã«ã圹ç«ã¡ãŸãããœãããŠã§ã¢ã®ããã©ãŒãã³ã¹ææšãšåæ§ã®äŸåé¢ä¿ãããã³ã°ãšçµã¿åãããããšã§ãéåæããã»ã¹ãéããããªãœãŒã¹ãç«¶åããç®æãæããã«ãªããå®è¡æã®åé¡ãçºçããåã«ãã£ãã·ãã£èª¿æŽãå¯èœã«ãªããŸãã
äŸå€ãšæåŠãã¹ã®åæ§ç¯
éåæåæã«ãããŠæãè€éãªåŽé¢ã®äžã€ã¯ããšã©ãŒäŒæã®ã¢ãã«åã§ããäŸå€ã«ãã£ãŠã³ãŒã«ã¹ã¿ãã¯ãè§£æŸãããåæã³ãŒããšã¯ç°ãªããéåæã®å€±æã¯æšæºã®ãšã©ãŒãã³ãã©ãå®å šã«ç¡èŠããå¯èœæ§ããããŸããPromiseã¯ãã³ãã©ãååšããªãå Žåãäœãèšããã«æåŠãããå¯èœæ§ããããã³ãŒã«ããã¯ã¯ãšã©ãŒãå ±åããã«ç¡èŠããå¯èœæ§ããããŸãã
éçãšã³ãžã³ã¯ãéåžžã®å¶åŸ¡ãããŒã«å ããŠæç€ºçãªæåŠãã¹ãæ§ç¯ããããšã§é©å¿ããŸããtry-catchæ§é ãPromiseãã§ãŒã³ããŸãã¯éåæé¢æ°ã®ãšã©ãŒãã³ãã©ãååšããå Žæãç¹å®ããæªåŠçã®åå²ãããŒã¯ããŠè©³çŽ°ãªæ€æ»ãè¡ããŸããããã«ãããå®è¡ã°ã©ããšäžŠè¡ããæåŠã°ã©ããçæããããšã©ãŒçµæã®å®å šãªã«ãã¬ããžã確ä¿ãããŸãã
çµæãšããŠåŸãããå¯èŠæ§ã«ããããããã°ãç°¡çŽ åãããã³ãŒãã®ä¿¡é Œæ§ãåäžããŸããã³ãŒãå¯èŠåããŒã«ãšåæ§ã®å¯èŠåæ©èœãšçµ±åããããšã§ãéçºè ã¯æ£åžžãªå®è¡çµè·¯ã ãã§ãªããããããæœåšçãªé害çµè·¯ã远跡ã§ããŸãããã®äºéã®èŠç¹ã«ãããéçšäžã®äžç¢ºå®æ§ã軜æžãããè¿ä»£åãµã€ã¯ã«äžã®ä¿®åŸ©äœæ¥ãè¿ éåãããŸãã
ã¢ãžã¥ãŒã«ãš API éã§ã®éåæé¢æ°åŒã³åºãã®é¢é£ä»ã
ã¢ãžã¥ãŒã«åã®JavaScriptã·ã¹ãã ã§ã¯ãéåææäœãåäžã®ãã¡ã€ã«ãŸãã¯ã³ã³ããŒãã³ãå ã§çºçããããšã¯ã»ãšãã©ãããŸãããéåææäœã¯ãã€ã³ããŒããAPIåŒã³åºãããµãŒãã¹çµ±åãéããŠå¢çãè¶ããŠäŒæããŸããåã¬ã€ã€ãŒã¯æœè±¡åã远å ããããšã§ãåå ãšçµæã®é¢ä¿ãææ§ã«ããå¯èœæ§ããããŸããããã³ããšã³ãã·ã¹ãã ãšããã¯ãšã³ãã·ã¹ãã ã®äž¡æ¹ã«ãŸããã忣å®è¡ãã§ãŒã³ã«äŸåããå€§èŠæš¡äŒæ¥ã«ãšã£ãŠããããã®ãªã³ã¯ãçè§£ããããšã¯äžå¯æ¬ ã§ããã¢ââãžã¥ãŒã«éã®éåæé¢æ°åŒã³åºããçžé¢ãããéçè§£æã¯ããã®è€éããæŽçããçžäºæ¥ç¶ããããµãã·ã¹ãã ã«ãããããžãã¯ã®æµããåæ§ç¯ããŸãã
ãã®çžé¢é¢ä¿ã«ãããåæãããã³ãŒããã©ã°ã¡ã³ããäžè²«æ§ã®ããäŸåé¢ä¿ãããã«å€æãããŸããåæããŒã«ã¯ãéåæåŒã³åºãããªãªãžã³ãããšã³ããã€ã³ããŸã§è¿œè·¡ããããšã§ãããŒã¿ãšå¶åŸ¡ããããã¯ãŒã¯ãªã¯ãšã¹ãããã¥ãŒã«å ¥ããããæäœãã³ãŒã«ããã¯ã·ãŒã±ã³ã¹ãã©ã®ããã«ééããããæããã«ããŸãããã®å¯èŠæ§ã«ãããã¡ã³ãããŒã¯ãã¢ããã€ãºãããã³ãŒããæå³ãããã€ã³ã¿ã©ã¯ã·ã§ã³ãç¶æããããã©ãŒãã³ã¹æé©åãæ©èœã®æ£åœæ§ãšæŽåããŠããããšãæ€èšŒã§ããŸãããã®æå³ã§ãçžé¢é¢ä¿ãšã¯åã«é¢æ°ããªã³ã¯ããããšã§ã¯ãªããéåæå¢çãè¶ããã¢ãŒããã¯ãã£ã®æå³ãæ€èšŒããããšã§ãã
ã¢ãžã¥ãŒã«éäŸåé¢ä¿ã°ã©ãã®æ§ç¯
çŸä»£ã®JavaScriptãããžã§ã¯ãã§ã¯ãããã±ãŒãžãAPIããã€ã¯ããµãŒãã¹ãéããŠæ©èœãã€ã³ããŒããŸãã¯ãšã¯ã¹ããŒãããã¢ãžã¥ãŒã«åã¢ãŒããã¯ãã£ãæ¡çšãããããšãå€ããªã£ãŠããŸããã¢ãžã¥ãŒã«å¢çãè¶ããéåæåŒã³åºãã¯ãããããã¢ãžã¥ãŒã«éäŸåé¢ä¿ã°ã©ãã«èšé²ããå¿ èŠããããªã³ã¯ã衚ããŸããéçè§£æãšã³ãžã³ã¯ãimportæãäŸåæ§æ³šå ¥ãã¿ãŒã³ãAPIãšã³ããã€ã³ããè§£æãããããã®æ¥ç¶ããããã³ã°ããŸãã
äœæãããã°ã©ãã¯ãã³ã³ããŒãã³ãéã®éåæããŒã¿ãšå¶åŸ¡ã®æµãã瀺ããŠããŸããããã«ãããå¯çµåã埪ç°äŸåãåé·ãªæäœãçŽååãããæäœã«ãã£ãŠåŒãèµ·ããããæœåšçãªããã©ãŒãã³ã¹ããã«ããã¯ã®é åãæç¢ºã«ãªããŸãããããã®ç¥èŠã¯ããšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³çµ±åã«ãããã¢ãããŒããšå ±éããŠãããã·ã¹ãã éã®é£æºãçè§£ããããšãè¿ä»£åèšç»ã®åºç€ãšãªããŸãã
ç¶ç¶çãªäŸåé¢ä¿ãããã³ã°ã«ãããããŒã ã¯ã¢ããªã±ãŒã·ã§ã³å šäœã«ããããã¬ãŒãµããªãã£ã確ä¿ã§ããŸããéåæã¢ãžã¥ãŒã«ãé²åãããšãã°ã©ãã¯æ¥ç¶æ§ã®å€åãå³åº§ã«åæ ããå®å šãªå¢åãªãã¡ã¯ã¿ãªã³ã°ãšãããã€ã¡ã³ãããµããŒãããŸãã
APIã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãã¬ãŒã¹ãšå€éšäŸåé¢ä¿ã®ã¢ããªã³ã°
APIã¯éåæéä¿¡ã®äžå¿ã§ããAPIã䜿çšãããšããµãŒãã¹ã¯å³æã®å¿çãåŸ ããã«å€éšã·ã¹ãã ãåŒã³åºãããšãã§ããå€ãã®å ŽåãPromiseãã€ãã³ãã¹ããªãŒã ãè¿ãããŸããéçè§£æã§ã¯ãAPIãšã³ããã€ã³ããããŒããšããŠã¢ãã«åããåŒã³åºããã¿ãŒã³ãããåºç¯ãªéä¿¡ãããã¯ãŒã¯ã®ãšããžãšããŠè¡šçŸããããšã§ããããã®çžäºäœçšãæããŸãã
ãã®åœ¢åŒã®ã¢ããªã³ã°ã¯ãå¿çæ§ã«åœ±é¿ãäžããå¯èœæ§ã®ãããã¬ã€ãã³ã·ã®åœ±é¿ãåããããããŸãã¯é«é »åºŠã®åŒã³åºããç¹å®ããŸãããŸãããµãŒãã¹ã®å¯çšæ§ããããã¯ãŒã¯äŸåæ§ãéçšãªã¹ã¯ãããããé åãæããã«ããŸããäŸãã°ãäœéãªãšã³ããã€ã³ããžã®ç¹°ãè¿ãåŒã³åºãã¯ãéåæãã§ãŒã³ãéããŠã«ã¹ã±ãŒãããããã¯ãã°ã®èç©ãåŒãèµ·ããå¯èœæ§ããããŸãããããã®äŸåé¢ä¿ãæããã«ããããšã§ãéçããŒã«ã¯ããã©ãŒãã³ã¹ã®åé¡ãé¡åšåããåã«ãçãçµã£ãæé©åãå¯èœã«ããŸãã
è¿ä»£åã®æèã«ãããŠããã®ãããªå¯èŠæ§ã¯ãã¢ããªã·ãã¯ãªAPIã忣åãã€ã¯ããµãŒãã¹ã«ç§»è¡ããããã»ã¹ãç°¡çŽ åããŸããéçºè ã¯éåæAPIã®ããåãã远跡ããããšã§ã倿äžã®ããŒã¿ãããŒã®ç¶ç¶æ§ãšãã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ã確ä¿ã§ããŸããã¡ã€ã³ãã¬ãŒã ããã¯ã©ãŠããžã®ç§»è¡ã§è°è«ãããææ³ã¯ãé²åãããã©ãããã©ãŒã éã§æ©èœçãªæŽåæ§ã確ä¿ããããã®é¡äŒŒç¹ãæäŸããŸãã
éåæã©ã€ãã©ãªãšããã«ãŠã§ã¢ã®ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³
äŒæ¥ã¯ãèªèšŒããã£ãã·ã¥ãã€ãã³ãåŠçãšãã£ãéåææäœã®ç®¡çã«ãå ±æããã«ãŠã§ã¢ããµãŒãããŒãã£è£œã©ã€ãã©ãªãå©çšããããšããããããŸããéçè§£æã§ã¯ããããã®ã¬ã€ã€ãŒãçè§£ããäžã§ãæ£ç¢ºãªå®è¡ã¢ãã«ãäœæããå¿ èŠããããŸããã©ã€ãã©ãªã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã«ã¯ãããã«ãŠã§ã¢ãéåæã¿ã¹ã¯ãã©ã®ããã«ã¹ã±ãžã¥ãŒã«ãŸãã¯å€æãããã衚ãã·ã³ããªãã¯ã¹ã¿ããŸãã¯åäœå®çŸ©ã®çµ±åãå«ãŸããŸãã
ãããã®æœè±¡åãçµã¿èŸŒãããšã§ãåæããŒã«ã¯ã©ã€ãã©ãªã®åäœãã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ããžãã¯ã«äžãã圱é¿ãè©äŸ¡ã§ããŸããéå¹ççãªã©ã€ãã©ãªåŒã³åºããäžé©åãªçµ±åã«ãã£ãŠåŒãèµ·ããããããã©ãŒãã³ã¹ã®äœäžãç¹å®ããŸããããã«ãã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã«ãããããã«ãŠã§ã¢ãããŒã¿ããšã©ãŒã®äŒæãã©ã®ããã«å€æŽããŠããããæããã«ãªãããªã¯ãšã¹ããšã¬ã¹ãã³ã¹ã®ãµã€ã¯ã«ã®å®å šãªãã¹ãæç¢ºã«ãªããŸãã
ãã®æ©èœã¯ãè¿ä»£åã«å ç«ã£ãŠæ¢åã®äŸåé¢ä¿ãç£æ»ããéã«éåžžã«éèŠã«ãªããŸããå€ãã®ããã©ãŒãã³ã¹äœäžã¯ãé ããéåæããã«ãŠã§ã¢ã«ãŒãã³ã«èµ·å ããŠããŸããã¢ããªã±ãŒã·ã§ã³ã®è¿ä»£åæŠç¥ããåŸãããç¥èŠã«ãããšããããã®ãã¿ãŒã³ãæ©æã«ç¹å®ããããšã§ãç§»è¡æºåãè¿ éåãããäžæµã®ãªã¹ã¯ã軜æžãããŸãã
ã¯ãã¹èšèªããã³ã¯ãã¹ãã©ãããã©ãŒã ã®éåæåŒã³åºããã¬ãŒã¹
éåæçžé¢ã¯JavaScriptèªäœã«ãšã©ãŸããŸãããçŸä»£ã®ã¢ãŒããã¯ãã£ã§ã¯ãã¡ãã»ãŒãžãã¹ãREST APIãä»ããŠãNode.jsãµãŒãã¹ãšPythonãJavaããŸãã¯.NETã³ã³ããŒãã³ããçµ±åããããšããããããŸããèšèªéã®çžé¢ããµããŒãããéçè§£æãã¬ãŒã ã¯ãŒã¯ã¯ãJavaScriptã§çºçãå€éšã·ã¹ãã ã§ç¶ç¶ããéåæãããŒã远跡ããŸãã
ã¯ãã¹ãã©ãããã©ãŒã ã»ãã¬ãŒã·ã³ã°ã¯ãåå ãããã¹ãŠã®ã©ã³ã¿ã€ã ãç¶²çŸ ããçµ±äžãããå®è¡ã¢ãã«ãæ§ç¯ããŸããããã«ãããããŒã ã¯å®å šãªãã©ã³ã¶ã¯ã·ã§ã³ãã¹ãåæããèšèªéã®ããã«ããã¯ãç¹å®ãããã¯ãããžãŒã¹ã¿ãã¯å šäœã§äžè²«ãããšã©ãŒåŠçã確ä¿ã§ããŸãããã®ã¢ãããŒãã¯ãéåæããŒã¿äº€æã忣ã¯ãŒã¯ãããŒã®ããã¯ããŒã³ãšãªããã€ããªããã¯ã©ãŠãç°å¢ã«ãããŠãŸããŸãéèŠã«ãªã£ãŠããŸãã
ãããã®è€æ°ç°å¢ã«ããããã¬ãŒã¹ãæ¥ç¶ããããšã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åã®è¿ä»£åã§æŠèª¬ãããŠããååãšå¯æ¥ã«åèŽããŠããŸããããã«ãããã·ã¹ãã ãé²åããã«ã€ããŠåæãã¬ãŒã ã¯ãŒã¯ãããã«åãããŠé²åããäŒæ¥å šäœã«ãããéåææäœã®å®å šãªéææ§ãç¶æãããŸãã
éåæã·ã¹ãã ç¹æã®æ¬ é¥ã®æ€åº
éåæããã°ã©ãã³ã°ã¯ããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ãåäžãããŸãããåæã¢ãŒããã¯ãã£ã«ã¯ååšããªãæ¬ é¥ãã¿ãŒã³ãçããŸããã¿ã€ãã³ã°ã®ã£ãããé å»¶å®è¡ãã€ãã³ãé§ååã®èª¿æŽã«ãã£ãŠãç£èŠãšã¢ã¯ã·ã§ã³ã®éã§å€åããç¶æ ãçæãããŸãããããã£ãŠãéåæã·ã¹ãã ã®éçè§£æã§ã¯ãæ§ææ€èšŒã«ãšã©ãŸãããæäœãéè€ãããé åºéãã«å®è¡ãããªãã£ããããå Žåã«ã®ã¿çºçããæéçããã³è«ççãªäžæŽåãç¹å®ããå¿ èŠããããŸãã
ãããã®æ¬ é¥ã¯ãæ·±å»ãªä¿¡é Œæ§ãšããã©ãŒãã³ã¹ã®åé¡ã«ã€ãªããå¯èœæ§ããããŸããæªåŠçã®Promiseãç«¶åç¶æ ããããŠäžè²«æ§ã®ãªãç¶æ äŒæã¯ãå€ãã®å Žåãé«ãåæå®è¡æ§ã®äžã§ã®ã¿çºçããããããã¹ãã ãã§ã¯æ€åºãå°é£ã§ããéçè§£æã¯ãæœåšçãªå®è¡ã€ã³ã¿ãŒãªãŒããã¢ãã«åããéåæäŸåé¢ä¿ãå ±æãªãœãŒã¹ãšã©ã®ããã«çžäºäœçšãããããã¬ãŒã¹ããããšã§ããã®åé¡ã軜æžããŸãããã®ç®çã¯ãåã«éåããã©ã°ä»ãããã ãã§ãªããäžå®å®æ§ãåŒãèµ·ããæ¡ä»¶ã«ã€ããŠæ±ºå®è«çãªæŽå¯ãæäŸããããšã§ããäœç³»çãªãããã³ã°ãéããŠããã®ãããªè§£æã¯éåæã®äºæž¬äžå¯èœæ§ããæ§é åããããªã¹ã¯ã®å¯èŠæ§ãžãšå€æããŸãã
ãããã³ãŒã«ããã¯ãšå€ç«ã€ãã³ãã®æ€åº
éåæJavaScriptã³ãŒãã«ãããæãäžè¬çãªåé¡ã®äžã€ã¯ã決ããŠããªã¬ãŒãããªãã³ãŒã«ããã¯ãã€ãã³ããã³ãã©ã®ååšã§ãããããã®ç¡å¹ãªã³ãŒã«ããã¯ã¯ãªãœãŒã¹ãæ¶è²»ããã¡ã¢ãªäœ¿çšéãå¢å ããããããã°æã«éçºè ãæ··ä¹±ãããŸããéçè§£æã¯ãã€ãã³ãç»é²ãã¿ãŒã³ãšã€ãã³ãçºè¡ãã€ã³ããæ¯èŒããããšã§ããã®ãããªç¶æ³ãç¹å®ããŸãã
ç»é²ãããŠãããã¹ãŠã®ã€ãã³ããã³ãã©ã®ã€ã³ããã¯ã¹ãæ§ç¯ããããšã§ãã¢ãã©ã€ã¶ã¯å¯Ÿå¿ããã€ãã³ããååšãããã©ããã倿ã§ããŸãããŸããæå¹ãªã¹ã³ãŒãå€ã®å€æ°ã颿°ãåç §ããããããªãã¡ã¬ã³ã¹ãçæããã³ãŒã«ããã¯ãæ€åºããŸãããã®ããã»ã¹ã«ãããæ¥éãªã€ãã¬ãŒã·ã§ã³ãäžå®å šãªãªãã¡ã¯ã¿ãªã³ã°ã«ãã£ãŠçããåé·ãªã³ãŒããã¹ãæœåšçãªæ¬ é¥ãæããã«ãªããŸãã
ãšã³ã¿ãŒãã©ã€ãºéçºããŒã ã¯ããã®ç¥èŠã掻çšããŠæªäœ¿çšã®ãªã¹ããŒãã¯ãªãŒã³ã¢ããããå®è¡æã®è€éãã軜æžããŸããéæšå¥šã³ãŒãã®ç®¡çãšåæ§ã®ææ³ãçšããããšã§ãäžèŠã«ãªã£ãããžãã¯ãæŽçããä¿å®æ§ãšããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããäžèŠãªã³ãŒã«ããã¯ãåé€ããããšã§ãäºæž¬å¯èœãªåäœãå埩ããéåæã¢ãžã¥ãŒã«å šäœã«ããã圱é¿åæã®ç²ŸåºŠãåäžããŸãã
ç«¶åç¶æ ãšäžè²«æ§ã®ãªãç¶æ ã®äŒæ
ç«¶åç¶æ ã¯ãè€æ°ã®éåæã¿ã¹ã¯ãé©åãªèª¿æŽãªãã«å ±æããŒã¿ãæäœããéã«çºçããŸããJavaScriptã§ã¯ãPromiseãã³ãŒã«ããã¯ãå€éšã¹ã³ãŒããããã£ããã£ãããå¯å€å€æ°ã«äŸåããŠããå Žåã«ããã®åé¡ãããçºçããŸããéçè§£æã¯ã倿°ã¢ã¯ã»ã¹ãã¿ãŒã³ãã¢ãã«åããåææžã蟌ã¿ãŸãã¯åæèªã¿åããéè€ããå¯èœæ§ã倿ããããšã§ããããã®å±éºæ§ãæ€åºããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãç«¶åã®å¯èœæ§ã®ããé åãããŒã¯ããå®è¡é åºã®ç¢ºçãšçžé¢ãããŸãããã®ã€ã³ã¿ãŒãªãŒãã®ã·ãã¥ã¬ãŒã·ã§ã³ã«ãããããŒã ã¯ããŒã¿æŽåæ§ã®ãªã¹ã¯ããæ¬çªç°å¢ã®é害ã«ã€ãªããåã«ç¹å®ã§ããŸãããŸããéçã¢ãã«ã¯ãããéåæã¿ã¹ã¯ãç¶æ ãæŽæ°ããŠããéã«å¥ã®ã¿ã¹ã¯ãå€ãããŒã¿ãèªã¿åããšãã£ãã埮åŠãªäŒæã®åé¡ãæããã«ããŸãã
ããŒã¿ãããŒããã³å¶åŸ¡ãããŒåæãé«åºŠãªéçã³ãŒãåæãæ¯ããã®ãšåæ§ã®ããŒã¿ãããŒè¿œè·¡æè¡ãçšããããšã§ããããã®ããŒã«ã¯ãåæå®è¡åŠçãããŒã¯ã«éããå Žåã§ãéåæããŒã¿ãäžè²«æ§ãä¿ã€ãšãã確信ãäžããŸãããã®äºåæ€åºã«ãããã³ã¹ãã®ããããããã°ãµã€ã¯ã«ãåæžãããããã¹ã ãŒãºãªè¿ä»£åç§»è¡ãä¿èšŒãããŸãã
æªè§£æ±ºã®ãããã¹ãšãªã¹ããŒããã®ã¡ã¢ãªãªãŒã¯
æªè§£æ±ºã®Promiseãšæ®åããã€ãã³ããªã¹ããŒã¯ãé·æéå®è¡ãããJavaScriptãµãŒãã¹ã«ãããŠã¡ã¢ãªãªãŒã¯ã®åå ãšãªãããšããããããŸããéåæãªããžã§ã¯ãã¯çŸåšã®ã¹ã¿ãã¯ãã¬ãŒã ãè¶ ããŠåç¶ãããããåç §ã®è§£æŸã«å€±æãããšã¡ã¢ãªã环ç©çã«å¢å ããå¯èœæ§ããããŸããéçè§£æã¯ãäœæããããã®ã®è§£æ±ºãŸãã¯æåŠãããªãPromiseãšã察å¿ããã¯ãªãŒã³ã¢ããããžãã¯ãªãã§ç»é²ããããªã¹ããŒãç¹å®ããããšã§ããã®ãªã¹ã¯ã軜æžããŸãã
ã¢ãã©ã€ã¶ãŒã¯éåæãªããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«ç¶æ ãã·ãã¥ã¬ãŒãããå²ãåœãŠãä¿æãç Žæ£ã远跡ããŸããã€ãã³ãã«ãŒãã®è€æ°ã®å埩åŠçã«ããã£ãŠãªãœãŒã¹ãã¢ã¯ãã£ããªãŸãŸã«ãªã£ãŠããå ŽåãèŠåãçºããããšãã§ããŸãããããã®æ€åºçµæãã¢ãžã¥ãŒã«ã¬ãã«ã®äŸåé¢ä¿ã°ã©ããšçžé¢ãããããšã§ãããŒã«ã¯æœåšçãªãªãŒã¯ã®åå ãæ£ç¢ºã«ç¹å®ããŸãã
ãããã®ç¥èŠã¯ããœãããŠã§ã¢å¹çã®ç¶æã«é¢ããå®è·µãšäžèŽããŠããããªãœãŒã¹ç®¡çã¯æž¬å®å¯èœãªåè³ªç¹æ§ãšããŠæ±ãããŸãããããã®ãªãœãŒã¹ãªãŒã¯ãæé€ããããšã§ãããã©ãŒãã³ã¹ãåäžããã ãã§ãªãããµãŒãã¹ã®çšŒåæéãšäºæž¬å¯èœæ§ãåäžããå€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠäžå¯æ¬ ãªèŠçŽ ãšãªããŸãã
ãµã€ã¬ã³ããšã©ãŒæå¶ãšæªåŠçã®PromiseæåŠ
JavaScriptã§ã¯ãPromiseãéåæé¢æ°ã¯ããšã©ãŒãæç€ºçã«åŠçãããŠããªãå Žåããµã€ã¬ã³ãã«å€±æããå¯èœæ§ããããŸãããã®åäœã«ãããéçšäžã®é害ãé èœãããã¢ããªã±ãŒã·ã§ã³ãç®ã«èŠããé害ã®å åããªããŸãŸãäžè²«æ§ã®ãªãç¶æ ã«ãªãå¯èœæ§ããããŸããéçè§£æã¯ããã¹ãŠã®éåææ§é ãã¹ãã£ã³ããŠæåŠåå²ãæ€åºããé©åãªãšã©ãŒåŠçããžãã¯ãååšããããšã確èªããããšã§ããã®åé¡ã«å¯ŸåŠããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãæªè§£æ±ºãŸãã¯åŸ æ©ãããŠããªãPromiseãè¿ã颿°ãèå¥ããäŸå€ãä¿®æ£ã¢ã¯ã·ã§ã³ãå®è¡ããªãcatchãããã¯ã«åã蟌ãŸããŠããã±ãŒã¹ãããŒã¯ããŸãããããã®ãã¿ãŒã³ã¯ãå°æ¥ã®æ©èœæ¡åŒµã§è¡šé¢åããå¯èœæ§ã®ããæè¡çè² åµã瀺ããŠããŸããè©³çŽ°ãªæ€æ»ã«ããããã¹ãŠã®éåæãšã©ãŒãå®çŸ©ãããå埩çµè·¯ãŸãã¯ãã°çµè·¯ãéããŠäŒæãããããšãä¿èšŒãããŸãã
ãœãããŠã§ã¢éçºã«ãããé©åãªãšã©ãŒåŠçã®ã¢ãããŒãã«æ²¿ã£ãŠãéçãšã©ãŒãã¹è§£æã¯ãã·ã¹ãã ãå®å šãã€ééçã«é害ãèµ·ããããšãå®éçã«ä¿èšŒããŸããããã«ãããå®å®ããå®è¡ç°å¢ãå®çŸããæ¬çªç°å¢ã§é害ãçºçããå Žåã®åŸ©æ§æéãççž®ã§ããŸãã
éåæãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ãããã»ãã¥ãªãã£è匱æ§ã®æ€åº
éåæå®è¡ã¯ãå¶åŸ¡ãããŒãè€æ°ã®ç¬ç«ããã³ã³ããã¹ãã«åæ£ããããããã·ã¹ãã ã®æ»æå¯Ÿè±¡é åãæ¡å€§ããŸããé å»¶æäœããã¥ãŒã€ãã³ããããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ã¯ãããããæ€èšŒãšä¿è·ãå¿ èŠãªæœåšçãªã»ãã¥ãªãã£å¢çãšãªããŸããå ¥åºåãäºæž¬å¯èœãªé åºã§çºçããåæã³ãŒããšã¯ç°ãªããéåæãã©ã³ã¶ã¯ã·ã§ã³ã¯ãå€éšã¿ã€ãã³ã°ããããã¯ãŒã¯å¿çã«äŸåããæäœãã€ã³ã¿ãŒãªãŒãããŸãããããã£ãŠãéçè§£æã§ã¯ãåŸæ¥ã®ã€ã³ãžã§ã¯ã·ã§ã³ããšã¯ã¹ããŒãžã£ãŒã®è匱æ§ã ãã§ãªããéæ±ºå®çãªå®è¡é åºãäžè²«æ§ã®ãªãããŒã¿æ€èšŒãé å»¶ãšã©ãŒåŠçãªã©ã«ãã£ãŠåŒãèµ·ããããã»ãã¥ãªãã£äžã®åŒ±ç¹ãç¹å®ããå¿ èŠããããŸãã
è€éãªãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ã§ã¯ãéåæãã©ã³ã¶ã¯ã·ã§ã³ã決æžåŠçãã»ãã·ã§ã³ç®¡çãã¡ãã»ãŒãžãããŒã«ãªã³ã°ãªã©ã®ã¢ã¯ãã£ããã£ãå¶åŸ¡ããŸãããã£ãäžåºŠã®æ€èšŒæŒããéåæã¢ã¯ã»ã¹ããäžæ£ãªããŒã¿æŒæŽ©ãæš©éææ Œã«ã€ãªããå¯èœæ§ããããŸããéçåæã¯ãéåæããŒã¿ãããŒã®ãã¬ãŒã¹ãé å»¶ã¿ã¹ã¯å šäœã«ããããŠãŒã¶ãŒå ¥åã®ã¢ããªã³ã°ããããŠæ©å¯æ§ã®é«ãæäœãé©åãªå¶åŸ¡äžã§å®è¡ãããŠããããšãæ€èšŒããããšã§ãå°å ¥åã«ãããã®ç¶æ³ãæããã«ããŸããåŸãããç¥èŠã¯ã©ã³ã¿ã€ã ã»ãã¥ãªãã£ç£èŠãè£å®ããã¢ããã€ãŒãŒã·ã§ã³ããªãã¡ã¯ã¿ãªã³ã°ã®ãµã€ã¯ã«ãéããŠæç¶ããèšèšã¬ãã«ã®ä¿è·ãæäŸããŸãã
éåæå¢çãè¶ããå ¥åæ€èšŒ
éåæJavaScriptã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŒã¿ãæçµåŠç段éã«å°éããåã«è€æ°ã®ã¬ã€ã€ãŒãééããããšããããããŸãããŠãŒã¶ãŒãå€éšã·ã¹ãã ããã®å ¥åã¯ãããæç¹ã§æ€èšŒãããåŸãéåæã³ãŒã«ããã¯ã§å€æãã·ãªã¢ã«åããŸãã¯åè§£éãããããšããããŸãããã®åé¢ã«ãããæ€èšŒãããŠããªãããŒã¿ãæ©å¯æ§ã®é«ãæäœã«äŒæããå¯èœæ§ã®ãããŠã£ã³ããŠãçãŸããŸãã
éçè§£æã¯ããããã®äŒæãã§ãŒã³ãæ€æ»ãããã¹ãŠã®éåæå¢çã«ããã£ãŠå ¥åæ€èšŒãäžè²«ããŠè¡ãããŠããããšã確èªããŸããã¢ãã©ã€ã¶ãŒã¯ãPromiseãã§ãŒã³ãã€ãã³ããã³ãã©ãŒãããã³é 延颿°ãéããŠããŠãŒã¶ãŒãæå®ãã倿°ã远跡ããŸããããŒã¿ãã¹ãæ€èšŒãŸãã¯ãµãã¿ã€ãºã«ãŒãã³ããã€ãã¹ããå Žåãã·ã¹ãã ã¯ãããæœåšçãªè匱æ§ãšããŠãã©ã°ä»ãããŸãã
ãã®ã¢ãããŒãã¯ãéçè§£æã«ããã»ãã¥ãªãã£äŸµå®³ã®é²æ¢ã«èŠããããããªäºé²çãªèãæ¹ãåæ ããŠããŸããéåæãããŒå šäœã«ãããæ€èšŒã«ãã¬ããžã確èªããããšã§ãäŒæ¥ã¯å®è¡æåŒ·å¶ã ãã«é Œãããšãªãã匷åºãªã»ãã¥ãªãã£äœå¶ãç¶æã§ããŸãã
éåæèªèšŒãšã»ãã·ã§ã³ç¶æ ã®ãªã¹ã¯
èªèšŒãšã»ãã·ã§ã³ç®¡çã¯ãéåæçã«å®è£ ããããšãæ°ããªè匱æ§ããããããŸãããã°ã€ã³ãšããŒã¯ã³ã®æ€èšŒã¯ãé å»¶ããã»ã¹ãããã¯ã°ã©ãŠã³ãããã»ã¹ãéããŠè¡ãããå¯èœæ§ããããããéçè§£æã§ã¯ãéåæã€ãã³ãéã§ã»ãã·ã§ã³ç¶æ ã®äžè²«æ§ãç¶æãããŠããããšã確èªããå¿ èŠããããŸãã
äŸãã°ãã¡ã€ã³ã¹ã¬ããã®åéåŸã«ãŠãŒã¶ãŒã³ã³ããã¹ãã倿ŽããèªèšŒã³ãŒã«ããã¯ã¯ãäžæçãªèªèšŒã®äžäžèŽãåŒãèµ·ããå¯èœæ§ããããŸããéçããŒã«ã¯ãä¿è·ãããã¹ã³ãŒãå€ã§ã»ãã·ã§ã³ããŒã¿ã倿Žããéåæé¢æ°ãèå¥ããããšã§ããã®ãããªã±ãŒã¹ãæ€åºããŸãããŸããããŒã¯ã³ãšèªèšŒæ å ±ãå®å šãªã¡ã¢ãªé åã§åŠçããããã°ã«èšé²ããããæå·åãããŠããªããã£ãã«ãä»ããŠéä¿¡ããããããŠããªãããšãæ€èšŒããŸãã
ãã®åæã¯ã CVE管çã«ãããµã€ããŒã»ãã¥ãªãã£åŒ·åã«é¢ããç¥èŠãšäžèŽããŠãããäºé²çå¶åŸ¡ã«ã¯å®è¡é åºãšããŒã¿å±ææ§ã®äž¡æ¹ã«é¢ããæŽå¯ãå¿ èŠã§ããããšã匷調ããŠãããå®è¡åã«éåæç¶æ ã®ãããæ€åºããããšã§ã埮åŠãªæš©éææ Œãå€ãã»ãã·ã§ã³ã®åå©çšã®å¯èœæ§ãäœæžã§ããã
ã¿ã€ãã³ã°ããŒã¹ã®è匱æ§ãšã¬ãŒã¹ãšã¯ã¹ããã€ã
éåæã¿ã€ãã³ã°ã¯ãæ»æè ãããžãã¯ã®é åºãæäœããããã«æªçšããç«¶åç¶æ ãé²åãããå¯èœæ§ããããŸããäŸãã°ãè€æ°ã®åæãªã¯ãšã¹ããç«¶åããæŽæ°ãããªã¬ãŒããããæ»æè ãäºæããªãé åºã§å®äºãããªã¯ãšã¹ããçºè¡ããŠäºåã®æ€èšŒãäžæžããããããå¯èœæ§ããããŸããéçè§£æã¯ãæäœã®çžå¯Ÿçãªã¿ã€ãã³ã°ãäºæž¬ããæéçäŸåé¢ä¿ã°ã©ããæ§ç¯ããããšã§ããããã®ãªã¹ã¯ãç¹å®ããŸãã
åéåæåŒã³åºãã¯ãå ±æå€æ°ãžã®ã¢ã¯ã»ã¹ããã©ã³ã¶ã¯ã·ã§ã³ã®ã·ãŒã±ã³ã¹ãããã³ããã¯æ©æ§ã«ã€ããŠåæãããŸããè€æ°ã®ã¿ã¹ã¯ãåæããã«åããªãœãŒã¹ã«æžã蟌ã¿ãè¡ã£ãå ŽåãããŒã«ã¯æœåšçãªç«¶åç¶æ ãèŠåããŸãããŸããã¢ãã©ã€ã¶ãŒã¯ãéåæAPIãšã®ããåãã«ãããŠåæå®è¡ãåæãšããããžãã¯ããã§ãã¯ããŸãã
ãã®äºåæ€åºã¯ãããŒã¿ããŒã¹ã®ãããããã¯ãããã¯ç«¶åãæ€åºããæ¹æ³ã«ã€ããŠèª¬æããæŠå¿µãåæ ããŠããŸããã¿ã€ãã³ã°ããŒã¹ã®æ»æã鲿¢ããããšã§ãäºæž¬äžå¯èœãªè² è·ç¶æ³äžã§ãã·ã¹ãã ãæ±ºå®è«çã«åäœããããšãä¿èšŒãããèŠèœãšãããã¡ãªæ»æçµè·¯ã鮿ã§ããŸãã
éåæããŒã¿ã®æ°žç¶æ§ãšåºåãã£ãã«ã®ä¿è·
éåææäœã¯ããŠãŒã¶ãŒã®æäœãšã¯é¢ä¿ãªããããŒã¿ããŒã¹ããã£ãã·ã¥ããŸãã¯ãã°ãžã®æžã蟌ã¿ã¿ã€ãã³ã°ãå€åããããšããããããŸããäžé©åãªã·ãŒã±ã³ã¹åŠçãæŽåæ§ãã§ãã¯ã®æ¬ èœã«ãããæ©å¯ããŒã¿ãæå³ãããããé·ãä¿æãããããå®å šã§ãªãç¶æ ã§è»¢éããããããå¯èœæ§ããããŸããéçè§£æã¯ãæ°žç¶åã¬ã€ã€ãŒãééããããŒã¿ã®æµãã远跡ããä¿åãšè»¢éãå®çŸ©ãããã¢ã¯ã»ã¹å¶åŸ¡ã®äžã§è¡ãããŠããããšã確èªããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãéåæã³ã³ããã¹ãå ã®ãã¡ã€ã«ããã³ãããã¯ãŒã¯æäœãæ€æ»ããåºåã®åã«æå·åãããã·ã¥åããŸãã¯ããŒã¯ã³ååŠçãå®è¡ãããŠããããšã確èªããŸãããŸããé å»¶æäœã«ãã£ãŠäžæãããã¡ãå ¬éãããããäŸå€çºçåŸã«æ©å¯ããŒã¿ããã°ã«èšé²ããããããŠããªãããšãæ€èšŒããŸãã
ãã®ææ³ã¯ãã³ãŒãå¹çã®æé©åãšãã£ãããã©ãŒãã³ã¹éèŠã®åæãè£å®ãããã®ã§ãããåããã¬ãŒã·ã³ã°ã€ã³ãã©ã¹ãã©ã¯ãã£ãã»ãã¥ãªãã£ãšæé©åã®äž¡æ¹ã®ç®æšãã©ã®ããã«ãµããŒããããã瀺ããŠããŸããæ°žç¶åãã£ãã«ãšåºåãã£ãã«ãä¿è·ããããšã§ãéåæåŠçãã€ãã©ã€ã³ã®é²åŸ¡å¢çã宿ããŸãã
éåæãã°ããã¬ã¡ããªãç£æ»èšŒè·¡ã®çæ
éåæJavaScriptã·ã¹ãã ã®æåãçè§£ããã«ã¯ããã°ãšãã¬ã¡ããªãäžå¯æ¬ ã§ããè€æ°ã®ã³ã³ããã¹ãã§åæå®è¡ãããåŠçãçºçããç°å¢ã§ã¯ãæšæºçãªã·ãŒã±ã³ã·ã£ã«ãã°ã§ã¯ç¶æ³ææ¡ãäžååã§ããã€ãã³ããé åºéãã«èšé²ãããªãã£ãããã¿ã€ã ã¹ã¿ã³ããéè€ããããã¢ã¯ã·ã§ã³éã®å æé¢ä¿ã®è§£éãå°é£ã«ãªã£ããããããšããããŸããéçè§£æã¯ããã°èšé²ã®çºçå Žæããã¬ã¡ããªã®äŒææ¹æ³ãéåæå¢çããŸããã ã«ãã¬ããžã®äžè²«æ§ãªã©ã远跡ããããšã§ãããããè€éããæŽçããäžã§éèŠãªåœ¹å²ãæãããŸãã
çµç¹ã忣ã¢ããªã±ãŒã·ã§ã³ãè¿ä»£åããã«ã€ããéåæãã°ã¯èšºæäžã®æžå¿µäºé ã§ããã ãã§ãªããéçšäžãäžå¯æ¬ ãªãã®ãšãªããŸãããã°ã¯ã·ã¹ãã ã®ç¶æ é·ç§»ãæ£ç¢ºã«åæ ããå¿ èŠãããããã¬ã¡ããªã¯ã€ãã³ãã®é åºãç¶æããç£æ»èšŒè·¡ã¯å®è¡ã®æ€èšŒå¯èœãªèšŒæ ãèšé²ããå¿ èŠããããŸããéçåæã¯ããã°ã¹ããŒãã¡ã³ãã®é 眮ãäžè²«æ§ãå®å šæ§ãæ€èšŒããããšã§ããããã®ç¹æ§ããããã€åã«æ€èšŒããŸãã圱é¿åæãšå¯èŠåãçµã¿åãããããšã§ããã°èšé²ã®ä¿èšŒã¯ãæåã«ããç£èŠãããéåæåäœã®æž¬å®å¯èœãªã¬ããã³ã¹ãžãšå€åããŸãã
éåæã³ãŒãå šäœã«ããããã°ã¹ããŒãã¡ã³ãã«ãã¬ããžã®ãããã³ã°
éåæã·ã¹ãã ã§ããããåé¡ã®äžã€ã«ããã°ã®äžè²«æ§ã®æ¬ åŠããããŸããéçºè ã¯ã³ãŒã«ããã¯é¢æ°ã«ãã°ã¹ããŒãã¡ã³ãã远å ããªãããPromiseãã³ãã©ããšã©ãŒãã¹ã§ã¯ãã°ã¹ããŒãã¡ã³ããçç¥ããŠããŸãããšããããŸããéçè§£æã¯ããã¹ãŠã®éåææ§é ãã¹ãã£ã³ããå®è¡ãããŒã®ã©ãã«ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ãæ¬ ããŠããããèšç®ããããšã§ããã°ã«ãã¬ããžãè©äŸ¡ããŸãã
ã¢ãã©ã€ã¶ãŒã¯ããã°ã®äœçœ®ãšå¶åŸ¡ãããŒã®ãšããžãé¢é£ä»ããåéåæåå²ãå°ãªããšã1ã€ã®ãã¬ãŒã¹ãã€ã³ããèšé²ããŠããããšã確èªããŸãããŸãããµã€ã¬ã³ãã«å®è¡ããã颿°ã匷調衚瀺ããããŒã¿ã·ãªã¢ã«åããã©ã³ã¶ã¯ã·ã§ã³éä¿¡ãªã©ã®éèŠãªã»ã¯ã·ã§ã³ã«ããããšã³ããªã®æ¬ èœãèŠåããŸãããããã®ç¥èŠã¯ãå æ¬çãªç£èŠãç¶ç¶çãªæ¹åã®åºç€ãšãªããšããããœãããŠã§ã¢ããã©ãŒãã³ã¹ææšã§æŠèª¬ãããŠããååãåæ ããŠããŸãã
äžè²«ããã«ãã¬ããžã«ããããã°ã¯ä¿¡é Œã§ãã蚺æèšŒæ ãšããŠæ©èœããŸããã·ã¹ãã ãæ°åã®åæã€ãã³ãã«æ¡åŒµãããå Žåã§ãããã®äžè²«æ§ã«ãããç£èŠãã¬ãŒã ã¯ãŒã¯ã¯ããããæäœã®æ£ç¢ºãªæéçã³ã³ããã¹ãããã£ããã£ã§ããŸãã
éåæå¢çã«ãããã¬ã¡ããªã®ç¶ç¶æ§ã®ç¢ºä¿
ãã¬ã¡ããªããŒã¿ã¯ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãå€éšAPIãããã¯ã°ã©ãŠã³ããžã§ããªã©ãè€æ°ã®éåæãœãŒã¹ããçæãããããšããããããŸããéåæé¢æ°ããã¬ã¡ããªã€ãã³ããçºè¡ããå Žåãããåºç¯ãªãã©ã³ã¶ã¯ã·ã§ã³ã³ã³ããã¹ãã«ãªã³ã¯ããçžé¢èå¥åãç¶æããå¿ èŠããããŸããéçè§£æã§ã¯ãéåæãã§ãŒã³ãéãããã¬ã¡ããªãªããžã§ã¯ãã®äŒæã远跡ããããšã§ããã®é£ç¶æ§ãæ€èšŒããŸãã
ã¢ãã©ã€ã¶ãŒã¯ããã¬ãŒã¹IDãçžé¢ããŒã¯ã³ãªã©ã®ã³ã³ããã¹ãèå¥åããawaitããã³ã³ãŒã«ããã¯å¢çãæå€±ãªãééããããšãä¿èšŒããŸãããŸãããã¬ã¡ããªã¹ããªãŒã ã®åå²ããšã³ããªã®éè€ãæ€åºããŸããé©åãªçžé¢é¢ä¿ã«ããããªãã¶ãŒãããªãã£ãã©ãããã©ãŒã ã¯ãè€æ°ã®æäœãåæã«å®è¡ãããŠããå Žåã§ããå®å šãªãã©ã³ã¶ã¯ã·ã§ã³ã¿ã€ã ã©ã€ã³ãåæ§ç¯ã§ããŸãã
ãã®æ€èšŒææ³ããããŒã¿å¯èŠ³æž¬æ§ã«ãããšã³ã¿ãŒãã©ã€ãºæ€çŽ¢ã®åŒ·åã§èª¬æãããŠããæè¡ãšçµ±åããããšã§ãçµç¹ã¯éçå¯èŠ³æž¬æ§ãšå®è¡æå¯èŠ³æž¬æ§ãæŽåãããããšãã§ãããã¹ãŠã®éåæããã»ã¹ã远跡å¯èœãã€ç£æ»å¯èœã§ããããšãä¿èšŒã§ããŸãã
ãµã€ã¬ã³ãé害ãšäžå®å šãªç£æ»ã·ãŒã±ã³ã¹ã®æ€åº
ãµã€ã¬ã³ãé害ã¯ãéåææäœã察å¿ãããã°ãšã³ããªããšã©ãŒãã¬ã¡ããªãçæããã«å€±æããå Žåã«çºçããŸãããã®ãããªã®ã£ããã¯ã€ã³ã·ãã³ã察å¿ã劚ããã·ã¹ãã éå®³ã®æ ¹æ¬åå ãèŠãã«ããããå¯èœæ§ããããŸããéçè§£æã¯ããšã©ãŒåŠçããžãã¯ãå«ãã³ãŒããã¹ãšããã°ãŸãã¯ã¬ããŒãã¹ããŒãã¡ã³ããå«ãã³ãŒããã¹ãæ¯èŒããããšã§ããããã®ç¶æ ãæ€åºããŸãã
æåŠããã£ãããããã¯ããŸãã¯äŸå€ãã³ãã©ã§ãã°åŒã³åºããçç¥ãããŠããå Žåãã¢ãã©ã€ã¶ãŒã¯ãããäžå®å šãšããŠããŒã¯ããŸãããŸããåå²ããžãã¯ãæ€æ»ãããã¹ãŠã®å®è¡çµæãç£æ»å¯èœãªèšé²ãçæããããšã確èªããŸããããã«ãããéçè§£æã¯ç°åžžçµäºã·ããªãªã«ãããŠãç£æ»èšŒè·¡ã®é£ç¶æ§ã確ä¿ããŸãã
ãã®å®å šæ§ã«ãããããããç¶æ å€åãå¯èŠåã§ãããããéçšäžã®å埩åã匷åãããŸãããã®ããã»ã¹ã¯ããã©ã³ã¿ã€ã åæã®è§£æãã§å®èšŒãããŠãããã¹ããã©ã¯ãã£ã¹ã«æºæ ããŠãããéçæ€èšŒãåçç£èŠãè£å®ããããšã§ãå®å šãªç¶²çŸ æ§ãå®çŸããŸãã
ãã°ãšãã¬ã¡ããªã圱é¿åæã°ã©ããšçžé¢ããã
éåæãã°ã®ä¿èšŒã«ãããæçµã¹ãããã¯ãåéããããã°ã¹ããŒãã¡ã³ããšã·ã¹ãã äŸåé¢ä¿ã°ã©ããçžé¢ãããããšã§ããéçè§£æã§ã¯ããã°ã¡ã¿ããŒã¿ãããåºç¯ãªåœ±é¿ã¢ãã«ã«çµ±åããéåæé¢æ°ãã¢ãžã¥ãŒã«ã«ãããæ å ±ã®æµãã瀺ããŸãã
ãã®çžé¢é¢ä¿ã«ãããäž»èŠãªã·ã¹ãã ã³ã³ããŒãã³ãã«é¢ãããã¬ã¡ããªã®åé·æ§ãæ¬ èœãæããã«ãªããŸããããã«ãããããŒã¿åŠçãå€éšåŒã³åºãããšã©ãŒå埩ãšãã£ã圱é¿ã®å€§ããã¢ãžã¥ãŒã«ãé©åã«ã€ã³ã¹ãã«ã¡ã³ãåãããŠããããšãä¿èšŒãããŸãããšã³ã¿ãŒãã©ã€ãºèŠæš¡ã§é©çšããããšã§ãã³ãŒãæ§é ãšç£èŠã¢ãŒããã¯ãã£ãå ±ã«é²åãããèªå·±æ€èšŒåã®ç£æ»ãã¬ãŒã ã¯ãŒã¯ãå®çŸããŸãã
ãã®æŠå¿µã¯ã圱é¿åæãœãããŠã§ã¢ãã¹ãã®ç¥èŠãè£ä»ãããã®ã§ãããäŸåé¢ä¿äž»å°åãã¹ãã«ãã£ãŠè€éãªéåæç°å¢ã«ãããäžç¢ºå®æ§ãäœæžãããããšã瀺ããŠããã圱é¿ã°ã©ããšãã¬ã¡ããªæ€èšŒãçµã¿åãããããšã§ãã³ãŒãåæãç£èŠãããã³è¿ä»£åèšç»éã®ãã£ãŒãããã¯ã«ãŒããéããããã
ãšã³ã¿ãŒãã©ã€ãº CI/CD ãã€ãã©ã€ã³ã«ãããéçè§£æã®çµ±å
éåæJavaScriptã·ã¹ãã ã®éçè§£æããšã³ã¿ãŒãã©ã€ãºCI/CDãã€ãã©ã€ã³ã«çµ±åããããšã§ãåæå®è¡ãªã¹ã¯ãæªè§£æ±ºã®PromiseãæªåŠçã®æåŠãªã©ãéçºããã»ã¹ã®æ©ææ®µéã§æ€åºã§ããŸããç¶ç¶çããªããªãŒç°å¢ã§ã¯ãé »ç¹ãªã³ãŒã倿Žãèªåãã¹ãããããŠéåæããžãã¯ãæ¥éã«é²åãããã«ããã©ã³ãã¯ãŒã¯ãããŒãå°å ¥ãããŸããçµã¿èŸŒã¿è§£æããªããã°ãæ°ãããªãªãŒã¹ã§ã¯é ããã¿ã€ãã³ã°æ¬ é¥ãã»ãã¥ãªãã£ãªã°ã¬ãã·ã§ã³ãèç©ãããæ¬çªç°å¢ã«ãªããŸã§æ€åºãããªãå¯èœæ§ããããŸããéçè§£æã®çµ±åã«ããããããã®ãã€ãã©ã€ã³ã¯åçŽãªãã«ãã·ã¹ãã ãããè€éãªéåæåäœãå€§èŠæš¡ã«æ€èšŒã§ããããã¢ã¯ãã£ããªå質管çãã¬ãŒã ã¯ãŒã¯ãžãšé²åããŸãã
ãã€ãã©ã€ã³ã®åã¹ããŒãžã«åæãçµã¿èŸŒãããšã§ãä¿¡é Œæ§ãšåçŸæ§ãåäžããŸããéçè§£æãšã³ãžã³ã¯ããã«ãªã¯ãšã¹ãäžã«ã³ãŒããè©äŸ¡ãããã¹ããã§ãŒãºã§éåæã«ãŒã«ã®ã³ã³ãã©ã€ã¢ã³ã¹ãç£èŠãããªãªãŒã¹ã¬ãã¥ãŒçšã®äŸåé¢ä¿ããããçæããŸããç®æšã¯ãã³ãŒãã£ã³ã°æšæºã匷å¶ããã ãã§ãªãããã¹ãŠã®éåæãã¿ãŒã³ã®ã³ãŒã«ããã¯ãã€ãã³ããšããã¿ãŒãéåæé¢æ°ãå®å šãªåæå®è¡æ§ãšãšã©ãŒåŠçã®ååã«æºæ ããŠããããšãä¿èšŒããããšã§ãããã«ãæã«èªåçã«çæãããã€ã³ãµã€ãã¯ãã¢ããã€ãŒãŒã·ã§ã³ãå®å®æ§ãšããã©ãŒãã³ã¹ã®ç®æšã«æ²¿ã£ãŠããããšãè£ä»ãã远跡å¯èœãªèšŒæ ãããŒã ã«æäŸããŸãã
éåææ§é ã®èªåã«ãŒã«èšå®
éåæéçè§£æã®çµ±åã¯ãäŒæ¥ã®ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ã«æ²¿ã£ãã«ãŒã«ã»ãããå®çŸ©ããããšããå§ãŸããŸãããããã®ã«ãŒã«èšå®ã¯ãåŸ æ©ãããŠããªãPromiseããã¹ããããã³ãŒã«ããã¯ãã€ãã³ããªã¹ããŒã®ãªãŒã¯ãªã©ã粟æ»ãå¿ èŠãªæ§é ãç¹å®ããŸããESLintãTypeScript ESLintãªã©ã®ããŒã«ã¯ãã«ã¹ã¿ã éåæãã§ãã¯ã远å ããŠæ¡åŒµããããšã§ãçµç¹ã®ã¢ãŒããã¯ãã£åºæã®ãã¿ãŒã³ãæ€åºã§ããŸãã
CIãã€ãã©ã€ã³ã«çµã¿èŸŒãŸããéçè§£æãšã³ãžã³ã¯ãèšå®ãã¡ã€ã«ãèªã¿èŸŒã¿ããªããžããªå šäœã§äžè²«ããã«ãŒã«ãé©çšããŸããéåæéåãçºçããå Žåãéçºè ã¯ãã€ãã©ã€ã³ããã·ã¥ããŒããã³ãŒãã¬ãã¥ãŒã³ã¡ã³ããéããŠå³åº§ã«ãã£ãŒãããã¯ãåãåããŸãããã®ç¶ç¶çãªé©çšã¢ãããŒãã¯ãã¡ã€ã³ãã¬ãŒã ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³æŠç¥ã®ååãšé¡äŒŒããŠãããèªååã«ãã£ãŠåæ£ããŒã å šäœã§åäžãªã³ã³ãã©ã€ã¢ã³ã¹ã確ä¿ãããŸãã
éåæã«ãŒã«ãããã¡ã€ã«ãå®çŸ©ããããšã§ãã¬ããã³ã¹ãç°¡çŽ åããªãããæè»ãªã«ã¹ã¿ãã€ãºãå¯èœã«ãªããŸããããŒã ã¯ã·ã¹ãã ã®éèŠåºŠã«åºã¥ããŠæåºŠãããå€ã調æŽãã粟床ãšéçºé床ã®ãã©ã³ã¹ããšãããšãã§ããŸãã
ããŒãžã§ã³ç®¡çã«ãããå¢åã¹ãã£ã³ãšå·®ååæ
å¹çæ§ãç¶æããããã«ããšã³ã¿ãŒãã©ã€ãºCI/CDã¯ãŒã¯ãããŒã§ã¯å¢åã¹ãã£ã³ãå®è£ ãããŠããŸããéçè§£æããŒã«ã¯ãã³ãŒãããŒã¹å šäœãåè§£æããã®ã§ã¯ãªããããŒãžã§ã³ç®¡çã®å·®åããæ€åºããã倿Žãããã¢ãžã¥ãŒã«ã«çŠç¹ãåœãŠãŸããå·®åè§£æã§ã¯ãéåææ§é ã®ä»¥åã®ç¶æ ãšçŸåšã®ç¶æ ãæ¯èŒããæè¿ã®ã³ãããã«ãã£ãŠããããããæ°ããªãªã¹ã¯ãç¹å®ããŸãã
ãã®ã¿ãŒã²ãããçµã£ãã¢ãããŒãã¯ããã«ããµã€ã¯ã«ãå éããåã³ãŒã倿Žãé©åãªç²Ÿæ»ãåããããšãä¿èšŒããŸããå¢åã¹ãã£ã³ã¯ãéåæäŸåé¢ä¿ãè€æ°ã®ãµãã·ã¹ãã ã«ãŸãããå€§èŠæš¡ãªJavaScriptã¢ãã¬ããžããªã«ãããŠç¹ã«æå¹ã§ãããããã®ã¹ãã£ã³ãéå»ã®ããŒã¹ã©ã€ã³ãšçµã¿åãããããšã§ãããŒã ã¯äžŠè¡æ§ãã¿ãŒã³ã®é²åã远跡ããé·æçãªãªã¹ã¯è»œæžãè©äŸ¡ããããšãã§ããŸãã
圱é¿åæãœãããŠã§ã¢ã®ãã¹ãã«èŠãããæŠå¿µãšåæ§ã®æŠå¿µãããã®æ®µéçãªææ³ã®åºç€ãšãªã£ãŠããããã€ãã©ã€ã³ã®ã¹ã«ãŒããããç¶æããããã«ã圱é¿ãåããé åã®ã¿ãåè©äŸ¡ãã¹ãã§ããããšã匷調ããŠããã
éåæäŸåãããããã¹ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšçµ±åãã
广çãªãã€ãã©ã€ã³çµ±åã«ã¯ãéçè§£æçµæãšèªåãã¹ãã飿ºãããå¿ èŠããããŸããéåæè§£æã«ãã£ãŠçæãããäŸåé¢ä¿ã°ã©ãã¯ãã³ãŒã倿ŽåŸã«ã©ã®çµ±åãã¹ããŸãã¯ååž°ãã¹ããå®è¡ããå¿ èŠããããã瀺ããŸãã倿Žãããã¢ãžã¥ãŒã«ãè€æ°ã®éåæãã§ãŒã³ã«åœ±é¿ãäžããå Žåããã¹ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã·ã¹ãã ã¯é¢é£ãããã¹ãã¹ã€ãŒããèªåçã«ã¹ã±ãžã¥ãŒã«ããŸãã
ãã®èª¿æŽã«ããããã¹ããšã³ãŒãã®åœ±é¿åºŠãæ¯äŸé¢ä¿ã«ä¿ãããã«ãã¬ããžãç¶æããªããåé·ãªå®è¡ãåæžãããŸãããŸããããŒã«ãäŸåé¢ä¿ã®å€æŽã«åºã¥ããŠå€±æããå¯èœæ§ã®ãããã¹ãã±ãŒã¹ãç¹å®ããäºæž¬é害åæããµããŒãããŸãã
åæãšãã¹ãã®çžä¹å¹æã¯ãCI/CDãã€ãã©ã€ã³ã«ãããããã©ãŒãã³ã¹ååž°ãã¹ãã§èª¬æãããŠããæ§é åæé©åã¢ãããŒããåæ ããŠãããããã«ããããã€ãã©ã€ã³ã¯ååçãªãã¹ãç°å¢ãããã€ã³ããªãžã§ã³ãã§èªå·±é©å¿çãªå質ã¡ã«ããºã ãžãšé²åããã
远跡å¯èœãªã³ã³ãã©ã€ã¢ã³ã¹ãšããã©ãŒãã³ã¹ã®ææç©ãçæãã
ãšã³ã¿ãŒãã©ã€ãºãã€ãã©ã€ã³ã§ã¯ãåæåºåãäžæçãªãã°ã§ã¯ãªãæ€èšŒå¯èœãªã¢ãŒãã£ãã¡ã¯ããšããŠæ±ãããšã§ã¡ãªãããåŸãããŸããéåæäŸåé¢ä¿ãæªè§£æ±ºã®Promiseãå®è¡ã¿ã€ãã³ã°ãææããéçåæã¬ããŒãã¯ãã³ãŒãã¬ãã¥ãŒãç£æ»ãæé©åã¬ãã¥ãŒã®ããã¥ã¡ã³ããšããŠåœ¹ç«ã¡ãŸãã
ãããã®ã¢ãŒãã£ãã¡ã¯ãã¯åé¡è¿œè·¡ãã©ãããã©ãŒã ãšçµ±åãããæ€åºããããªã¹ã¯ã修埩ãã±ããã«çŽæ¥ãªã³ã¯ããŸãããŸããSmart TS XLãªã©ã®å¯èŠåã·ã¹ãã ã«ããã£ãŒããããéçãªã¬ããŒããããã²ãŒãå¯èœãªäŸåé¢ä¿ãããã«å€æããŸããåæçµæããããžã§ã¯ãã¬ããã³ã¹ããŒã«ãšé£æºãããããšã§ãçµç¹ã¯ã³ãŒã倿Žããæ€èšŒçµæãŸã§ã®ãã¬ãŒãµããªãã£ãç¶æã§ããŸãã
ãã®ææç©äž»å°åã®ææ³ã¯ãææ°ã·ã¹ãã ã«é¢ããçžäºåç §ã¬ããŒãããã®ç¥èŠãšäžèŽããŠãããæ§é çãã¬ãŒãµããªãã£ãè¿ä»£åãžã®ä¿¡é Œæ§ãã©ã®ããã«æ¯ããããæç¢ºã«ç€ºããŠããŸããéåæåæãç¶ç¶çãªèšŒæ æºãšããŠæ±ãããšã§ããœãããŠã§ã¢ã®é²åãæž¬å®å¯èœãã€å¶åŸ¡å¯èœãªç¶æ ãç¶æã§ããŸãã
ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ãžã®åœ±é¿
ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã®èŠä»¶ã¯ãåŸæ¥ã®ã¢ã¯ã»ã¹å¶åŸ¡ãæå·åã®å®è·µãè¶ ããŠããŸããéåæJavaScriptã·ã¹ãã ã§ã¯ãã¿ã€ãã³ã°äŸåæ§ãæªæ€èšŒã®ã¡ãã»ãŒãžäº€æãäžå®å šãªãšã©ãŒåŠçã·ãŒã±ã³ã¹ãªã©ããè匱æ§ãçããå¯èœæ§ããããŸããéåæå®è¡ã¯åå ãšçµæã空éçã«ãæéçã«ãåé¢ããããããããã®ãªã¹ã¯ã¯ãã°ãã°é¡åšåããŸãããéçè§£æã¯ãéåæã³ãŒãã確ç«ãããã»ãã¥ãªãã£ãŸãã¯ä¿¡é Œæ§ã®ãã¿ãŒã³ããéžè±ããŠããç®æãç¹å®ããããšã§ããã®äžç¢ºå®æ§ãæ§é åããŸããéçè§£æã¯ããã¹ãŠã®é å»¶æäœããã¬ãŒã¹ããå±éåã«ããŒã¿ã®æŽåæ§ãã¢ã¯ã»ã¹å¶åŸ¡ãããã³ãªã«ããªã®äžè²«æ§ãæ€èšŒããŸãã
éèãéä¿¡ãå»çåéã®ã³ã³ãã©ã€ã¢ã³ã¹åºæºã§ã¯ããã¬ãŒãµããªãã£ãšéçšã®éææ§ããŸããŸãéèŠãããŠããŸããéåæç°å¢ã§ã¯ãã€ãã³ãé§ååã®æåã«ãããã©ã®ã³ã³ããŒãã³ããã©ã®ããŒã¿ããã€åŠçããããç¹å®ããããšãå°é£ã«ãªãããããããã®ç®æšéæã¯ããè€éã«ãªããŸããéçåæã¯ããšããã³ã¹ã«åºã¥ãä¿èšŒã®åºç€ãšãªãããã¹ãŠã®éåæé¢æ°ãã¡ãã»ãŒãžããã©ã³ã¶ã¯ã·ã§ã³ãããªã·ãŒã§å®çŸ©ãããåŠçæé ã«æºæ ããŠããããšãä¿èšŒããŸããå¶åŸ¡ãããŒãšäŸåé¢ä¿ã°ã©ããå³å¯ã«æ€æ»ããããšã§ãäŒæ¥ã¯éåæããžãã¯ãäºæž¬å¯èœãã€å®å šã«åäœããããšãå®èšŒã§ããŸãã
éåæã¯ãŒã¯ãããŒå ã§ã®ã¢ã¯ã»ã¹å¶åŸ¡ã®å®æœ
ã¢ã¯ã»ã¹å¶åŸ¡éåã¯ãéåæã³ãŒã«ããã¯ãã€ãã³ããã³ãã©ããŠãŒã¶ãŒã®ããŒã«ãæš©éãæ€èšŒããã«å®è¡ããããšçºçããå¯èœæ§ããããŸãããããã®æäœã¯å€ãã®å ŽåãåæèªèšŒåŸã«å®è¡ãããããããã©ã³ã¶ã¯ã·ã§ã³éå§æã«é©çšãããããªã·ãŒã¬ã€ã€ãŒããã€ãã¹ããå¯èœæ§ããããŸããéçè§£æã¯ãæ€èšŒæžã¿ã®ã³ã³ããã¹ãå€ã§ç¹æš©æäœãåŒã³åºãããŒã¿ãã¹ããã¬ãŒã¹ããããšã§ããããæ€åºããŸãã
ãã®ã¢ãã©ã€ã¶ãŒã¯ãéåæãã§ãŒã³å šäœã«ããã£ãŠããŠãŒã¶ãŒIDããŒã¯ã³ãæš©éãã§ãã¯ãããã³èªèšŒããã«ãŠã§ã¢ãé¢é£ä»ããŸããç¹æš©é¢æ°ãæ€èšŒãªãã§å°éå¯èœãªå Žåã察å¿ãããã¹ãæœåšçãªã»ãã¥ãªãã£éåãšããŠããŒã¯ããŸãããã®ç¥èŠãããœãããŠã§ã¢ç®¡çã®è€éæ§åæãšåæ§ã®äŸåé¢ä¿ãããã³ã°ãšçµ±åããããšã§ã忣ã¢ãŒããã¯ãã£å šäœã§ç¹æš©å¢çã確å®ã«ç¶æãããŸãã
ãã®åæã«ãããããã¢ã¯ãã£ããªå¶åŸ¡æ€èšŒã確ç«ãããéåæããžãã¯ãåææäœãšåãã¢ã¯ã»ã¹èŠåŸãé©çšããããšã確èªãããŸãã
忿޿°äžã®ããŒã¿æŽåæ§ã®æ€èšŒ
é忿޿°ã¯ãè€æ°ã®ããã»ã¹ãåæã«å ±æããŒã¿ã倿ŽããããšãããšãæŽåæ§ãªã¹ã¯ãããããå¯èœæ§ããããŸããéçè§£æã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®äŸåé¢ä¿ãã¢ãã«åããæŽæ°æäœãäžè²«ããé åºã§è¡ãããŠããããšãæ€èšŒããããšã§ãç Žæã鲿¢ããŸãããŸããããã¯æ©æ§ãã¢ãããã¯æäœããŸãã¯è£æ£ãã©ã³ã¶ã¯ã·ã§ã³ãã確å®çãªçµæãç¶æããããã«å°å ¥ãããŠãããã©ãããæ€æ»ããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãåéåææžã蟌ã¿ãã¹ãæ€æ»ããå®çŸ©ãããåæã«ãŒã«ãŸãã¯æ€èšŒã«ãŒã«ã«åŸã£ãŠåäœããŠããããšã確èªããŸããç«¶åç¶æ ãçºçããå¯èœæ§ã®ããã·ããªãªã§ã¯ãããŒã«ã¯æœåšçãªè¡çªãã€ã³ããç¹å®ããããŒãžã§ã³ç®¡çãŸãã¯ãã¥ãŒã€ã³ã°ã¡ã«ããºã ãå®è£ ããå¿ èŠãããç®æãææ¡ããŸãã
ãã®ã¢ãããŒãã¯ãããŒã¿ã¢ããã€ãŒãŒã·ã§ã³ã®èãæ¹ãšåèŽããŠããŸããããŒã¿ã¢ããã€ãŒãŒã·ã§ã³ã§ã¯ãããŒã¿å€æãæ§é çã«å¶åŸ¡ããããšã§ãé²åãããã©ãããã©ãŒã å šäœã§ä¿¡é Œæ§ã確ä¿ããŸããéçè§£æã«æŽåæ§æ€èšŒãçµã¿èŸŒãããšã§ãäŒæ¥ã¯æœåšçãªããŒã¿ç Žæãé²ãã埩æ§ã«ããããªãŒããŒããããåæžã§ããŸãã
éåæãšã©ãŒåŠçã®äžè²«æ§ã®ç£æ»
ç£æ»å¯èœæ§ã¯ãéåæå¢çãè¶ããäžè²«ãããšã©ãŒæ€åºãšå ±åã«äŸåããŸãã忣ã·ã¹ãã ã§ã¯ãPromiseãé©åã«é£éãããŠããªãå ŽåãäŸå€ãäºæããäŒæããããå ±åãããªãã£ããããå¯èœæ§ããããŸããéçè§£æã¯ããã¹ãŠã®æåŠåå²ãšäŸå€åå²ã远跡ããããšã§ããšã©ãŒåŠçã«ãã¬ããžã®å®å šæ§ãæ€èšŒããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãåéåææ§é ã«éå®³ãææãèšé²ãåé¡ããã¡ã«ããºã ãå«ãŸããŠããããšã確èªããŸãããŸãããããã®ã€ãã³ããå詊è¡ãããŒã«ããã¯ãéç¥ãªã©ã®å埩ããžãã¯ãšé¢é£ä»ããŸãããã®ãããªå®å šçãè¬ããã«éåæãã¹ãçµäºããå Žåãã¢ãã©ã€ã¶ãŒã¯ãããç£æ»ã®ã£ãããšããŠåŒ·èª¿è¡šç€ºããŸãã
ãããã®èª¿æ»çµæãé©åãªãšã©ãŒåŠçã«é¢ããç¥èŠãšç §åããããšã§ãéåæãšã©ãŒå ±åãåæã·ã¹ãã ãšåçã®å³å¯ããæºãããå®å šãªãã¬ãŒãµããªãã£ãç¶æãããããšãä¿èšŒãããŸãã
æ§é åãããäŸåé¢ä¿ã®æ€èšŒã«ããã³ã³ãã©ã€ã¢ã³ã¹ã®èªåå
éçè§£æã¯ãã³ã³ãã©ã€ã¢ã³ã¹æ€èšŒã®èªååã«ãçŽæ¥è²¢ç®ããŸããã¢ãžã¥ãŒã«ãã€ãã³ããœãŒã¹ãããŒã¿ãšã³ããã€ã³ãéã®äŸåé¢ä¿ããããã³ã°ããããšã§ããœãããŠã§ã¢ã®åäœãææžåãããããªã·ãŒãšã©ã®ããã«æŽåããŠããããç€ºãæ§é åããã衚çŸãçæããŸããèªååãããã¹ã¯ãªããã¯ããããã®ã°ã©ãã瀟å ã¬ããã³ã¹ãã³ãã¬ãŒããæ§æç®¡çããŒã¹ã©ã€ã³ãšç §åããããšãã§ããŸãã
ãã®æ§é åãããæ€èšŒã¯ãã³ã³ãããŒã«ã®äžè²«æ§ãå®èšŒããã³ã³ãã©ã€ã¢ã³ã¹å ±åãè¿ éåããŸããç£æ»äººãèŠå¶åœå±ã«å¯Ÿãããã¹ãŠã®éåæäŸåé¢ä¿ãèæ ®ãããå®è¡ããžãã¯ãå®çŸ©ãããã»ãã¥ãªãã£ããã³éçšãã¿ãŒã³ã«åŸã£ãŠããããšã瀺ãããšãã§ããŸãã
ãã®ææ³ã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ãšé¡äŒŒç¹ããããåæã¢ãã«ã«ãã£ãŠã³ãŒãæ§é ãå®çšçãªã¬ããã³ã¹ææç©ãžãšå€æãããŸããéçè§£æããåŸãããèªååãããã³ã³ãã©ã€ã¢ã³ã¹ã¯ã䞻芳çãªè§£éãæ€èšŒå¯èœã§åçŸæ§ã®ããçµæã«çœ®ãæããŸãã
éçã¡ããªã¯ã¹ããã®ããã©ãŒãã³ã¹ãšæé©åã®æŽå¯
éåæå®è¡ã¯ãã¡ã€ã³ã¹ã¬ããããããã¯ããããšãªãè€æ°ã®æäœãå®è¡ã§ãããããã¹ã«ãŒããããåäžãããŸãããããã©ãŒãã³ã¹ã®æåãäºæž¬ããããšãå°é£ã«ãªããŸããé 延颿°ãã€ãã³ããªã¹ããŒããã¥ãŒã¡ãã»ãŒãžã¯ããããå€åæ§ãé«ããé«è² è·æã«ã¬ã€ãã³ã·ãå¢å€§ãããããã¡ã¢ãªæ¶è²»éãå¢å ããããããå¯èœæ§ããããŸããéçè§£æã¯ãäŸåé¢ä¿ã®æ·±ãããã¥ãŒã®å¯åºŠãå¶åŸ¡ãããŒã®è€éããšãã£ãæ§é çãªææšã調ã¹ãããšã§ãå®è¡åã«ãããã®ããã©ãŒãã³ã¹ãã€ããã¯ã¹ãææ¡ã§ããŸããããã«ãããæé©åã¯äºåŸçãªãããã¡ã€ãªã³ã°ããããã¢ã¯ãã£ããªèšèšãžãšé²åããŸãã
äŒæ¥ã®ã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ã¯ãéçã¢ãã«ããåŸãããææšãžã®äŸå床ãé«ãŸã£ãŠããŸãããããã®ã¢ãã«ã¯ãã¿ã¹ã¯ã®ãã¡ã³ã¢ãŠãããããã¹ãã§ãŒã³ã®æ·±ããåæå®è¡ã®å©çšçãšãã£ãéåæå®è¡ç¹æ§ãå®éåããŸãããããã®å€ãéå»ã®ããã©ãŒãã³ã¹ããŒã¿ãšçžé¢ãããããšã§ãçµç¹ã¯æ¬çªç°å¢ã§é¡åšåããåã«æ§é çãªããã«ããã¯ãç¹å®ã§ããŸãããã®ããã«ãéçææšã¯éçºãšéçšãæ©æž¡ãããæé©åã®æææ±ºå®ãææ©çãªãã®ã§ã¯ãªãããŒã¿ã«åºã¥ãããã®ã«ãªãããšãä¿èšŒããŸãã
ãã¹ããããéåæãã§ãŒã³ã«ããã¬ã€ãã³ã·å¢å¹ ã®ç¹å®
æ·±ããã¹ããããéåæãã§ãŒã³ã¯ãæœåšçãªããã©ãŒãã³ã¹äœäžã®äž»ãªåå ã§ããåŸ æ©ãã³ãŒã«ããã¯ã®ãã¹ãã1å±€å¢ããããšã«ãã¹ã±ãžã¥ãŒãªã³ã°ã®ãªãŒããŒããããå¢å ãã环ç©å®è¡æéãé å»¶ããŸããéçè§£æããŒã«ã¯ãã³ãŒãããŒã¹å ã®ãã§ãŒã³ã®æå€§æ·±åºŠãšå¹³åæ·±åºŠãæž¬å®ãã鿬¡äŸåé¢ä¿ã䞊ååã§çœ®ãæããããšãã§ããç®æããã€ã©ã€ãããããšã§ããã®ãã¿ãŒã³ãæ€åºããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãã·ãŒã±ã³ã·ã£ã«ãªé¢ä¿ãšäžŠåãªé¢ä¿ã瀺ãäŸåé¢ä¿ã°ã©ããæ§ç¯ããŸããç¹å®ã®æäœãäžå¿ èŠã«äŸåããŠããå ŽåãããŒã«ã¯ãããåŠçãåæå®è¡ãšãã£ãå颿Šç¥ãæšå¥šããŸãããããã®æ§é çãªæŽå¯ã«ãããæ©èœçãªçµæãå€ããããšãªããã¬ã€ãã³ã·ã®å¢å¹ ã軜æžã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ãã³ã·ã«åœ±é¿ãäžããé ããã³ãŒããã¹ãæ€åºããææ³ãšåæ§ã®ã¢ãããŒãã¯ãéçãã¹æ¢çŽ¢ãããã«ã©ã³ã¿ã€ã ç£èŠã§ã¯èŠéãããéå¹çæ§ãæããã«ãããã瀺ããŠããŸããéå°ãªãã§ãŒã³æ·±åºŠãæé€ããããšã§ãéåæã¯ãŒã¯ãããŒã®ä¿¡é Œæ§ãç¶æããªãããäºæž¬å¯èœãªããã©ãŒãã³ã¹ãå埩ã§ããŸãã
ãªãœãŒã¹å©çšãšã€ãã³ãã¹ã±ãžã¥ãŒã«ã®æé©å
éçè§£æã§ã¯ãéåæããã»ã¹ãCPUãšã¡ã¢ãªãªãœãŒã¹ãã©ã®ããã«æ¶è²»ããããè©äŸ¡ããŸããéå°ãªã¿ã€ããŒãéè€ããã€ãã³ããã³ãã©ãåé·ãªPromiseçæã¯ã€ãã³ãã«ãŒãã飜åãããäºæãã¬é床äœäžãåŒãèµ·ããå¯èœæ§ããããŸããã¢ã¯ãã£ããªéåæã³ã³ããã¹ããã«ãŠã³ãããã¹ã±ãžã¥ãŒãªã³ã°ã®åæå®è¡æ§ãæšå®ããããšã§ãã¢ãã©ã€ã¶ãŒã¯è² è·åæ£ãã¿ã¹ã¯ã¹ããããªã³ã°ãå¿ èŠãšãªãç®æãæ£ç¢ºã«ç¹å®ããŸãã
ãã®ã¢ããªã³ã°ã¯ãããã¯ã°ã©ãŠã³ãã¹ã¬ãããã¡ãã»ãŒãžãã¥ãŒã«å»¶æãã¹ãéèŠåºŠã®äœãæäœãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãããŸããåŠçãéè€ãããŠããéè€ãªã¹ããŒãæããã«ããŸããCOBOLã«ãããCPUããã«ããã¯ã®åé¿ã«é¡äŒŒããææ³ã¯ãã³ãŒãã¬ãã«ã®æé©åãæ§ã ãªã¢ãŒããã¯ãã£ã«ãããŠæž¬å®å¯èœãªå¹çæ¹åãããããããšã瀺ããŠããŸãã
察象ãçµã£ããªãã¡ã¯ã¿ãªã³ã°ãéããŠãªãœãŒã¹ã®ç«¶åãæžãããšãã¹ã«ãŒããããã¹ã ãŒãºã«ãªããã€ãã³ã ã«ãŒãã®å¿çæ§ãåäžãããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãšéçšã³ã¹ãã«çŽæ¥åœ±é¿ããŸãã
éåæãšã©ãŒå埩ã®ãªãŒããŒãããã®å®éå
éåæã·ã¹ãã ã«ããããšã©ãŒå埩ã¯ãé ããããã©ãŒãã³ã¹ã³ã¹ãã䌎ãå¯èœæ§ããããŸãã倱æããPromiseã®å詊è¡ããœã±ããã®ååæåãã»ãã·ã§ã³ç¶æ ã®åŸ©å ã¯ããªãœãŒã¹ãæ¶è²»ããå¿çæéãå»¶é·ããŸããéçè§£æã§ã¯ããšã©ãŒãã³ãã©ãå詊è¡ã«ãŒããéå§ããé »åºŠãšããããã®ã«ãŒããã€ãã³ããã¥ãŒãšã©ã®ããã«çžäºäœçšãããã調ã¹ãããšã§ããã®ãªãŒããŒããããå®éåããŸãã
ã¢ãã©ã€ã¶ãŒã¯ãå詊è¡ããžãã¯ãæäœã«ããŽãªã«é¢é£ä»ããããšã§ãææªã®æ¡ä»¶äžã§ã®çޝç©é å»¶ãæšå®ããŸãããŸãã蚱容ç¯å²ãè¶ ããé å»¶ãåŒãèµ·ããå¯èœæ§ã®ããææ°ããã¯ãªãã®èšå®ãã¹ãç¹å®ããŸããäŸå€åŠçã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ã枬å®ããéã®èãæ¹ã«æ²¿ã£ãŠããã®åæã¯ãªã«ããªã¡ã«ããºã ã®ã³ã¹ãå¹çãç¶æããŸãã
ãªã«ããªãªãŒããŒãããã®å®éçãªè©äŸ¡ã«ãããããŒã ã¯å埩åãšå¿çæ§ã®ãã©ã³ã¹ãåããæ°ããªããã©ãŒãã³ã¹ãªã¹ã¯ãå°å ¥ããããšãªãéåæã®ä¿¡é Œæ§ãæé©åã§ããŸãã
åæå®è¡ãã¿ãŒã³ããã¹ã±ãŒã©ããªãã£ã®éçãäºæž¬ãã
ã¹ã±ãŒã©ããªãã£ã¯ãã·ã¹ãã ãªãœãŒã¹ãå§è¿«ããããšãªããéåæã¿ã¹ã¯ãããã«å¹ççã«äžŠåå®è¡ã§ãããã«ããã£ãŠããŸããéçè§£æã¯ãå ¥åéã«å¿ããŠåæå®è¡æ§ãã©ã®ããã«å¢å ããããã¢ãã«åããããšã§ãã¹ã±ãŒã©ããªãã£ã®äžéãäºæž¬ããŸããå ±æç¶æ ãçŽååãããäŸåé¢ä¿ããã¥ãŒã®é£œåãšãã£ãããã«ããã¯ãæ°Žå¹³ã¹ã±ãŒãªã³ã°ãå¶çŽããŠãããã©ãããæ€èšŒããŸãã
ã¢ãã©ã€ã¶ãŒã¯åæå®è¡ã®ãããå€ãå ±åãããããèšèšè ã¯èšèšå€æŽãããŒãã£ã·ã§ãã³ã°æŠç¥ã«ãã£ãŠæãé«ã广ãåŸãããç®æãç¹å®ã§ããŸããã¡ã€ã³ãã¬ãŒã è¿ä»£åã®ããã®ãã£ãã·ãã£ãã©ã³ãã³ã°ã§èª¬æãããŠãããããªè¿ä»£åã¡ããªã¯ã¹ãšäœµçšããããšã§ããããã®äºæž¬ã¯åæ£JavaScriptã¯ãŒã¯ããŒãã®ãã£ãã·ãã£ã¢ãã«ã«åœ¹ç«ã¡ãŸãã
äºæž¬çãªã¹ã±ãŒã©ããªã㣠ã¢ããªã³ã°ã¯ãéåæåäœãå®éåå¯èœãªãã©ã¡ãŒã¿ã«å€æããæ å ±ã«åºã¥ããã€ã³ãã©ã¹ãã©ã¯ãã£èšç»ãšç¶ç¶çãªæ¹åãµã€ã¯ã«ããµããŒãããŸãã
éåæã€ã³ããªãžã§ã³ã¹ã®ããã®ã¹ããŒãTS XL
éåæJavaScriptãšã³ã·ã¹ãã ã管çããå€§èŠæš¡äŒæ¥ã¯ããã°æ€æ»ããã¹ãã«ãã¬ããžã«ãšã©ãŸããªãå¯èŠåãšãã¬ãŒãµããªãã£ãæ±ããŠããŸããSmart TS XLã¯ãéçè§£æããŒã¿ãã€ã³ã¿ã©ã¯ãã£ããªã€ã³ããªãžã§ã³ã¹ã«å€æããããšã§ãéåæåäœã®å€æ¬¡å ãã¥ãŒãæäŸããŸããã³ãŒããç¬ç«ãããã¡ã€ã«ãšããŠæ±ãã®ã§ã¯ãªããã€ãã³ãé§ååããžãã¯ãPromiseãã§ãŒã³ããµãŒãã¹ééä¿¡ãçžäºæ¥ç¶ãããäŸåé¢ä¿ããããšããŠè¡šçŸããŸããããã«ããããšã³ãžãã¢ãªã³ã°ããŒã ã¯ãéåæãããŒããšã³ã¿ãŒãã©ã€ãºã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ãå®å®æ§ããããŠã¢ããã€ãŒãŒã·ã§ã³ãžã®å¯Ÿå¿ã«ã©ã®ããã«åœ±é¿ããããçè§£ã§ããŸãã
éçºã©ã€ããµã€ã¯ã«ã«çµ±åãããSmart TS XLã¯ãæ€åºãã©ãããã©ãŒã ãšæ€èšŒãšã³ãžã³ã®äž¡æ¹ãšããŠæ©èœããŸããéçã¡ããªã¯ã¹ã圱é¿ã°ã©ããäŸåé¢ä¿ãèŠèŠçãªèšŒæ ãšããŠçµ±åãããªã¢ã«ã¿ã€ã ã§èª¿æ»ã§ããããã«ããŸããé å»¶å®è¡ããã¥ãŒã€ãã³ãã䞊åããã»ã¹ãšãã£ãéåæãã¿ãŒã³ãå¯èŠåãããŸãããã®ã¬ãã«ã®å¯èŠæ§ã«ãããããŒã ã¯éå¹çæ§ãæ€åºãããªãã¡ã¯ã¿ãªã³ã°äžã«åäœã確èªãã忣ã³ãŒãã®é²åã«äŒŽãä¿¡é Œæ§ãç¶æã§ããŸãã
éåæäŸåãããã¯ãŒã¯ã®å¯èŠå
Smart TS XLã¯ãéçè§£æãšåœ±é¿è§£æã®çµæããããã²ãŒãå¯èœãªäŸåé¢ä¿ãããã¯ãŒã¯ã«å€æããŸããåéåæé¢æ°ãã€ãã³ããšããã¿ãŒãã¡ãã»ãŒãžãã¥ãŒã¯ãåŒã³åºãé åºãŸãã¯ããŒã¿ãããŒãç€ºãæ¹åãšããžã§æ¥ç¶ãããããŒããšããŠè¡šçŸãããŸããããžã¥ã¢ã«ãããã³ã°ã«ãããå®è¡ãã§ãŒã³ã®éãªãæ¹ãã€ãã³ãã«ãŒãã®åæç¹ãè€æ°ã®éåæãµã€ã¯ã«ã«é¢äžããã¢ãžã¥ãŒã«ãæããã«ãªããŸãã
ãããã®ã°ã©ãã¯ãåŸæ¥ã®ããã¥ã¡ã³ãã§ã¯äŒããããªãè€éãªã€ãã³ãé§ååæ§é ã®çè§£ã容æã«ããŸããããŒã ã¯ããã©ãã£ãã¯éã®å€ãçµè·¯ããªã¹ã¯ã®é«ãçµè·¯ãç¹å®ããŠæé©åãå³ããå¿çæ§ã«åœ±é¿ãäžããåé·ãªé¢ä¿ã埪ç°çãªé¢ä¿ãèå¥ã§ããŸãããã®æ©èœã¯ãã³ãŒãå¯èŠåææ³ã§æŠèª¬ãããŠããå¯èŠåã®ååãåæ ããŠãããçã®åæçµæãå®çšçãªæŽå¯ãžãšå€æããŸãã
ããã©ãŒãã³ã¹ãä¿¡é Œæ§ã®ã¡ããªãã¯ãéãåãããããšã§ãåããããã§éåæèŒ»èŒ³ãã¡ãã»ãŒãž ããã¯ãã°ãæãæ·±å»ãªã¢ãžã¥ãŒã«ã匷調衚瀺ããç²ŸåºŠã®æé©åãå°ãããšãã§ããŸãã
éåæåææ å ±ãã¢ããã€ãŒãŒã·ã§ã³ããã·ã¥ããŒãã«çµ±åãã
éçè§£æã®ç¥èŠã¯ãã¬ããŒãã®äžã«åãããŠããŸãããšããããããŸããSmart TS XLã¯ãéåæã€ã³ããªãžã§ã³ã¹ãäžå åãããã¢ããã€ãŒãŒã·ã§ã³ããã·ã¥ããŒãã«çµ±åããããšã§ããã®ã®ã£ãããåããŸãããããã®ããã·ã¥ããŒãã¯ãè€æ°ã®è§£æå®è¡ãCIãã€ãã©ã€ã³ãã©ã³ã¿ã€ã ã¢ãã¿ãŒããã®ããŒã¿ãéçŽããã·ã¹ãã ã®å¥å šæ§ã«é¢ããçµ±äžãããã¹ããŒã¿ã¹ãã¥ãŒãæäŸããŸãã
éçºè ãšã¢ããã€ãŒãŒã·ã§ã³ãªãŒããŒã¯ããªãªãŒã¹éã®éåæåäœã®é²åã远跡ã§ããŸããããã·ã¥ããŒãã§ã¯ããªãã¡ã¯ã¿ãªã³ã°ãäŸåé¢ä¿ã®å€æŽããŸãã¯æ°ãããã¬ãŒã ã¯ãŒã¯ãåæå®è¡æ§ãšã¬ã€ãã³ã·ã®ãããã¡ã€ã«ã«ã©ã®ãããªå€åããããããã確èªã§ããŸãããã®ç¶ç¶çãªãã£ãŒãããã¯ã«ãããå€§èŠæš¡ãªãªãšã³ãžãã¢ãªã³ã°ã§ã¯ãªããå埩çãªã¢ããã€ãŒãŒã·ã§ã³ãå¯èœã«ãªããŸãã
èšèšç念ã¯ãã¢ããªã±ãŒã·ã§ã³ããŒããã©ãªãªç®¡çãœãããŠã§ã¢ã§è°è«ãããŠããã®ãšåããè¿ä»£åã«ããéææ§ãéèŠããŠãããæççãªæåã¬ããŒããçµ±åçãªã€ã³ãµã€ãã«çœ®ãæããŠããŸããããã·ã¥ããŒãã«çµã¿èŸŒãŸããéåæåæã«ããããšã³ãžãã¢ãªã³ã°ãéçšãã¢ãŒããã¯ãã£ããŒã éã®æææ±ºå®ã飿ºãããŸãã
éåæã®åœ±é¿ãšã©ã³ã¿ã€ã ãã¬ã¡ããªã®çžäºåç §
Smart TS XLã¯ãéçè§£æçµæãšã©ã³ã¿ã€ã ãã¬ã¡ããªã飿ºãããéåæããžãã¯ãæ¬çªç°å¢ã§ã©ã®ããã«åäœããããæ€èšŒããŸããäºæž¬ãããäŸåé¢ä¿ãšèŠ³æž¬ããããã¬ãŒã¹ãçžé¢ãããããšã§ãã³ãŒããèšèšã©ããã«å®è¡ãããç®æãšéžè±ãçºçããç®æãç¹å®ããŸãã
äŸãã°ãéçã¢ããªã³ã°ã§ã¯3ã€ã®äŸåãµãŒãã¹ãå«ãPromiseãã§ãŒã³ã瀺ããããã®ã®ããã¬ã¡ããªã§ã¯ã¢ã¯ãã£ããªåŒã³åºãã2ã€ãã瀺ãããªãå Žåãã·ã¹ãã ã¯ãã®äžäžèŽããã€ã©ã€ã衚瀺ããŠèª¿æ»ãä¿ããŸãããã®çžäºæ€èšŒã«ãããåæã®ç²ŸåºŠã確ä¿ãããå°æ¥ã®äºæž¬ã®ä¿¡é Œæ§ãåäžããŸãã
éçèŠç¹ãšå®è¡æèŠç¹ãçµã¿åãããããšã§ãå®è¡æåæã®æŠå¿µãæ¡åŒµãããç¶ç¶çãªéåæã€ã³ããªãžã§ã³ã¹ãžãšçºå±ããŸããããã«ãããã¢ããªã³ã°ãšæž¬å®ã®éã®ã«ãŒããéããããèšèšããå±éãŸã§äžè²«ããå¯èŠæ§ã確ä¿ãããŸãã
èªååãããéåæããã©ãŒãã³ã¹ããŒã¹ã©ã€ã³ã®æå¹å
Smart TS XLã¯ãCI/CDã¯ãŒã¯ãããŒãšã®çµ±åã«ãããéåæå®è¡ã®ããã©ãŒãã³ã¹ããŒã¹ã©ã€ã³ãèªåã§ç¢ºç«ããŸãããã«ããŸãã¯ãããã€ã¡ã³ãããšã«ãã·ã¹ãã ã¯æ°ããäŸåé¢ä¿ããããéå»ã®ããŒã¹ã©ã€ã³ãšæ¯èŒããæ§é çãªããªãããæž¬å®ããŸãã远å ã®ã€ãã³ããªã¹ããŒãããæ·±ãPromiseãã§ãŒã³ãæ°ãã䞊åã¿ã¹ã¯ãªã©ã®éžè±ã¯ãããã©ãŒãã³ã¹ãŸãã¯ä¿¡é Œæ§ãžã®æœåšçãªåœ±é¿ã瀺ããŸãã
ãã®èªååã«ãããã·ã¹ãã ã®é²åãæ£ç¢ºã«ææ¡ããªãããæäœæ¥ã«ããæ€æ»ãäžèŠã«ãªããŸããããŒã¹ã©ã€ã³ããŒã¿ã¯ç¶ç¶çãªæ¹å掻åããµããŒãããã¢ããã€ãŒãŒã·ã§ã³ã®æåã瀺ãå ·äœçãªææšãæäŸããŸãã
ãœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã§è©³è¿°ãããŠããã¢ãããŒããšåæ§ã®ææ³ã¯ãç¶ç¶çãªæ§é ç£èŠãããã«éçãªç¥èŠãçããã¢ãŒããã¯ãã£ç¥èãžãšå€æãããã瀺ããŠããŸããéåæç°å¢ã«ãããŠã¯ããã®ç¶ç¶çãªæ€èšŒã«ãããã·ã¹ãã ãæé·ããŠãè€éããåžžã«èŠ³æž¬å¯èœãã€ç®¡çå¯èœãªç¶æ ã«ä¿ãããŸãã
éåæã®è€éæ§ã«ãããäºæž¬å¯èœãªãã¹ã®èšç»
éåæããã°ã©ãã³ã°ã¯ãJavaScriptã·ã¹ãã ã®ã¹ã±ãŒã«ãšå¿çæ§ãå®çŸããæ¹æ³ãåå®çŸ©ããŸãããããœãããŠã§ã¢åæã®æ¬è³ªãå€é©ããŸãããéåæç°å¢ã§ã¯ãå¶åŸ¡ãããŒãããã°ã©ã ã®é åºãšå®å šã«äžèŽããªããªããç¹å®ã®ã¿ã€ãã³ã°ãšãªãœãŒã¹æ¡ä»¶äžã§ã®ã¿æ¬ é¥ãè匱æ§ãçºçããå¯èœæ§ããããŸããéçåæã¯ãç·åœ¢æ€æ»ããã忣ã·ã¹ãã å ã§ã®Promiseãã€ãã³ããé å»¶å®è¡ã®çžäºäœçšãåæ§ç¯ã§ãã倿¬¡å ã¢ããªã³ã°ãžãšé²åããŸããããã€ãŠã¯æšæž¬ã詳现ãªå®è¡æãã¬ãŒã¹ãå¿ èŠãšããŠãããã®ããä»ã§ã¯æž¬å®å¯èœãèŠèŠçããããŠèª¬æå¯èœãªãã®ãšãªã£ãŠããŸãã
ãã®èšäºã§ç޹ä»ããææ³ãéããŠãéçè§£æã¯äŒæ¥ãéåæã®è€éããèªä¿¡ãæã£ãŠç®¡çããããã«å¿ èŠãªç²ŸåºŠãæäŸããŸããå¶åŸ¡ãããŒã°ã©ãã®æ¡åŒµãã¡ãã»ãŒãžäŒæã®ãããã³ã°ãã¢ãžã¥ãŒã«ãšAPIã®çžé¢é¢ä¿ã®ææ¡ãåæå®è¡åäœã®å®éåã«ããããšã³ãžãã¢ãªã³ã°ããŒã ã¯äžæãªãã¢ããã€ãºããããã®æç¢ºãªæ å ±ãåŸãããšãã§ããŸããéåæè§£æãCI/CDãã€ãã©ã€ã³ã«çµ±åããããšã§ãæœåšçãªæ¬ é¥ãéå¹çæ§ããããã€åã«æ€åºã§ããããã«ãªããŸãããŸããSmart TS XLãªã©ã®å¯èŠåãã©ãããã©ãŒã ã¯ãè€éãªäŸåé¢ä¿ããŒã¿ãããããããã€ã³ããªãžã§ã³ã¹ã«å€æããŸãã
éåæåŠçãžã®å¯Ÿå¿ã¯ãåŸæ¥ã®åæã§ã¯æããããªãæ§ã ãªåŽé¢ã«ãããŠãœãããŠã§ã¢ã®å質ãåäžãããŸããããã©ãŒãã³ã¹ã®æé©åããšã©ãŒã®äŒæãããŒã¿ã®æŽåæ§ãªã©ããæ°åãã®åæãã©ã³ã¶ã¯ã·ã§ã³ã«ãããŠãå¯èŠåããã远跡å¯èœã«ãªããŸããã©ã³ã¿ã€ã åæã圱é¿åæãã¹ããšãã£ãé¢é£ç ç©¶ããã®ç¥èŠãšçµã¿åãããããšã§ãéçåæã¯åãªãæ€èšŒããŒã«ã§ã¯ãªããè¿ä»£åãšã€ãããŒã·ã§ã³ãå°ãã¢ãŒããã¯ãã£ã®çŸ éç€ãšããŠæ©èœããŸãã
Smart TS XLã¯ããŸãã«ãã®é²åãäœçŸãã補åã§ããéçã¡ããªã¯ã¹ãå®è¡æãšããã³ã¹ããããŠäŸåé¢ä¿ã®å¯èŠåãçµ±ååæãã©ãããã©ãŒã ã«çµ±åããããšã§ãçµç¹ã¯éåæåäœãç¬ç«ããã€ãã³ãã®éåäœãšããŠã§ã¯ãªãããŸãšãŸãã®ããã·ã¹ãã ãšããŠèгå¯ã§ããããã«ãªããŸããããŒã ã¯åé¡ãããè¿ éã«èšºæãããªãœãŒã¹å©çšãæé©åããã¢ããã€ãŒãŒã·ã§ã³ã®ææãå®èšŒçãªç²ŸåºŠã§æ€èšŒã§ããŸããããžã¿ã«ããã©ãŒãã³ã¹ãäŒæ¥ã®ç«¶äºåãæ±ºå®ã¥ããæä»£ã«ãããŠãSmart TS XLã¯éåæã®è€éããäºæž¬å¯èœãã€æž¬å®å¯èœãªã€ã³ããªãžã§ã³ã¹ãžãšå€æããä¿¡é Œæ§ãšå€é©ã®äž¡æ¹ãæšé²ããŸãã