ãã®ã¬ããŒãã§ã¯ãéçºè ã®èŠ³ç¹ãããããã€ãã® DevOps å®è·µã«ã€ããŠèª¬æããŸãã éåžžãDevOps ã«åå ãããã¹ãŠã®ãšã³ãžãã¢ã¯ããã§ã«æ°å¹Žéã®ç®¡ççµéšãæã£ãŠããŸãã ããããããã¯ããã«éçºè ã®å± å Žæããªããšããæå³ã§ã¯ãããŸããã å€ãã®å Žåãéçºè ã¯ããã®æ¥ã®æ¬¡ã«ç·æ¥ã«é倧ãªãã°ããä¿®æ£ããã®ã«å¿ãããDevOps åéããã£ãšèª¿ã¹ãæéãããããŸããã èè ã®ç解ã§ã¯ãDevOps ã¯ç¬¬äžã«åžžèã§ãã 第äºã«ãããå¹æçã«ãªããæ©äŒã§ãã ããªããéçºè ã§ãããåžžèãæã¡ãããŒã ãã¬ãŒã€ãŒãšããŠããå¹æçã«ãªããããšèããŠããå Žåã¯ããã®ã¬ããŒããæé©ã§ãã
èªå·±çŽ¹ä»ããããŠãã ããããã®éšå±ã«ç§ã®ããšãç¥ããªã人ãããããšã¯æ¿ç¥ããŠããŸãã ç§ã®ååã¯ã¢ã³ãã³ ãã€ã³ã§ããMicrosoft Azure MVP ã§ãã MVPãšã¯äœã§ããïŒ ããã¯ã¢ãã«-ãã¥ãŒ-ãã¬ãŒã³ã¿ãŒã§ãã Model-View-Presenter ã¯ãŸãã«ç§ã§ãã
ããã«ãç§ã¯çŸåšãCiklum ã§ãœãªã¥ãŒã·ã§ã³ ã¢ãŒããã¯ãã®åœ¹è·ãåããŠããŸãã ãããŠã€ãæè¿ãç§ã¯èªåèªèº«ã«ãšãŠãçŸãããã¡ã€ã³ãè³Œå ¥ãããã€ããã¬ãŒã³ããŒã·ã§ã³ã§èŠããèªåã®é»åã¡ãŒã«ãæŽæ°ããŸããã me [dog] bykoant.pro ãŸã§ã¡ãŒã«ããéããã ããã 質åãããå Žåã¯ã¡ãŒã«ã§ãé£çµ¡ãã ããã ç§ã¯éåžžãããã«çããŸãã å¯äžã®ããšã¯ãæ¿æ²»ãšå®æãšãã XNUMX ã€ã®ãããã¯ã«é¢é£ãã質åãé»åã¡ãŒã«ã§åãåããããªããšããããšã§ãã ãã®ä»ã®ããšã«ã€ããŠã¯ãé»åã¡ãŒã«ã§ç§ã«æžããŠããã ããŸãã æéãçµãŠã°ãçãããŸãã
ç§èªèº«ã«ã€ããŠäžèšïŒ
- ç§ã¯ãã®åéã«10幎ã»ã©æºãã£ãŠããŸãã
- ç§ã¯ãã€ã¯ããœããã§åããŠããŸããã
- ç§ã¯ã2014 幎ã«èšç«ãããŠã¯ã©ã€ãã® Azure ã³ãã¥ããã£ã®åµèšè ã§ãã ãããŠç§ãã¡ã¯ãããä»ã§ãæã£ãŠãããéçºäžã§ãã
- ç§ã¯ãŠã¯ã©ã€ãã§äž»å¬ããŠãã Azure ã«ã³ãã¡ã¬ã³ã¹ã®åµèšè ã®ç¶èŠªã§ããããŸãã
- ãŸããããšãã§ã® Global Azure Bootcamp ã®éå¬ãæäŒã£ãŠããŸãã
- å ã»ã©ãèšããŸããããç§ã¯ Microsoft Azure MVP ã§ãã
- ç§ã¯ã«ã³ãã¡ã¬ã³ã¹ã§ããè¬æŒããŸãã ç§ã¯ã«ã³ãã¡ã¬ã³ã¹ã§è©±ãã®ã倧奜ãã§ãã ãã®40幎éã§XNUMXåã»ã©åºæŒãããŠããã ããŸããã ãŠã¯ã©ã€ãããã©ã«ãŒã·ãããŒã©ã³ãããã«ã¬ãªã¢ãã¹ãŠã§ãŒãã³ããã³ããŒã¯ããªã©ã³ããã¹ãã€ã³ãééãããããšãŒãããã®ä»ã®åœãçµç±ãããããå Žåãæµãã®äžã§ã¯ã©ãŠããããŒãã«ããã«ã³ãã¡ã¬ã³ã¹ã«åå ãããšãã¹ããŒã«ãŒã®ãªã¹ãã«ç§ãèŒã£ãŠãããããããŸããã
- ç§ãã¹ã¿ãŒãã¬ãã¯ã®ãã¡ã³ã§ãã
ã¢ãžã§ã³ãã«ã€ããŠå°ãã話ããŸãããã ç§ãã¡ã®ã¢ãžã§ã³ãã¯éåžžã«ã·ã³ãã«ã§ãã
- DevOps ãšã¯äœãã«ã€ããŠèª¬æããŸãã ããããªãéèŠãªã®ãã話ããŸãããã 以åã¯ãDevOps ãšããããŒã¯ãŒããå±¥æŽæžã«æžããšãããã« +500 ãã«ã®çµŠäžãåãåããŸããã ããšãã°ã絊äžã 500 ãã«å¢ããããã«ã¯ãå±¥æŽæžã«ãããã¯ãã§ãŒã³ã«ã€ããŠæžãå¿ èŠããããŸãã
- ãããŠããããäœã§ããããå°ãç解ããããDevOps ãã©ã¯ãã£ã¹ãšã¯äœãã«ã€ããŠè©±ããŸãã ãã ããDevOps å šè¬ã®ã³ã³ããã¹ãã§ã¯ãªããéçºè ã«ãšã£ãŠèå³æ·±ããšæããã DevOps ã®å®è·µã«ã€ããŠã§ãã ãªãããããããªãã«ãšã£ãŠèå³æ·±ãã®ãã説æããŸãã ãªããããè¡ãå¿ èŠãããã®ãââããããŠãããã©ã®ããã«çã¿ã軜æžããã®ã«åœ¹ç«ã€ã®ãã説æããŸãã
å€ãã®äººãèŠããäŒçµ±çãªçµµã ããã¯å€ãã®ãããžã§ã¯ãã§èµ·ãã£ãŠããããšã§ãã ãã®ãšããåœç€Ÿã®ãœãããŠã§ã¢ããµããŒãããéçºéšéãšéçšéšéãååšããŸãã ãããŠããããã®éšéã¯çžäºã«é£çµ¡ããŸããã
ãããããDevOps éšéãéçšéšéã§ã¯ãããããã»ã©ã¯ã£ãããšæããããšãã§ããªãã£ããšããŠããéçºéšéã QA éšéã«äŸããããšãã§ããã§ãããã ãœãããŠã§ã¢ãéçºãã人ãããã°ãéçºè ã®èŠ³ç¹ããèŠãŠæªã QA ã®äººãããŸãã ããšãã°ãç§ãçŽ æŽãããã³ãŒãããªããžããªã«ã³ããããããšãããã«æªå ã座ã£ãŠããŠããã®ã³ãŒããç§ã«è¿ããŠããŠãããªãã®ã³ãŒãã¯ééã£ãŠãããšèšããŸãã
ããã¯ãã¹ãŠã人ã ãäºãã«ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãŠããªãããã«èµ·ãããŸãã ãããŠã圌ãã¯ããã€ãã®ããã±ãŒãžãã¢ããªã±ãŒã·ã§ã³ã誀解ã®å£ãä¹ãè¶ããŠäºãã«æãåããããã䜿ã£ãŠäœããããããšããŸãã
DevOps æåãç Žå£ããããã«èšèšãããŠããã®ã¯ãŸãã«ãã®å£ã§ãã 人ã ãäºãã«ã³ãã¥ãã±ãŒã·ã§ã³ããå°ãªããšããããžã§ã¯ãå ã®ããŸããŸãªäººã ãäœãããŠããã®ãããããŠåœŒãã®ä»äºããªãéèŠãªã®ããç解ããããã«åŒ·å¶ããŸãã
ãããŠãDevOps ã«ã€ããŠè©±ããšããDevOps ãšã¯ãããžã§ã¯ãã«ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãè¡ããããšãã§ãããšèª°ããèšãã§ãããã ãããžã§ã¯ãããã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ããã©ã¯ãã£ã¹ãå®è£ ããå Žåã DevOps ã§ãããšèšã人ãããŸãã DevOps ãžã®æåã®ã¹ãããã¯æ©èœåå²ãšæ©èœãã©ã°ã§ãããšèšã人ãããŸãã
æ¬è³ªçã«ãããã¯ãã¹ãŠããèªäœãçå®ã§ãã ãããããããã¯ç§ãã¡ãè¡ã£ãŠãã究極ã®å®è·µã«ãããŸããã ãããã®å®è·µã«ç§»ãåã«ããã®ã¹ã©ã€ããåç §ããããšããå§ãããŸãããã®ã¹ã©ã€ãã§ã¯ãäŒç€Ÿã®ãããžã§ã¯ãã« Dev-Ops æ¹æ³è«ãå®è£ ãã 3 ã€ã®æ®µéã瀺ãããŠããŸãã
ãã®ã¹ã©ã€ãã«ã¯ 3 çªç®ã®éå ¬åŒã®ååããããŸãã DevOps ã® 3 é士ãäœã§ãããããªã³ã©ã€ã³ã§æ€çŽ¢ããŠç¢ºèªã§ããŸãã ãã®èšäºãèŠã€ããå¯èœæ§ããããŸãã ãªãäžé士ãªã®ãïŒ ãã®äžã«ã¯ã人ãããã»ã¹ã補åããšæžãããŠããŸãã PPP â ãã«ãã¹ããã«ãã¹ããããŠãã«ãã¹ã DevOpsã®äžé士ãã玹ä»ããŸãã ãã®èšäºã§ã¯ããããéèŠãªçç±ãšããã«äŒŽãå 容ã«ã€ããŠè©³ãã説æããŸãã
DevOps æåã®å®è£ ãéå§ãããšãã¯ã次ã®é åºã§å®è£ ããããšãéåžžã«éèŠã§ãã
æåã¯äººã ãšè©±ãå¿ èŠããããŸãã ãããŠããããäœãªã®ãããããŠããããã©ã®ããã«å©çãåŸãããã®ãã人ã ã«èª¬æããå¿ èŠããããŸãã
ç§ãã¡ã®ã«ã³ãã¡ã¬ã³ã¹ã¯ DotNet Fest ãšåŒã°ããŠããŸãã ãããŠãäž»å¬è ãç§ã«èšã£ãããã«ãããã«ã¯äž»ã«éçºè ã®èŽè¡ãæåŸ ããŸããããã®ãããäŒå Žã«ããã»ãšãã©ã®äººãéçºã«é¢ãã£ãŠããããšãé¡ã£ãŠããŸãã
ç§ãã¡ã¯äººã ã«ã€ããŠè©±ããéçºè ãæ¯æ¥äœããããã®ãã«ã€ããŠè©±ããŸãã 圌ããäžçªæãã§ããããšã¯äœã§ããããïŒ åœŒãã¯ãæ°ããã³ãŒããæžããæ°ãããã¬ãŒã ã¯ãŒã¯ã䜿çšããæ°ããæ©èœãäœæããããšèããŠããŸãã éçºè ãæãæãŸãªãããšã¯äœã§ãã? å€ããã°ãä¿®æ£ããŸãã ããªããç§ã«åæããŠãããããšãé¡ã£ãŠããŸãã ãããéçºè ãæãã§ããããšã§ãã 圌ãã¯æ°ããæ©èœãæžãããã®ã§ããããã°ãä¿®æ£ãããã®ã§ã¯ãããŸããã
ç¹å®ã®éçºè ãçã¿åºããã°ã®æ°ã¯ãè ãã©ãã ãçã£ããã«äŒžã³ãŠãããããããŠå°»ã®ãã±ããããã§ã¯ãªãè©ããã©ãã ã䌞ã³ãŠãããã«ãã£ãŠæ±ºãŸããŸãã ããããããã§ãã倧èŠæš¡ãªãããžã§ã¯ãã®å Žåããã¹ãŠã远跡ããããšãäžå¯èœãªå Žåããããããããå®å®ããé«å質ã®ã³ãŒããäœæããã®ã«åœ¹ç«ã€ããã€ãã®ã¢ãããŒãã䜿çšãããšããã§ãããã
QAãæãæãã§ããããšã¯äœã§ãã? 圌ããããŒã«ã«ãããã©ããã¯ããããŸããã QA ãåããããšããªãã®ã§ãQA ãåããããšèšãã®ã¯é£ããã§ãã ãããŠã圌ãã«æªæ°ã¯ãããŸãããç§ã決ããŠããã§ãªãããšãé¡ã£ãŠãããšèšãããã§ãããã ããããç§ã圌ãã®ä»äºãç¡æå³ã§åœ¹ã«ç«ããªããšèããããã§ã¯ãªããç§ã¯ãã®ä»äºãå¹ççã«ããªãã人éã§ã¯ãªããšèããŠããã®ã§ããããããããšããããŸããã ããããç§ãç解ããŠãããšããã«ãããšãQA ãæãå«ããããšã¯ãååäžã«äœæ¥ãè¡ã£ãŠãããçš®ã®ååž°ãã¹ããåžžã«å®è¡ãã3 ã¹ããªã³ãåã«éçºè ã«å ±åããã®ãšåããã°ãèžãã§ã次ã®ããã«èšãããšã§ãã , ã ãã·ã¥ã»ãã«ã¿ãã£ã³ããã®ãã°ãçŽããŠãã ããã ãããšã ãã·ã¥ã»ãã«ã¿ãã£ã³ã¯ãã¯ããã¯ããã¯ããããçŽããŸãããããšçããã ãããŠãéäžã§ 5 ã€ã®ãã°ãä¿®æ£ããXNUMX ã€ã®ãã°ãäœæããã®ã¯ãªãã§ããããã
ãã®ãœãªã¥ãŒã·ã§ã³ãéçšç°å¢ã§ãµããŒãããŠãã人ã ã¯ããã®ãœãªã¥ãŒã·ã§ã³ããã°ãªãã§æ©èœããããšãæãã§ããŸããããããã°ãäžè¬ã®äººãããŒã«è¡ãæ¯é±éææ¥ã«ãµãŒããŒãåèµ·åããå¿ èŠããªããªããŸãã éçºè ã¯éææ¥ã«ãããã€ãã管çè ã¯åææ¥ãŸã§ãã®ãããã€ã¡ã³ããç«ã¡äžããŠä¿®æ£ããããšããŸããã
ãããŠãåãåé¡ã解決ããããšãç®çãšããŠãããšäººã ã«èª¬æãããšãããã»ã¹ã®åœ¢åŒåã«é²ãããšãã§ããŸãã ããã¯éåžžã«éèŠã§ãã ãªãïŒ ãªããªããã圢åŒåããšãããšãã¯ãå°ãªããšããããã³ã®ã©ããã«ããã»ã¹ãã©ã®ããã«è¡ããããã説æããããšãéèŠã ããã§ãã ããšãã°ãQA ç°å¢ãéçšç°å¢ã«ãããã€ããå Žåã¯ãåžžã«ãã®é åºã§è¡ãããããšãç解ããå¿ èŠããããŸãããããã®æ®µéã§ã¯ãããšãã°ãèªååäœãã¹ãã UI ãã¹ããå®è¡ãããŸãã ãããã€åŸããããã€ãããŸããã£ãã倱æãããã確èªããŸãã ãã ããéçšç°å¢ã«ãããã€ãããšãã«äœåºŠãç¹°ãè¿ãå¿ èŠãããã¢ã¯ã·ã§ã³ã®æ確ãªãªã¹ãããã§ã«ãããŸãã
ãããŠãããã»ã¹ãæ£åŒåãããŠåããŠããããã®ããã»ã¹ã®èªååã«åœ¹ç«ã€è£œåãéžæãå§ããŸãã
æ®å¿µãªããããããéã«èµ·ããã®ãããèŠãããŸãã ãDevOpsããšããèšèãèããšãããã« Jenkins ã®ã€ã³ã¹ããŒã«ãå§ãã人ã¯ãJenkins ãã€ã³ã¹ããŒã«ããã°ããã« DevOps ã䜿ããããã«ãªããšä¿¡ããŠããããã§ãã 圌ã㯠Jenkins ãã€ã³ã¹ããŒã«ããJenkins Web ãµã€ãã®ãããŠããŒãèšäºãèªã¿ããã®ããŠããŒèšäºã«ããã»ã¹ãè©°ã蟌ãããšããŸããããããŠã人ã ã®ãšããã«æ¥ãŠããã®æ¬ã«ã¯ããããå¿ èŠããããšæžããŠãããšèšã£ãŠäººã ãå±æãããŸãããã ããç§ãã¡ã¯ãã®ããã«ããŸãã
JenkinsãæªãããŒã«ã ãšããããã§ã¯ãããŸããã 決ããŠãããªããšãèšãããããã§ã¯ãããŸããã ããããããã¯è£œåã® XNUMX ã€ã«ãããŸããã ã©ã®è£œåã䜿çšãããã¯ãæåã®æ±ºå®ã§ã¯ãªããæåŸã®æ±ºå®ã§ããã¹ãã§ãã 補åã¯ãæåãã¢ãããŒãã®å®è£ ã«ãã£ãŠæšé²ãããã¹ãã§ã¯ãããŸããã ããã¯ç解ããããšãéåžžã«éèŠã§ãããããç§ã¯ãã®ã¹ã©ã€ãã«éåžžã«å€ãã®æéãè²»ããããã®ãã¹ãŠãé·ã ãšèª¬æããŸããã
DevOps ã®å®è·µå šè¬ã«ã€ããŠè©±ããŸãããã 圌ãã¯äœã§ããïŒ éãã¯ãªãã§ããïŒ è©Šçããã«ã¯ã©ãããã°ããã§ããïŒ ãªãããããéèŠãªã®ã§ãããã?
ããªããæåã«èããããšããããããããªããã©ã¯ãã£ã¹ã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšåŒã°ããŸãã ããããããããžã§ã¯ãã®èª°ããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ã䜿çšããŠããå¯èœæ§ããããŸãã
æ倧ã®åé¡ã¯ãç§ã人ã«ããã®ãããžã§ã¯ãã« CI ã¯ããŸãã?ããšå°ããããšãæãå€ãããšã§ãã ãããŠåœŒã¯ãã¯ãããšèšããäœãããŠããã®ããšå°ãããšã圌ã¯èªååããã»ã¹å šäœãå®å šã«èª¬æããŠãããŸããã ããã¯å®å šã«çå®ã§ã¯ãããŸããã
å®éãCI ã®å®è·µã¯ãããŸããŸãªäººã ãæžããã³ãŒããããçš®ã®åäžã®ã³ãŒã ããŒã¹ã«çµ±åããããšã ããç®çãšããŠããŸãã ããã ãã§ãã
éåžžãCI ã«å ããŠãç¶ç¶çãããã€ã¡ã³ãããªãªãŒã¹ç®¡çãªã©ãä»ã®å®è·µãéäžã§è¡ãããŸãããããã«ã€ããŠã¯åŸã»ã©èª¬æããŸãã
CI èªäœã¯ãããŸããŸãªäººã ãã³ãŒããèšè¿°ãããã®ã³ãŒãã¯åäžã®ã³ãŒã ããŒã¹ã«ç¶ç¶çã«çµ±åãããå¿ èŠãããããšã瀺ããŠããŸãã
ããã¯äœãããããã®ã§ãããã?ãŸãããªãéèŠãªã®ã§ãããã? DotNet ãããã°ãããã¯ã³ã³ãã€ã«æžã¿èšèªãªã®ã§ãã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ã§ããŸãã ã³ã³ãã€ã«ã§ããã°ãããã¯ãã§ã«è¯ãå åã§ãã ããã¯ãŸã äœãæå³ããŸããããå°ãªããšãã³ã³ãã€ã«ã§ãããšããæåã®è¯ãå åã§ãã
次ã«ãããã€ãã®ãã¹ããå®è¡ããŸãããããå¥ã®ç·Žç¿ã§ãã ãã¹ãã¯ãã¹ãŠç·è²ã§ãããã㯠XNUMX çªç®ã®è¯ãå åã§ãã ããããç¹°ãè¿ããŸãããããã«ã¯äœã®æå³ããããŸããã
ãããããªããããªããšãããã®ã§ããããïŒ ä»æ¥ã話ããããã¹ãŠã®å®è·µã¯ãã»ãŒåã䟡å€ãã€ãŸãã»ãŒåãå©ç¹ããããããã»ãŒåãæ¹æ³ã§æž¬å®ãããŸãã
ãŸããé éã®ã¹ããŒããäžããããšãã§ããŸãã ããã«ãããã©ã®ããã«ããŠé éãæ©ããããšãã§ããã®ã§ãããã? ã³ãŒãããŒã¹ã«æ°ããå€æŽãå ãããšãããã«ãã®ã³ãŒãã§äœããå®è¡ããŠã¿ãããšãã§ããŸãã æšææ¥ã« QA ç°å¢ã«ãªãªãŒã¹ããããã§ããã«å®è¡ãããããæšææ¥ãæ¥ããŸã§åŸ ã¡ãŸããã
ç§ã®äººçã®æ²ãã話ãã²ãšã€ã話ããŸãã ããã¯é ãæãç§ããŸã è¥ããŠãã³ãµã ã ã£ãé ã®ããšã§ãã ä»ãç§ã¯ãã§ã«è¥ããçŸãããè³¢ããæ§ããã§ãã å°ãåã«ãç§ã¯ãããããžã§ã¯ãã«åå ããŠããŸããã ç§ãã¡ã¯çŽ 30 人ã®éçºè ãããªã倧èŠæš¡ãªããŒã ãæ±ããŠããŸããã ãããŠãçŽ 10 幎éã«ããã£ãŠéçºããã倧èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãº ãããžã§ã¯ãããããŸããã ãããŠãç§ãã¡ã¯ããŸããŸãªæ¯åºãæã£ãŠããŸããã ãªããžããªã«ã¯ãéçºè ããããæ©ããã©ã³ãããããŸããã ãŸããéçšäžã®ã³ãŒãã®ããŒãžã§ã³ã衚瀺ãããã©ã³ãããããŸããã
æ¬çªãã©ã³ãã¯ãéçºè ãå©çšã§ãããã©ã³ããã 3 ãæé ããŠããŸããã ããã¯ã©ãããæå³ã§ããïŒ ããã¯ãéçºè ã®ããã§ãéçºè ããããèš±å¯ããããããŸã QA ã®ããã§ãQA ãããã調ã¹ãããã«ãã©ããã«ãã°ãçºçããŠããã«æ¬çªç°å¢ã«ç§»è¡ãããšããããšãæå³ããŸããå®çšŒåçšã®ããããã£ãã¯ã¹ã®ã¿ã¹ã¯ãå¿ èŠãªå Žåã¯ã3 ãæåã®ã³ãŒãå€æŽãããŒã«ããã¯ããå¿ èŠããããŸãã 3ãæåã®ããšãæãåºããŠãããã§ä¿®æ£ããªããã°ãªããŸããã
ãã®çµéšããŸã ãªãå Žåã¯ãèªå® ã®ãããžã§ã¯ãã§è©ŠããŠã¿ãŠãã ããã éèŠãªããšã¯ãåžè²©ã®ãã®ã§ã¯è©Šããªãããšã§ãã æ°è¡ã®ã³ãŒããæžããŠãXNUMX ãæéå¿ããŠãããæ»ã£ãŠããŠããã®ã³ãŒãè¡ãäœã«ã€ããŠã®ãã®ã§ãã©ã®ããã«ä¿®æ£ãŸãã¯æé©åã§ããããç°¡åã«èª¬æããŠã¿ãŸãã ãšãŠããšãŠããšããµã€ãã£ã³ã°ãªäœéšã§ãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãå®è·µããŠããå Žåã¯ãã³ãŒããäœæãããããã«ãããã«å€ãã®èªååããŒã«ã䜿çšããŠããããã§ãã¯ããããšãã§ããŸãã ããã§å šäœåããããããã§ã¯ãªããããããŸããããå°ãªããšããªã¹ã¯ã®äžéšã¯åãé€ãããšãã§ããŸãã æœåšçãªãã°ãããå Žåã¯ãä»ãããã€ãŸãæåéãæ°å以å ã«ãããç¥ãããšãã§ããŸãã 3 ãæåã«æ»ãå¿ èŠã¯ãããŸããã 2åã ãå·»ãæ»ãå¿ èŠããããŸãã é«æ§èœã®ã³ãŒããŒãã·ã³ã§ã¯ã³ãŒããŒãæ·¹ããã®ã« 2 åãããããªãã®ã§ãããã¯éåžžã«çŽ æŽãããããšã§ãã
ããã«ã¯ãåãããžã§ã¯ãã§äœåºŠãç¹°ãè¿ãããšãã§ãããšãã䟡å€ããããŸãã ã»ããã¢ãããããã®ã ãã§ã¯ãããŸããã å®è·µèªäœãç¹°ãè¿ãããšãã§ãããããžã§ã¯ãã«æ°ããªå€æŽãå ãããã³ã« CI èªäœãç¹°ãè¿ãããŸãã ããã«ãããããŒã ãããå¹ççã«äœæ¥ã§ããããããªãœãŒã¹ãæé©åã§ããŸãã 3 ãæåã«äœæ¥ããã³ãŒããããã°ãçºçãããšããç¶æ³ã¯ããçºçããŸããã 座ã£ãŠæåã® XNUMX æéãè²»ãããŠãäœãèµ·ãã£ãã®ããç解ããŠãäœããä¿®æ£ãå§ããåã«ã³ã³ããã¹ãã®æ¬è³ªãç解ããããšãããšãã³ã³ããã¹ããåãæ¿ããããšã¯ãªããªããŸãã
ãã®å®è·µã®æåãŸãã¯å€±æãã©ã®ããã«æž¬å®ã§ããã§ãããã? ç§ãã¡ã CI ãããžã§ã¯ãã«å®è£ ããå 容ãäžåžã«å ±åãããšãäžåžã¯ãªããšããªããšããšèããŸãã ãããå®è£ ããã®ã¯ããã®ã§ããããªãããããç§ãã¡ã«äœããããããã®ãããããã©ã®ããã«æž¬å®ããã®ããã©ã®çšåºŠæ£ããå®è£ ããŠããã®ãããããšãééã£ãŠããã®ã?
XNUMX ã€ç®ã¯ãCI ã®ãããã§ãã³ãŒããæœåšçã«ããå®å®ããŠãããããããé »ç¹ã«ãããé »ç¹ã«ãããã€ã§ããããšã§ãã åæ§ã«ãã³ãŒãã®ã©ããééã£ãŠããã®ããšããçããä»ããã§ã·ã¹ãã ããåãåãããšãã§ããããããšã©ãŒãèŠã€ããæéãççž®ããããã®ãšã©ãŒãä¿®æ£ããæéãççž®ãããŸãã
ç§ãã¡ãè¡ã£ãŠãããã XNUMX ã€ã®å®è·µã¯ãèªåãã¹ãã®å®è·µã§ããããã¯ãã»ãšãã©ã®å ŽåãCI ã®å®è·µã«ä»éããŠè¡ãããŸãã ãããã¯å¯æ¥ã«é¢ä¿ããŠããŸãã
ããã§ç解ããããšãéèŠãªããšã¯äœã§ãããã? ç§ãã¡ã®ãã¹ãã¯ç°ãªãããšãç解ããããšãéèŠã§ãã ãããŠãããããã®èªåãã¹ãã¯ãããããã®åé¡ã解決ããããšãç®çãšããŠããŸãã ããšãã°ãã¢ãžã¥ãŒã«ãåå¥ã«ãã¹ãã§ããåäœãã¹ãããããŸãã ç空äžã§ã¯ã©ã®ããã«æ©èœããã®ã§ãããã? ããã¯ããã
ãŸããããŸããŸãªã¢ãžã¥ãŒã«ãã©ã®ããã«çžäºã«çµ±åãããããç解ã§ããçµ±åãã¹ãããããŸãã ãããè¯ãã§ããã
UI ã®èªååãã¹ãã«ãããUI ã®åäœã顧客ãèšå®ããç¹å®ã®èŠä»¶ãã©ã®çšåºŠæºãããŠãããã確èªã§ããå ŽåããããŸãã
å®è¡ããç¹å®ã®ãã¹ãã¯ãå®è¡é »åºŠã«åœ±é¿ãäžããå¯èœæ§ããããŸãã åäœãã¹ãã¯éåžžââãçãå°ããæžãããŸãã ãããŠãããã¯å®æçã«èµ·åããããšãã§ããŸãã
UI èªåãã¹ãã«ã€ããŠè©±ããŠããå Žåããããžã§ã¯ããå°èŠæš¡ã§ããããšãæãŸããã§ãã UI èªååãã¹ãã«ã¯ãããçšåºŠã®æéããããå ŽåããããŸãã ãã ãã倧èŠæš¡ãªãããžã§ã¯ãã® UI èªååãã¹ãã¯éåžžââãæ°æéããããŸãã ãããæ°æéãªã倧äžå€«ã§ãã å¯äžã®ããšã¯ããã«ãããšã«ããããå®è¡ããããšã«æå³ããªããšããããšã§ãã å€éã«å®è¡ããã®ã¯çã«ããªã£ãŠããŸãã ãããŠããã¹ã¿ãŒãéçºè ãå«ããŠå šå¡ãæåºå€ãããšãå€ã« UI èªåãã¹ããå®è¡ããŠãã®ãããªçµæãåŸããããšãããããçš®ã®ã¬ããŒããåãåããŸããã ãããŠããã§ã補åãããã€ãã®èŠä»¶ãæºãããŠããããšããã§ãã¯ãããµãŒããŒã® XNUMX æéã®äœæ¥ã¯ãããšããããé£æãšæè¬ã®ããã«åããŠãããžã¥ã㢠QA ãšã³ãžãã¢ã§ãã£ãŠããåã QA ãšã³ãžãã¢ã® XNUMX æéã®äœæ¥ãããã¯ããã«å®ããªããŸãã ããã§ããæ©æ¢°ãXNUMXæé皌åãããã°å®ããªããŸãã ã ãããããããã«æè³ããã®ã¯çã«ããªã£ãŠããã®ã§ãã
ç§ãåãçµãã§ããå¥ã®ãããžã§ã¯ãããããŸãã ãã®ãããžã§ã¯ãã§ã¯ 4 é±éã®ã¹ããªã³ãããããŸããã ãã®ãããžã§ã¯ãã¯å€§èŠæš¡ã§ãããéèââã»ã¯ã¿ãŒã«ãšã£ãŠéèŠã§ãããééããç¯ãããšã¯ã§ããŸããã§ããã 4 é±éã®ã¹ããªã³ãã®åŸãéçºãµã€ã¯ã«ã®åŸã«ãã¹ã ããã»ã¹ãç¶ããããã« XNUMX é±éããããŸããã æ²åã®èŠæš¡ãæ³åããŠã¿ãŠãã ããã ç§ãã¡ã¯ XNUMX é±éãããŠã³ãŒããæžãããã®åŸ CodeFreeze ã§å®è¡ããæ°ããããŒãžã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã«ããã±ãŒãžåããŠããã¹ã¿ãŒã«ââããŒã«ã¢ãŠãããŸãã ãã¹ã¿ãŒã¯ããã« XNUMX é±éãã¹ãããŸãã 圌ãããã¹ãããŠããéãç§ãã¡ã¯åœŒãã®ããã«ããã« XNUMX ã€ã®ããŒãžã§ã³ãæºåããæéããããŸãã ããã¯æ¬åœã«æ²ããã±ãŒã¹ã§ãã
ãããŠãçç£æ§ãé«ãããã®ã§ããã°ãèªåãã¹ãã®å®è·µãå°å ¥ããã®ãçã«ããªã£ãŠãããšäŒããŸããããªããªãããããä»ããã§ããªããå·ã€ããŠããããã§ãã
ç¶ç¶çå±éãå®è·µããŸãã çŽ æŽãããããã«ããå®äºããŸããã ããã¯ããããã§ããã ã³ãŒããã³ã³ãã€ã«ãããŸããã ãã®ãã«ããäœããã®ç°å¢ã«ãããã€ããŠã¿ããšè¯ãã§ãããã éçºè åãã®ç°å¢ã§èããŠã¿ãŸãããã
ã©ãããŠãããéèŠã§ããïŒ ãŸããå±éããã»ã¹èªäœãã©ã®çšåºŠæåããŠãããã確èªã§ããŸãã ç§ã¯ãã®ãããªãããžã§ã¯ãã«ééããããšããããŸãããã¢ããªã±ãŒã·ã§ã³ã®æ°ããããŒãžã§ã³ã¯ã©ããã£ãŠãããã€ããã®ã§ãã?ããšå°ãããšã圌ãã¯ããèšããŸãããç§ãã¡ã¯ãããçµã¿ç«ãŠãŠãzip ã¢ãŒã«ã€ãã«å§çž®ããŸãã 管ç人å®ã«ã¡ãŒã«ã«ãŠéä¿¡ãããŠããã ããŸãã 管çè ã¯ãã®ã¢ãŒã«ã€ããããŠã³ããŒãããŠå±éããŸãã ãããŠãªãã£ã¹å šäœãããµãŒããŒãæ°ããããŒãžã§ã³ãååŸããããšãç¥ãå§ããŸããã
ç°¡åãªããšããå§ããŸãããã ããšãã°ãCSS ãã¢ãŒã«ã€ãã«å ¥ããã®ãå¿ããããJavaScript ãã¡ã€ã«åã®ããã·ã¥ã¿ã°ãå€æŽããã®ãå¿ãããããŸãã ãããŠããµãŒããŒã«ãªã¯ãšã¹ããè¡ããšããã©ãŠã¶ã¯ãã® JavaScript ãã¡ã€ã«ããã§ã«ååšãããšèããããŠã³ããŒãããªãããšã決å®ããŸãã ãããŠå€ãããŒãžã§ã³ã«ã¯äœããæ¬ ããŠããŸããã äžè¬ã«ãå€ãã®åé¡ãçºçããå¯èœæ§ããããŸãã ãããã£ãŠãç¶ç¶çãããã€ã¡ã³ããå®è·µãããšãã¯ãªãŒã³ãªåç §ã€ã¡ãŒãžãååŸãããããå®å šã«ã¯ãªãŒã³ãªæ°ããç°å¢ã«ã¢ããããŒãããå Žåã«äœãèµ·ããããå°ãªããšããã¹ãã§ããŸãã ãããã©ãã«ã€ãªããããããããŸãã
ãŸããçžäºã«ã³ãŒããçµ±åããå Žåãã€ãŸãã ã³ãã³ãã®éã§ãããã«ãã UI äžã§ã©ã®ããã«èŠãããã確èªããããšãã§ããŸãã
ããã© Java ã¹ã¯ãªãããå€æ°äœ¿çšãããŠããå Žåã«çºçããåé¡ã® XNUMX ã€ã¯ãXNUMX 人ã®éçºè ããŠã£ã³ã㊠ãªããžã§ã¯ãå ã§åãååã®å€æ°ãç¡è¬ã«å®£èšããããšã§ãã ããšã¯ãé次第ã XNUMX çªç®ã«åãåºããã Java ã¹ã¯ãªãã ãã¡ã€ã«ã¯ãããäžæ¹ã® JavaScript ãã¡ã€ã«ã®å€æŽãäžæžãããŸãã ããããšãŠã楜ãã¿ã§ãã ããããšã¯ãã人ã«ã¯ããŸããããŸãããå¥ã®ããšã¯å¥ã®äººã«ã¯ããŸããããŸããã ãããŠãããããã¹ãŠæ¬çªç°å¢ã§å®çŸãããšãããã¯ãçŽ æŽããããããšã«ãªããŸãã
次ã«è¡ãå®è·µã¯ãèªå埩å ã®å®è·µãã€ãŸãã¢ããªã±ãŒã·ã§ã³ã®åã®ããŒãžã§ã³ã«ããŒã«ããã¯ããããšã§ãã
ãããéçºè ã«ãšã£ãŠãªãéèŠãªã®ã§ãããã? ã³ã³ãã¥ãŒã¿ãŒã倧ãããããã°ã©ã ãå°ããã£ããé ãé ã 90 幎代ãèŠããŠãã人ããŸã ããŸãã ãããŠãWeb éçºãžã®å¯äžã®æ¹æ³ã¯ PHP ã䜿çšããããšã§ããã PHP ãæªãèšèªã§ãããšããããã§ã¯ãããŸããããå®éã«ã¯ããã§ãã
ããããåé¡ã¯éã£ãŠããŸããã æ°ããããŒãžã§ã³ã® PHP ãµã€ãããããã€ãããšããã©ã®ããã«ãããã€ããŸããã? ã»ãšãã©ã®å ŽåãFar Manager ãªã©ãéããŸããã ãããŠãããã®ãã¡ã€ã«ãFTPã«ã¢ããããŒãããŸããã ãããŠçªç¶ãå°ããªå°ããªãã°ãããããšã«æ°ã¥ããŸãããããšãã°ãã»ãã³ãã³ãä»ããã®ãå¿ããããããŒã¿ããŒã¹ã®ãã¹ã¯ãŒããå€æŽããã®ãå¿ããããããŒã¿ããŒã¹ã®ãã¹ã¯ãŒãã¯ããŒã«ã«ãã¹ãäžã«ãããŸãã ãããŠãããã« FTP ã«æ¥ç¶ããããã§ãã¡ã€ã«ãç·šéããããšã«ããŸããã ããã¯ãã ã®ç«äºã ïŒ ããã¯90幎代ã«æµè¡ã£ããã®ã§ãã
ããããã«ã¬ã³ããŒãèŠãŠããªãæ¹ã®ããã«èª¬æãããšã90 幎代ã¯ã»ãŒ 30 幎åã§ãã ä»ã§ã¯ããã¹ãŠãå°ãéã£ã圢ã§èµ·ãã£ãŠããŸãã ãããŠã圌ãã次ã®ããã«èšã£ããšãã®æ²åã®èŠæš¡ãæ³åããŠã¿ãŠãã ããããæ¬çªç°å¢ã«ãããã€ããŸããããããã§äœãåé¡ãçºçããŸããã ããã FTP ãã°ã€ã³ãšãã¹ã¯ãŒãã§ããæ¬çªç°å¢ã«æ¥ç¶ããŠãããã§ããã«ä¿®æ£ããŠãã ãããã ããªãããã£ãã¯ã»ããªã¹ãªããããã¯ããŸããããŸãã ããããªããšã10 ã€ã®ãã°ãä¿®æ£ãããšãããã« XNUMX ã®ãã°ãçºçããå±éºããããŸããã ããããã以åã®ããŒãžã§ã³ã«ããŒã«ããã¯ããããšã§å€ãã®ããšãéæã§ããã®ã§ãã
ããšãäœãæªããã®ãã©ããã«äŸµå ¥ãããšããŠããããã¯æªããã®ã§ã¯ãããŸãããèŽåœçã§ã¯ãããŸããã 以åã®ããŒãžã§ã³ã«ããŒã«ããã¯ã§ããŸãã çšèªã§ç解ããããå Žåã¯ããããããã¯ã¢ãããšåŒã³ãŸãã ãã®ä»¥åã®ããŒãžã§ã³ã«ããŒã«ããã¯ããããšãã§ãããŠãŒã¶ãŒã¯åŒãç¶ã補åã䜿çšã§ããååãªãããã¡æéã確ä¿ãããŸãã æ ãŠãã«èœã¡çããŠãããããã¹ãŠãååŸããŠããŒã«ã«ã§ãã¹ãããä¿®æ£ããŠãæ°ããããŒãžã§ã³ãã¢ããããŒãã§ããŸãã ãããè¡ãã®ã¯æ¬åœã«çã«ããªã£ãŠããŸãã
ããã§ãåã® XNUMX ã€ã®å®è·µãäœããã®æ¹æ³ã§çµã¿åãããŠã¿ãŸãããã XNUMX ã€ç®ã¯ããªãªãŒã¹ç®¡çãã§ãã
å€å žçãªåœ¢åŒã®ç¶ç¶çãããã€ã¡ã³ãã«ã€ããŠè©±ããšãããªããžããªã®ãã©ã³ãããã³ãŒããååŸããã³ã³ãã€ã«ããŠãããã€ããå¿ èŠããããšèšããŸãã åãç°å¢ã§ããã°è¯ãã§ããã è€æ°ã®ç°å¢ãããå Žåãåãã³ãããããã§ãã£ãŠããæ¯åã³ãŒãããã«ããå¿ èŠãããããšãæå³ããŸãã æ¯åãããåãåºããæ¯åãã«ãããæ°ããç°å¢ã«ãããã€ããŸãã ãŸããããã¯æéã§ãããããžã§ã¯ããæ§ç¯ããã®ã«ã90 幎代ã«éçºããã倧èŠæš¡ãªãããžã§ã¯ããããå Žåãæ°æéãããããšããããŸãã
ããã«å ããŠãããäžã€æ²ããããšããããŸãã ãã«ããããšãã¯ãåããã·ã³äžã§åããœãŒã¹ããã«ãããããšã«ãªããŸããããã®ãã·ã³ãååã®ãã«ãæãšåãç¶æ ã§ãããšããä¿èšŒã¯ãããŸããã
誰ãããã£ãŠæ¥ãŠ DotNet ãæŽæ°ããããéã«èª°ããäœããåé€ããããããšããŸãã ãããŠãèªç¥çäžååãçºçããXNUMXé±éåã®ãã®ã³ããããããã«ããæ§ç¯ããŠããŠãã¹ãŠãããŸããã£ãŠããŸããããä»ã§ã¯åããã·ã³ãåãã³ããããåãã³ãŒããæ§ç¯ããããšããŠããããã«èŠããŸãããæ©èœããŠããŸããã ã ããªãã¯ãã®åé¡ã«é·ãé察åŠããªããã°ãªããŸãããããããç解ã§ãããã©ããã¯äºå®ã§ã¯ãããŸããã å°ãªããšããç¥çµãããªãæãªãããšã«ãªããŸãã
ãããã£ãŠããªãªãŒã¹ç®¡çã®å®è·µã§ã¯ãã¢ãŒãã£ãã¡ã¯ã ãªããžããªãã®ã£ã©ãªãŒãã©ã€ãã©ãªãšåŒã°ããè¿œå ã®æœè±¡åãå°å ¥ããããšãæšå¥šããŠããŸãã 奜ããªååãä»ããããšãã§ããŸãã
äž»ãªã¢ã€ãã¢ã¯ãããã«äœããã®ã³ãããããããšããã«ãããšãã°ãããŸããŸãªç°å¢ã«ãããã€ããæºåãã§ããŠãããã©ã³ãã«ããã®ã³ãããããã¢ããªã±ãŒã·ã§ã³ãšãã®ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªãã®ãã¹ãŠãåéãããããããã±ãŒãžåãããšããããšã§ãã zip ã¢ãŒã«ã€ãã«å§çž®ããä¿¡é Œã§ããã¹ãã¬ãŒãžã«ä¿åããŸãã ãããŠããã®ã¹ãã¬ãŒãžãããã€ã§ããã® zip ã¢ãŒã«ã€ããååŸã§ããŸãã
次ã«ããããååŸããŠãéçºç°å¢ã«èªåçã«ãããã€ããŸãã ç§ãã¡ã¯ããã§ã¬ãŒã¹ããããã¹ãŠãããŸããã£ããã¹ããŒãžã«äžãããŸãã ãã¹ãŠãé 調ã§ããã°ãåãã¢ãŒã«ã€ããåããã€ããªã XNUMX åã ãã³ã³ãã€ã«ããŠå®çšŒåç°å¢ã«ãããã€ããŸãã
ããã«ããã®ãããªã®ã£ã©ãªãŒããããšãåã®ããŒãžã§ã³ãžã®ããŒã«ããã¯ã«ã€ããŠèª¬æããæåŸã®ã¹ã©ã€ãã§èª¬æãããªã¹ã¯ã«å¯ŸåŠããã®ã«ã圹ç«ã¡ãŸãã ééã£ããã®ã誀ã£ãŠãããã€ããŠããŸã£ãå Žåã¯ããã€ã§ããã®ã®ã£ã©ãªãŒããä»ã®ä»¥åã®ããŒãžã§ã³ãååŸããåãæ¹æ³ã§ãããã®ç°å¢ãžã®ãããã€ãåãæ¶ãããšãã§ããŸãã ããã«ãããäœãåé¡ãçºçããå Žåã«ã以åã®ããŒãžã§ã³ã«ç°¡åã«ããŒã«ããã¯ã§ããŸãã
ããäžã€çŽ æŽãããå®è·µããããŸãã çãããç§ããã¢ããªã±ãŒã·ã§ã³ã以åã®ããŒãžã§ã³ã«ããŒã«ããã¯ãããšã以åã®ããŒãžã§ã³ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå¿ èŠã«ãªãå¯èœæ§ãããããšãç解ããŠããŸãã
ä»®æ³ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã€ããŠè©±ããšããå€ãã®äººã¯ããã¯ç®¡çè ãèšå®ãããã®ã ãšèããŠããŸãã ãŸããããšãã°ãã¢ããªã±ãŒã·ã§ã³ã®æ°ããããŒãžã§ã³ããã¹ãããããã®æ°ãããµãŒããŒãååŸããå¿ èŠãããå Žåã¯ã管çè ãŸã㯠Devops ã«ãã±ãããäœæããå¿ èŠããããŸãã Devops ã§ã¯ããã« 3 é±éããããŸãã ãã㊠3 é±éåŸã3 ã€ã®ã³ã¢ãXNUMX ã®ã¬ãã€ãã® RAMãããã³ DotNet ã®ãªã Windows ãµãŒããŒãåããä»®æ³ãã·ã³ãã€ã³ã¹ããŒã«ããããšãéç¥ãããŸãã ããªãã¯ããèšããŸãããã§ããç§ã¯ DotNet ã欲ããã£ãã®ã§ããã 圌ãïŒãããããŸãããXNUMXé±éåŸã«ãŸãæ¥ãŠãã ãããã
ãã®èãæ¹ã¯ãInfrastructure as Code ã®å®è·µã䜿çšããããšã§ãä»®æ³ã€ã³ãã©ã¹ãã©ã¯ãã£ãåãªãå¥ã®ãªãœãŒã¹ãšããŠæ±ãããšãã§ãããšããããšã§ãã
ãããããDotNet ã§ã¢ããªã±ãŒã·ã§ã³ãéçºããŠãã人ã¯ãEntity Framework ãšããã©ã€ãã©ãªã«ã€ããŠèããããšããããããããŸããã ãŸããEntity Framework ã Microsoft ãç©æ¥µçã«æšé²ããŠããã¢ãããŒãã® XNUMX ã€ã§ããããšãèããããšããããããããŸããã ããŒã¿ããŒã¹ãæäœããå Žåããã㯠Code First ãšåŒã°ããã¢ãããŒãã§ãã ããã¯ãããŒã¿ããŒã¹ãã©ã®ããã«èŠãããããã³ãŒãã§èšè¿°ãããšãã§ãã 次ã«ãã¢ããªã±ãŒã·ã§ã³ããããã€ããŸãã ããŒã¿ããŒã¹ã«æ¥ç¶ããã©ã®ããŒãã«ãååšããããã©ã®ããŒãã«ãååšããªãããèªãå€æããå¿ èŠãªãã®ããã¹ãŠäœæããŸãã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãåãããšãã§ããŸãã ãããžã§ã¯ãã«ããŒã¿ããŒã¹ãå¿ èŠãã©ããããŸãã¯ãããžã§ã¯ãã« Windows ãµãŒããŒãå¿ èŠãã©ããã«éãã¯ãããŸããã ããã¯åãªããªãœãŒã¹ã§ãã ãŸãããã®ãªãœãŒã¹ã®äœæãšæ§æãèªååã§ããŸãã ãããã£ãŠãæ°ããã³ã³ã»ãããæ°ããã¢ãããŒãããã¹ããããã³ã«ãdevops ãžã®ãã±ãããäœæããå¿ èŠã¯ãªããæ¢è£œã®ãã³ãã¬ãŒããæ¢è£œã®ã¹ã¯ãªããããç¬èªã«åé¢ãããã€ã³ãã©ã¹ãã©ã¯ãã£ããããã€ããŠå®è¡ããã ãã§æžã¿ãŸããããªãã®å®éšã¯ãã¹ãŠããã«ãããŸãã ãããåé€ããçµæãååŸããããã«ã€ããŠããã«è©³ããå ±åããããšãã§ããŸãã
次ã®å®è·µæ¹æ³ã¯ããããååšããŠãããéèŠã§ããã䜿çšããŠãã人ã¯ã»ãšãã©ããŸãããã¢ããªã±ãŒã·ã§ã³ ããã©ãŒãã³ã¹ã®ç£èŠã§ãã
ã¢ããªã±ãŒã·ã§ã³ ããã©ãŒãã³ã¹ã®ç£èŠã«ã€ããŠèšãããããšã¯ XNUMX ã€ã ãã§ãã ãã®å®è·µã§æãéèŠãªããšã¯äœã§ãã? ããã¯ãã¢ããªã±ãŒã·ã§ã³ ããã©ãŒãã³ã¹ã®ç£èŠãã¢ããŒãã®ä¿®çãšã»ãŒåãããšãæå³ããŸãã ããã¯æçµç¶æ ã§ã¯ãªããããã»ã¹ã§ãã å®æçã«è¡ãå¿ èŠããããŸãã
è¯ãæå³ã§ãã»ãŒãã¹ãŠã®ãã«ãã§ã¢ããªã±ãŒã·ã§ã³ ããã©ãŒãã³ã¹ã®ç£èŠãå®è¡ããã®ã¯è¯ãããšã§ããããç解ã®ãšãããããã¯åžžã«å¯èœã§ããããã§ã¯ãããŸããã ãã ããå°ãªããšããªãªãŒã¹ããšã«å®è¡ããå¿ èŠããããŸãã
ã©ãããŠãããéèŠã§ããïŒ çªç¶ããã©ãŒãã³ã¹ãäœäžããå Žåã¯ããã®çç±ãæ確ã«ç解ããå¿ èŠãããããã§ãã ããšãã°ãããŒã ã« XNUMX é±éã®ã¹ããªã³ããããå Žåã¯ãå°ãªããšã XNUMX é±éã« XNUMX åãæ確ã«åºå®ãããããã»ããµãRAMããã£ã¹ã¯ãªã©ãåããå¥ã®ãµãŒããŒã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããå¿ èŠããããŸãããããŠãããããšåãããã©ãŒãã³ã¹ ãã¹ããå®è¡ããå¿ èŠããããŸãã ã çµæãåŸãããŸãã ååã®ã¹ããªã³ãããã©ã®ããã«å€åãããã確èªããŠãã ããã
ãããŠããããŒããŠã³ãã©ããã§æ¥æ¿ã«äžãã£ãããšãããã£ãå Žåãããã¯åã«éå» XNUMX é±éã«èµ·ãã£ãå€åãåå ã§ããããšãæå³ããŸãã ããã«ãããåé¡ãããè¿ éã«ç¹å®ããŠè§£æ±ºã§ããããã«ãªããŸãã ç¹°ãè¿ããŸããããããã¯ãã©ãã ãæåãããã枬å®ããããã®ææšãšã»ãŒåãã§ãã
次ã«è¡ãæŒç¿ã¯ãæ§æ管çã®æŒç¿ã§ãã ãããçå£ã«åãæ¢ããŠãã人ã¯ã»ãšãã©ããŸããã ããããä¿¡ããŠãã ãããããã¯å®éã«ã¯éåžžã«æ·±å»ãªåé¡ã§ãã
æè¿é¢çœã話ããããŸããã 圌ãã¯ç§ã®ãšããã«æ¥ãŠããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ç£æ»ã®å®æœã«ååããŠãã ããããšèšããŸããã ç§ãã¡ã¯é·ãéäžç·ã«ã³ãŒããèŠãŠãã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠè©±ããå³ãæããŸããã ãã©ã¹ãŸãã¯ãã€ãã¹ã§ããã¹ãŠãè«ççã§ãç解ã§ããå®å šã§ããããXNUMXã€ã ãããããïŒ åœŒãã¯ãœãŒã¹ç®¡çã«èšå®ãã¡ã€ã«ãæã£ãŠããŸãããããã«ã¯ãIP ããŒã¿ããŒã¹ã䜿çšããæ¬çªç°å¢ããã®èšå®ãã¡ã€ã«ãããããã®ããŒã¿ããŒã¹ã«æ¥ç¶ããããã®ãã°ã€ã³ãšãã¹ã¯ãŒããªã©ãå«ãŸããŠããŸããã
ãããŠç§ã¯ããèšããŸãããçããããã¡ã€ã¢ãŠã©ãŒã«ã§éçšç°å¢ãéããŠããŸãããéçšããŒã¿ããŒã¹ã®ãã°ã€ã³ãšãã¹ã¯ãŒãããœãŒã¹ç®¡çã«ãããéçºè ãªã誰ã§ããããèªã¿åãããšãã§ãããšããäºå®ã¯ããã§ã«å€§ããªã»ãã¥ãªã㣠ãªã¹ã¯ã§ãã ã ãããŠãã³ãŒãã®èŠ³ç¹ããã¢ããªã±ãŒã·ã§ã³ãã©ãã»ã©å®å šã§ãããšããŠããããããœãŒã¹ç®¡çã«æ®ããŠããã°ãã©ãã®ç£æ»ããã¹ããããšã¯ã§ããŸãããã ããã¯ç§ã話ããŠãããã®ã§ãã
æ§æ管çã ç°ãªãç°å¢ã§ã¯ç°ãªãæ§æã䜿çšãããå ŽåããããŸãã ããšãã°ãQAããã¢ãå®çšŒåç°å¢ãªã©ã®ããŒã¿ããŒã¹ã«ç°ãªããã°ã€ã³ãšãã¹ã¯ãŒãã䜿çšããå ŽåããããŸãã
ãã®æ§æã¯èªååããããšãã§ããŸãã åžžã«ã¢ããªã±ãŒã·ã§ã³èªäœããåé¢ããå¿ èŠããããŸãã ãªãïŒ ã¢ããªã±ãŒã·ã§ã³ãäžåºŠæ§ç¯ãããšãã¢ããªã±ãŒã·ã§ã³ã¯ãSQL ãµãŒããŒã«æ¥ç¶ãããšãã«ãç¹å®ã® IP ãä»ããŠæ¥ç¶ãããããŸãã¯ããããã® IP ãä»ããŠæ¥ç¶ããããæ°ã«ããªããããåãããã«åäœããã¯ãã§ãã ãããã£ãŠãçªç¶ãããªãã®èª°ãããŸã ã³ãŒãå ã®æ¥ç¶æååãããŒãã³ãŒãã£ã³ã°ããŠããå Žåã¯ãç§ãšåããããžã§ã¯ãã«åå ããŠããããšã«æ°ä»ããããç§ãããªããèŠã€ããŠçœ°ããããšãèŠããŠãããŠãã ããã ããã¯åžžã«ãweb.config ãªã©ã®å¥ã®æ§æã«é 眮ãããŸãã
ãããŠããã®æ§æã¯ãã§ã«åå¥ã«ç®¡çãããŠããŸããã€ãŸããéçºè ãšç®¡çè ãåãéšå±ã«æ¥ãŠåº§ãããšãã§ããã®ã¯ãŸãã«ãã®ç¬éã§ãã ãããŠéçºè ã¯æ¬¡ã®ããã«èšãããšãã§ããŸãããã»ãããããç§ã®ã¢ããªã±ãŒã·ã§ã³ã®ãã€ããªã§ãã 圌ããåããŸãã ã¢ããªã±ãŒã·ã§ã³ãåäœããã«ã¯ããŒã¿ããŒã¹ãå¿ èŠã§ãã ããã§ãã€ããªã®é£ã«ãã¡ã€ã«ããããŸãã ãã®ãã¡ã€ã«ã§ã¯ããã®ãã£ãŒã«ãã¯ãã°ã€ã³ãæ åœããããã¯ãã¹ã¯ãŒããæ åœãããã㯠IP ãæ åœããŸãã ã©ãã«ã§ãå°å ¥ããŠãã ãããã ãããŠã管çè ã«ãšã£ãŠãããã¯ã·ã³ãã«ãã€æ確ã§ãã ãã®æ§æã管çããããšã§ãå®éã«ã©ãã«ã§ãå±éã§ããŸãã
ãããŠãç§ã話ãããæåŸã®å®è·µã¯ãã¯ã©ãŠãã«éåžžã«éåžžã«é¢é£ããå®è·µã§ãã ã¯ã©ãŠãã§äœæ¥ããå Žåãæ倧ã®å¹æãåŸãããŸãã ããã¯ç°å¢ã®èªååé€ã§ãã
ãã®ã«ã³ãã¡ã¬ã³ã¹ã«ã¯ãç§ãäžç·ã«åããŠããããŒã ããäœäººãåå ããŠããããšã¯ç¥ã£ãŠããŸãã ãããŠãç§ãäžç·ã«åããã¹ãŠã®ããŒã ã§ã¯ããã®ç¿æ £ãæ¡çšããŠããŸãã
ãªãïŒ ãã¡ãããåéçºè ã 24 æé幎äžç¡äŒã§åäœããä»®æ³ãã·ã³ãæã£ãŠããã°çŽ æŽãããã§ãããã ããããããããããã¯ããªãã«ãšã£ãŠãã¥ãŒã¹ã§ããããããã泚æãæã£ãŠããªãã£ããããããŸããããéçºè èªèº«ã¯7æé24æ¥åããŠããããã§ã¯ãããŸããã éçºè ã¯éåžžã7 æ¥ 8 æéåŽåããŸãã ããšãæ©ãåºå€ããŠããæŒé£ããã£ã·ãé£ã¹ãŠããã®éã«ãžã ã«éã£ãŠããŸãã éçºè ãå®éã«ãããã®ãªãœãŒã¹ã䜿çšããæéã 12 æ¥ 5 æéãšããŸãããã åœç€Ÿã®æ³åŸã«ããã°ãé± 7 æ¥ã®ãã¡ XNUMX æ¥ãåŽåæ¥ãšã¿ãªãããŸãã
ãããã£ãŠãå¹³æ¥ã¯ãã®ãã·ã³ã¯ 24 æé皌åããã®ã§ã¯ãªãã12 æéã ã皌åããå¿ èŠããããé±æ«ã«ã¯ãã®ãã·ã³ã¯ãŸã£ãã皌åããªãã¯ãã§ãã ãã¹ãŠãéåžžã«åçŽã§ããããã«æããŸãããããã§èšãã¹ãéèŠãªããšã¯äœã§ããããïŒ ãã®åºæ¬çãªã¹ã±ãžã¥ãŒã«ã§ãã®ç°¡åãªå®è·µãå®è£ ããããšã«ããããããã®ç°å¢ãç¶æããã³ã¹ãã 70% åæžã§ããŸããã€ãŸããéçºãQAããã¢ãç°å¢ã®äŸ¡æ Œã 3 ã§å²ã£ãããšã«ãªããŸãã
åé¡ã¯ãæ®ãã®ãéãã©ãããããšããããšã§ãã ããšãã°ãéçºè 㯠ReSharper ããŸã è³Œå ¥ããŠããªãå Žåã¯è³Œå ¥ããå¿ èŠããããŸãã ãŸãã¯ã«ã¯ãã«ããŒãã£ãŒãéããŠãã ããã 以åã¯ãéçºãš QA ã®äž¡æ¹ãæŸç§ãã 3 ã€ã®ç°å¢ããããããã ãã ã£ãå Žåãä»åŸã¯åé¢ãããçžäºã«å¹²æžããªã XNUMX ã€ã®ç°ãªãç°å¢ãäœæã§ããããã«ãªããŸãã
ç¶ç¶çãªããã©ãŒãã³ã¹æž¬å®ãå«ãã¹ã©ã€ãã«é¢ããŠããããžã§ã¯ãã®ããŒã¿ããŒã¹ã« 1 件ã®ã¬ã³ãŒããããã000 ãæåŸã«ã¯ XNUMX äžä»¶ã«ãªã£ãå Žåãããã©ãŒãã³ã¹ãã©ã®ããã«æ¯èŒã§ããŸãã? ãã®çç±ãç解ããã«ã¯ã©ãããã°ããã§ãã?ãŸããããã©ãŒãã³ã¹ã枬å®ããæå³ã¯äœã§ãã?
åžžã«åããªãœãŒã¹ã§ããã©ãŒãã³ã¹ã枬å®ããå¿ èŠããããããããã¯è¯ã質åã§ãã ã€ãŸããæ°ããã³ãŒããããŒã«ã¢ãŠãããæ°ããã³ãŒãã®ããã©ãŒãã³ã¹ã枬å®ããŸãã ããšãã°ãããŸããŸãªããã©ãŒãã³ã¹ ã·ããªãªããã¹ãããå¿ èŠããããŸããããšãã°ããŠãŒã¶ãŒã 1 人ã§ããŒã¿ããŒã¹ ãµã€ãºã 000 GB ã®è»œè² è·æã«ã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«åäœãããããã¹ãããããšããŸãã èšæž¬ããŠæ°å€ãåºããŸããã 次ã«ãå¥ã®ã·ããªãªãèããŸãã ããšãã°ããŠãŒã¶ãŒã 5 人ãããŒã¿ããŒã¹ ãµã€ãºã 5 ãã©ãã€ãã ãšããŸãã ç§ãã¡ã¯çµæãåãåãããããæãåºããŸããã
ããã§äœãéèŠã§ãã? ããã§éèŠãªããšã¯ãã·ããªãªãããŒã¿éãåæãŠãŒã¶ãŒæ°ãªã©ã«ãã£ãŠã¯ãç¹å®ã®å¶éã«ééããå¯èœæ§ããããšããããšã§ãã ããšãã°ããããã¯ãŒã¯ ã«ãŒãã®éçãããŒã ãã©ã€ãã®éçãããã»ããµæ©èœã®éçãªã©ã§ãã ããã¯ããªããç解ããããšãéèŠãªããšã§ãã ããŸããŸãªã·ããªãªã§ãç¹å®ã®å¶éã«ééããããšããããŸãã ãããŠãæ°åãæã€ãšãã¯ãã®æ°åãç解ããå¿ èŠããããŸãã
ç¹å¥ãªãã¹ãç°å¢ã§ããã©ãŒãã³ã¹ã枬å®ããããšã«ã€ããŠè©±ããŠããã®ã§ãããã? ã€ãŸããããã¯æ¬çªã§ã¯ãªããšããããšã§ããïŒ
ã¯ããããã¯æ¬çªç°å¢ã§ã¯ãªãããã¹ãç°å¢ã§ãã以åã®æž¬å®å€ãšæ¯èŒã§ããããã«ãåžžã«åãç°å¢ã§ãã
ããã£ããããããšãïŒ
ã質åããªããã°ãããã§çµäºã§ãããšæããŸãã ããããšãïŒ
åºæïŒ habr.com