Cyril tolkkv Tolkachevã¯ãããããJavaã®äžçã§æãæåãª
Alpha Laboratoryã®åŸæ¥å¡ã§ãã圌ã¯JavaäŒè°ã§ç©æ¥µçã«è¬æŒãããããªãŒãã£ã³ã°ããããã£ã¹ãã«é·ãéåå ããŠãããç§ã«ã¯æ°ããããããã£ã¹ããTwo Devs One Opsããå
±åèšç«ããŸãã ããããAlpha Labã§ã®åœŒã®ä»äºã¯ã©ã®ããã«èŠããäŒç€Ÿã¯ã¬ããŒããããããã£ã¹ãã§èšåããŠãããã¹ãŠã®ããŒã«ãã©ã®çšåºŠç©æ¥µçã«äœ¿çšããŠããŸããïŒ
Cyrilã¯ååã®JPoint 2017ã§ãEvgeny BorisovãšSpring Test / Spring Boot Testã®ãã¬ãŒããã«ã€ããŠè©±ããAlpha LaboratoryãJPointã®ã¹ãã³ãµãŒã«ãªããŸãã-ãããŠãã«ã³ãã¡ã¬ã³ã¹ã§åœŒãæãŸããŠããã«ã€ããŠå°ããã®ã䟿å©ã ãšå€æããŸããã
-ããªãã¯ã¹ããŒã«ãŒããã³ããããã£ã¹ããšããŠç¥ãããŠããŸã-ããªãã¯ã¢ã«ãã¡ã©ãã§æ£ç¢ºã«äœãããŠããŸããïŒ-ç§ã¯ãã ã®éçºè
ã§ã:)ãŸããããã¹ããŒãããšããã©ãããã©ãŒã ãã®2ã€ã®ãããžã§ã¯ãã«åãçµãã§ããŸãã 1ã€ç®ã¯ã»ãã¥ãªãã£ãšæ¿èªã«é¢é£ãã2ã€ç®ã¯4æã«éå§ãããæ°ããã€ã³ãã©ã¹ãã©ã¯ãã£ãããžã§ã¯ãã§ããããã¯ä»ã®ããŒã ã®å
éšè£œåã§ãã ç§ãã¡ã¯æé·ã®å°é£ã«çŽé¢ããŠããããã補åéçºã®æè¡é¢ãšããã»ã¹é¢ãããŸãçµ±åãããšã³ãžãã¢ãªã³ã°ãœãªã¥ãŒã·ã§ã³ã®äœæã«åªåããããšã決å®ãããŸããã
ãŸããä»ã®ããŒã ïŒçžè«ããã«ããªã©ïŒãšå¯Ÿè©±ããäžè¬çã«ç§ã®å€¢ãå®çŸããããšããŸãïŒèª°ãã補åã®æåã«èå³ãæã¡ãçãããããªç®ã§å
±éã®åå ãéçºããèªåèªèº«ãæ¹åãããã¹ãŠãããè¯ããããã
ç¹å®ã®ãããžã§ã¯ãã«çµã³ä»ããããŠãããã®ã«å ããŠãããã®äººã
ã¯ã¢ããã¥ã¢ã®ããã©ãŒãã³ã¹ã«ãæºãã£ãŠããŸãã å®éãç§ã®ã€ãã·ã¢ããã¯äŒè°ã§è©±ããŠããŸãã
-Alfa Laboratoryã¯Alfa Bankã®ç¹å¥éšéã§ããããšãç¥ãããŠããŸãããå€éšããã¯æããã§ã¯ãããŸããããããã¯ã©ã®ããã«é¢é£ããŠããã®ã§ããããã-å
¬åŒã«ã¯ãååã ããç°ãªããŸãããå®éã«ã¯ãå€ãã®éãããããŸãã å€æã«é¢ãã
èšäºã¯ã Nadezhda Avdaninaã®CIO AlfaLab
ããã°ã«æ²èŒãããŠããŸãã 圌女ã¯ããã€ãã®èšäºã§ãããŸããŸãªå€å®¹ããã®å人çãªææ
ãšãå
šäœãšããŠã®ããã»ã¹ã®äž¡æ¹ã説æããŸããã
èŠããã«ãããæç¹ã§ãç§ãã¡ã¯æ®éã®éè¡æ¥ã®ITã«ãªããããªããšæ°ã¥ãããããå§ãŸããŸããã ããŸããŸãªå€æã®ãµã€ã¯ã«å
šäœãçããŠãããç§ãã¡ã¯ãããããéããããä¿¡é Œã§ãããã®ã«ããããšããŠããŸãã ãããã®å€æã®å€ãã¯ããéè¡ã®å
éšãããå®è¡ããã®ãéåžžã«é£ãããããããçšåºŠå€ç«ããŠããŸãã ãããããã©ã¹ã®å¹æãæã€å€æãå
éšã«æ®ããéè¡å
šäœã«é©çšã§ããªãããšãæããã§ãã 巚倧ãªçµç¹ãããè¯ãæ¹åã«å€ããã®ã¯é
åçã§ãã ããããããã»ã¹ã«ã¯è£è¿ãããããŸããäœããå€ããããšãã§ããç¡é¢å¿ã§ã¯ãªããèªåèªèº«ã ãã§ãªãç°å¢ãéçºããæ欲ããã人ãäžè¶³ããŠããŸãã ãããŠãç§ã®å人çãªæèŠã§ã¯ããã®ãããªäººã
ã®éäžã¯ç 究æã®äž»ãªäŸ¡å€ã§ãã
-æšå¹Žã®JPointã§ã¯ãSpring Bootã«ã€ããŠã®è¬æŒããããŸããããSpring Boot Testã«ã€ããŠã¯ãSpring Alpha Labãéåžžã«ç©æ¥µçã«äœ¿çšãããŠããããšãæ£ããç解ããŠããŸããïŒ ã©ã®ã³ã³ããŒãã³ãã䜿çšããŸããïŒ-ããã§ããããã§ã¯Springãéåžžã«ç©æ¥µçã«äœ¿çšãããŠããŸãã ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãæ¯æè
ããããŸããããæ¥ã¯ãã¹ãŠã®é ããšèšãçä¿¡è
ã¯ããŸããã 代æ¿DIãã¬ãŒã ã¯ãŒã¯ããã³ãã®ä»ã®ãéæšæºããœãªã¥ãŒã·ã§ã³ã¯ãèšå®ãããèŠä»¶ãæºããå Žåã«äœ¿çšãããŸãã
ç§ãã¡ã¯ãç 究æã®èšç«ä»¥æ¥ãã»ãšãã©Springã䜿çšããŠããŸãã Spring Bootã®å®éšã¯å°ãåŸã«å§ãŸããŸããããããã«Spring Cloudã䜿çšãããŸããã åœåã䜿çšããè©Šã¿ã¯éåžžã«åçŽã§ãããããã®åŸããã®ã¹ããŒãªãŒå
šäœãã¹ã±ãŒãªã³ã°ããææ©ããã»ã¹ããããŸããã ç§ãã¡ã¯å€ãã®ã³ã³ããŒãã³ããè©ŠããŸããã次ã®ãã®ãç©æ¥µçã«äœ¿çšããŠããŸãã
- ã¹ããªã³ã°ã³ã¢-DIã®åºç€ããªãå Žå
- ã¹ããªã³ã°ããŒã-ãã¹ãŠã®ã¹ããªã³ã°ããŒããšã³ã³ããŒãã³ãéã®ãæ¥çå€ããšããŠ
- spring-web-ãããªãã®å Žæ
- spring-cloud- *ãµãŒãã¹æ€åºãã¯ã©ã€ã¢ã³ããã©ã³ã·ã³ã°ã宣èšåhttpã¯ã©ã€ã¢ã³ãã®ãã¡ãµãŒããªã©ãæäŸããããŸããŸãªnetflixã³ã³ããŒãã³ãã
æ¹åç¹ã®1ã€ãšããŠãthriftãµãŒããŒ/ã¯ã©ã€ã¢ã³ãã®ã¹ããªã³ã°ã¹ã¿ãŒã¿ãŒã䜿çšãã䟿å©ã§ã·ã³ãã«ãªäœæ¥ã®ããã®ã¹ããªã³ã°ããŒãã¹ã¿ãŒã¿ãŒã®ã»ããããããŸãããã®äž»ãªèè
ã¯ãç§ãã¡ã®ãæ°ã«å
¥ãã®Alexander Tarasovå¥å
aatarasoffã§ããã¹ã¿ãŒã¿ãŒã æè¿ãããã€ãã®ãããžã§ã¯ãã®ãããžã§ã¯ãã
GitHubã«è»¢éãã掻åãéå§ããŸãããæãåçŽãªãããžã§ã¯ãããå§ããŸããã
-Joker 2016 Student Dayã®å¥ã®ã¬ããŒãã§ã¯ãããŒã«ã®ãåšæè¡šããäœæããŸããããçŸåšã®ãããžã§ã¯ãã§çŽæ¥äœ¿çšããŠããã³ã³ããŒãã³ãã®è¡šã¯ã©ã®ããã«ãªã£ãŠããŸããïŒåŠçã®æ¥ã«ãå®éããã®æç¹ã§ã¿ãã¬ãããèŠããŸãã:)確ãã«ãããã¯ç¹å®ã®ãããžã§ã¯ãã§ã¯ãªãããã¹ãŠã®ãããžã§ã¯ãã«é¢é£ããŠããŸãã ãã¡ãããéæšå¥šã®ã³ã³ããŒãã³ããšå®éšçãªã³ã³ããŒãã³ãããããŸãã ããããããããã«ç¬èªã®ã©ã€ããµã€ã¯ã«ããããå°ããã€ãäžæ¹ããä»æ¹ãžã®ç§»è¡ããããŸãã
-å®éšçã³ã³ããŒãã³ãã®è³ªåïŒããªãã¯ç©æ¥µçã«æ°æè¡ã«èå³ããããŸãããä¿¡é Œæ§ã¯éè¡ã«ãšã£ãŠéèŠã§ãã çç£ã«ææ°ã®ãã¯ãããžãŒã䜿çšããããšããç¶æ³ã¯ãããŸããããéè¡ã®åºæºã§ã¯ããŸã ååã«å®å®ããŠããããé·å¹ŽåŸ
ããªããã°ãªããŸãããïŒ-å®å®æ§ã¯ç¹å®ã®æè¡ã®ããã§ã¯ãªãã人ã
ããã®ã¢ããªã±ãŒã·ã§ã³ã®äŸ¡å€ã¯å®å®æ§ã§ããããã®ããã«æ©èœããã¯ãã ãšç解ããŠããããã§ãã ããã«ãä¿¡é Œæ§ã¯ååã§ã¯ãããŸããããœãªã¥ãŒã·ã§ã³ãè¿
éã«åžå Žã«æå
¥ããåžå Žæå
¥ãŸã§ã®æéãççž®ããå¿
èŠããããŸãã ããªããéåžžã«ä¿¡é Œã§ãã決å®ããããããããé©åãªææã«æ¥ãªãã£ãå Žåããã®äžã«ã¯äŸ¡å€ããããŸããã
äžè¬çã«ããã¯ãããžãŒã®éžæã§ã¯ãèå³æ·±ãç¹ããããŸãã ç§ãã¡ã¯ãããã€ãã®ãœãªã¥ãŒã·ã§ã³ã®æšæºåãšãåçµããäœå¹Žãã®éæŸæ£ããããšããæŠå¿µã«åŸã
ã«ç§»è¡ããŠããŸãããåæã«ããã¯ãããžãŒã®ã©ã€ããµã€ã¯ã«ãæšæºåããŸãã
ãã¡ãããããã¯äŸ¡å€ãä»å ããããšãªãè¡ãããã¹ãã§ã¯ãªãããã®ããã»ã¹ã®æåã®ãã€ã³ãã¯ãããã¢ããšãã質åã§ããããã¯ããã¹ãŠã®ãã€ãããŒã¿ãŒããäœåºŠãèªåããå¿
èŠããããŸãã ãããŠåœŒã®åŸã ã
- ãã®è³ªåã§å¯å
- æ°ããæè¡ã解決ããåé¡ãç§ãã¡ã«ãšã£ãŠæ¬åœã«éèŠã§éèŠãªçç±ãå®åŒåããããšãã§ããŸã
- ãã¹ãŠã®äººã«ééçãªãããã¿ã€ããçµã¿ç«ãŠãŸã
ãã²ãŒã ã¯ããããã«å€ããããšèšããŸãã ããã«ãã»ãšãã©ã®å Žåãå¿
èŠãªããã»ã¹ãšãã¯ãããžãŒã®å®è£
ãæ¯æŽããå¿ãåãããã人ã
ãããŸãã
éèŠã§é倧ãªåé¡ãšèãããã®ã解èªãã䟡å€ããããŸãããããã¯ç°¡åãªè³ªåã§ã¯ãããŸããã éè¡ã«ã¯èšå€§ãªæ°ã®ããã»ã¹ãšçµ±åãããããœãããŠã§ã¢ããå§ãŸããæ¯åºãããã¯ãªãã£ã¹ã«ãããã«ã¹ã¿ã Webã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§çµãããŸãã åãœãªã¥ãŒã·ã§ã³ã«ã¯ãã·ã¹ãã ã®ãŠãŒã¶ãŒããã®ç¹å®ã®è³ªåã«çããå
éšãµããŒãããããŸãã ãã®ãµããŒãã¯ããã«ãã¬ãã«ãã§ããå ŽåããããŸãã ãããŠãããšãã°ã人çè³æºããéããããŠãã¡ããç¥çµãç¯çŽãå§ããããããµããŒãã®åŒã³åºãåæ°ãæžããããšãå¯èœã«ããåé¡ã¯æœåšçã«éèŠã§ãïŒãããŠããã®ç®æšã®æ¹åã¯ããå°ãªãåã§ããå€ããããããšã§ãã
ç§ãã¡ã¯å°ãªãã§ããããã¹ãã§ãïŒ æ°ã§ç«¶äºãããã¯ãããŸãããå質ãæ±ããŠããŸãã
-å€éšããå€æã§ããéããAlpha Laboratoryã¯ããµã€ã¯ãªã³ã°ããããããç¥ãããŠãããªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã䜿çšããããšã奜ã¿ãŸã-ããã§ããïŒ äœãããŠããã®ïŒ-確ãã«ãç§ãã¡ã¯åŸªç°ããªãããã«ããŸãã ç§ãã¡ã®æ¡ä»¶ã«ãããæ¢è£œã®OSSãœãªã¥ãŒã·ã§ã³ã䜿çšããŠãããã¥ãŒããã®æçµãåéããããšãã§ããŸãã ç§ãã¡ãæžããã³ãŒãã¯æ¬¡ã®ãšããã§ãã
- ããžãã¹ããžãã¯
- ã·ã¹ãã ãµããŒãã®æ¹åãç®çãšããã³ãŒã
- ããŸããŸãªã³ã³ããŒãã³ããçžäºã«çµ±åããã³ãŒã
ããããã¹ãŠã«ãããOSSã³ã³ããŒãã³ãã®ã»ããããã§ã«å«ãŸããŠããæ¢è£œã®ãçµ±åããœãªã¥ãŒã·ã§ã³ãæ¡çšããããšã¯ããŸã奜ãã§ã¯ãããŸããã ããã¯ç§ãã¡ããã§ã«ããã«ã¶ã€ãã£ããšããäºå®ã«ãããã®ã ãšæããŸãããããŠä»ãç§ãã¡ã¯éžã°ãããœãªã¥ãŒã·ã§ã³ããææããã瀟å
ã®å°éç¥èãå¢ããããšã奜ã¿ãŸã:)
-JavaScriptã¯ãããã³ããšã³ããåŸæããä»ã§ã¯ããã¯ãšã³ãã«ãrawããŠããŸã-ããããç¹å®ã®èŠä»¶ã§éè¡æ¥åãéå§ã§ãããJava Alpha Labã§è
åšãšãªããã®ã¯ãããŸãããïŒ ãããšã圌ãã¯èå³ãæã£ãŠNode.jsãèŠãŠããã®ã§ããããïŒ-Node.jsã䜿çšããŸããReactã䜿çšããããã³ããšã³ããã³ããŒããããŸã-Node.jsãªãã§ã¯ã©ãã«ããããŸããã ããããå
éšãµãŒãã¹ãããŒã¿åŠçããŸãã¯çµ±åãµãŒãã¹ã«é¢ããéããJavaã¯ãããŸã§ããŸããŸãªåé¡ã解決ããããã«éçºããããšã³ã·ã¹ãã ãããããã¹ãŠãNode.jsã®äžçã«é¡äŒŒããŠããããã§ã¯ãªããããJavaã¯ãããŸã§ã®ãšããè
åšã§ã¯ãããŸããã ãŸãããã©ãããã©ãŒã ãšããŠã®Javaã¯ãäžäœäºææ§ãšããŸããŸãªååž°ããã©ãŒãã³ã¹ã®å€æŽã®äž¡æ¹ã®ç¹ã§éåžžã«å®å®ããŠããŸãã ïŒtrollfaceïŒJava 9ããããããã®ãèŠãŠã¿ãŸããã
-ããªãã¯ããã«ã€ããŠããããã£ã¹ããäœæããæç¹ãŸã§DevOpsã«èå³ããããŸããïŒãã®ã¢ãããŒãã¯Alpha Labsã§æ®éçã«å®è£
ãããŠããŸããïŒ-æ¢ã«è¿°ã¹ãããã«ãAlpha Laboratoryã«ã¯ããŠãŒã¶ãŒã«äŸ¡å€ã®ããå€æŽãã§ããéãè¿
éãã€å®å®çã«äŒããããã»ã¹ãè¡ããããšããåçŽãªäººã
ãããŸãã å€ãã®å Žåãããã«ã¯æè¡çãªã¹ãã«ã ãã§ãªãããœãããªã¹ãã«ãå¿
èŠã§ãã
ãããŠãSergey
bsideup Egorovãšäžç·ã«çµç¹ããDevOpsããããã£ã¹ããTwo Devs One Opsãã¯ããªãã©ã€ã³ã§ã®åçã«ããããããŠãã質åãããããããããã§ã:)çŸæç¹ã§ã¯ããŸã第äžã«ãããã¯ç§ãã¡ãéãŸãå Žæã§ãäºãã«è©±ãåã£ãããèå³ã®ãã人ãšè©±ãããããŸãã ãããã®éäŒã¯ã³ãã¥ããã£ã«ãšã£ãŠèå³æ·±ããã®ã§ããããšãå€æããŸããã ããã§ã¯é©ãã¹ãããšã¯äœããããŸãããããããªãŒãã£ã³ã°ããããã£ã¹ãã§é·ãéç¥ã£ãŠããŸãã
-ã©ããããããªãã¯éåžžã«å€ãã®æè¡ãæ±ã£ãŠããã®ã§ãåäŒè°ã®åã«ãäœãæ£ç¢ºã«è©±ãã¹ããããšãã質åãçºçããŸã-ä»å¹Žã®æ¥ã«JPointã®ãã¹ããéžãã ã®ã¯ãªãã§ããïŒ-ããªã¹ããŒã«ãšã£ãŠæã圹ç«ã€ãã®ããšããååã«åŸã£ãŠéžæããŸããã ã¬ããŒãã«ç€ºãããããŸããŸãªèœãšãç©Žãšçµè«ã«ãã£ãŠããªã¹ããŒã¯å€ãã®æéãç¯çŽã§ãããšæããŸãã
PivotalããŒã ããã¹ããã¬ãŒã ã¯ãŒã¯ã® "ãªãŒããŒããŒã«"ãäœæããŠããããšã¯éåžžã«èå³æ·±ãããšãããããŸããã çŸæç¹ã§ã¯ãæ°ããã¡ã«ããºã ãšå€ãã¡ã«ããºã ã®äž¡æ¹ãããããããã®çµã¿åããã«ãããæããã§ãªããã¥ã¢ã³ã¹ãçŸãå§ããŠããŸãã ã¯ãããŸããã¹ããªã³ã°ãã¹ãèªäœã«ã¯ãéçºè
ãã»ãšãã©æ³šæãæããªãå€ãã®é
ç®ïŒãã¹ãã³ã³ããã¹ãã®ãã£ãã·ã¥ãªã©ïŒãå«ãŸããŠããŸãã ãŸããspring-boot-testã¯ããã«ããã«éæ³ãå ããŸããããšãã°ãéåžžã«å
·äœçã«åäœãã2çš®é¡ã®èªåã¹ãã£ã³ã¯ãéåžžã®äœ¿çšã§ã¯1ã€ã®ã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãã匷åã«çµåããŸãã
-äŒè°ãããããã£ã¹ãã¯ä»äºã«çŽæ¥åœ±é¿ããŸããïŒ ããšãã°ãåŸã§ååã«ãªã£ã人ãšç¥ãåãããšãã§ããŸããïŒãç§ã¯ããç 究æãã§ç§ã«ãšã£ãŠã圹ã«ç«ã€ã人ããã£ãšèŠã€ãããšããç®æšã¯ãããŸããã ãŸã第äžã«ãããã¯ç§èªèº«ã®èªå·±éçºãšã³ãã¥ãã±ãŒã·ã§ã³/æ°ããç¥èãžã®æžæã®æºè¶³ã§ãã 誰ãããããªãŒãã£ã³ã°ãèããŠããããäŒè°ã§ç§ãã¡ã®ä»²éã®äžäººãèŠãŠããããã«ç§ãã¡ã®ãšããã«æ¥ãŠããç§ã¯å人çã«ãããèŠãŸããã ç§ã«ãšã£ãŠã¯ã人ãã©ã®ãããªç®çã§äŒè°ã«åå ããããããã£ã¹ããèŽãããããéèŠã§ãã
ããã¯ç§ã«ãåœãŠã¯ãŸããŸããæåã«ããããã£ã¹ããäŒè°ã«åå ããããšã¯ãç§ã®äººçã§èµ·ãã£ãã©ã³ãã ãªã€ãã³ãã ããã§ãã ããããã£ã¹ãã話ã/åå ããæ©äŒãåŸã->è©Šãã->æ°ã«å
¥ã£ãã ä»ãç§ã¯ããã©ãŒãã³ã¹ãããè¯ãããããšããŠããŸãããããŠããã¯ç§ãç§ã®ä»äºãéçºããŠæ¥œããããšã®äž¡æ¹ã«åœ¹ç«ã¡ãŸãã èªåã®äººçããã©ã³ãã æ§ãæé€ããããšã¯äžå¯èœã§ãããããã£ãŠãç§ãã¡ãæã£ãŠããããããæ©äŒãã©ã®ããã«å©çšããããéèŠã§ãã
ãããŸã§ã®ãšãããäŒè°ã®åºåžè
ã®ã¿ãããªã«ã®æ°ããã¬ããŒããèŠãããšãã§ããŸããããYouTubeã§ã¯ãæšå¹Žã®JPointããã®Spring BootããŒã¯ãèŠãããšãã§ããŸãã