
ïœäœã¿ãããšããã§ããããä»äºïœå šåœåå°ã§åãã¡ã³ããŒç޹ä»ïŒãVol.3京éœåºç·šã
ã¡ã³ããŒåéäžïŒ èªä¿¡ãæã£ãŠæ¥åã«åãçµããè·å Žç°å¢ãæäŸããŠããŸãïŒ
ã€ãŒã»ãšãŒãžã§ã³ã·ãŒïŒä»¥äžãeAïŒæ¡çšæ
åœã®å€ªç°ã§ãïŒ
é éå°ã§åãã¡ã³ããŒãžã®ã€ã³ã¿ãã¥ãŒãäžäººç®ã¯äº¬éœåºã«ãäœãã®ãšã³ãžãã¢ãå®®åŽããã«ã話ããèãããŸããïŒeAå
¥ç€Ÿã®ãã£ãããéçºç°å¢ãäžé·ã®ããšãæ¥é ã®ããŒã ã§ã®ãããšããªã©ã話é ããŸãããæå€ãªäº¬éœåç©ãæããŠé ããŸããããŒïŒ

åå ããã ããŸããïŒ
â ãããããšã³ãžãã¢ãã®ã¢ã€ã³ã³ã®ãããªäººã«åºäŒãã
ãŒãä»äºã«ã€ããŠæããŠãã ããïŒ
ã客æ§ã®éçºããŒã ã«ãžã§ã€ã³ããããã¯ãšã³ãã®éçºãäž»ã«è¡ã£ãŠããŸããæ¢åã®ã·ã¹ãã ãæ°ããåæ§ç¯ããŠããéçšã§ãèšèšããå®è£
ãŸã§æ
åœããŠããŠãæ°ãããªãªãŒã¹ããåŸã¯ãä¿å®ãè¡ãäºå®ã§ãã
ãŒåè·ããšã³ãžãã¢ã§ããã£ããããŸãããæ¥åãç°å¢é¢ã®éãã¯ãããŸããïŒ
åè·ã§ãç£èŠã¯è¡ã£ãŠããã®ã§ãéçšããããã·ã¹ãã ãäœããæ§ããã®çµéšã掻ãããããããªãšæã£ãŠããŸãã
éçºç°å¢ã¯ãçŸåšã®æ¥åã§ã¯GithubActionãšSaaSãæŽ»çšããCICDç°å¢ãå
å®ããŠããŠããããã€ãŸã§å
šãŠèªååãããŠããŸãã
GitHubã«pushããæç¹ã§ãreviewdogã§Lintãã§ãã¯ãJestã«ãããŠããããã¹ããše2eãã¹ããCodecovã§ãã¹ãã¬ãã¬ããžèšæž¬ãããã¥ã¡ã³ãã®çæãèªåã§å®è¡ãããŸããè匱æ§ã«å¯ŸããŠã¯ãSnykã«ãããäŸåã©ã€ãã©ãªãè匱æ§ã®å«ãŸããã³ãŒããã³ã³ããã®è匱æ§ãpushã®æç¹ã§ã·ããã¬ããã§æ©æã«æ€åºãããŸããã¢ããªã±ãŒã·ã§ã³äŸå€ã¯ããã³ããšã³ãã»ããã¯ãšã³ãå
±ã«Sentryã§ç®¡çãããŠããŸãã
ãŸããSPA+backend(RestAPI)ã®æ§æã§éçºãè¡ãããŠããŸãããTerraformã«ãããã«ãªã¯ãšã¹ãã«å¯Ÿå¿ããäœ¿ãæšãŠã®ã³ã³ãããäœæãããã®ã§ãã¹ããŒãžã³ã°ç°å¢ã§ã®çéã§ã¯ç¡ãAPIã®éçºæç¹ã§ããã³ããšã³ãåŽãšåäœããã¢ããªã±ãŒã·ã§ã³ããã³Swaggerã§ã€ã³ã¿ãŒãã§ã€ã¹ã®çéãå³ããããã«ãªã£ãŠããŸãããªãã¶ãŒãããªãã£ã¯ã¢ããªã±ãŒã·ã§ã³ã®ãã°ãå«ãããããžãã¡ããªã¯ã¹ãã€ãã³ããDatadogã«éçŽããSLOãå«ãããã·ã¥ããŒãã§å
šäœç¶æ³ãææ¡ã§ããããã«ãªã£ãŠããŸããã€ã³ã·ãã³ã管çã«ã€ããŠã¯ãPagerDutyã§ãªã³ã³ãŒã«ããŒããŒã·ã§ã³ãšãšã¹ã«ã¬ãŒã·ã§ã³ããªã·ãŒããã¹ãã¢ãŒãã ãŸã§ãããŒãå®ããããŠããŸãã
ãŒãªãã»ã©ïŒå
±æãè匱æ§ã®ãã§ãã¯ãªã©æäœæ¥ããªããŠãæ©æ¢°ã§èªååã§ããéšåãæŽã£ãŠãããã§ãã
ããã§ãããåè·ã§ãCICDã®ç°å¢èªäœã¯ãã£ãã®ã§ããããããŸã§æœ€æ²¢ã«æŽã£ãŠããã®ã¯ããããªãšæããŠããŸãã

