å ç¢ã§ä¿¡é Œæ§ã®é«ãã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®ããã¯ãšã³ãçµ±åãã¹ãæŠç¥ããã¹ã¿ãŒãã·ãŒã ã¬ã¹ãªã·ã¹ãã çµ±åãå®çŸããæ¹æ³è«ãããŒã«ããã¹ããã©ã¯ãã£ã¹ã解説ããŸãã
ããã¯ãšã³ããã¹ãïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®å æ¬çãªçµ±åæŠç¥
仿¥ã®çžäºæ¥ç¶ãããäžçã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãã¹ã¿ã³ãã¢ãã³ã®ãšã³ãã£ãã£ã§ããããšã¯çšã§ããå€ãã®å Žåãæ§ã ãªããã¯ãšã³ããµãŒãã¹ãããŒã¿ããŒã¹ãå€éšAPIã«äŸåããŠãäžçäžã®ãŠãŒã¶ãŒã«æ©èœãæäŸããŠããŸãããããã®ã³ã³ããŒãã³ããã·ãŒã ã¬ã¹ã«é£æºããããšãä¿èšŒããããšã¯ãè¯å¥œãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšã·ã¹ãã å šäœã®å®å®æ§ã«ãšã£ãŠæ¥µããŠéèŠã§ããããã§ããã¯ãšã³ãçµ±åãã¹ããéèŠãªåœ¹å²ãæãããŸãã
ããã¯ãšã³ãçµ±åãã¹ããšã¯ïŒ
ããã¯ãšã³ãçµ±åãã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç°ãªãããã¯ãšã³ãã³ã³ããŒãã³ãéã®çžäºäœçšãšããŒã¿ãããŒãæ€èšŒããããšã«çŠç¹ãåœãŠãŸããåã ã®ã³ã³ããŒãã³ããåé¢ããåäœãã¹ããè¶ ããŠããããã®ã³ã³ããŒãã³ããçµ±åããããšãã«æ£ããæ©èœããããšã確èªããããšãç®çãšããŸããããã«ã¯ãAPIãããŒã¿ããŒã¹ãã¡ãã»ãŒãžãã¥ãŒããã®ä»ã®ããã¯ãšã³ããµãŒãã¹ã®ãã¹ããå«ãŸããŸããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåãããã¯ããŒã¿ãç°ãªãå°åãã¿ã€ã ãŸãŒã³ãè¶ããŠæ£ããåŠçãããããšãæ€èšŒããããšãæå³ããŸãã
ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã«çŠç¹ãåœãŠãããã³ããšã³ããã¹ããšã¯ç°ãªããããã¯ãšã³ãçµ±åãã¹ãã¯ãæ°Žé¢äžãã§åäœããããŒã¿ã®æŽåæ§ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ãæ€èšŒããŸããé©åã«å®è¡ãããçµ±åãã¹ãæŠç¥ã¯ãéçºã©ã€ããµã€ã¯ã«ã®æ©ã段éã§åé¡ãç¹å®ããŠè§£æ±ºããæ¬çªç°å¢ã§ã®ã³ã¹ãã®ãããç Žå£çãªé害ãé²ãããã«äžå¯æ¬ ã§ãã
ãªãããã¯ãšã³ãçµ±åãã¹ãã¯éèŠãªã®ãïŒ
ããã¯ãšã³ãçµ±åãã¹ãã«ã¯ãããã€ãã®äž»èŠãªå©ç¹ããããŸãïŒ
- æ©æã®æ¬ 饿€åºïŒ ãšã³ããŠãŒã¶ãŒã«åœ±é¿ãåã¶åã«ãçµ±åé¢é£ã®æ¬ é¥ãç¹å®ããŸãã
- ã·ã¹ãã ä¿¡é Œæ§ã®åäžïŒ ããã¯ãšã³ãã³ã³ããŒãã³ããä¿¡é Œæ§é«ãå¹ççã«é£æºããããšãä¿èšŒããŸãã
- éçºã³ã¹ãã®åæžïŒ çµ±åã®åé¡ãæ©æã«ä¿®æ£ããããšã¯ãåŸã®æ®µéã§å¯ŸåŠãããããå€§å¹ ã«ã³ã¹ããå®ããªããŸãã
- ããŒã¿æŽåæ§ã®åŒ·åïŒ ããŒã¿ãç°ãªãã·ã¹ãã éã§æ£ããéä¿¡ã»ä¿åãããããšãæ€èšŒããŸãã
- åžå Žæå ¥ãŸã§ã®æéççž®ïŒ çµ±åé¢é£ã®é å»¶ãªã¹ã¯ãæžããããšã§ãéçºããã»ã¹ãåçåããŸãã
- ã»ãã¥ãªãã£ã®åäžïŒ ããã¯ãšã³ãçµ±åã«ãããã»ãã¥ãªãã£è匱æ§ãç¹å®ãã軜æžããŸãã
ç¹ã«ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãããã¯ãšã³ãçµ±åãã¹ãã¯ä»¥äžã®ããšãä¿èšŒããã®ã«ã圹ç«ã¡ãŸãïŒ
- ããŒã«ãªãŒãŒã·ã§ã³ãšåœéåïŒL10n & I18nïŒãžã®æºæ ïŒ ç°ãªãèšèªãéè²šãæ¥æåœ¢åŒã®é©åãªåŠçã
- ããŒã¿ã¬ãžãã³ã·ãŒãžã®æºæ ïŒ ç°ãªãå°åã«ãããããŒã¿ãã©ã€ãã·ãŒèŠå¶ïŒäŸïŒGDPR, CCPAïŒã®éµå®ã
- ã°ããŒãã«ãŠãŒã¶ãŒåãã®ããã©ãŒãã³ã¹æé©åïŒ äžçäžã®ãŠãŒã¶ãŒã«å¯ŸããŠäœé å»¶ãšé«å¯çšæ§ã確ä¿ã
äž»èŠãªçµ±åãã¹ãæŠç¥
ããã¯ãšã³ãçµ±åãã¹ãã«ã¯ããã€ãã®æŠç¥ãæ¡çšã§ããããããã«é·æãšçæããããŸãïŒ
1. ããã°ãã³çµ±å
説æïŒ ãã¹ãŠã®ããã¯ãšã³ãã³ã³ããŒãã³ããåæã«çµ±åããåäžã®ãŠããããšããŠãã¹ãããŸãã
å©ç¹ïŒ æå°éã®èšç»ãšèšå®ã§æžã¿ãŸãã
æ¬ ç¹ïŒ æ¬ é¥ã®ç¹å®ãšèšºæãå°é£ã§ããããã°ã«æéããããã倱æã®ãªã¹ã¯ãé«ãã§ãã
䜿çšå Žé¢ïŒ ã³ã³ããŒãã³ããéãããŠããå°èŠæš¡ãªãããžã§ã¯ãã«é©ããŠããŸãã
äŸïŒ ããã€ãã®ãã€ã¯ããµãŒãã¹ãããªãåçŽãªeã³ããŒã¹ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãè¿ éãªãããã¿ã€ãã³ã°ã®ããã«éçºã®åææ®µéã§ããã°ãã³çµ±åã䜿çšãããããããŸãããããããã¢ããªã±ãŒã·ã§ã³ãæé·ããã«ã€ããŠããã®ã¢ãããŒãã¯æç¶äžå¯èœã«ãªããŸãã
2. ãããããŠã³çµ±å
説æïŒ çµ±åã¯ãããã¬ãã«ã®ã³ã³ããŒãã³ãããå§ãŸããæ®µéçã«äžäœã¬ãã«ã®ã³ã³ããŒãã³ããçµ±åããŠãããŸãã
å©ç¹ïŒ äž»èŠãªèšèšäžã®æ¬ é¥ãæ©æã«æ€åºããã·ã¹ãã æ©èœã®æ©æãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãå¯èœã«ããŸãã
æ¬ ç¹ïŒ äžäœã¬ãã«ã®ã³ã³ããŒãã³ãã®ããã«ã¹ã¿ãïŒã¢ãã¯ãªããžã§ã¯ãïŒãäœæããå¿ èŠããããã¹ã¿ããæ£ç¢ºã«èšèšããããšãé£ããå ŽåããããŸãã
䜿çšå Žé¢ïŒ ãããã¬ãã«ã®ã¢ãŒããã¯ãã£ãæç¢ºã«å®çŸ©ãããŠãããããžã§ã¯ãã«é©ããŠããŸãã
äŸïŒ ãªã³ã©ã€ã³ãã³ãã³ã°ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããŸããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãšã³ã¢ãã³ãã³ã°ãµãŒãã¹ãçµ±åãããã®åŸãååŒåŠçãå£åº§ç®¡çãªã©ã®ã¢ãžã¥ãŒã«ãåŸã ã«çµ±åããŠãããããããŸãããåæã®çµ±åãã§ãŒãºã§ã¯ããããã®äžäœã¬ãã«ã¢ãžã¥ãŒã«ã®åäœãã·ãã¥ã¬ãŒãããããã«ã¹ã¿ãã䜿çšãããŸãã
3. ããã ã¢ããçµ±å
説æïŒ çµ±åã¯æäžäœã¬ãã«ã®ã³ã³ããŒãã³ãããå§ãŸããæ®µéçã«äžäœã¬ãã«ã®ã³ã³ããŒãã³ããçµ±åããŠãããŸãã
å©ç¹ïŒ äžäœã¬ãã«ã®ã³ã³ããŒãã³ãã培åºçã«ãã¹ããããããã¹ã¿ãã®å¿ èŠæ§ãæžããŸãã
æ¬ ç¹ïŒ äžäœã¬ãã«ã®ã³ã³ããŒãã³ãã®ããã«ãã©ã€ãïŒã¢ãã¯ãªããžã§ã¯ãïŒãäœæããå¿ èŠããããäž»èŠãªèšèšäžã®æ¬ é¥ã®æ€åºãé ããå¯èœæ§ããããŸãã
䜿çšå Žé¢ïŒ äžäœã¬ãã«ã®ã³ã³ããŒãã³ããæç¢ºã«å®çŸ©ãããå®å®ããŠãããããžã§ã¯ãã«é©ããŠããŸãã
äŸïŒ ããŒã¿åæãã©ãããã©ãŒã ã§ã¯ããŸãããŒã¿ã¹ãã¬ãŒãžãšåŠçã¢ãžã¥ãŒã«ãçµ±åãããã®åŸãã¬ããŒãã£ã³ã°ãå¯èŠåãªã©ã®äžäœã¬ãã«ã¢ãžã¥ãŒã«ãåŸã ã«çµ±åããŠãããããããŸãããåæã®çµ±åãã§ãŒãºã§ã¯ããããã®äžäœã¬ãã«ã¢ãžã¥ãŒã«ã®åäœãã·ãã¥ã¬ãŒãããããã«ãã©ã€ãã䜿çšãããŸãã
4. ãµã³ãã€ããçµ±åïŒãã€ããªããïŒ
説æïŒ ãããããŠã³çµ±åãšããã ã¢ããçµ±åã®çµã¿åããã§ãé«ã¬ãã«ãšäœã¬ãã«ã®ã³ã³ããŒãã³ãã«åæã«çŠç¹ãåœãŠãŸãã
å©ç¹ïŒ ãã©ã³ã¹ã®åããã¢ãããŒããæäŸããç°ãªãã³ã³ããŒãã³ãã®äžŠè¡ãã¹ããå¯èœã«ããã¹ã¿ããšãã©ã€ãã®äž¡æ¹ã®å¿ èŠæ§ãæžãããŸãã
æ¬ ç¹ïŒ æ éãªèšç»ãšèª¿æŽãå¿ èŠã§ã管çãããè€éã«ãªãå¯èœæ§ããããŸãã
䜿çšå Žé¢ïŒ è€æ°ã®ããŒã ã䞊è¡ããŠäœæ¥ããå€§èŠæš¡ã§è€éãªãããžã§ã¯ãã«é©ããŠããŸãã
äŸïŒ ã°ããŒãã«ãªãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã§ã¯ããŠãŒã¶ãŒãããã¡ã€ã«ãšã³ã³ãã³ã管çã¢ãžã¥ãŒã«ïŒãããããŠã³ïŒãçµ±åãããšåæã«ãéç¥ãšã¡ãã»ãŒãžã³ã°ã¢ãžã¥ãŒã«ïŒããã ã¢ããïŒãçµ±åããããã«ãµã³ãã€ããçµ±åã䜿çšãããããããŸãããããã«ããããã©ãããã©ãŒã å šäœã®äžŠè¡ãã¹ããšè¿ éãªçµ±åãå¯èœã«ãªããŸãã
5. ã¢ãžã£ã€ã«çµ±å
説æïŒ çµ±åã¯ãã¢ãžã£ã€ã«éçºææ³ãšé£æºããŠãå¢åçãã€å埩çã«å®è¡ãããŸãã
å©ç¹ïŒ ç¶ç¶çãªçµ±åãšãã£ãŒãããã¯ãçµ±ååé¡ã®æ©æç¹å®ãã³ã©ãã¬ãŒã·ã§ã³ãšã³ãã¥ãã±ãŒã·ã§ã³ã®ä¿é²ã
æ¬ ç¹ïŒ èªååãšç¶ç¶çãã¹ããžã®åŒ·ãéäžãå¿ èŠã§ãå€§èŠæš¡ã§è€éãªãããžã§ã¯ãã§ã¯ç®¡çãé£ããå ŽåããããŸãã
䜿çšå Žé¢ïŒ ã¢ãžã£ã€ã«éçºææ³ã䜿çšããŠãããããžã§ã¯ãã«é©ããŠããŸãã
äŸïŒ ã¢ãã€ã«æ±ºæžã¢ããªã±ãŒã·ã§ã³ãéçºããŠãããã£ã³ããã¯äŒæ¥ã¯ãã¢ãžã£ã€ã«çµ±åã䜿çšããŠãæ¢åã®ãã©ãããã©ãŒã ã«æ°æ©èœãæ©èœæ§ãç¶ç¶çã«çµ±åãããããããŸãããåçµ±ååŸã«èªåãã¹ããå®è¡ãããæ°æ©èœãæ¢åã®æ©èœãå£ããŠããªãããšã確èªããŸãããã®ã¢ãããŒãã«ãããè¿ éãªå埩ãšåžå Žæå ¥ãŸã§ã®æéççž®ãå¯èœã«ãªããŸãã
ããã¯ãšã³ãçµ±åãã¹ãã®ãã¹ããã©ã¯ãã£ã¹
广çãªããã¯ãšã³ãçµ±åãã¹ãã確å®ã«ããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããïŒ
- æç¢ºãªçµ±åãã€ã³ããå®çŸ©ããïŒ ããã¯ãšã³ãã³ã³ããŒãã³ãéã®ãã¹ãŠã®çµ±åãã€ã³ããç¹å®ããææžåããŸãã
- å æ¬çãªãã¹ãã±ãŒã¹ãéçºããïŒ ããžãã£ãããã¬ãã£ããå¢çæ¡ä»¶ãå«ãæ§ã ãªã·ããªãªãã«ããŒãããã¹ãã±ãŒã¹ãäœæããŸãã
- ãã¹ããèªååããïŒ çµ±åãã¹ããèªååããäžè²«æ§ã®ããåçŸå¯èœãªçµæãä¿èšŒããŸãã
- ã¢ãã¯ãªããžã§ã¯ããšã¹ã¿ãã䜿çšããïŒ å©çšã§ããªãããŸãã¯äŸåããã³ã³ããŒãã³ãã®åäœãã·ãã¥ã¬ãŒãããããã«ãã¢ãã¯ãªããžã§ã¯ããšã¹ã¿ãã䜿çšããŸãã
- ãã¹ãçµæãç£èŠã»åæããïŒ ãã¹ãçµæãæ³šææ·±ãç£èŠããçµ±åã®åé¡ãè¿ éã«ç¹å®ããŠå¯ŸåŠããŸãã
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãå®è£ ããïŒ ããã¯ãšã³ãã³ã³ããŒãã³ããé »ç¹ãã€èªåçã«çµ±åããçµ±åã®åé¡ãæ©æã«æ€åºããŸãã
- æ¬çªã«è¿ãç°å¢ã§ãã¹ãããïŒ çŸå®çãªãã¹ãæ¡ä»¶ãä¿èšŒããããã«ãæ¬çªç°å¢ã«é ·äŒŒããç°å¢ã䜿çšããŸãã
- ããã©ãŒãã³ã¹ãã¹ããæ€èšããïŒ çµ±åãã¹ãããã»ã¹ã«ããã©ãŒãã³ã¹ãã¹ããçµã¿èŸŒã¿ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããŠå¯ŸåŠããŸãã
- ã»ãã¥ãªãã£åŽé¢ããã¹ãããïŒ çµ±åãã¹ãããã»ã¹ã«ã»ãã¥ãªãã£ãã¹ããçµã¿èŸŒã¿ãã»ãã¥ãªãã£ã®è匱æ§ãç¹å®ããŠå¯ŸåŠããŸãã
- ããŒãžã§ã³ç®¡çã䜿çšããïŒ ãã¹ãŠã®ãã¹ãã¹ã¯ãªãããããŒã¿ãèšå®ãããŒãžã§ã³ç®¡çã·ã¹ãã ã§ç¶æããŸãã
- ååãšã³ãã¥ãã±ãŒã·ã§ã³ïŒ éçºè ããã¹ã¿ãŒãéçšããŒã éã®ãªãŒãã³ãªã³ãã¥ãã±ãŒã·ã§ã³ãšååãä¿é²ããŸãã
ããã¯ãšã³ãçµ±åãã¹ãã®ããã®ããŒã«
ããã¯ãšã³ãçµ±åãã¹ãããµããŒãããããã«ãããã€ãã®ããŒã«ãå©çšå¯èœã§ãïŒ
- PostmanïŒ HTTPãªã¯ãšã¹ããéä¿¡ããã¬ã¹ãã³ã¹ãæ€èšŒããããã®äººæ°ã®ããAPIãã¹ãããŒã«ã
- Swagger InspectorïŒ APIããã¥ã¡ã³ããšãã¹ãã±ãŒã¹ãèªåçã«çæããããã®ããŒã«ã
- SoapUIïŒ SOAPããã³REST APIããã¹ãããããã®ããŒã«ã
- JUnitïŒ çµ±åãã¹ãã«ã䜿çšã§ããåäœãã¹ããã¬ãŒã ã¯ãŒã¯ã
- TestNGïŒ JUnitãããé«åºŠãªæ©èœãæäŸãããã¹ããã¬ãŒã ã¯ãŒã¯ã
- MockitoïŒ ã¢ãã¯ãªããžã§ã¯ããšã¹ã¿ããäœæããããã®ã¢ããã³ã°ãã¬ãŒã ã¯ãŒã¯ã
- WireMockïŒ HTTP APIãã·ãã¥ã¬ãŒãããããã®ããŒã«ã
- DockerïŒ ãã¹ãç°å¢ãäœæã»ç®¡çããããã®ã³ã³ããåãã©ãããã©ãŒã ã
- JenkinsïŒ ãã¹ãããã»ã¹ãèªååããããã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãµãŒããŒã
- Travis CIïŒ ãã¹ãããã»ã¹ãèªååããããã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãµãŒãã¹ã
é©åãªããŒã«ãéžæãããã¯ããããžã§ã¯ãã®ç¹å®ã®èŠä»¶ãšããã¯ãšã³ãã¢ãŒããã¯ãã£ã§äœ¿çšãããŠãããã¯ãããžãŒã«äŸåããŸãã
APIãã¹ãïŒããã¯ãšã³ãçµ±åã®éèŠãªèŠçŽ
APIïŒã¢ããªã±ãŒã·ã§ã³ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ãŒã¹ïŒã¯ãå€ãã®çŸä»£çãªã¢ããªã±ãŒã·ã§ã³ã®ããã¯ããŒã³ã§ãããç°ãªãã·ã¹ãã éã®éä¿¡ãšããŒã¿äº€æãå¯èœã«ããŸãããããã£ãŠãAPIã培åºçã«ãã¹ãããããšã¯ãããã¯ãšã³ãçµ±åãã¹ãã®éèŠãªåŽé¢ã§ãã
APIãã¹ãã«ã¯ãAPIãæ£ããæ©èœãããšã©ãŒãé©åã«åŠçããããã©ãŒãã³ã¹ãšã»ãã¥ãªãã£ã®èŠä»¶ãæºãããŠããããšãæ€èšŒããããšãå«ãŸããŸããããã«ã¯ä»¥äžã®ãã¹ããå«ãŸããŸãïŒ
- æ©èœæ§ïŒ APIãæ£ããããŒã¿ãè¿ããæå³ããæäœãå®è¡ããããšãæ€èšŒããŸãã
- ãšã©ãŒãã³ããªã³ã°ïŒ APIãç¡å¹ãªå ¥åãäºæãã¬ãšã©ãŒãé©åã«åŠçããããšãä¿èšŒããŸãã
- ããã©ãŒãã³ã¹ïŒ æ§ã ãªè² è·æ¡ä»¶äžã§ã®APIã®å¿çæéãšã¹ã«ãŒããããæž¬å®ããŸãã
- ã»ãã¥ãªãã£ïŒ APIã®ã»ãã¥ãªãã£è匱æ§ãç¹å®ãã軜æžããŸãã
- èªèšŒãšèªå¯ïŒ APIãé©åãªèªèšŒãšèªå¯ã¡ã«ããºã ã匷å¶ããããšãæ€èšŒããŸãã
- ããŒã¿æ€èšŒïŒ APIãããŒã¿ã®å ¥åãšåºåãæ£ããæ€èšŒããããšãä¿èšŒããŸãã
- å¥çŽãã¹ãïŒ APIãå®çŸ©ãããå¥çŽïŒäŸïŒOpenAPI仿§ïŒã«åŸã£ãŠããããšãæ€èšŒããŸãã
PostmanãSwagger InspectorãSoapUIã®ãããªããŒã«ãAPIãã¹ãã«äžè¬çã«äœ¿çšãããŸãããŸããAPIãã¹ããèªååããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãã€ãã©ã€ã³ã«çµ±åããããšãéèŠã§ãã
ãã€ã¯ããµãŒãã¹ ãã¹ãïŒç¹å®ã®èª²é¡
ã¢ããªã±ãŒã·ã§ã³ãå°ããç¬ç«ãããµãŒãã¹ã§æ§æããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã¯ãããã¯ãšã³ãçµ±åãã¹ãã«ãããŠç¹æã®èª²é¡ãæç€ºããŸãããã€ã¯ããµãŒãã¹ã¯ãã°ãã°ç¬ç«ããŠãããã€ããããããã¯ãŒã¯ãä»ããŠéä¿¡ããããããããã®éã®çžäºäœçšã培åºçã«ãã¹ãããããšã極ããŠéèŠã§ãã
ãã€ã¯ããµãŒãã¹ã®çµ±åããã¹ãããããã®æŠç¥ã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- å¥çŽãã¹ãïŒ ãã€ã¯ããµãŒãã¹ãå®çŸ©ãããå¥çŽã«åŸã£ãŠããããšãä¿èšŒããŸãïŒäŸïŒPactã®ãããªããŒã«ã䜿çšïŒã
- çµ±åãã¹ãïŒ ãã€ã¯ããµãŒãã¹ãæ£ããéä¿¡ããããŒã¿ã亀æã§ããããšãæ€èšŒããŸãã
- ãšã³ãããŒãšã³ããã¹ãïŒ è€æ°ã®ãã€ã¯ããµãŒãã¹ãå«ãã¢ããªã±ãŒã·ã§ã³å šäœã®ãããŒããã¹ãããŸãã
- ã«ãªã¹ãšã³ãžãã¢ãªã³ã°ïŒ ã·ã¹ãã ã«é害ãæå³çã«å°å ¥ãããã®å埩åãšãã©ãŒã«ããã¬ã©ã³ã¹ããã¹ãããŸãã
DockerãKubernetesã®ãããªããŒã«ãããã¹ãç°å¢ã§ã®ãã€ã¯ããµãŒãã¹ã®ç®¡çãšãããã€ã«ãã䜿çšãããŸãããŸããæ¬çªç°å¢ã§ã®ãã€ã¯ããµãŒãã¹ã®çžäºäœçšãšããã©ãŒãã³ã¹ãç£èŠããåé¡ãè¿ éã«ç¹å®ããŠå¯ŸåŠããããšãéèŠã§ãã
ããŒã¿ããŒã¹ãã¹ãïŒããŒã¿æŽåæ§ã®ç¢ºä¿
ããŒã¿ããŒã¹ã¯ã»ãšãã©ã®ããã¯ãšã³ãã·ã¹ãã ã®éèŠãªæ§æèŠçŽ ã§ãããããŒã¿ã®æŽåæ§ã確ä¿ããããšãæãéèŠã§ãããããã£ãŠãããŒã¿ããŒã¹ãã¹ãã¯ããã¯ãšã³ãçµ±åãã¹ãã®äžå¯æ¬ ãªéšåã§ãã
ããŒã¿ããŒã¹ãã¹ãã«ã¯ã以äžã®ããšãæ€èšŒããããšãå«ãŸããŸãïŒ
- ããŒã¿ãæ£ããä¿åãããããšïŒ ããŒã¿ãæ£ãããã©ãŒããããšå¶çŽã§ä¿åãããããšãä¿èšŒããŸãã
- ããŒã¿ãæ£ããååŸãããããšïŒ ããŒã¿ãæ£ç¢ºãã€å¹ççã«ååŸã§ããããšãæ€èšŒããŸãã
- ããŒã¿ãæ£ããæŽæ°ãããããšïŒ ãšã©ãŒãäžæŽåãçºçãããããšãªãããŒã¿ãæŽæ°ã§ããããšãä¿èšŒããŸãã
- ããŒã¿ãæ£ããåé€ãããããšïŒ æå³ããªãå¯äœçšãåŒãèµ·ãããã«ããŒã¿ãåé€ã§ããããšãæ€èšŒããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ãæ£ããåŠçãããããšïŒ ãã©ã³ã¶ã¯ã·ã§ã³ãååæ§ãäžè²«æ§ãå颿§ãèä¹ æ§ïŒACIDç¹æ§ïŒãæã€ããšãä¿èšŒããŸãã
- ããŒã¿ã»ãã¥ãªãã£ã匷å¶ãããããšïŒ ããŒã¿ãäžæ£ãªã¢ã¯ã»ã¹ãæ¹ããããä¿è·ãããŠããããšãæ€èšŒããŸãã
JUnitãTestNGãããŒã¿ããŒã¹åºæã®ãã¹ããã¬ãŒã ã¯ãŒã¯ãªã©ãããŒã¿ããŒã¹ãã¹ãã«äœ¿çšã§ããŸãããŸããæ§ã ãªè² è·æ¡ä»¶äžã§ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ããã¹ãããããšãéèŠã§ãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çããªããªãŒïŒCI/CDïŒ
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãšç¶ç¶çããªããªãŒïŒCDïŒã¯ãçŸä»£ã®ãœãããŠã§ã¢éçºã«äžå¯æ¬ ãªãã©ã¯ãã£ã¹ã§ãããããã¯ãšã³ãçµ±åãã¹ãã«ãããŠéèŠãªåœ¹å²ãæãããŸããCIã¯ã³ãŒãã®å€æŽãå ±æãªããžããªã«é »ç¹ã«çµ±åããããšãå«ã¿ãCDã¯ãœãããŠã§ã¢ã®ãã«ãããã¹ãããããã€ã®ããã»ã¹ãèªååããããšãå«ã¿ãŸãã
ããã¯ãšã³ãã³ã³ããŒãã³ããé »ç¹ãã€èªåçã«çµ±åããããšã§ãCI/CDã¯çµ±åã®åé¡ãæ©æã«æ€åºããçµ±åé¢é£ã®é å»¶ã®ãªã¹ã¯ãæžããã®ã«åœ¹ç«ã¡ãŸããèªåãã¹ãã¯CI/CDãã€ãã©ã€ã³ã®äžéšãšããŠå®è¡ãããçµ±åãããã³ãŒããå¿ èŠãªåè³ªåºæºãæºãããŠããããšãä¿èšŒããŸãã
JenkinsãTravis CIãGitLab CIã®ãããªããŒã«ãCI/CDãã€ãã©ã€ã³ã®å®è£ ã«äžè¬çã«äœ¿çšãããŸãããŸããTerraformãCloudFormationã®ãããªInfrastructure-as-CodeããŒã«ã䜿çšããŠããã¹ãç°å¢ã®ããããžã§ãã³ã°ãšç®¡çãèªååããããšãéèŠã§ãã
ããã¯ãšã³ãçµ±åãã¹ãã«ãããã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãéçºããéã«ã¯ãããã¯ãšã³ãçµ±åãã¹ãäžã«ä»¥äžã®èŠçŽ ãèæ ®ããããšã極ããŠéèŠã§ãïŒ
- ããŒã«ãªãŒãŒã·ã§ã³ãšåœéåïŒL10n & I18nïŒïŒ ã¢ããªã±ãŒã·ã§ã³ãç°ãªãèšèªãéè²šãæ¥æåœ¢åŒããµããŒãããããšã確èªããŸãã
- ããŒã¿ã¬ãžãã³ã·ãŒãžã®æºæ ïŒ ç°ãªãå°åã«ãããããŒã¿ãã©ã€ãã·ãŒèŠå¶ïŒäŸïŒGDPR, CCPAïŒãéµå®ããŸãã
- ã°ããŒãã«ãŠãŒã¶ãŒåãã®ããã©ãŒãã³ã¹æé©åïŒ äžçäžã®ãŠãŒã¶ãŒã«å¯ŸããŠäœé å»¶ãšé«å¯çšæ§ã確ä¿ããŸããã³ã³ãã³ãããªããªãŒãããã¯ãŒã¯ïŒCDNïŒã®äœ¿çšããè€æ°ã®å°åãžã®ããã¯ãšã³ããµãŒãã¹ã®ãããã€ãæ€èšããŸãã
- ã¿ã€ã ãŸãŒã³ã®åŠçïŒ ã¿ã€ã ãŸãŒã³å€æãæ£ããåŠçãããããšã確èªããŸããå éšã§ã¯äžè²«ããã¿ã€ã ãŸãŒã³åœ¢åŒïŒäŸïŒUTCïŒã䜿çšãã衚瀺ã®ããã«ãŠãŒã¶ãŒã®ããŒã«ã«ã¿ã€ã ãŸãŒã³ã«å€æããŸãã
- é貚æç®ïŒ é貚æç®ãæ£ç¢ºã§ææ°ã§ããããšã確èªããŸããä¿¡é Œæ§ã®é«ãé貚æç®APIãŸãã¯ãµãŒãã¹ã䜿çšããŸãã
- æåçé æ ®ïŒ æåçãªéããèªèããã¢ããªã±ãŒã·ã§ã³ãç°ãªãå°åã§æåçã«é©åã§ããããšã確èªããŸãã
- çŸå°ã®èŠå¶ãžã®æºæ ïŒ çšæ³ãæ¶è²»è ä¿è·æ³ãªã©ãé©çšããããã¹ãŠã®çŸå°èŠå¶ã«æºæ ããŸãã
- ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé ïŒ ãŠãŒã¶ãŒããŒã¿ãä¿è·ããäžæ£ã¢ã¯ã»ã¹ãé²ãããã®å ç¢ãªã»ãã¥ãªãã£å¯Ÿçãå®è£ ããŸããå€èŠçŽ èªèšŒãæå·åã®äœ¿çšãæ€èšããŸãã
äŸïŒã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ã¯ãååã®äŸ¡æ ŒããŠãŒã¶ãŒã®çŸå°é貚ã§è¡šç€ºãããéæãç°ãªãå°åã«å¯ŸããŠæ£ããèšç®ãããæ¯æãåŠçãçŸå°èŠå¶ã«æºæ ããŠããããšã確èªããå¿ èŠããããŸãã
çµè«
ããã¯ãšã³ãçµ±åãã¹ãã¯ãœãããŠã§ã¢éçºã®éèŠãªåŽé¢ã§ãããç°ãªãããã¯ãšã³ãã³ã³ããŒãã³ããã·ãŒã ã¬ã¹ã«é£æºããããšãä¿èšŒããŸããé©åãªçµ±åæŠç¥ãæ¡çšãããã¹ããã©ã¯ãã£ã¹ã«åŸããæ£ããããŒã«ã䜿çšããããšã§ãçµç¹ã¯äžçäžã®ãŠãŒã¶ãŒã®ããŒãºãæºããå ç¢ã§ä¿¡é Œæ§ã®é«ãã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã培åºçãªçµ±åãã¹ãã¯ãããé«å質ãªãœãããŠã§ã¢ãéçºã³ã¹ãã®åæžãããã³ãŠãŒã¶ãŒæºè¶³åºŠã®åäžã«ã€ãªãããŸããå ç¢ãªããã¯ãšã³ãçµ±åãã¹ãã®å®è·µãžã®æè³ã¯ãã¢ããªã±ãŒã·ã§ã³ã®é·æçãªæåãžã®æè³ã§ãã