
åã¯éããŠããŸãã ã¡ããã©1幎åãç»é²ããæ©äŒããªãã£ããã¹ãŠã®äººã察象ã«ãJoker 2016ã®å
¬éæŸéãéå¬ããŸããã ãã以æ¥ããã¡ããã.NETãJavaScriptãDevOpsãã¢ãã€ã«ãã¯ãããžãŒããã¹ããããã³Javaã§ã®ã«ã³ãã¡ã¬ã³ã¹ãã12ãè¶
ããæŸéãè¡ã£ãŠããŸããã
1幎ã§è¯ããªã£ããã®ã¯äœã§ããïŒ ãã¯ãããžãŒããã¹ããã2ã€ã®è匱æ§ãä¿®æ£ããYouTubeçµç±ã§ïŒã«ã¹ã¿ã ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªãïŒãããŒããã£ã¹ããéå§ãããããŒããã£ã¹ãåå è
ãã質åãããããšãåŠã³ãæ°çŸäººã®ãããŒã«ãçŠæ¢ããäŒã¿ãªãé
æ»ãªãã€ã³ã¿ãã¥ãŒãè¡ãããšãåŠã³ã1440rã«ãããŒããã£ã¹ããéå§ããŸãã...ä»ã«äœãããããŸãã
å®éã
11æ3æ¥åå9æ30åã«äœãèµ·ãã£ãããããã«èŠãããšãã§ããŸã
ãJoker2017ã®ã¡ã€ã³ãã©ãã¯ã®2æ¥éã®ç¡ææŸéãéå§ããŸã ã æŸéã¯ãäŒããããã«äžäŒã¿ããŠè¡ããŸãã ãŸãã1440pã®è§£å床ã«ãªããŸãã®ã§ãäžåºŠã¯ã¯ãŒã«ãªã¢ãã¿ãŒãå¿
èŠã«ãªããŸãã
ãã®ããã°ã©ã ã«ã¯ãã±ã€ã»ãã«ã¹ããã³ãã¢ã¬ã¯ã»ã€ã»ã·ãã¬ãããã«ãŒãã»
ãžã£ãã«ãã»ãµãã°ã«ã¹ããŒãã¿ã®ã«ã»
ã©ããŒã»ãã¬ãšãããã³ã©ã€ã»
ãã³ãžã§
ã¯ã·ã§ã³ã»ã¢ãªã¡ã³ã³ãããšãã²ããŒã»ãšãã²ããŒã»ããªãœãã»ããªãœããã»ã«ã²ã€ã»
ãã«ãã¬ã«ãã»ã¢ããã¥ã«
ããããªã©ã®
å ±åãå«ãŸããŠããŸããã
é¢çœãïŒ ç«ã®äžã«è¡ããŸãããã
æŸéæ¥ã®ç°ãªããªã³ã¯ã¯ç°ãªããããäž¡æ¹ãä¿åãããããã®æçš¿ããæ°ã«å
¥ãã«è¿œå ããŠã倱ãããªãããã«ããŠãã ããã1æ¥ç®ã11æ3æ¥
Java 9ïŒè¯ãéšåïŒã¢ãžã¥ãŒã«ã§ã¯ãªãïŒ
ãµã³ããŒå·ç«å€§åŠã±ã€ã»ãã«ã¹ããã³éäŒã®åºèª¿è¬æŒã¯ãç§ãã¡å
šå¡ãé·ãéåŸ
ã¡æãã§ããããš-Java 9ã«æ§ããããŸãã圌女ã¯ãã§ã«ç§ãã¡ãšäžç·ã«ããŸããç§ãã¡ã¯çããã§ã«ãããæããŠããŸããã質åã¯ãããªãããã¹ãŠã®ã°ããºãè©ŠããŸãããïŒ ã¬ããŒãã¯ãæ°ããJavaã®ãã¹ãŠã®å©ç¹ã®æŠèŠã«åœãŠãããŠããŸãïŒè±èªã§ã¯ããã¹ãŠãããæ確ã«èŠããããããªã¹ãã翻蚳ããŸããã§ããïŒïŒã³ã¬ã¯ã·ã§ã³ãªãã©ã«ïŒã»ãŒïŒããšã«ãã¹æŒç®åãã¹ããªãŒã ã®æ°ããç®æãããã³å®äºå¯èœãªæªæ¥å¯Ÿè©±åã·ã§ã«ãå
¥åãæ£èŠè¡šçŸãããã»ã¹ããªãã·ã§ã³ãããã³ã¹ããªãŒã ã®æ¹åãåŸ
æã®BigInteger.TWOã
äžè¬çã«ã9ãæ倧éã«äœ¿çšããå Žåã¯ã確èªããå¿
èŠããããŸãã