å®®åŽããPCã«ã¡ã©ã§ã®ããã€ãã³ã°ãããã³ããèŠããªãã³ã°ã®æ§å

ãŒã¹ã«ãŠããµãŒãã¹ã§eAåŽããã声æããããå
¥ç€Ÿé ããŠããŸãããå
¥ç€Ÿã®æ±ºãæã¯ã©ããªããšã§ãããïŒ
颿¥ã§çŸåšã®äžé·ãšè©±ããããšã¯å€§ããã£ããšæã£ãŠããŸããæ¥åã§å©çšãããŠããã¢ãã³ãªéçºç°å¢ã«ã€ããŠèª¬æããŠé ããæã¯ã·ã³ãã«ã«ã¯ã¯ã¯ã¯ããŸããããäœããâæè¡ããã£ããæã£ããšã³ãžãã¢ãããâãšããããšã«å®å¿æããããŸããã
ãŒäžé·åã³ãŸãããŒïŒâæè¡ããã£ããæã£ããšã³ãžãã¢âã察å¿ããŠãããããã客æ§ã®ãµãŒãã¹éçºæ¥åã«ãããŠããå ã»ã©ã®ãããªç°å¢ãæŽã£ãŠããããšããããšã«ãç¹ããããšæããŸã
ããã§ããã颿¥ã®æããæè¡ã®å°è±¡ã¯ãããŸããããå ¥ç€ŸåŸãéçºç°å¢ãã³ãŒãã¬ãã¥ãŒãããŠé ãæãªã©ãå®åã®è£æã¡ãæããŠããŸãã
ãŒã¹ãã«ã¢ããã®ããã®ã転è·ã ã£ããšèšæ¶ããŠããŸãããçŸåšã®æ¥åã¯ãã©ã€ã æ¡ä»¶ãªã®ã§ã客æ§ãšã®ãããšãããããšæããŸãããä»äºã®ããæ¹ãªã©åè·ãšã®ã®ã£ãããéãã¯ãããŸããïŒ
åè·ãçŸåšãšäŒŒããããªæãã§ãã客æ§å
ã§ä»ã®ãã³ããŒãããšãäžç·ã«ããŒã ãçµãã§éçºãè¡ã£ãŠããã®ã§ãåæ°ãããããšããç©ºæ°æã圢æ
ã¯äŒŒãŠãããšæããŸãã
ã¹ãã«ã¢ããã®ããã«ã¯ãæè¡åã®ãããšã³ãžãã¢ã®äžã§å匷ããã®ã1çªæé·ã«ç¹ãããšèããŠããŸãããéžèã®éçšã§ãçŸåšã®äžé·ã詳现ã«éçºç°å¢ãªã©ã話ããŠãããŠãè»¢è·æŽ»åããŠããäžã§ã¯ãããããšã³ãžãã¢ãã®ã¢ã€ã³ã³ã®ãããªäººã«åºäŒãããšæããŸããã

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


