![](https://habrastorage.org/webt/z8/be/fk/z8befkumurvy_1q0taiqw_jvy8o.jpeg)
åã¯éããŠããŸãã ã¡ããã©1幎åãç»é²ããæ©äŒããªãã£ããã¹ãŠã®äººã察象ã«ãJoker 2016ã®å ¬éæŸéãéå¬ããŸããã ãã以æ¥ããã¡ããã.NETãJavaScriptãDevOpsãã¢ãã€ã«ãã¯ãããžãŒããã¹ããããã³Javaã§ã®ã«ã³ãã¡ã¬ã³ã¹ãã12ãè¶ ããæŸéãè¡ã£ãŠããŸããã
1幎ã§è¯ããªã£ããã®ã¯äœã§ããïŒ ãã¯ãããžãŒããã¹ããã2ã€ã®è匱æ§ãä¿®æ£ããYouTubeçµç±ã§ïŒã«ã¹ã¿ã ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªãïŒãããŒããã£ã¹ããéå§ãããããŒããã£ã¹ãåå è ãã質åãããããšãåŠã³ãæ°çŸäººã®ãããŒã«ãçŠæ¢ããäŒã¿ãªãé æ»ãªãã€ã³ã¿ãã¥ãŒãè¡ãããšãåŠã³ã1440rã«ãããŒããã£ã¹ããéå§ããŸãã...ä»ã«äœãããããŸãã
å®éã 11æ3æ¥åå9æ30åã«äœãèµ·ãã£ãããããã«èŠãããšãã§ããŸããJoker2017ã®ã¡ã€ã³ãã©ãã¯ã®2æ¥éã®ç¡ææŸéãéå§ããŸã ã æŸéã¯ãäŒããããã«äžäŒã¿ããŠè¡ããŸãã ãŸãã1440pã®è§£å床ã«ãªããŸãã®ã§ãäžåºŠã¯ã¯ãŒã«ãªã¢ãã¿ãŒãå¿ èŠã«ãªããŸãã
ãã®ããã°ã©ã ã«ã¯ãã±ã€ã»ãã«ã¹ããã³ãã¢ã¬ã¯ã»ã€ã»ã·ãã¬ãããã«ãŒãã»ãžã£ãã«ãã»ãµãã°ã«ã¹ããŒãã¿ã®ã«ã»ã©ããŒã»ãã¬ãšãããã³ã©ã€ã»ãã³ãžã§ã¯ã·ã§ã³ã»ã¢ãªã¡ã³ã³ãããšãã²ããŒã»ãšãã²ããŒã»ããªãœãã»ããªãœããã»ã«ã²ã€ã»ãã«ãã¬ã«ãã»ã¢ããã¥ã«ããããªã©ã®å ±åãå«ãŸããŠããŸããã
é¢çœãïŒ ç«ã®äžã«è¡ããŸãããã
æŸéæ¥ã®ç°ãªããªã³ã¯ã¯ç°ãªããããäž¡æ¹ãä¿åãããããã®æçš¿ããæ°ã«å ¥ãã«è¿œå ããŠã倱ãããªãããã«ããŠãã ããã
1æ¥ç®ã11æ3æ¥
![](https://habrastorage.org/webt/jq/8a/rd/jq8ard4r5lu0hlzx3--pnonzdlw.jpeg)
ãµã³ããŒå·ç«å€§åŠã±ã€ã»ãã«ã¹ããã³
éäŒã®åºèª¿è¬æŒã¯ãç§ãã¡å šå¡ãé·ãéåŸ ã¡æãã§ããããš-Java 9ã«æ§ããããŸãã圌女ã¯ãã§ã«ç§ãã¡ãšäžç·ã«ããŸããç§ãã¡ã¯çããã§ã«ãããæããŠããŸããã質åã¯ãããªãããã¹ãŠã®ã°ããºãè©ŠããŸãããïŒ ã¬ããŒãã¯ãæ°ããJavaã®ãã¹ãŠã®å©ç¹ã®æŠèŠã«åœãŠãããŠããŸãïŒè±èªã§ã¯ããã¹ãŠãããæ確ã«èŠããããããªã¹ãã翻蚳ããŸããã§ããïŒïŒã³ã¬ã¯ã·ã§ã³ãªãã©ã«ïŒã»ãŒïŒããšã«ãã¹æŒç®åãã¹ããªãŒã ã®æ°ããç®æãããã³å®äºå¯èœãªæªæ¥å¯Ÿè©±åã·ã§ã«ãå ¥åãæ£èŠè¡šçŸãããã»ã¹ããªãã·ã§ã³ãããã³ã¹ããªãŒã ã®æ¹åãåŸ æã®BigInteger.TWOã
äžè¬çã«ã9ãæ倧éã«äœ¿çšããå Žåã¯ã確èªããå¿ èŠããããŸãã
![](https://habrastorage.org/webt/oy/mq/jh/oymqjh_uegtzxlulaqdrnz86jhm.jpeg)
![](https://habrastorage.org/webt/al/fr/u5/alfru5jxgad6nladldezpxuqpoc.jpeg)
Tagir ValeevãJetBrains; ãã«ãã»ãµãã°ã«ã¹ããŒãJãããã°
ãã®ã¬ããŒãã®ã¿ã€ãã«ã¯ããèªäœãç©èªã£ãŠããŸãïŒããºã«ã®æ°ããéšåã§ãïŒ å¥œããªãã®ã¯ãã¹ãŠïŒTagirãšBaruchãJava 8ãšJava 9ã®å°çã®ããºã«ãé¢çœãgifãJFrogã®Tã·ã£ããäŒå Žã«é£ãã§ããŸãïŒ ããªããšåã³äŸ¿å©ã§æ¥œããïŒ
ã©ã®ããã«èŠãããããããªãå Žåã¯ãéå»ã®ããŒãžã§ã³ãèŠãŠãã ããïŒçŽ æŽãããäŸã§ãã
![](https://habrastorage.org/webt/y4/vz/ek/y4vzekdt4cdx82ensfe_cn_zi0a.jpeg)
Nikita pjBooms LipskyãExcelsior LLC
Novosibirsk JBreak 2017ã®æé«ã®ã¬ããŒãã®1ã€ã§ãåºèª¿è¬æŒã«å«ãŸããªããã®ãã€ãŸãã¢ãžã¥ãŒã«ã«ã€ããŠã®è£è¶³ãšæ¹åãè¡ãããŸããã 誰ããããŸãæ°ã«ããªãã誰ããæããã誰ããå¿ããäžæè°ã«æãïŒçµå±ã®ãšããã15幎以äžã«ããã£ãŠããŸã£ããåãåé¡ã解決ããOSGiããã£ãã®ã¯ãªãã§ããïŒ
ãã®ã¬ããŒãã§ã¯ãOSGiã解決ããããšããŠããåé¡ããã®è§£æ±ºæ¹æ³ãå®éã«åé¡ããããã©ãããææ¡ããŸãã 次ã«ãOSGiã解決ããããšããŠããåé¡ãJigsawããŸã£ãã解決ããªãåé¡ãçç±ãããã³ããã解決ããåé¡ãšãã®æ¹æ³ãææ¡ããŸãã æåŸã«ãJigsawãJavaãšã³ã·ã¹ãã ã«ããããåé¡ãšãã®å¯ŸåŠæ¹æ³ã«ã€ããŠèª¬æããŸãããã
![](https://habrastorage.org/webt/jq/8a/rd/jq8ard4r5lu0hlzx3--pnonzdlw.jpeg)
ãµã³ããŒå·ç«å€§åŠã±ã€ã»ãã«ã¹ããã³
Javaã«ã³ãã¡ã¬ã³ã¹ã«ã¯ã競äºãšããã©ãŒãã³ã¹ã®2ã€ã®ãããã¯ããããŸãïŒç«¶äºãšããã©ãŒãã³ã¹ïŒããã©ã³ã¹èªããèš±ããŠãã ããïŒã ãããã£ãŠããã®ã¬ããŒãã¯æåã®ã¬ããŒãã§ãã
åé¡ã¯ãç§ãã¡ã®ãæ°ã«å ¥ãã®Javaããã¯ã¯ãã¹ãŠã䞊è¡æ§ã¯ã¹ã¬ãããåæåãããã¡ãœãããåŸ æ©ãéç¥ã§ããããšã瀺ããŠããããšã§ãã ã¹ã¬ãããããã¿ã¹ã¯ã®èŠ³ç¹ããèããã»ããããã®ã¯ãäžèŽã³ãŒããèšè¿°ãããšãã ãã§ããã¹ã¬ããã»ãŒããªããŒã¿æ§é ã䞊åã¹ã¬ãããèããããããæ£ãã䜿çšããŸãã éåæããŒã¿åŠçãç¿åŸããããšãããã§ãããã äžè¬ã«ããã®ã¬ããŒãã§ã¯ãKayã¯ããã¯ããã³æ¡ä»¶ãªãã§äž»èŠãªäžŠååãã¿ãŒã³ãå®è£ ããããã®æšæºJavaã©ã€ãã©ãªã®ãã¹ãŠã®ããŒã«ã瀺ããŸãã
![](https://habrastorage.org/webt/n2/eq/st/n2eqstgkcjigbrunlwcjmvghnee.jpeg)
Alexey ShipilevãRed Hat
泚æïŒ Alexeyãã¬ããŒãã§èª¬æãããã¹ãŠãå®å šã«ç解ããããã«ã ãShenandoahïŒå¯èœæ§ã®ããã¬ããŒãžã³ã¬ã¯ã¿ãŒãã®æåã®éšåãã芧ã«ãªãããšã匷ããå§ãããŸãã
Red Hatã¬ããŒãžã³ã¬ã¯ã¿ãŒã®å±¥æŽã®ç¶ç¶ã ãã®ã¬ããŒãã§ã¯ãã·ã§ãã³ããŒã®ãããªäœéGCãçŽé¢ããªããã°ãªããªãåé¡ã®ãŠãµã®ã®ç©ŽãæãäžããJVMã¬ãã«ã§ãããã®åé¡ã§äœãã§ãããããããŠäœéJavaã·ã¹ãã ã®è³¢æãªéçºè ããã®ã¬ãŒããç¥ã£ãŠãããšãã«äœãã§ãããã«ã€ããŠèå¯ããŸãã
![](https://habrastorage.org/webt/2u/yo/8d/2uyo8duwx6jenmfurh6omkfjeeq.jpeg)
Nikolay xpinjection AlimenkovãXPã€ã³ãžã§ã¯ã·ã§ã³
æãç§ãã¡ã¯Java 9ã®ãã¥ãŒã¹ãã1æ¥ãå§ããŸãããå¯äžã®è³ªåã¯ãJava 8ã®æ©èœãååã«ãã¹ã¿ãŒãããã©ããã§ãã 圌女ã¯æ°å¹Žéç§ãã¡ãšäžç·ã«ããŸãããããã®éãã»ãšãã©ã®ãããžã§ã¯ãã¯ãèšèªã®æ°ããæ©èœã®äœ¿çšãéå§ãããªã©ã8ã€ã®äœ¿çšã«åãæ¿ããŸããã
éå»æ°å¹Žéãã³ãŒãã¬ãã¥ãŒã«ç©æ¥µçã«åå ããŠãããã³ã©ã€ã¯ãæ°ããJava 8ã®ã¢ããªã±ãŒã·ã§ã³ã«ãããããªãäžè¬çãªã¢ã³ããã¿ãŒã³ãååã«èŠãŠããŸããããã®ã¬ããŒãã§ã¯ããªãã·ã§ãã«ãã¹ããªãŒã ãã©ã ããããã³åæåé¡ã解決ããæ£ããæ¹æ³ãæ±ãããã®äžæ£ç¢ºã§å¹æã®ãªãææ³ããå®çšçãªäŸã䜿çšããŠå®èšŒãããŸãã ã
ãã®ã¬ããŒãã®åŸãJoker 2017ã®ãã¹ãŠã®åå è ãšã¹ããŒã«ãŒã¯ããŒãã£ãŒã«è¡ãïŒå¿ èŠã«å¿ããŠç»é²ããæéããããŸãïŒããç涯ãã泡ã®ã°ã©ã¹ïŒãŸãã¯å¿ èŠã«å¿ããŠèµ€ïŒã§äœæ°ãšãããªãŒãã£ã³ã°ã®ã²ã¹ããšäžç·ã«æœããŸãäŒè°ãååã
2æ¥ç®ã11æ4æ¥
![](https://habrastorage.org/webt/j5/cw/jr/j5cwjrb5wqq4ur4ysot6c9yc8mo.jpeg)
![](https://habrastorage.org/webt/kn/wg/dz/knwgdzmd9pgs9gov5ijjbyy1suk.jpeg)
ããªã«ã»ãã«ã¯ããã«ã«ãã§ã ãã¢ã«ãã¡ç 究æ; Evgeny BorisovãNaya Technologies
圌ãã¯ãéè¡åž«ã¯åœŒãã®ç§å¯ãæãããªããšèšããŸãã ããžã·ã£ã³ãPivotalã§åããŠããªãã®ã¯è¯ãããšã§ãïŒ ãããã£ãŠãSpring Bootã®éæ³ã®ãããã¯ã¹ããéå§ãããªãå Žåãäœãäœã§ããããåžžã«ç解ã§ããŸãã Googleã§æ€çŽ¢ããããStackOverflowã®ãœãªã¥ãŒã·ã§ã³ãªãã·ã§ã³ã調ã¹ããïŒspring-bootã«ãã£ãŠè¡ããã26,919件ã®ãªã¯ãšã¹ãã®äžããé©åãªãããã¯ãèŠã€ããå¿ èŠããããŸãïŒããŸãã¯äºåã«æéããããŠCyrilãšEugeneãã©ã®ããã«Spring Bootã2æéå ¬éãããã確èªã§ããŸãã
äžè¬çãªSpring Bootã¢ããªã±ãŒã·ã§ã³ã®åºæ¬çãªååãšèŠåãç解ã§ããŸãã ã¬ããŒãã¯ãã·ãªã³ããŒããã®ãã¹ãŠã®éæ³ãèŽè¡ã«ãšã£ãŠã¯ããã«éæãªããã»ã¹ã«å€ããããã«èšèšãããŠããŸãã ããããã°ããã¹ãŠãããŸããã£ããšãã«æ¥œããã ãã§ãªããçºçããåé¡ã®æ¬è³ªãç解ããå¿æ¥åŠçœ®ãªãã§è§£æ±ºã§ããŸãã
![](https://habrastorage.org/webt/yc/ai/7o/ycai7og28h_mgaunbfvhbeinuqk.jpeg)
ã¢ã¬ã¯ãµã³ããŒããªãœããGoogle
ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã¯ç¡æã§ã¯ãªãããªã¢ãŒãåŒã³åºãã®æ°ãå€§å¹ ã«å¢ãããŸãã ããã¯ããããã¯ãŒã¯ã®æ°ããªèª²é¡ãšåé¡ã«ã€ãªããããããªã¢ãŒãããã·ãŒãžã£ã³ãŒã«ïŒRPCïŒã«é©åãªãã¬ãŒã ã¯ãŒã¯ãéžæããããšãéèŠã«ãªããŸãã
gRPCã¯ãåæ£ã·ã¹ãã ãäœæããéã®ããã©ãŒãã³ã¹ãåäžããããããã¯ãŒã¯ã®è€éãã解決ããããã«èšèšãããGoogleã®æ¬¡äžä»£RPCãã¬ãŒã ã¯ãŒã¯ã§ãã
ã¢ã¬ã¯ãµã³ããŒã¯ãgRPCããªã¢ã¯ãã£ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®æ§ç¯ã«ã©ã®ããã«åœ¹ç«ã€ãã瀺ããåæ£ã·ã¹ãã ãèšè¿°ããéã«çºçããå¯èœæ§ã®ããããã€ãã®åé¡ã«ã€ããŠèª¬æããgRPCããããã解決ããæ¹æ³ã瀺ããŸãã
![](https://habrastorage.org/webt/ve/tp/rt/vetprtuuntowsitfgi_rjxkigwu.jpeg)
ã»ã«ã²ã€ã»ãšãŽããããŠãã¿
åäœãã¹ãã¯è¯ãã§ãã ããã¯ãå€éšI / OïŒããŒã¿ããŒã¹ãMQããã®ä»ã®ãµãŒãã¹ïŒã§åäœããææ°ã®ãã€ã¯ããµãŒãã¹ã®ã»ãã®å€§éšåã§ãã ã©ã®ããã«ãã©ã®ããã«ãã¹ãããŸããïŒ
ãH2ã-ããªãã¯èªãããã«èšããŸãïŒ ãŸããè¯ãã§ãããå®çšŒåç°å¢ã§ã¯ãããšãã°JSONBã䜿çšããPostgreSQLã§ãã H2ã®JSONBã§ã¯ã©ãã§ããïŒ
ã¬ããŒãã§ã¯TestContainersã©ã€ãã©ãªã«ã€ããŠèª¬æããŸã ãããã«ãããäžè¬çãªããŒã¿ããŒã¹ãSeleniumãã©ãŠã¶ãŒãããã³äžè¬çã«Dockerã§å®è¡ã§ãããã¹ãŠã®ãã®ã䜿çšããŠãJUnitïŒã ãã§ãªãïŒãã¹ãããDockerã³ã³ãããŒãè¿ éãã€ã¯ãã¹ãã©ãããã©ãŒã ã§å®è¡ã§ããŸãã éçºäžã«ããŒã«ã«ã§å®è¡ããæ©èœãšãå€æŽãªãã§CIãµãŒããŒã§å®è¡ããæ©èœãåããŠããŸãã
![](https://habrastorage.org/webt/al/fr/u5/alfru5jxgad6nladldezpxuqpoc.jpeg)
Tagir ValeevãJetBrains
Joker 2017ã®åæ¥ã§ã¯ãJava 8ãšJava 9ã«ã€ããŠã話ããŸããã2æ¥ç®ã¯ããã§ã«ç§ãã¡ãåŸ ã¡æãã§ããããšã«ã€ããŠã§ãã Amberãããžã§ã¯ãã¯ãJava 10ãŸãã¯å°æ¥ã®ããŒãžã§ã³ã§å°å ¥ãããå¯èœæ§ã®ããããŸããŸãªå®éšçé©æ°ããããããŸãã ããã«ã¯ãããŒã«ã«å€æ°ã®ã¿ã€ãã®åºåããã¿ãŒã³ãããã³ã°ãªã©ãå«ãŸããŸãã ã¬ããŒãã§ã¯ãçŸæç¹ã§ãã§ã«å®è£ ãããŠãããã®ãèè ãçŽé¢ããŠããåé¡ããããèªåã§ã©ã®ããã«æŽ»çšããŠçŽ æŽãããã¢ã€ãã¢ãæäŸã§ãããã確èªããŸãã
Tagirãã©ã®ãããªæã蟌ããŠã¬ããŒããæºåããŠããã®ããç¥ã£ãŠããã®ã§ãæŸéå šäœãèŠèŽããäºå®ããªããŠãããã®ã¬ããŒãã«1æéãè²»ããããšãå人çã«ãå§ãããŸãã
![](https://habrastorage.org/webt/e7/08/oc/e708ocbptpc4gry-ytqionrrnm0.jpeg)
ã»ã«ã²ã€ã»ã¢ããã¥ã«ããããã¢ã·ã°ã©
ãã®ã¬ããŒãã¯ã4æ¡ã®ã«ã«ããæã€Habrã®äŒèª¬ã§ãããèªèº«ã®ITäŒç€Ÿãèšç«ããããŒãã²ãŒã ã¹ãã¢ã®åœå æ倧ã®é£éŠãããã¯ãŒã¯ã®1ã€ã管çããçµéšããã®ãã®ã§ãã
æŽå²ïŒããŒãã²ãŒã ã®ãããžã§ã¯ãã1幎ã«10åè¡ããŸãããçç£ãããŒãããããã«1æ¡å€ãã®ããšãã§ããããã«ãªããŸããã åé¡ã¯éçºããã»ã¹ã«ãããŸãããã«ãŒãã«ããŒã ã2åãŸã§æ¡åŒµããå¿ èŠããããŸããã ãã®çµæãçŽ80ã®ãããžã§ã¯ããå®äºããŸããã Mosigraã®ç·æ§ãã©ã®ã¬ãŒããèžãã ã®ãããã®ã¬ãŒããã©ã®ããã«åé¡ããã®ãããããŠãã®çµæã«ã€ããŠ-Sergeyã®ã¬ããŒãã§ã
ãšããã§ãããæè¿ãSergeyãšHabrainterviewã§ã®ãã¹ã¯ãããéçºã®ãã¥ã¢ã³ã¹ã«ã€ããŠè©±ãåããŸãã ã
ã€ã³ã¿ãŒããã·ã§ã³æŸé
![JPointã®èŠæ¹](https://habrastorage.org/files/5d0/d65/7e4/5d0d657e480744e691c8250018d154b1.jpg)
å€ãã®ãªã³ã©ã€ã³ãããŒããã£ã¹ãã®åé¡ã¯ã空ã®äŒæ©ãšã³ãŒããŒãã¬ãŒã¯ã§ãã äŒè°ã®åå è ãã³ãŒããŒã飲ã¿ãã¹ããŒã«ãŒãšéä¿¡ããŠããéãæŸéã®èŠèŽè ã¯ã¹ã¿ããèŠãŠã次ã®ã¬ããŒããå§ãŸãã®ãåŸ ããªããã°ãªããŸããã
ç§ãã¡ã¯ãã®åé¡ãç¬èªã®æ¹æ³ã§è§£æ±ºããŸãã-äŒæ©äžã«ãã¹ããŒã«ãŒãšäŒè°ã¹ãã³ãµãŒãšã®ã€ã³ã¿ãã¥ãŒãæŸéãããŸãã ã€ã³ã¿ãã¥ãŒã¯ã ãã£ã¬ãã¢ã ãšå ±ã«ãªã¬ã°ããŒã« ïŒããããJavaãŸãã¯DevOpsã«ã€ããŠã®åœŒã®èšäºãèªãã§ããŸãïŒ-éå±ããããšã¯ãããŸããã
ã€ã³ã¿ãã¥ãŒãéããŠãæŸéããã°ã©ã ã«åå ããªãè¬æŒè ãã²ã¹ããšç¥ãåãããšãã§ãããšããäºå®ã«æ³šç®ããããšæããŸãã圌ããèšãããã«æ¥ç¶ããŠãã ããïŒ
ã€ã³ã¿ãã¥ãŒäžããã³ã¬ããŒãäžã®äž¡æ¹ã®è³ªåã¯ãäŒè°ã®ãã¬ã°ã©ã ãã£ãããéããŠè¡ãããšãã§ããŸãã
å¶éäºé
- æŸéã¯çŸç¶ã«åºã¥ããŠæäŸãããŸãããã¹ãŠãããŸããããšç¢ºä¿¡ããŠããŸãããçªç¶äœãããã£ããšããŠããç§ã責ããªãã§ãã ããïŒ
- ãããªã¯ãããŸããã ã€ãŸãã圌ãã¯ãã¡ããããã£ãŒãããã¯ãæ®ããäŒè°åå è ã®ã¿ã«ãªããŸãã ãã以å€ã®å Žåã¯ãåŸæ¥ãã3ã4ãæã§æçš¿ããŸãã
- ä»ã®éšå±ã§äœãèµ·ãã£ãŠããããèŠãããšãã§ããªããªããŸãã ãããŠã å€ãã®èå³æ·±ãããšããããŸãã 次åã¯ãã±ãããè³Œå ¥ããå¶éãªãã§ãã¹ãŠãèŠãŠãã ããã