Java Puzzlers NG S03-çããã¯ã©ãããç»ããŸãããïŒïŒ
Tagir ValeevãJetBrains; ãã«ãã»ãµãã°ã«ã¹ããŒãJãããã°ãã®ã¬ããŒãã®ã¿ã€ãã«ã¯ããèªäœãç©èªã£ãŠããŸãïŒããºã«ã®æ°ããéšåã§ãïŒ å¥œããªãã®ã¯ãã¹ãŠïŒTagirãšBaruchãJava 8ãšJava 9ã®å°çã®ããºã«ãé¢çœãgifãJFrogã®Tã·ã£ããäŒå Žã«é£ãã§ããŸãïŒ ããªããšåã³äŸ¿å©ã§æ¥œããïŒ
ã©ã®ããã«èŠãããããããªãå Žåã¯ãéå»ã®ããŒãžã§ã³ãèŠãŠãã ããïŒçŽ æŽããã
äŸã§ãã
Java 9ã¢ãžã¥ãŒã«ïŒOSGiã䜿çšããªãçç±
Nikita pjBooms LipskyãExcelsior LLCNovosibirsk JBreak 2017ã®æé«ã®ã¬ããŒãã®1ã€ã§ãåºèª¿è¬æŒã«å«ãŸããªããã®ãã€ãŸãã¢ãžã¥ãŒã«ã«ã€ããŠã®è£è¶³ãšæ¹åãè¡ãããŸããã 誰ããããŸãæ°ã«ããªãã誰ããæããã誰ããå¿ããäžæè°ã«æãïŒçµå±ã®ãšããã15幎以äžã«ããã£ãŠããŸã£ããåãåé¡ã解決ããOSGiããã£ãã®ã¯ãªãã§ããïŒ
ãã®ã¬ããŒãã§ã¯ãOSGiã解決ããããšããŠããåé¡ããã®è§£æ±ºæ¹æ³ãå®éã«åé¡ããããã©ãããææ¡ããŸãã 次ã«ãOSGiã解決ããããšããŠããåé¡ãJigsawããŸã£ãã解決ããªãåé¡ãçç±ãããã³ããã解決ããåé¡ãšãã®æ¹æ³ãææ¡ããŸãã æåŸã«ãJigsawãJavaãšã³ã·ã¹ãã ã«ããããåé¡ãšãã®å¯ŸåŠæ¹æ³ã«ã€ããŠèª¬æããŸãããã
人éã®äžŠè¡æ§
ãµã³ããŒå·ç«å€§åŠã±ã€ã»ãã«ã¹ããã³Javaã«ã³ãã¡ã¬ã³ã¹ã«ã¯ã競äºãšããã©ãŒãã³ã¹ã®2ã€ã®ãããã¯ããããŸãïŒç«¶äºãšããã©ãŒãã³ã¹ïŒããã©ã³ã¹èªããèš±ããŠãã ããïŒã ãããã£ãŠããã®ã¬ããŒãã¯æåã®ã¬ããŒãã§ãã
åé¡ã¯ãç§ãã¡ã®ãæ°ã«å
¥ãã®Javaããã¯ã¯ãã¹ãŠã䞊è¡æ§ã¯ã¹ã¬ãããåæåãããã¡ãœãããåŸ
æ©ãéç¥ã§ããããšã瀺ããŠããããšã§ãã ã¹ã¬ãããããã¿ã¹ã¯ã®èŠ³ç¹ããèããã»ããããã®ã¯ãäžèŽã³ãŒããèšè¿°ãããšãã ãã§ããã¹ã¬ããã»ãŒããªããŒã¿æ§é ã䞊åã¹ã¬ãããèããããããæ£ãã䜿çšããŸãã éåæããŒã¿åŠçãç¿åŸããããšãããã§ãããã äžè¬ã«ããã®ã¬ããŒãã§ã¯ãKayã¯ããã¯ããã³æ¡ä»¶ãªãã§äž»èŠãªäžŠååãã¿ãŒã³ãå®è£
ããããã®æšæºJavaã©ã€ãã©ãªã®ãã¹ãŠã®ããŒã«ã瀺ããŸãã
ã·ã§ãã³ããŒïŒå¯èœæ§ã®ããã¬ããŒãžã³ã¬ã¯ã¿ãŒïŒéš2ïŒ
Alexey ShipilevãRed Hat泚æïŒ Alexeyãã¬ããŒãã§èª¬æãããã¹ãŠãå®å
šã«ç解ããããã«ã
ãShenandoahïŒå¯èœæ§ã®ããã¬ããŒãžã³ã¬ã¯ã¿ãŒãã®æåã®éšåãã芧ã«ãªãããšã匷ããå§ãããŸãã
Red Hatã¬ããŒãžã³ã¬ã¯ã¿ãŒã®å±¥æŽã®ç¶ç¶ã ãã®ã¬ããŒãã§ã¯ãã·ã§ãã³ããŒã®ãããªäœéGCãçŽé¢ããªããã°ãªããªãåé¡ã®ãŠãµã®ã®ç©ŽãæãäžããJVMã¬ãã«ã§ãããã®åé¡ã§äœãã§ãããããããŠäœéJavaã·ã¹ãã ã®è³¢æãªéçºè
ããã®ã¬ãŒããç¥ã£ãŠãããšãã«äœãã§ãããã«ã€ããŠèå¯ããŸãã
Java 8ïŒè¯ããæªããæªã
Nikolay xpinjection AlimenkovãXPã€ã³ãžã§ã¯ã·ã§ã³æãç§ãã¡ã¯Java 9ã®ãã¥ãŒã¹ãã1æ¥ãå§ããŸãããå¯äžã®è³ªåã¯ãJava 8ã®æ©èœãååã«ãã¹ã¿ãŒãããã©ããã§ãã 圌女ã¯æ°å¹Žéç§ãã¡ãšäžç·ã«ããŸãããããã®éãã»ãšãã©ã®ãããžã§ã¯ãã¯ãèšèªã®æ°ããæ©èœã®äœ¿çšãéå§ãããªã©ã8ã€ã®äœ¿çšã«åãæ¿ããŸããã
éå»æ°å¹Žéãã³ãŒãã¬ãã¥ãŒã«ç©æ¥µçã«åå ããŠãããã³ã©ã€ã¯ãæ°ããJava 8ã®ã¢ããªã±ãŒã·ã§ã³ã«ãããããªãäžè¬çãªã¢ã³ããã¿ãŒã³ãååã«èŠãŠããŸããããã®ã¬ããŒãã§ã¯ããªãã·ã§ãã«ãã¹ããªãŒã ãã©ã ããããã³åæåé¡ã解決ããæ£ããæ¹æ³ãæ±ãããã®äžæ£ç¢ºã§å¹æã®ãªãææ³ããå®çšçãªäŸã䜿çšããŠå®èšŒãããŸãã ã
ãã®ã¬ããŒãã®åŸãJoker 2017ã®ãã¹ãŠã®åå è
ãšã¹ããŒã«ãŒã¯ããŒãã£ãŒã«è¡ãïŒå¿
èŠã«å¿ããŠ
ç»é²ããæéããããŸãïŒããç涯ãã泡ã®ã°ã©ã¹ïŒãŸãã¯å¿
èŠã«å¿ããŠèµ€ïŒã§äœæ°ãšãããªãŒãã£ã³ã°ã®ã²ã¹ããšäžç·ã«æœããŸãäŒè°ãååã
2æ¥ç®ã11æ4æ¥