ãŒã¿ããªã§å®®åŽããã«æããããåºã®æ
å ±ãå¯ãåã£ããã§ããïŒç¬ïŒ
ããã§ãããéè«ã®Slackã¯ã客æ§ãšãäžç·ã«ãããšãããŠãããã®ãªã®ã§ãã客æ§ãããã«ã¬ãŒå±ãããæããŠããããŸããïŒç¬ïŒé°å²æ°ãªã©ããŒã äœãã¯äžé·ããããæèããŠãããŠãããšæããŠããŸãããå
šäœã®çç£æ§ãäžããã«ã¯ããŒã ã§ååãåãããšãå¿
èŠã§ããã®ããã«ã¯ã³ãã¥ãã±ãŒã·ã§ã³ã最æ»ã«ããããšãå¿
èŠæ¡ä»¶ããšè©±ããŠããŸãããæ¥é ã®éè«ãæå³çã«èšããŠçºèšããããç°å¢ãäœã£ãŠãããŠãããšæããŸãã
ãŒäžé·ãã¡ã³ããŒã«ãããããã«èª¬æããŠãããããšãã¡ã³ããŒã¯äžé·ã®æå³ããã¿åããããšããã®é¢ä¿æ§ãçæéã§æ§ç¯ã§ããŠããã®ã¯ãæ¥ã æè¡ã«åãåããªããããŸããªã³ãã¥ãã±ãŒã·ã§ã³ãåããŠããããããã ãšæããŸãã
ã³ãã¥ãã±ãŒã·ã§ã³ããŒã«ã¯ã客æ§ã®ç°å¢äžã®ãã®ãªã®ã§ãã¿ã¹ã¯ç¢ºèªãªã©ãæ¥é ããã客æ§ãåå ããŠãããã£ã³ãã«å
ã§ãããšãããŠããŸãããããã£ããããšãããã客æ§ãšãããŒãããŒãšããŠä»¥äžã«ãããŒã ãšããŠéçºãè¡ã£ãŠããããšã«ç¹ãã£ãŠãããšæã£ãŠããŸãã
æè¡é¢ã§ãããšã³ãŒãã¬ãã¥ãŒã®æã¯VSCodeã®ã©ã€ãæ©èœã䜿ããªã©ãé£ã«åº§ã£ãŠè©±ããªãåãã·ã¹ãã ãæŽ»çšããŠã¹ã ãŒãºã«ãããšãã§ããŠããŸãã
ãŒéè«ã®æéãèšããããã·ã¹ãã ãæŽ»çšããŠæè¡çãªè©±ãã¹ã ãŒãºã«ã§ããç°å¢ã«ããŠããããšã§ãé¢ããŠããŠãããŒã ã§æ¥åããããäœå¶ãäœãããŠãããã§ããã

â å ¥ç€Ÿåæ¥ã察é¢ã§è©±ããããšã¯å€§ããã£ã
ãŒeAã¯å šç€Ÿã§ãªã¢ãŒãã¯ãŒã¯ã¡ã€ã³ã§ããããã£ãããããªãšæãããšã¯ãããŸããïŒ
æ¢ã«ãªã¢ãŒãã¯ãŒã¯ã®æåœã¯ãããŸãããããå°ãèžã¿èŸŒãã§èªå® ã®æ¥åç°å¢ã®æŽåã«ããã£ãæ©æã®è³Œå ¥çãäžéšãçµè²»ã§åºããšå¬ãããªã»ã»ãšæã£ãŠããŸãïŒç¬ïŒ
ãŒåè·ã§ã®å°±æ¥ç°å¢ã»ç¶æ³ã«ããéšåããããŸãããèšåã¯å¿ èŠã§ãããã»ã»ïŒ
ããã§ãããåè·ã§ããªã¢ãŒãã¯ãŒã¯èªäœã¯è¡ã£ãŠããã®ã§ä»ãäžäŸ¿ã¯ç¡ãã®ã§ãããé·ãæéèªå® ã§æ¥åããã®ã§åŸã ã«è¯ãããŠããããã§ããé±1ãããã§ãããã庵ããæŽ»çšãããã§ããã
ãŒä»ã¯äº¬éœã«ãäœãŸãã§ãããå°å ã京éœã§ããã£ãïŒ
ã¯ããçãŸãã京éœã§ãããã ããã«ãªã¢ãŒãã«ãªã£ãŠãä»åŸã¯äœãå Žæã®éžæè¢ãåºãããªãšæã£ãŠããŸãã
ãŒæ¥åãããŒã ã«ãæ £ããŠããŠã次ã®å±éã«å¿åãåããŠããã®ããªãšæããŸãã
ãããã«ãããžãã£ãã«èšã£ãŠé ãããšããã§ããïŒç¬ïŒ
ããŒã ãšããã°ãå
¥ç€Ÿæ¥åæ¥ã«åºç€Ÿã§ããã®ã仿ãã°è¯ãã£ããšæã£ãŠããŸãã転è·ã«ããã£ãŠããªã¢ãŒãã§äººéé¢ä¿ããŒãããç¯ããªããã°ãããªããšã«ã¯äžå®ããããŸãããå
¥ç€Ÿæ¥ã«å®éã«åãã¡ã³ããŒãšé¡ãåãããããšã§ããããããé°å²æ°ã®äººãªãã ããšç¥ãããšãã§ããŸãããå°å
ã«æ»ã£ãŠããããæ±äº¬ã©ãã ã£ãïŒç¡äºã«åž°ããïŒããšãã£ãã³ãã¥ãã±ãŒã·ã§ã³ã®å°å
¥éšåã§ããã¯ã«ããªããŸããããã¡ãããå®¶ããå®¶æãªã©ãå®¶åºã®ç¶æ³ã«ããããŸãããããããå
¥ç€Ÿããæ¹ããã§ããã ã忥ã¯åºç€Ÿã§ããæ¹ãè¯ããªãšæããŸããã

