Baruch Sadogursky-JFrogã®éçºè
æ¯æè
ã 2011幎ãš2013幎ã«ãã¥ãŒã¯è³ã2014幎ã«JavaOne Rock Star
ãã®ã€ã³ã¿ãã¥ãŒã¯ãJavaãœãããŠã§ã¢éçºã®Luxoft Trainingãšãã¹ããŒãã§ããVladimir Sonkinãå®æœããŸããã
LTïŒ Baruchãä»æ¥ã®ãšã³ã¿ãŒãã©ã€ãºãããžã§ã¯ãã®ãã¯ãããžãŒã¹ã¿ãã¯ãã©ãèŠãŠããŸããïŒ
BSïŒãããžã§ã¯ãã®åºç€ãšããŠ-Javaã§ã¯ãã©ãã§ãå¿
èŠãªSpringã䜿çšã§ããŸãããããã¯èŠä»¶ã«äŸåããŸãã WebããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãããå Žåã¯ãå
éšäœ¿çšãŸãã¯å€éšçšã®è£œåã§ãããã©ããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã§ããããçš®é¡ã®ããã€ãã¹ã«ããå¿
èŠãã©ãããªã©ãããŸããŸãªãã¬ãŒã ã¯ãŒã¯ãèŠãããšãã§ããŸãã éžæã¯ãç§ãã¡ãäœãããŠããããããžãã¹ã¿ã¹ã¯ãäœã§ãããã«ãã£ãŠç°ãªããŸããBigDataã®åŠçãªã®ãããã¡ã€ã«ã®æäœãªã®ãããã®ä»ã®ããšãªã®ãã
çµã¿ç«ãŠã«é¢ããŠã¯ãApache Mavenã¯å
å®ã§ä¿¡é Œã§ããéžæè¢ã§ãããGradleã¯ç¬èªã®ãªã¹ã¯ã䌎ããããã¹ã¿ã€ãªãã·ã¥ã§è¥ã
ããããŒã«ã§ãã Git-ãœãŒã¹ç®¡çã·ã¹ãã ãšããŠãCIãµãŒããŒ-Jenkinsã ä»æ¥ã®ã¹ã¿ãã¯ã¯éåžžã«åçŽã§ãã ãããŠãã©ããã§ãå€å端ã®æ¹ã§ãäŸãã°Spokã§ãã¹ããæžããªã©ãæ°é®®ãªãã®ãè©ŠããŠãã ããã ãã¡ãããããã¯æ°ãããã®ã§ã¯ãããŸãããããšã³ã¿ãŒãã©ã€ãºéçºè
ã«ãšã£ãŠã¯ããªãæ°é®®ãªéžæã§ãã ãã ãããã¹ãã¯å®çšŒåã«ç§»è¡ããªãããããã®é åã§äœããæããŠå®éšããããšãã§ããŸãã
LTïŒããããScalaãèŠããšãäžè¬çã«ã¯æ¢ã«æçããèšèªã§ãã äžéšã®å°èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºãããžã§ã¯ãã§ã¯ãScalaãé¢å¿ã®å¯Ÿè±¡ããé€å€ããŠããŸãã ããã¯çã«ããªã£ãŠãããšæããŸããïŒ
BSïŒ Scalaã«é¢é£ããã©ã€ãã©ãªããåçãåŸãããšããTypeSafeãªã©ãScalaããé ãããåŸåããããããScalaã§äœãèµ·ãã£ãŠããã®ããå°ãæãã§ãã å°ãåã«ãTypeSafeã¯ãJavaã®éçºã®å€§éšåãå®éã«ãéã®ããå Žæã§ãããããScalaã®Javaã®ã¯ããã«å€§ããªåŒ·èª¿ããé¢ããããšãçºè¡šãããŸããã ãã®ãããScalaã«äž»ã«éç¹ã眮ãããŠããããã以åã¯æã£ãŠããªãã£ãããã€ãã®Javaã€ã³ã¿ãŒãã§ã€ã¹ããã«ã¢ããããå€ãã®æ°ãã人ãéããŸããã
ãŸããéåžžã«Scalaæåã®ãã®ä»ã®ã©ã€ãã©ãªããããŸãã ããšãã°ãSparkã¯ãæ°ãããªãªãŒã¹ã§Java APIãScalaã¬ãã«ã«ã©ã®ããã«ãã«ã¢ãããããŠãããã瀺ããŠãããScala APIãããæªããªããšããŠããScala APIãããããã«æªåããªãããã§ãã
ã°ããŒãã«ãªç¶æ³ã§ã¯ãJavaãžã®å転ãèŠããããšæããŸãã ãŸããã¢ã«ãããã¯èšèªãšããŠã®Scalaã¯éåžžã«çŽ æŽãããäœæç©ã§ãããããããã«ã¯ãŸã£ããé©ããŸããã匷åã§ãããšåæã«éåžžã«è€éãªããŒã«ã§ã¯ãªããScalaã®åã·ã¹ãã ãç解ãããããéèŠãªããšããããŸãã
ã ãããããç§ã¯Scalaã®å€§ãã¡ã³ã§ã¯ãªãã®ã§ãScalaãé¢ããåŸåã¯ç§ãé©ãããŸããã 確ãã«Scalaã¯ã©ãã«ãè¡ãããéçºãç¶ããŸãããã¯ããã«ããããªåœ¢åŒã§ãã
LTïŒ Scalaã¯åœŒå¥³ã®é床ã®è€éãã殺ããã®ã§ããïŒ
BSïŒããã»ã©è€éã§ã¯ãããŸããã ç§ã¯èšãã ãã-ã¢ã«ãããã¯ã Scalaã¯åœåãã倧ééçºã«ã¯é©ããŠããªãã£ãããã§ãã ãããŠãScalaã次ã®JavaãšåŒã°ãããšããç§ã¯èãã®ã«ååã¯ã€ã«ãã§ããããªããªãããã¹ãŠãéåžžã«åŠè¡çã§ãããJavaã眮ãæããªããã°ãªããªããããªå€§èŠæš¡ãªèšèªã«ãšã£ãŠã¯ç°¡åã§ã¯ãªãããã§ã
LT ïŒããšãã°ãKotlinã¯Scalaããäœããšã³ããªãããå€ãæã£ãŠããŸããïŒ
BS ïŒã¯ããGroovyããã¯é«ãã§ãããScalaããã¯ãã£ãšäœãã§ãã Javaã®åŸã«åŠç¿ããã®ã¯ãšãŠãè¯ãããšã§ãã Kotlinã§ã¯ãJetBrainsã®ã¹ã¿ãããå¿
èŠãªæ©èœãéžæããããšããããããã¹ãŠãç°ãªããŸãã æ¥çã§ã®æ¡çšã¯èšèªèªäœã®å質ã ãã§ãªããä»ã®å€ãã®çç±ã«ãäŸåããããããããããã«é²ãæ¹æ³ãèŠãŠã¿ãŸãããã ããšãã°ããåç¥ã®ããã«ãèšèªã®äœæè
ã«ã²ããããå Žåããã®èšèªã¯äººæ°ããããŸã:)ã
ã»ã³ãã±ã³ãã ãœã³ãšããã¹ãªãããŒã®ã¯ãªãšãŒã¿ãŒã¯ãçŽ æŽãããã²ããæã€çŽ æŽãããç·ã§ãã
LT ïŒJavaã®äººæ°ã®é«ãŸãã¯ãåãScalaããå€ãã®ã¡ãªããããããããJava SE 8ãç»å Žããããšã«ãããšæããŸããïŒ
BS ïŒãã¡ãããããã¯åœ¹å²ãæãããŸãã-Javaã®åæ»ã®çµãããšããŠã ããã¯å€§ããªãã©ã¹ã§ãã Java 8ã®é©åœçãªãªãªãŒã¹ãèŠããšãJava 9ã«ã¯å€ãã®èå³æ·±ãããšããããšèããŸããäžè¬ã«ãJavaã§ã®ããçš®ã®ç掻ã埩掻ããŸããã å€ãã®äŒæ¥ã§ã®Javaããã®è±åºã¯çµãããŸããã Javaã§èšè¿°ããçç£æ§ãé«ããããšãã§ããŸãã
LTïŒããªãèªèº«ãEnterpeiseãããžã§ã¯ããéå§ããå Žåããã«ããã¬ãŒã ã¯ãŒã¯ãšããŠApache MavenãéžæããŸããïŒ
BSïŒããŒã ã®åã匷ããªãã°ãªãã»ã©ããã«ãã·ã¹ãã ã人ã
ãå®å
šã«ç解ã§ããããã«ãªããšããäºå®ã«äŸåããããã«ãªããApache Mavenããé¢ããããšãã§ããŸãã ããããçŸå®ã¯ç°ãªããŸããéåžžãéçºè
ã¯ç§ã®ãã«ãã¹ã¯ãªããã®ãã¥ã¢ã³ã¹ã«å¿ããŠããªããããäžè¬ã«ãã·ã³ãã«ã§ä¿¡é Œæ§ã®é«ãApache Mavenã³ã¬ã¯ã¿ãŒãå¿
èŠã§ãã ãããã£ãŠãéžæã¯ãäœæ¥ããå¿
èŠãããçŽ æãããã³ã¿ã€ãã³ã°ããã«ãã¹ã¯ãªããã®è€éããæãäžããæéããããã©ããã«ãã£ãŠç°ãªããŸãã
LTïŒããã°ã©ãã³ã°èšèªã«ã€ããŠãåãããã«èšãã°ãJavaã¯ãšã³ã¿ãŒãã©ã€ãºéçºã®äºå®äžã®æšæºã§ãã ä»æ¥æãææãªãã¯ãããžãŒãšèšèªã¯äœã ãšæããŸããïŒ
BS ïŒéåžžã«è¯ãæ¯èŒã§ããApacheMavenã¯Javaãšæ¯èŒã§ãããšæããŸããããã¯äºå®äžã®æšæºã§ããã誰ããç¥ã£ãŠããããã§ããããªãäºæž¬å¯èœã§ç解ã§ããããã§ãã ç§ã¯ããããåçŽã§ãããšã¯èšããŸããããããªãã¯äººã
ããããã«ã€ããŠç¥ã£ãŠããããšãåœãŠã«ããããšãã§ããŸãã
Gradleã¯ãä»ã®ããã°ã©ãã³ã°èšèªã«ãŸããŸãçµã³ä»ããããŠããŸããã¹ã¯ãªããã¯Groovyã§äœæã§ããããã«Kotlinã§äœæã§ããããã«ãªãããã§ããããã«ãããJavaãšæ¯èŒããŠäœããã®æè»æ§ãåŸãããŸãã
ãããã£ãŠãä»æ¥èŠããèå³æ·±ãèšèªã«ã€ããŠè©±ããŠããå ŽåãGroovyã¯Javaã«éåžžã«äŒŒãŠãããããGroovyã¯ããããªæè³ã§èŠéãåºãã絶奜ã®æ©äŒã§ãã ããŠãKetlinã¯éåžžã«ææã«èŠããŸããJetBrainsã®ã¡ã³ããŒãä»ã®èšèªããæé«ã®ãã®ãéããããšããããã§ãã ããã§ScalaãGroovyãJavaããå€ãã®åªããç¹ãèŠãããšãã§ããŸãã ãããã£ãŠãããããã¹ãŠã泚ææ·±ãç£èŠããå¿
èŠããããŸãã ææ¥ã®å€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºãããžã§ã¯ãã§ã¯ãKotlinã䜿çšããŸããããã¯ãããã¬ã€ããŠãçªããŠãç解ããŸãã
LTïŒ 9æã«Luxoftã§ãApache MavenãJavaããã©ãŒãã³ã¹ããããã¡ã€ãªã³ã°ã«é¢ãããã¹ã¿ãŒã¯ã©ã¹ãéå¬ããŸãã
BSïŒã¯ãããã¹ã¿ãŒã¯ã©ã¹ã¯Apache Mavenäžã«ãããJavaã®çç£æ§ã«ã€ããŠã¯ããããã¡ã€ãªã³ã°ãšããã¡ã®ã³ã°ãããŒãã¹ãã©ãã¯ãšããŠã®è¬çŸ©ã«ãªããŸãã
LTïŒä»ã®å€ãã®äººæ°ã³ã¬ã¯ã¿ãŒãããã«ãããããããMavenãéžã°ããçç±ãæããŠãã ããã ãã¹ã¿ãŒã¯ã©ã¹ã«æ¥ã䟡å€ãããã®ã¯ãªãã§ããïŒ
BSïŒ Apache Mavenã䜿çšãããšããã¹ãŠãéåžžã«ã·ã³ãã«ã«ãªããŸã-æ¥çã§éåžžè¡ãããŠããããã«ãå
é²çãé©æ°çãèå³æ·±ããçŸä»£çã§çããããŒã«ããããåžžã«æã人æ°ãããããã§ã¯ãããŸããããã¹ãŠã®ææ°ãã€æãèå³æ·±ããã®ãå«ãŸããŠããŸãããå¿
èŠãªããšãè¡ãäž»å補åã§ãã ãããŠããã«ãã·ã¹ãã ã«ãåæ§ã®ç¶æ³ããããŸãïŒåžå Žã«ã¯Gradleããããç§ãã¡å
šå¡ãèŠããæã£ããããã®ã倧奜ãã§ãçãã解決çã湧ãåºãŠããŸãã 倧èŠæš¡ãªå€§äŒæ¥ã¯ãäœæ¥æšæºãšããŠ2çªç®ã®ãªãã·ã§ã³ãã€ãŸãApache MavenãéžæããŸãã ãããŠãããã§ã¯ãã¹ãŠãè«ççã§ããé·å¹Žã«ããã£ãŠç解ããããå¶åŸ¡ããããã¹ããããŠããŸãã
ãããã£ãŠãç§ã®ãã¹ã¿ãŒã¯ã©ã¹ã¯ã倧äŒæ¥ã§åããã¢ã»ã³ããªã§äœãèµ·ãã£ãŠããã®ããç解ããããã«ã1ã€ã®ã¢ã»ã³ããªèšèªãèŠãå¿
èŠããã人ã
ã«åœ¹ç«ã¡ãŸãã ããããæµæããããšã¯ã§ããªããšæããŸãããã¹ã¿ãŒã¯ã©ã¹ã®åŸåã§ã¯ãGradleãã¬ãã¥ãŒåœ¢åŒã§èŠãŠããã®éãã«ã€ããŠè©±ããŸãã
LTïŒåºæ¬çãªããšãã埮åŠãªããšãç§å¯ã«ã€ããŠè©±ããŠãããŸããïŒ
BSïŒãã¹ãŠã«ã€ããŠè©±ãæéã¯ååã«ãããŸãã Apache Mavenã«ãã§ã«æ
£ããŠãã人ã§ãããã¹ãŠã®ãã¯ã€ãã¹ããããéããããã®åºæ¬çãªããšããå§ããŸãã ãããŠãã¡ããããã©ã°ã€ã³ãæ§æãããã¡ã€ã«ã®äœæãªã©ãããé«åºŠãªããšã«ã€ããŠã説æããŸãã ãã®ãããApache Mavenã«ããçšåºŠç²ŸéããŠãã人ãApache Mavenã«ããçšåºŠç²ŸéããŠãã人ãApache Mavenã䜿çšããããšããªã人ãªã©ããã¹ãŠã®äººã«ãšã£ãŠèå³æ·±ããã®ã«ãªãããšãé¡ã£ãŠããŸãã
Baruch Sadogurskyã®ãã¹ã¿ãŒã¯ã©ã¹ã¯ã2016幎9æ8æ¥ã«ã¢ã¹ã¯ã¯ã§éå¬ãããŸãã