èªåã§èµ·åãæ¥ãæ¥ãŠããŸã
ããªã«ã»ãã«ã¯ããã«ã«ãã§ã ãã¢ã«ãã¡ç 究æ; Evgeny BorisovãNaya Technologies圌ãã¯ãéè¡åž«ã¯åœŒãã®ç§å¯ãæãããªããšèšããŸãã ããžã·ã£ã³ãPivotalã§åããŠããªãã®ã¯è¯ãããšã§ãïŒ ãããã£ãŠãSpring Bootã®éæ³ã®ãããã¯ã¹ããéå§ãããªãå Žåãäœãäœã§ããããåžžã«ç解ã§ããŸãã Googleã§æ€çŽ¢ããããStackOverflowã®ãœãªã¥ãŒã·ã§ã³ãªãã·ã§ã³ã調ã¹ããïŒspring-bootã«ãã£ãŠè¡ããã26,919件ã®ãªã¯ãšã¹ãã®äžããé©åãªãããã¯ãèŠã€ããå¿
èŠããããŸãïŒããŸãã¯äºåã«æéããããŠCyrilãšEugeneãã©ã®ããã«Spring Bootã2æéå
¬éãããã確èªã§ããŸãã
äžè¬çãªSpring Bootã¢ããªã±ãŒã·ã§ã³ã®åºæ¬çãªååãšèŠåãç解ã§ããŸãã ã¬ããŒãã¯ãã·ãªã³ããŒããã®ãã¹ãŠã®éæ³ãèŽè¡ã«ãšã£ãŠã¯ããã«éæãªããã»ã¹ã«å€ããããã«èšèšãããŠããŸãã ããããã°ããã¹ãŠãããŸããã£ããšãã«æ¥œããã ãã§ãªããçºçããåé¡ã®æ¬è³ªãç解ããå¿æ¥åŠçœ®ãªãã§è§£æ±ºã§ããŸãã
gRPCã§ãã€ã¯ããµãŒãã¹ãæ§ç¯ããGoogleã®çµéšããåŠã¶
ã¢ã¬ã¯ãµã³ããŒããªãœããGoogleãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã¯ç¡æã§ã¯ãªãããªã¢ãŒãåŒã³åºãã®æ°ã倧å¹
ã«å¢ãããŸãã ããã¯ããããã¯ãŒã¯ã®æ°ããªèª²é¡ãšåé¡ã«ã€ãªããããããªã¢ãŒãããã·ãŒãžã£ã³ãŒã«ïŒRPCïŒã«é©åãªãã¬ãŒã ã¯ãŒã¯ãéžæããããšãéèŠã«ãªããŸãã
gRPCã¯ãåæ£ã·ã¹ãã ãäœæããéã®ããã©ãŒãã³ã¹ãåäžããããããã¯ãŒã¯ã®è€éãã解決ããããã«èšèšãããGoogleã®æ¬¡äžä»£RPCãã¬ãŒã ã¯ãŒã¯ã§ãã
ã¢ã¬ã¯ãµã³ããŒã¯ãgRPCããªã¢ã¯ãã£ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®æ§ç¯ã«ã©ã®ããã«åœ¹ç«ã€ãã瀺ããåæ£ã·ã¹ãã ãèšè¿°ããéã«çºçããå¯èœæ§ã®ããããã€ãã®åé¡ã«ã€ããŠèª¬æããgRPCããããã解決ããæ¹æ³ã瀺ããŸãã
TestContainers-Dockerãšã®çµ±åãã¹ã
ã»ã«ã²ã€ã»ãšãŽããããŠãã¿åäœãã¹ãã¯è¯ãã§ãã ããã¯ãå€éšI / OïŒããŒã¿ããŒã¹ãMQããã®ä»ã®ãµãŒãã¹ïŒã§åäœããææ°ã®ãã€ã¯ããµãŒãã¹ã®ã»ãã®å€§éšåã§ãã ã©ã®ããã«ãã©ã®ããã«ãã¹ãããŸããïŒ
ãH2ã-ããªãã¯èªãããã«èšããŸãïŒ ãŸããè¯ãã§ãããå®çšŒåç°å¢ã§ã¯ãããšãã°JSONBã䜿çšããPostgreSQLã§ãã H2ã®JSONBã§ã¯ã©ãã§ããïŒ
ã¬ããŒãã§ã¯
TestContainersã©ã€ãã©ãªã«ã€ããŠèª¬æã
ãŸã ãããã«ãããäžè¬çãªããŒã¿ããŒã¹ãSeleniumãã©ãŠã¶ãŒãããã³äžè¬çã«Dockerã§å®è¡ã§ãããã¹ãŠã®ãã®ã䜿çšããŠãJUnitïŒã ãã§ãªãïŒãã¹ãããDockerã³ã³ãããŒãè¿
éãã€ã¯ãã¹ãã©ãããã©ãŒã ã§å®è¡ã§ããŸãã éçºäžã«ããŒã«ã«ã§å®è¡ããæ©èœãšãå€æŽãªãã§CIãµãŒããŒã§å®è¡ããæ©èœãåããŠããŸãã
projectãããžã§ã¯ãïŒçŸå Žããã®ãªãŒã
Tagir ValeevãJetBrains誰ããææ¥èŠãããšãã§ããã ãã§ã¯ãããŸãã ...ããã¿ã®ãŒã«ãã§ããŸãïŒ
Joker 2017ã®åæ¥ã§ã¯ãJava 8ãšJava 9ã«ã€ããŠã話ããŸããã2æ¥ç®ã¯ããã§ã«ç§ãã¡ãåŸ
ã¡æãã§ããããšã«ã€ããŠã§ãã Amberãããžã§ã¯ãã¯ãJava 10ãŸãã¯å°æ¥ã®ããŒãžã§ã³ã§å°å
¥ãããå¯èœæ§ã®ããããŸããŸãªå®éšçé©æ°ããããããŸãã ããã«ã¯ãããŒã«ã«å€æ°ã®ã¿ã€ãã®åºåããã¿ãŒã³ãããã³ã°ãªã©ãå«ãŸããŸãã ã¬ããŒãã§ã¯ãçŸæç¹ã§ãã§ã«å®è£
ãããŠãããã®ãèè
ãçŽé¢ããŠããåé¡ããããèªåã§ã©ã®ããã«æŽ»çšããŠçŽ æŽãããã¢ã€ãã¢ãæäŸã§ãããã確èªããŸãã
Tagirãã©ã®ãããªæã蟌ããŠã¬ããŒããæºåããŠããã®ããç¥ã£ãŠããã®ã§ãæŸéå
šäœãèŠèŽããäºå®ããªããŠãããã®ã¬ããŒãã«1æéãè²»ããããšãå人çã«ãå§ãããŸãã
éçºã®ããã«ããã¯ãã©ã®ããã«æ¡å€§ããã
ã»ã«ã²ã€ã»ã¢ããã¥ã«ããããã¢ã·ã°ã©ãã®ã¬ããŒãã¯ã4æ¡ã®ã«ã«ããæã€Habrã®äŒèª¬ã§ãããèªèº«ã®ITäŒç€Ÿãèšç«ããããŒãã²ãŒã ã¹ãã¢ã®åœå
æ倧ã®é£éŠãããã¯ãŒã¯ã®1ã€ã管çããçµéšããã®ãã®ã§ãã
æŽå²ïŒããŒãã²ãŒã ã®ãããžã§ã¯ãã1幎ã«10åè¡ããŸãããçç£ãããŒãããããã«1æ¡å€ãã®ããšãã§ããããã«ãªããŸããã åé¡ã¯éçºããã»ã¹ã«ãããŸãããã«ãŒãã«ããŒã ã2åãŸã§æ¡åŒµããå¿
èŠããããŸããã ãã®çµæãçŽ80ã®ãããžã§ã¯ããå®äºããŸããã Mosigraã®ç·æ§ãã©ã®ã¬ãŒããèžãã ã®ãããã®ã¬ãŒããã©ã®ããã«åé¡ããã®ãããããŠãã®çµæã«ã€ããŠ-Sergeyã®ã¬ããŒãã§ã
ãšããã§ãããæè¿ãSergeyãš
Habrainterviewã§ã®ãã¹ã¯ãããéçºã®ãã¥ã¢ã³ã¹ã«ã€ããŠè©±ãåã
ãŸãã ã
ã€ã³ã¿ãŒããã·ã§ã³æŸé