å 茩ã¡ã³ããŒã®ããšã楜ãããã«ã話ãããã®ãå°è±¡çã§ãã
ãŒæè¡ãèšåã®ã話ãå°è±¡çã§ããããä»äºããã©ã€ããŒãã§ãããããã£ãŠããããããšã¯ãããŸããïŒ
ææçãèœã¡çããŠããã®ã§ãå°æ¹ŸãšããããŸã§é ããªããšããã«æ è¡ã«è¡ããããªãšæã£ãŠããŸãã
ãŒæµ·å€æ è¡ã¯å ã ããè¡ã£ãŠãããã§ããïŒ
è °ãéãæ¹ãªã®ã§ïŒç¬ïŒäžåœãšã°ã¢ã ãããã§ããããŸã§å€ãã¯ç¡ããã§ãããææçãæµè¡ãåããå°æ¹Ÿã«ã¯è¡ã£ãŠã¿ãããšæã£ãŠããŸããã芳å ãã ãã¶ã§ããããã«ãªã£ãŠããŠãããããªã®ã§ãå®è¡ãããã§ããã
â è»¢è·æŽ»åã¯ç®çãæ±ºããŠæ ¹æ°åŒ·ã
ãŒãããŸã§å®®åŽããã®ããšããèãããŠããŸããããå®®åŽããã«ãšã£ãŠãeAã«åãæ¹ã¯ã©ããªæ¹ã§ãããïŒ
ä»éšéã®æ¹ãšããŸãã話ã§ããŠããªãã®ã§ãããŒã ã«éã£ãŠããã°ãæè¡çãªéšåã§åäžå¿ãããæ¹ãåããŠãããªãšæããŸããããèšãç§ããã·ã¹ãã ã®èšèšã«ã€ããŠæ¯æ¥å匷ãããŠé ããŠããŸãã

