ãã±ãããåãåã£ãŠããäŒè°ããé¢åãã«ãªããªãããã«ããæ¹æ³ã¯ïŒ ç§ã®æèŠã§ã¯ãæè¯ã®æ¹æ³ã¯ãåãäž»å¬è ã®äŒè°ã®1ã€ã§è¬æŒè ã«ãªããèªåã«é¢ããã¬ããŒãã®éžæãšæºåããã¹ãããããšã§ãã æ¥ãç§ã¯JUG.ruã°ã«ãŒããéå¬ããäŒè°ã§è¬æŒãè¡ããŸããããã以åã«èµ·ãã£ãããšã¯ãã¹ãŠãåŠäœã®é²è¡ãé£æ³ãããŸãã å®è¡ã®ãã³ã«è³ªåãšã³ã¡ã³ãã®é·ããªã¹ããåãåã£ãåŸãç§ã®ã¬ããŒãã¯ããã°ã©ã å§å¡äŒã«ãã£ãŠäœåºŠãèãããŸããã å§å¡ã®1人ããå察è ãã«ãªããSlackã§ã®çµ¶ãéãªãè°è«ã§ãã¬ããŒãã§è©±ãããããšã®æå¹æ§ã®ç¡æ¡ä»¶ã®èšŒæ ãåŸãããã«è¿œå ã®å®éšãå¿ èŠã«ãªããŸããã å ±åæžãæ¿èªããããšãããã¥ãŒã¹ãæ¥ããšããããã¯æçµçãªãã®ã§ã¯ãããŸããã§ããã ãã®ãã¹ããè¡ã£ãåŸãJUG.ruã°ã«ãŒãã®ã¡ã³ããŒã¯äŒè°ã§æ··ä¹±ãèš±ããªãããšãç¥ã£ãŠããŸãã ãããŠãç§ã¯åœŒããä¿¡é ŒããŠããŸããä»å¹Žã圌ãã®äŒè°ã®ã»ãšãã©ã«åå ããŸããã
ç§ã«ãšã£ãŠã¢ã¹ã¯ã¯ãã€ãŒã³ããã°ã¯ãç¹å¿æãç· ããããä»å¹ŽæåŸã®äŒè°ã§ãã éäŒã®æšæ¶ã§ããã°ã©ã ãã£ã¬ã¯ã¿ãŒã®ã¢ã³ãã¬ã€ã»ããããªãšããè¡šæããçµ±èšããå€æãããšããã€ãŒã³ãã°ã®äººã ã®ã»ãšãã©ã¯ããã®ãã¹ã¿ãŒã§ãã ã³ãã¥ãã±ãŒã·ã§ã³ã®æèŠã¯ãäž»ã«ç±å¿ãªQAããŒã ãæã€å€§äŒæ¥ã§åã人ã ã§ãã
ç§ã¯ãã€ãŒã³ãã°ã®å žåçãªèšªåè ã§ã¯ãããŸããã ç§ãã¡ã®äŒç€Ÿã«ã¯çŽ25人ããããŸããããå€ãã¯åœ¹å²ãå ŒãåããŠããŸãã ç§ã¯æè¡ãªãŒããŒããããžã§ã¯ããããŒãžã£ãŒããããŠåãªããåé¡è§£æ±ºè ãã§ãªããã°ãªããŸããããã¹ãèªååã«é¢äžããŠããã®ã¯æ°äººã ãã§ãã åœç€Ÿã®åç¶ã¯ãæåéãããŒã ã®å¹æã«ããã£ãŠããŸãã å¹çãäžããããšã¯ãæ°ããç¥èãåŸãŠèŠéãåºããããšã«ãã£ãŠã®ã¿å¯èœã§ãããã®ããã«ç§ãšåå2人ã¯ãã€ãŒã³ããã°ã«è¡ããŸããã
1æ¥ç®
ã«ã³ãã¡ã¬ã³ã¹ãªãŒããã³ã°
äŒè°ã®éå¹ããè¯ãé°å²æ°ãçãŸããŸããã ãªãŒããã³ã°ã®éãããã°ã©ã ãã£ã¬ã¯ã¿ãŒã®ã¢ã³ãã¬ã€ã»ããããªãšãã¯ã芳客ã«èª²é¡ãäžããŸããã äŒå Žã¯ããã«å€§ããªé³ã§ãã£ã±ãã«ãªããŸããã ãšãŠã䟿å©ãªä»äºã§ããïŒ çµå±ã®ãšãããäŒè°ã¯æ倧éã®å©çãåŸãããã«å·§ã¿ã«äœ¿çšããå¿ èŠãããããŒã«ã§ãã äŒè°ã®äž»ãªæ§æèŠçŽ ã¯ã¬ããŒãã§ããããã«èŠããŸãããå®éã«ã¯ãã¬ããŒãã«åº§ã£ãŠç·å©çã®çŽ40ïŒ ããåŸããããæ®ãã®60ïŒ ãèªåã§åãå¿ èŠããããŸãã ããªããITã®å åè ã§ããå Žåãæ°ãã人ãšäŒè©±ãå§ããããã«ã¯ãèªåã§ããçŽãå¿ èŠããããŸãã ããããããã¯æåããé£ããããšã§ããããªããšåãããã«ãããã«ããå šå¡ãäœãæ°ãããã®ãæ±ããŠæ¥ãããšãããã«ããããŸããäŒè°ã§ã³ãã¥ãã±ãŒã·ã§ã³ããšãããšã¯æ¬åœã«ç°¡åã§ãã
ãã€ãºãèœã¡ããšããã¢ã³ãã¬ã€ã¯å¥ã®ã¿ã¹ã¯ãäžããŸãããå°ãªããšã5ã€ã®éèŠãªã¢ã€ãã¢ãæãåºãããã«ãäŒè°ããæã¡åºãã次ã®2æ¥éã§å®è·µããããšãã§ããŸããã ç§ã¯ããã«æ³šæããå ±åã¯3ã€ã®éšå±ã§å§ãŸããŸããã
1
æåã®ã¿ã€ã ã¹ãããã§ã¯ã Dmitry Buzdinã®ã¬ããŒãããªãŒããã¹ãçšã®ç¬èªã®ãã¬ãŒã ã¯ãŒã¯ãæ§ç¯ããæ¹æ³ãã«è¡ããŸããã çè«äžã®ISTQBæ±çšãã¹ãèªååã¢ãŒããã¯ãã£ã¢ãŒããã¯ãã£ã«åºã¥ããŠãDmitryã¯ããã¹ãããã»ã¹ã®ãã¹ãŠã®ã¿ã¹ã¯ãå®å šã«ã«ããŒããããã«ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ãçµã¿åãããæ¹æ³ã«ã€ããŠè©±ããŸããã å人çã«ã¯ãã¬ããŒãã«ã¯æ¢è£œã®ã¬ã·ãã¯å«ãŸããŠããŸããã§ããããäžæ¹ã§ãISTQBã¢ãã«ã«ã€ããŠç¥ãããã¹ããã¬ãŒã ã¯ãŒã¯ãæ§æãã詳现ã«ã€ããŠã®ç¥èãçå£ã«æ³šæããŸããã
åæã«ãå¹³è¡ããéšå±ã«ã¯ã TestContainersã«é¢ããSergey Egorovã®å ±åããããŸããã éåžžã«ç°¡åãªçç±ã®ããã«è¡ããŸããã§ããïŒJEEConfã§æ¥ã«TestContainersã«é¢ããSergeyã®ã¬ããŒããåããŠèããã®ã¯ãåç§ã«ãã®ãã¯ãããžãŒãå®è£ ãã10æã«Jokerã§Sergeyãšè©³çŽ°ã«ã³ãã¥ãã±ãŒã·ã§ã³ãåããæåããŸããåºäŒã£ãæ©èœã TestContainersã®ã¢ã€ãã¢ã¯ã·ã³ãã«ã§åŒ·åã§ããããšãã°ãæ¢åã®Dockerã€ã³ãã©ã¹ãã©ã¯ãã£ãšããŠã³ããŒãå¯èœãªã€ã¡ãŒãžã䜿çšãããšãããšãã°ãã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹åããã ãã§å®éã®OracleããŒã¿ããŒã¹ãžã®JDBCæ¥ç¶ãååŸã§ããŸããããã¯ãããçš®ã®HashMapã»ã©è€éã§ã¯ãããŸãã ãã©ãŠã¶ãããŒã¿ããŒã¹ãªã©ãã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹åããã ãã§ããã«äœ¿çšã§ããŸãïŒ ãã¹ãç°å¢ã®è€éãªèšå®ãšãã¹ãèªäœã®æ§æãå¿ èŠã ã£ããã®ã¯ã3ã€ã®åçŽãªèŠä»¶ã«èŠçŽãããŸãããã·ã³ã«ã¯JDKãMavenïŒGradleïŒãDockerãå¿ èŠã§ãã TestContainersã®äœæè ã¯çŽ æŽããã仲éã§ããã幞éãç¥ããŸãã
2
ããããã Simon Stewartã®ãScaling Seleniumãã¬ããŒãã«è¡ããŸããã Simonã¯ãUIãã¹ããæé·ããããè€éã«ãªãã«ã€ããŠçºçããäžè¬çãªçã¿ã®åé¡ã«ã€ããŠè©±ããŸããïŒè匱ãªãã±ãŒã¿ãŒãæåŸ ãã¯ã©ãŠããå«ãSeleniumã§ã®ã¹ã±ãŒãªã³ã°ã ç§ã¯ãã®ãããã¯ã«æ·±ã没é ããŠãããšã¯æããŸããã§ãããããµã€ã¢ã³ãç§ã絶察ã«èªå® ã§å¿åãããæåã®ã¢ã€ãã¢ã ãåææ¡ä»¶ã®ç¢ºèªããè¡šæããããšã«çªç¶æ°ä»ããŸããã ã·ã¹ãã ãã¹ããéå§ããåã«ãã·ã¹ãã ãäŸåãããã¹ãŠã®ãµãŒãã¹ãå®è¡ãããŠãããã©ããã確èªããŸãã ããŒã¿ããŒã¹ãèªèšŒãµãŒããŒãããã³ã¢ããªã±ãŒã·ã§ã³ãäœæ¥ã«äŸåãããã®ä»ã®ã³ã³ããŒãã³ãã¯åäœããŸããïŒ å®éãå°ãªããšã1ã€ããåãã§ããå Žåããã¹ãããæå³ã¯ãããŸããããåé¡ãæ瀺çã«åæ¢ããŠå ±åãã䟡å€ããããŸãã ããããªããšãå€æ°ã®ç¡é¢ä¿ãªãšã©ãŒããã°ã«èšé²ããããã¹ãçµæèªäœã®ä¿¡é Œæ§ãæãªãããŸãã
åæã«ãç§ã®ååã®ãã³ã©ã€ã¯ãã¢ã¬ã¯ã»ã€ã»ãŽã£ãã°ã©ãããšã¢ã³ãã¬ã€ã»ãœã«ã³ãã§ãã®ã»ã¬ããã»ããºã«ã©ãŒã蚪ããŸãã ã ã¯ã€ãºã¬ããŒãã¯ãããªãã®å¿ã®éãã§èŒããTã·ã£ããç²åŸããããã®çŽ æŽãããã¢ã€ãã¢ã§ãã ããããæ»ããšãã³ãªã¢ã¯åãå°œãããŠæãåŒããŠãããšèšããŸãããã圌ã¯äžèšãäžããããŸããã§ããã ç¹çŽ°ãªKolyaãšãéåžžãããºã«ãã§èµ·ããèªå€§åºåãç¥ã£ãŠããã®ã§ãæã匷ãåŒã£åŒµã䟡å€ããã£ããšæããŸã:-) Selenideã¯ãã裞ã®ãSeleniumã®åé¡ã®ã»ãšãã©ã解決ããçŽ æŽããããã¬ãŒã ã¯ãŒã¯ã§ãã è©ŠããŠã¿ãŸããããä»ã¯å¥ã®ãã®ã䜿çšããŠããŸãã ãã€ãŒã³ãã°ã®åŸã圌ãã¯åœŒãã®éžæã®æ£ããã«ã€ããŠèããŸãããã
3
次ã«ã ãŠã©ãžããŒã«ã·ããã³ãã®ã¬ããŒãããã©ãŠã¶åŽã§ã®Webã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®ãã¹ããã«é²ãããã©ãŠã³ãããŒãã«ã2018幎ã«ãã¹ã¿ãŒãç¥ã£ãŠããã¹ãããšãã«è¡ãããèããŠããã©ãŠã¶åŽã®ããã©ãŒãã³ã¹ã«ãŸã äŸåããªãããšã決å®ããã©ãŠã³ãããŒãã«ã«ã
ããã«ã¯ããŒãã«ã¯ãããŸããã§ãããã5人ã®ã¹ããŒã«ãŒã䞊ãã§åº§ã£ãŠããŠããã¬ãŒã³ã¿ãŒãšèŽè¡ãšãã¬ã°ã©ã ãã£ã³ãã«ããã®è³ªåããããŸããã è°è«ã¯äž»ã«ãã¯ãããžãŒã§ã¯ãªãããã¹ã¿ãŒã®ãã£ãªã¢ãã¹ãšäŒç€Ÿã®çµç¹æ§é ã«ã€ããŠã§ãã-ç§ãã¡ã®ãããªãã©ãããªæ§é ãæã€ãã€ã¯ãäŒæ¥ã«ã¯ããŸãé¢ä¿ãããŸããã ã¹ããŒã«ãŒã¯5人ã§ãããããã³ã©ã€ã¢ãªã¡ã³ã³ããæãç©æ¥µçã«è©±ãã1æéã§è€æ°ã®ã¬ããªã«ãæ¿å ¥ããæ¹ãè¯ã人ãããŸããã Nikolayã¯ITåéã§æé«ã®å°é家ããã³ãã¬ãŒããŒã®äžäººã§ãããæ°ã®å©ãããã£ãããç·ã ãšæããŸãã ãããããã®äŒè°ã§åœŒã¯ãã§ã«2ã€ã®ã¬ããŒããæã£ãŠããã®ã§ãä»ã®äººã«ãã£ãšè©±ãæéãäžãã䟡å€ããã£ãã®ãããããŸããã
ç§ã¯ãã®ãããªããšãç解ããŸãããå°é家ã®ã°ã«ãŒãã«å°ãããç¹å®ã®è³ªåãããå Žåã«ã®ã¿ããã©ãŠã³ãããŒãã«ãã«è¡ã䟡å€ããããŸãã ããªãã¹ã³ãã«è¡ããšãäŒè©±ã®ã¹ã¬ãããæåŸ ã©ããã«è¡ããªãå ŽåããããŸãã ã¹ããŒã«ãŒã¯ããã£ã¹ã«ãã·ã§ã³ãšãªã¢ãããŒãã£ãŒã§ç¹å®ã®è³ªåãããæ¹ã䟿å©ãªå ŽåããããŸããããã«ãããååãšããèããããªãçããããªããŸãã
ãããããã®æé垯ã§ç§ãã¡ã¯æªãæéãéããããšèšãããã§ã¯ãããŸããã ç§ãååã®é£ã«ãããšããç§ã¯åœŒã«ããã€ãã®èœã¡ãUIãã¹ããèŠããŸããããã®ããããžã§ã³ãã³ã¹ã¯ç§ã«ã¡ãŒã«ã§è¿·æããããŸããããããŠæ¥é±ã®é¡§å®¢ãžã®ã·ã§ãŒã®åã«ç§ã¯ç·åŒµããŸããã äžç·ã«ãªã£ãŠããããã®ãã¹ãã倱æããçç±ãããã«çªãæ¢ããç§ã¯äŒå Žãæºè¶³ãããŸããã ã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãä»äºãå¿ èŠãªå ŽåããããŸãã ãããŠãç§ãã¡ã¯ééããªããããªã§ãŠã©ãžããŒã«ã»ã·ããã³ãã®å ±åãèŠãã§ãããïŒ
æŒé£
ç§ãèšããããšã¯ç®èã«ãæ±ãããŸãããæŒé£ã¯ããããäŒè°ã®è³ªã®æãéèŠãªææšã§ãããšèããŠããŸãã äžæ¥äžéãããããåºåŒµã«è¡ã£ãããæ·±å€ã«åž°å® ããã ãã§ãåžžã«ç¥èãåŸãããšã«éäžããŸã-ããã¯ãšãã«ã®ãŒéçŽåã§ãã äŒè°ã§ã®é£ã¹ç©ã¯ãé£ã¹ç©ãæžãã«ã€ããŠã®èããæ°ãæ£ãããªãããã«ããé£ã¹ç©ã«ç¹å®ã®èŠä»¶ããããããããªããšããäºå®ãèæ ®ããŠãã ããã ãã®ç¹ã§JUG.ruã°ã«ãŒãã¯ããã§ããŠããããã³ã¯ããããŸãããé£åã®å質ã¯è¯å¥œã§ãïŒHabréã®é»å ±ãškamentyã¯ãJoker 2017ã§ããã¢ã«ã€ããŠé·ãéèŠãããŠããŸãã:-)ä»åãç§ãå€é£ã«ãããšããç§ã¯ãããèŠã€ããŸãããã¹ãŠã®äººã¯ãã§ã«æããã«æºè ¹ã§ããããããŒãã«ã¯ãŸã ã¹ããã¯ãæž©ããæçã§ãã£ã±ãã§ããã ããã¯ç§ã«èªä¿¡ãäžããŠãããŸããã éèãšeggåãšããŒãºã® äžã§éãããäžæ¯é£ã¹ãããšãåŠå®ããŸããã§ããããã®åŸãç¶ããæºåãã§ããŸãã:-)
4
åã®ãµã³ã¯ãããã«ãã«ã¯ã§ããã€ãŒã³ãã°ã¢ã³ãã¬ã€ã»ãµã¿ãªã³ã¯ãC ++ã³ãŒãå®è¡ãåæããããã®ç¹å¥ãªããŒã«ã«ã€ããŠè©±ããŸããã ç§ãã¡ã¯Javaã§æžããŠããã®ã§ã圌ã®çŸåšã®ã¬ããŒããã·ã¹ãã ãèµ·åããã«ãã§ãã¯ããæ¹æ³ãã¯ç§ãã¡ã«ã¯é¢ä¿ãªããšæããŸããã ããã§ããç§ã¯ã¢ã³ãã¬ã€èªèº«ã«è¡ã£ãŠåœŒã«å°ããŸããã ã¬ããŒãã¯C ++ã«éå®ãããŠããªãã£ãããšãå€æããç§ã¯çãŸããŸãã-ãããŠããããåŸæããŸããã§ããã ãããã£ãŠãçµè«ã¯ãå ±åæžã®å 容ã«ã€ããŠãè¬æŒè ãŸãã¯ããã°ã©ã å§å¡äŒã®ã¡ã³ããŒã§äºåã«æå®ããããšããããããªãã§ãã ããã ããªãã¯ããã«çããããããã¯äŒè°ã§ã®åš¯æ¥œã®å¹çãé«ããŸãã
Andreyãè¿°ã¹ãèãæ¹ã¯ãåæã«å®è£ ããã®ã«å®äŸ¡ã§å¹æçã§ããåæ£ã·ã¹ãã ã®æ§æãã¡ã€ã«ã¯ãèªåçã«æ€èšŒããããšãã§ãããŸãæ€èšŒãããã¹ãã§ãã ãã§ãã¯ã§ããæãç°¡åãªããšã¯ããããã®ãã¡ã€ã«ãäžè¬ã«ååšããæå¹ãªJSON / YAML / XMLã§ããããšã§ããããããããè€éãªãã§ãã¯ãå¯èœã§ããããšãã°ãããŒã/ã©ãã¯/ããŒã¿ã»ã³ã¿ãŒã«ãããµãŒãã¹ã®é ä¿¡ãã·ã¹ãã ãã©ãŒã«ããã¬ã©ã³ã¹ã®èŠä»¶ãæºãããŠããããšã§ãã ãŸãã¯ããã¹ããšããŒããåäžã®ãããã¯ãŒã¯ã«æ¥ç¶ãããŠããå Žåãããã§ãªãå Žåãããšãã°ãããŒãèšå®ãæ£ãããªãããã«ãã¯ã©ã¹ã¿ãŒã®æ¥ç¶ã€ã³ã¹ã¿ã³ã¹ãæã£ãããå°ãªãããšãããããŸãã
ããããç§ã«ãšã£ãŠã¯ãåçã¯äžãæã«ãŸãšããããŸããã§ããïŒAndreiã¯ãæ§æãã¡ã€ã«ãå®æãã圢ã§ããŒãžã§ã³ç®¡çã·ã¹ãã ã«ããå Žåã«ã€ããŠè©±ããŸããããããšãã°ãæ§æãã¡ã€ã«ã¯åçã«äœæãããAnsibleã䜿çšããä»®æ³ãã·ã³ãšä»®æ³ã³ã³ãã¥ãŒã¿ãŒã«é 眮ãããŠããŸããããã¯ããå©çšã§ããŸããã ãã£ã¹ã«ãã·ã§ã³ãšãªã¢ã«ç§»åããå°ãã®ããã¬ã€ã³ã¹ããŒãã³ã°ãã解決çã«ã€ãªãããŸãããansible-playbookã®å®è¡äžã«å¥ã®ãã©ã«ããŒã§æ§æã®ã³ããŒãå®è¡ãããã®çŽåŸã«çµæã®æ§æã®ç¢ºèªãéå§ããã ãã§ååã§ãã ãããŠãAndreiãè¿°ã¹ããªã¹ã¯ã¯ç§ã®ãããžã§ã¯ãã«ãšã£ãŠéèŠã§ã¯ãããŸããããæéãçµã€ã«ã€ããŠããããéèŠã«ãªãããããã®ãã§ãã¯ãå®è£ ã§ããå¿ èŠãããããšãç¥ã£ãŠããŸãã ãããã£ãŠããæŠè£ ãã®2çªç®ã®ã¢ã€ãã¢ãåãåããŸããã
5
次ã®ã¬ããŒãã®èè ã§ãããã¹ãèªååã®æªçšãšèª€çšãã¢ã©ã³ãã€ãžã¯ ãç 究æã§Borland C ++ã§hello worldãæžããåœæãMicrosoft Windowsãšãã£ã·ã§ã³ã«åå ããŠããŸããã ããã ãã§åœŒã«è¡ã䟡å€ããããŸããã ã¬ããŒãã§ã¯ãããã¹ããã©ãããããšããããç¥ãããæŠå¿µã«èšåããŸããããããã¯ãã°ãã°ãã®ãããªãšãã§ããªããã¢ã€ã¹ã¯ãªãŒã ã³ãŒã³ãã«éåããåŸåããããŸãã
ããã¹ããã©ãããã¯ãã§ããã ãå°ãªãUIãã¹ããèšè¿°ããå¿ èŠãããããšãæå³ããŸãããšã¢ã©ã³ã¯èšããŸããã UIãã¹ã1ïŒæžãã®ãé£ããã2ïŒèšå€§ãªèšç®ãªãœãŒã¹ãå¿ èŠãšãããŸã é ãã3ïŒä¿¡é Œæ§ããªãïŒäžå®å®ïŒ æãä¿¡é Œæ§ãé«ããæãå®äŸ¡ãªãã¹ãã¯åäœãã¹ãã§ãããæããã¹ããå¿ èŠã§ãã ãŸãããã°ãæ€åºããå Žåããã¹ããã©ãããã®å¯èœãªéãäœãã¬ãã«ã§ãã¹ããäœæããå¿ èŠããããŸãïŒçæ³çã«ã¯ããŠããããã¹ãã®å ŽåïŒã
ããã¯æããã-ããã¯éåžžã«åºæ¬ã§ãïŒ ããããç§ãããã»ã©æ確ãªåœ¢ã§ãããèªåã§åŠæ¹ããªãã£ãããšã¯å¥åŠã§ãã ãããã£ãŠããã¹ããã©ãããã®æ¬è³ªã«é¢ããææ°ã®ã¢ã€ãã¢ã¯ãäŒè°ã®ãæŠè£ ããšããå¥ã®ã¢ã€ãã¢ã§ãã ã
6
åæ¥ã¯ã ãã³ã©ã€ã¢ãªã¡ã³ã³ãã«ããã¬ããŒããéçºè ã®èŠ³ç¹ããã®ãã¹ã¿ãŒã®åé¡ãã§ç· ããããããŸããããã¯ãããžãŒãããçµç¹å ã§å¹ççã«åã人ã ã«å€§ããäŸåããŸãããã®ãããªã¬ããŒãã¯ãããããããŒã ã§äœãèµ·ãã£ãŠãããã誰ãã«ç®ãéããããããŒãžã£ãŒãé åŸæ¥å¡ã®ciencyè¡åã
ããŒãã£ãŒ
äŒè°ã®ç· çŽåœã¯äž»ã«ãå ±åéã®äŒæ©ã®æéæ ã«å¶çŽãããããšãªãã仲éã®å°é家ãšäŒã£ãŠè©±ãããããšãã§ããããã«éå¬ãããŸãã ãããã£ãŠãããã«ã¯é£²ã¿ç©ãé£ã¹ç©ããããŠããªãã話ãããšãã§ããéåžžã«éãã§å¿«é©ãªå Žæãå¿ èŠã§ãã ãžã§ãŒã«ãŒã®ãããªå·šå€§ãªäŒè°ã§ã¯ãéšã ãã矀è¡ã圢æããã人æ°ã®ããã¹ããŒã«ãŒã®åšãã«ããªãŒããŒã±ããããããã³ãã¥ãã±ãŒã·ã§ã³ã¯å®¹æã§ã¯ãããŸããã ãã®ç¹ã§ãç§ã¯ããŸãå€ãã®äŒè°ã奜ãŸãããã€ãŒã³ããã°ã¯ãã®ç¹ã§è¯ãããšãå€æããŸããã ãŠã©ãžããŒã«ã»ã·ããã³ããšSQLã«é¢é£ãããããã¯ã«ã€ããŠçŽ æŽãããäŒè©±ã亀ãããåŸããã³ã©ã€ã»ã¢ãªã¡ã³ã³ããäžå¿ã«çµæãããã°ã«ãŒãã«ç§»ããŸããã 人ã ã®åé¡ããä¿®æ£ãããããšã¯ãæãè€éãªãã°ãããã¯ããã«å°é£ãªäœæ¥ã§ããããšã«å šå¡ãåæããŸããã ãŸãããã³ã©ã€ãšè©±ãããŠãç§ãã¡ã®äŒç€Ÿã§ããã»ã¹ã®å€é©ãå®è¡ããç®æšãèšå®ããé éã³ã³ãã¢ãæ§ç¯ããæè¯ã®æ¹æ³ã«ã€ããŠäœããåŠã³ãŸããã äŒè©±ã¯ãããã»ã¹å¶åŸ¡ã®ãããã¯ã§ã®ãã¹ãã®ãããã¯ããã¯ã»ã©é ããã®ã§ãããããã¯çŽ æŽãããããšã§ããäŒè°ã®ååã«å¿ ãããéå®ãããªããããªãã«é¢ä¿ã®ãããããã¯ã®å°é家ãšéä¿¡ããããã«äŒè°ã«è¡ããŸãã
2æ¥ç®
1
äºæ¥ç®ãæ¥ãŸããã ç§ã¯ç ãæåã®ã¹ãããã«æ¥ãŠãæåã®æ¥ã«åãåã£ãæ å ±ã§ãã§ã«é ãè «ããŠããŸãã ãŸããäœããã³ãŒãã£ã³ã°ããŠãã«ãªã¯ãšã¹ããè¡ãå¿ èŠããããŸããã ãããã£ãŠã Artem Eroshenkoã«ããã¬ããŒããã·ã³ãã«ãä¿¡é Œãã³ã³ãããŒã«-Webãã¹ãèªååã®3ã€ã®æ±ãã®ããŒã«ã«ããŸããããç§ã®çŠç¹ã®ååã¯IDEã«ãããŸããã PageElementsã¯ã¯ãŒã«ã§æ£ããã§ãã Retrofitã¯ãHTTP APIãJavaã€ã³ã¿ãŒãã§ãŒã¹ã«å€æããŸãã ãã¹ãã¹ãžã®æ³šæïŒåœŒã®æ¹è¯ãããå身ã®Yandex htmlelementsã¯githubnik Artyom eroshenkoamããåãããã¹ãã§ãã
ç³ãèš³ãããŸããããArtyomãç§ã¯ããªãã®å ±åã®æé«ã®èãæã§ã¯ãããŸããã§ããã ããããããã®ã¬ããŒãã¯ãããªã§äœããã®åœ¢ã§ä¿®æ£ããå¿ èŠããããŸãã äŒè°ã®ã¹ãããã®1ã€ãèŠéãããšã¯åé¡ãããŸããããã¹ãŠããã£ããã£ããããšã¯äžå¯èœã§ãã é£ã¹ç©ãªã©ã®æ å ±ã«ã¯æ¶åãå¿ èŠã§ãã
2
ãéçºè +ãã¹ã¿ãŒ=å質++ããšããã¬ããŒãã®äžã§ã ãã³ã©ã€ã¢ãªã¡ã³ã³ãã¯ãçµç¹å ã®ããã»ã¹ãæ¹åããããã®éäºã«é¢ããæšæ¥ã®ãããã¯ãç¶ããŸããã ãã³ã©ã€ãããã¹ãéšéãã®ååšã®åŒ·åãªæµå¯Ÿè ã§ããã®ã¯ãããåããŠã§ã¯ãããŸãããããã§ã¯ãéçºè ã¯ã¬ã³ã¬ã®å£ã®ããã«ããã°ããããŠãã¹ã¿ãŒãã補åãåãæ»ãããã«è£œåããæããŸããã ãã³ã©ã€ã¯ãéçºè ãšãã¹ã¿ãŒã®å ±åäœæ¥ã«ããã¢ãžã£ã€ã«æ©èœããŒã ã®å©ç¹ãããã³ãã®ãããªããã»ã¹ã®äž»ãªãã©ã¯ãã£ã¹ã®å®è£ äžã«ãã¹ã¿ãŒãšéçºè ãè¡ãããšãã§ãããå¹çã®äž»ãªèŠçŽ ããããã³ãã®çµæãšããŠãå質ä¿èšŒã®ã€ããªãã®ãŒããå質æ¯æŽã®ã€ããªãã®ãŒãžã®ç§»è¡ã«ã€ããŠè©±ããŸããã
3
ç§ãã¡ã¯Jenkinsã®é·å¹Žã®ãŠãŒã¶ãŒã§ãããããç§ã¯ééããªãOleg Nenashevã«ããã¬ããŒããJenkins Pipelineãšã©ã€ãã©ãªã䜿çšãããã¹ããã¬ãŒã ã¯ãŒã¯ã®æ§ç¯ãã«è¡ããŸããã 確ãã«ãmitapsã®ã¬ããŒããããããããã«ãç§ãã¡ã¯Jenkinsã®äœ¿çšã¬ãã«ã«é ãããšã£ãŠããŸããJenkinsã¯Pipelineã®äœ¿çšãææ¡ããŠããŸããããŸã Freestyle Jobs / Maven Build Jobsã«åº§ã£ãŠããŸãã ãªã¬ã°ã¯ãå¹³æã®å ±åæžã®çµè«ã®äžã§ããã¹ãŠã®ä»äºããã€ãã©ã€ã³ã«ç§»ãå¿ èŠæ§ã«ã€ããŠè©±ããã
ãããããªã¬ã°ã®ãžã§ã³ãã³ã¹ã®ã¬ããŒãã«ç€ºãããŠããäŸã¯éåžžã«è€éã§ãããç§ãã¡ãç¥ããªãGroovyã³ãŒããç§ãã¡ãç¥ããªãAPIãžã®åç §ãå€ãããããã°ãé£ããããã¯ã®å°è±¡ãäžããŸãã ããããäžè¬ããã®è³ªåã®æ·±ãããå€æãããšããæ倧éã«ãããã䜿çšãã人ãããããããŸãã åçŽãªã±ãŒã¹ã§ã¯ããšã³ããªã®ãããå€ã¯ããã¶ãæãã§ãã ããããJenkinsããã¯ããã»ã©å¿ èŠãããŸãããMavenãããžã§ã¯ããåéããã¢ãŒãã£ãã¡ã¯ããå ¬éããåæã«ããŒãžã§ã³ç®¡çã³ãŒãã§å®å šã«æ§æããããã«ã ã©ãã«è¡ãã-ããããã¹ãŠãåŠã¶å¿ èŠããããŸããgithubã§Olegã®äŸãæ±ãå¿ èŠããããŸãã
ãŸããã¬ããŒããæ®ããäžéšã®äººã ããããã¹ãŠãæ確ã§ãããããTeamCityã«åãæ¿ããå¿ èŠããããŸãããšèšã£ãŠããããšãèããŸããã CIã·ã¹ãã éã«ã¯æ·±å»ãªç«¶äºãããããžã§ã³ãã³ã¹ã¯ãŸã 競äºããŠããŸãã...
4
Seveloidã¬ããŒãã§ã®Pavel Senin-æ°çŸã®äžŠåUIãã¹ã㯠ãSelenoidã·ã¹ãã ã䜿çšããŠãä¿¡é Œæ§ãäœãæ¡åŒµæ§ã®äœãSeleniumããããã³ã³ãããŒã§ãã©ãŠã¶ãŒãèµ·åãããã¹ããžã®ã»ãã·ã§ã³ãçºè¡ããååãªãªãœãŒã¹ããªããšãã«ã»ãã·ã§ã³ã®ãªã¯ãšã¹ããäœæããçŸãããœãªã¥ãŒã·ã§ã³ã«çœ®ãæããæ¹æ³ãè¿ éãã€ç°¡åã«å®èšŒããŸããé çªã«ããããŠæãéèŠãªããšã¯ãèªåãæã£ãŠããSeleniumãã¹ããæžãæããå¿ èŠããªãããšã§ãã
ãããžã§ã¯ãäœæ¥ã®æ§è³ªäžããã©ãŠã¶ãŒã¯ãã¹ãŠã®ãªãœãŒã¹ãé£ãå°œããããšãã§ããç£ã§ããããšãããç¥ã£ãŠããã®ã§ããã±ãŒãžãã«å ¥ããŠä»ã®ããã»ã¹ããå®å šã«éé¢ããããšããå§ãããŸããSelenoidã®ã¢ã€ãã¢ã¯æ¬åœã«æ°ã«å ¥ããŸããã ããã¯ééããªãäŒè°ããã®å¥ã®æã¡åž°ãã§ãã SelenoidãµãŒããŒãã瀟å ã®UIãã¹ãã®å ±éãªãœãŒã¹ãšããŠå±éããããšããŸãã
ã¬ããŒãã®éçšã§ãPavelã¯åœŒã®ããŒã ã®å€ãã«å ±éããçµç¹äžã®åé¡ãæå³ããã«æããã«ããŸããã çµç¹ã®åé¡ã®è§£æ±ºçã¯ããã®ãã€ãŒã³ããã°ã®èµ€ãç·ã§ç§ã«æž¡ããããã®ã§ãã
5
ç§ã®æèŠã§ã¯ã ãFlaky testsããšããçãã¿ã€ãã«ã®Andrei Solntsevã®ã¬ããŒãã¯ãäŒè°ã§æé«ã®ãã®ã§ããããšãå€æããŸããã 圌ã«è¡ã£ãŠãããããã¯ãããªãããŸããããªãã®ãããããªããã¹ããªã©ããããŸã-ç§ã¯äœãèšãããšãã§ããŸããïŒããããŠæ¬åœã«äœãèšããŸããïŒ ã¢ã³ãã¬ã€ã¯ããã®ãããªç¶æ³ããªããããã®æ¢è£œã®ç°¡åãªã¬ã·ããæäŸããŸããã§ããããããããšã®éäºã®äž»ãªé åãæŠèª¬ããŸããã
ãããã圌ã¯åœŒèªèº«ã®å®è·µãããæã«ã¯äœã¶æãäœå¹Žãç¶ãå€ãã®çã«æ¢åµçãªç©èªãèªã£ãã ããšãã°ããã¿ã³ãæŒãããªãã£ãããããããã¢ããã®é²è¡ç¶æ³ããŒã«ãã£ãŠäžç¬éãããããç·ã®ãã¿ã³ã®åªããã
ãŸãã¯ãæé«ïŒãChromeããã³ã°ããçç±ã-Andreiã2幎éäžžããšè§£æ±ºã§ããªãã£ãè¬ããã°ãã¿ã€ã ã¢ãŠãããããã°...äžåºŠã圌ãæãã¯ã¬ã€ãžãŒãªä»®èª¬ãããŸãè¡ããªãã£ããšããåšãé»è©±ããããŸãããã¥ãŒãã§ãããåçããŸãã 圌ã¯ãã¶ãã¶ä»äºããæ°ãããããæ®å¿µãªããã¢ãã¿ãŒãèŠãŠããã ãã¹ãã¯çŽ20åéæŸçœ®ãããŸããã çªç¶ã以äžãç»é¢ã«è¡šç€ºããã解決çãçŸããŸããã
ã¢ã³ãã¬ã€ã¯ããã³ã©ã€ã話ããŠããã®ãšåãããšãç· ãããããŸãããéçºè ã¯ãã¹ã¿ãŒã®ä»äºã«åå ãããçžäºæµžéããéããŠããŒã ãçžäºã«è±ãã«ãªãããã«ããªããã°ãªããŸããã
ãããžã§ã¯ãã®1ã€ã«å¯Ÿãããã¹ãã®ããã¬ãŒã¯ãã¹ãã®çç±ã®1ã€ã¯ããã¹ãããŒã¹ã®ããŒã¿ã以åã®ãã¹ãã®çµæã«ãã£ãŠãæ±æãããŠãããããšã§ãã ãã£ã¹ã«ãã·ã§ã³ã®é åã§ã¯ãåãã¹ãã®åã«ãããŒã¿ãå«ãããŒã¿ããŒã¹ã®æ°ããã³ããŒããã°ããäœæããæ¹ãè¯ãã¡ã«ããºã ãAndreyã«å°ããããšæããŸããã è¿ãã«ã¯ãã®åéã§çµéšãç©ãã 人ãã¡ãããŠã話ãåããè¡ãããæ°åã§ç§ãã¡ã«é©ãããç§ãã¡ã®å Žåã«æé©ãªãœãªã¥ãŒã·ã§ã³ãèãåºããŸããã ãããŠãè¿ãå°æ¥ã«å®è£ ããŸããããã¯ç¢ºãã«ãæŠè£ ã®ããã®ãå¥ã®ã¢ã€ãã¢ã§ãã ãããŠãäŒè°ã®ãšã³ãžãã¢ãªã³ã°ã®åé¡ã解決ããã®ã«ããŸãã«ãã®åéã®æé«ã®å°é家ãå©ããŠãããã®ã¯çŽ æŽãããããšã§ã:-)ã
6
äŒè°ã¯ã ã¢ã©ã³ã»ãã€ãžãæè¡ãã¹ãã«é¢ããçå®ãã«ããå ±åã§çµãããŸããã ã¢ã©ã³ã¯ããéçºè ããšããã¹ã¿ãŒãã®å°éæ§ã®åºå¥ãæ¶å»ãããå€é©ã®äžçã§ãã¹ã¿ãŒãåŸ ã£ãŠãããã®ã«ã€ããŠè©±ããŸããã
ããšãã°ãããã¹ãæ åœè ãã¯ç¢ºãã«ãUIãã¹ãèªååããŒã«ãã§ãããšããçŸåšã®ã¹ãã¬ãªã¿ã€ãã¯ãç¹ã«ãã¹ããã©ãããã®åçã«ãããã§ããéãå°ãªãUIãã¹ããèšè¿°ããããšã匷ãããããããç Žããªããã°ãªããŸããã 代ããã«ããã¹ã¿ãŒã¯éçºããã»ã¹ã«å¯èœãªéãçµ±åããå¿ èŠããããŸãã ã¢ã©ã³ã¯ãã³ã©ã€ãšã¢ã³ãã¬ã€ã圌ã®åã®ãã®éšå±ã§è©±ããŠãããšããèããçŽæ¥ç¶ããŠããããã«èŠããã®ã§ãããšãã°ããã³ã©ã€ã¯éçºè ãšãã¹ã¿ãŒã®ããŒã ã®éã§ãå£ãä»ããŠè£œåãæãããã¹ã©ã€ããæã¡ãã¢ã©ã³ã¯ãã³ããã€ã ãæããããšãã°ãããŠæåããã
ã¢ã©ã³ã¯ã圌ãéçºè ã ã£ããšããæ°ããæ©èœãäœæãããšãã§ã¯ãªããããçš®ã®ãã°ãèŠã€ãããšãã«æ倧ã®æºè¶³ãæãããšèšããŸããã 圌ã®å ±åãšäŒè°ã®å ¬åŒçµäºåŸãã¢ã©ã³ã¯äŒè°ã®æåŸã®è°è«ãšãªã¢ãžã®ç©ºã®å»äžã«å ¥ãããããã®ãããã¯ã«ã€ããŠå°ã話ããŸããã
ãããã«
éäŒã®æšæ¶ã§ãã¢ã³ãã¬ã€ã»ããããªãšãã¯äžè¬åžæ°ã«ãäŒè°ããæã¡åž°ã人ã¯äœäººããŸããããšå°ããŸããã æ£çŽãªãšãããç§ã¯ãã®æç¹ã§æ°ããŸããã§ããã ãããããã®äžæ¹ã§ãç§ã¯ç§ãæãéèŠãªäž»èŠãªæã¡åž°ãã奪ã£ãŠããããšãæ£ç¢ºã«ç¥ã£ãŠãããç§ã¯åœŒã«ã€ããŠTwitterã§æžããïŒ