å€ãã®ãªã³ã©ã€ã³ãããŒããã£ã¹ãã®åé¡ã¯ã空ã®äŒæ©ãšã³ãŒããŒãã¬ãŒã¯ã§ãã äŒè°ã®åå è
ãã³ãŒããŒã飲ã¿ãã¹ããŒã«ãŒãšéä¿¡ããŠããéãæŸéã®èŠèŽè
ã¯ã¹ã¿ããèŠãŠã次ã®ã¬ããŒããå§ãŸãã®ãåŸ
ããªããã°ãªããŸããã
ç§ãã¡ã¯ãã®åé¡ãç¬èªã®æ¹æ³ã§è§£æ±ºããŸãã-äŒæ©äžã«ãã¹ããŒã«ãŒãšäŒè°ã¹ãã³ãµãŒãšã®ã€ã³ã¿ãã¥ãŒãæŸéãããŸãã ã€ã³ã¿ãã¥ãŒã¯ã
ãã£ã¬ãã¢ã ãšå
±ã«ãªã¬ã°ããŒã« ïŒããããJavaãŸãã¯DevOpsã«ã€ããŠã®åœŒã®èšäºãèªãã§ããŸãïŒ-éå±ããããšã¯ãããŸããã
ã€ã³ã¿ãã¥ãŒãéããŠãæŸéããã°ã©ã ã«åå ããªãè¬æŒè
ãã²ã¹ããšç¥ãåãããšãã§ãããšããäºå®ã«æ³šç®ããããšæããŸãã圌ããèšãããã«æ¥ç¶ããŠãã ããïŒ
ã€ã³ã¿ãã¥ãŒäžããã³ã¬ããŒãäžã®äž¡æ¹ã®è³ªåã¯ãäŒè°ã®ãã¬ã°ã©ã ãã£ãããéããŠè¡ãããšãã§ããŸããå¶éäºé
- æŸéã¯çŸç¶ã«åºã¥ããŠæäŸãããŸãããã¹ãŠãããŸããããšç¢ºä¿¡ããŠããŸãããçªç¶äœãããã£ããšããŠããç§ã責ããªãã§ãã ããïŒ
- ãããªã¯ãããŸããã ã€ãŸãã圌ãã¯ãã¡ããããã£ãŒãããã¯ãæ®ããäŒè°åå è
ã®ã¿ã«ãªããŸãã ãã以å€ã®å Žåã¯ãåŸæ¥ãã3ã4ãæã§æçš¿ããŸãã
- ä»ã®éšå±ã§äœãèµ·ãã£ãŠããããèŠãããšãã§ããªããªããŸãã ãããŠã å€ãã®èå³æ·±ãããšããããŸãã 次åã¯ãã±ããã賌å
¥ããå¶éãªãã§ãã¹ãŠãèŠãŠãã ããã