ãŒããŒã ã§ã¯å匷äŒã®ãããªæ©äŒã¯ããã®ã§ããããïŒ
æè¿ã¯ã§ããŠããªããã§ãããä»åŸã¯ãã£ãŠãããããšäžé·ãšè©±ããŠããŸãããåè·ã§ãã¿ããªã§åæ°ãããããšããé°å²æ°ã®å匷äŒã¯è¡ã£ãŠããã®ã§ãããæè¡é¢ã§é«ãåäžãèŠèŸŒãããšããããã調ã¹ãŠç¥èŠãåãåããããªåœ¢ã§ãå人çã«ã¯éçãæããŠããŸãããä»ã¯ç¥èŠã®ãããšã³ãžãã¢ã®ããšã§æãããªããæé·ããŠãããã§ãŒãºãªã®ããªããšãç§èªèº«ãæ°ããå ¥ã£ãŠããã¡ã³ããŒã«ã¯ã¢ãŠããããããŠããããããã«ãªããããšæã£ãŠããŸãã
ãŒãè»¢è·æŽ»åããããŠããæ¹ã«ã²ãšããšãé¡ãããŸãïŒ
転è·ãšãªããšãå¿
ç¶çã«çŸåšã®ç°å¢ãããè¯ããšãããæ±ãããšæããŸãããæ ¹æ°åŒ·ãããããšã倧åã ãšæããŸããç§ãeAã®éžèåã«ä»ç€Ÿãããå
å®ãé ããŠããã®ã§ãããæ¡ä»¶ãç°å¢ã§è
¹èœã¡ãããå床掻åãããŠããšããã®ãç¹°ãè¿ããŠãçžãã£ãŠeAã«å
¥ç€ŸããŸããããªãã§è»¢è·ããã®ããæ°ããç°å¢ã«æ±ããŠãããã®ã¯äœãªã®ããç®çãæç¢ºã«ããããšãå¿
èŠã ãšæããŸãã

æåŸã¯ç¬é¡ã§ãã€ãã€ïŒâš
â å°å ã®ããããâ
京éœé§ è¿ãã®ã©ãŒã¡ã³
ðæ°çŠè通
ðç¬¬äžæ
ã京éœã¯èгå
ã®ã€ã¡ãŒãžã匷ããšæããŸãããæå€ãšã©ãŒã¡ã³ãçŸå³ããã§ãããšã®ããšãã¢ã¯ã»ã¹ãããã+çŸå³ããïŒã§ããªã¹ã¹ã¡é ããŸããïŒ
äžç·ã«ã€ã³ã¿ãã¥ãŒã«åå é ããåºå ±ã®ã²ããããïŒé¢è¥¿åºèº«ïŒãããã®2ä»¶ã¯ééããªãããšã®ããšããããŠã€ã³ã¿ãã¥ãŒäžã«ãç¬¬äžæãã®ãµã€ããçã§äžç·ã«èŠãªãããåç£çšçã©ãŒã¡ã³ã»ãããçºèŠãä»å¹Žã®å
šç€Ÿãªã³ã©ã€ã³çŽäŒã®æ¯åã¯ãããè¯ããªãããªããŠã話ãããŸããã
â ã€ã³ã¿ãã¥ãŒãçµããŠ
ãšã³ãžãã¢ã®å®®åŽããã«ã話ããèãããŸããã
é¢è¥¿åºèº«ã®ã²ãããããš2人ã§ã®äŒè©±ã®æã¯ãããã¯ããã§ããïŒããªã©ãææäº¬éœåŒãåºãŠã¯ããªããšããé°å²æ°ãªã®ã§ããããæœ€æ²¢ãªç°å¢ãããåäžå¿ãããç®çãæç¢ºã«ããªã©ãåºãŠããã¯ãŒãã¯åŒ·ãææãæè¡ãžã®é«ãææ¬²ãæãããã®ã°ããã
ããããããããã§ãããããšããæ°æã¡ãè¯ã匷ãããŠããã®ããªãšæããŸãããèªåãã¹ã«ãŠããéã£ãŠãå
¥ç€Ÿé ããæ¹ãšããããã圢ã§ãŸãã話ã§ããããšã¯ãç§å人ãšããŠãããšãŠã貎éãªæéã§ããã
å®®åŽãããããããšãããããŸããïŒ
åœç€Ÿã§ã¯ãçŸåšäžç·ã«åã仲éãåéããŠããŸãã
äžèšã®æ¡çšæ
å ±ããã²ã芧ãã ããïŒãå¿åããåŸ
ã¡ããŠãããŸã
â°éçºããã°ã©ããŒã«å¿åããïŒâ°
â°æ¡çšãµã€ãã§ããã£ãšå 茩瀟å¡ãç¥ãïŒâ°
â°ãšã³ãžãã¢åéäžïŒâ°
â°åœç€Ÿä»£è¡šåç· åœ¹ã嵿¥æã®ããšãäŒç€Ÿãžã®æ³ããç¶Žã£ãŠããŸãâ°