ãããããããªãã¯ãã¡ã€ã³ã«è¡šç€ºããããšãã«äŒè°ã®ãããªãããã²ãŒãããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã ãããŸã§ã®éãå¯èœãªéããã¬ãŒã³ããŒã·ã§ã³ãžã®ãªã³ã¯ãè¿œå ããŸããã
1æ¥ç®
è€éãããéããªãã§èµ°ã-Venkat Subramaniam
ã¢ãžã£ã€ã«ã¯ãå€åã«é©å¿ããèœåã§ãã ã¢ãžã£ã€ã«ãå¹æçã«äœ¿çšããããšã¯ãç¬èªã«äœæãããã·ã¹ãã ã®è€éãã«ãã£ãŠåŠšããããŸãã
Venkatã®ã¬ããŒãã«ã¯ãã·ã¹ãã ãè€éã«ããåé¡ã®ãªã¹ããšããœãããŠã§ã¢éçºã«é¢ããè¬æŒè ã®äžè¬çãªã¢ããã€ã¹ãå«ãŸããŠããŸãã ãã®ã¬ããŒããå瀺ã«ãªãããšã¯ãŸããããŸããããæãããªããšãç¥ãå¿ èŠãããããŸããã¡ã¢ãªå ã§æŽæ°ããŠäœ¿çšãããšäŸ¿å©ãªå ŽåããããŸãã
ã·ã¹ãã ãè€éã«ããæ¹æ³ïŒ
- å¯åéšå
äžèŠãªæ§æã®äœæãæªäœ¿çšã®ã³ã³ããŒãã³ãã®äœæãã¬ã€ã€ãŒã®äœæãå€ããããªã©ã - èªããªãã³ãŒã
ããã®ã³ãŒãã¯åäœããŸãããåäœããªãããã«èŠããŸããã ã³ãŒããè€éã«ãªããšãå€æŽãèŠããªããªããŸãã äžéæãªå€æŽã¯ãã°ãçæãããªããžã§ã¯ãã§äœãèµ·ãã£ãŠããããç解ããã®ã劚ããŸãã - äŸåé¢ä¿ãå€ããã
äŸåé¢ä¿ã¯ããã«éäºæã«ãªããååšããã»ã©ç®¡çãé£ãããªããŸãã - æ°ãããã¯ãããžãŒãå°å
¥ããããã®ç¡è¬ãªæ
ç±
質åã«çããŠã¿ãŠãã ããïŒ
-æ°ãããã¯ãããžãŒãå°å ¥ããäŸ¡æ Œã¯ãããã§ããïŒ
-éžæãããã¯ãããžãŒãæŸæ£ããã®ã¯ã©ããããç°¡åã§ããïŒ
-ã©ã€ãã©ãªãŸãã¯ãã¬ãŒã ã¯ãŒã¯ïŒ ããªãã¯ã©ã€ãã©ãªã䜿çšãããã¬ãŒã ã¯ãŒã¯ã¯ãããªããå²ããã ãã¬ãŒã ã¯ãŒã¯ãããã©ã€ãã©ãªãæåŠããæ¹ãã¯ããã«ç°¡åã§ãã ãããã£ãŠããã¬ãŒã ã¯ãŒã¯ã䜿çšãã決å®ã¯ãããæ éã«è¡ãå¿ èŠããããŸãã å€ãã¢ãããŒãã«ç°¡åã«æ»ããããã蚌æã§ããå Žåã¯ããããæ¡çšããå¿ èŠããããŸãã æ¬åœã«å¿ èŠãªããã®ã¯ããŠã³ããŒãããªãã§ãã ããã
-é§ååéçºãåéããŸãã - ã©ã³ãã ãªé£æ床
ããšãã°ãäœã¬ãã«ã®ãã«ãã¹ã¬ããã ã¹ã¬ããããŒã«ã®åé¡ã解決ããå Žåãåé¡ã®ããããŒã«ããããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã«ã¹ã±ãŒãããŸãã¯ãã©ã³ã¶ã¯ã·ã§ã³ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®æ§ç¯æ¹æ³-Harald WendelïŒ ãã¬ãŒã³ããŒã·ã§ã³ ïŒ
Haraldã¯ããããžã§ã¯ãããã©ã³ã¶ã¯ã·ã§ã³ãåé€ããŠState Machineã«çœ®ãæããããšã§ãåæ£ãã©ã³ã¶ã¯ã·ã§ã³ãæŽçããåé¡ãã©ã®ããã«è§£æ±ºããããèªã£ãã ãã€ã¯ããµãŒãã¹éã®äžè²«æ§ãç¶æããã«ã¯ãé害ãå«ãæ¡ä»¶ã®ãµããŒããå®è£ ãããããã®å€æŽã«å¯Ÿå¿ããå¿ èŠããããŸãã ãã®ãããžã§ã¯ãã§ã¯ãKafkaã䜿çšããŠãµãŒãã¹éã§éä¿¡ããŸãã
å®éãã¬ããŒãã«ã¯ãåæ£ã·ã¹ãã ã«åãæ¿ãããšãã«ãã©ã³ã¶ã¯ã·ã§ã³ãæŸæ£ãããšãã1ã€ã®ã¢ã€ãã¢ããããŸãã
åã®ãã©ã³ã¶ã¯ã·ã§ã³æäœã®ä»çµã¿ïŒ
- ãŸã ãã©ã³ã¶ã¯ã·ã§ã³ã§ãããããŒã¿ããŒã¹ã«ã³ããããããããžãã¹ãªãã¬ãŒã·ã§ã³ã¯1ã€ïŒæ¡ä»¶ä»ãïŒã®ã¿ã§ãã ãã©ã³ã¶ã¯ã·ã§ã³å ã®ä»ã®ãŠãŒã¶ãŒã¯ãKafkaã®ããŒã¿ããŒã¹ãä¿åããŸãã
- ãŸãããã©ã³ã¶ã¯ã·ã§ã³ã®äžéšãšããŠãæ°ããStateããžãã¹ãã©ã³ã¶ã¯ã·ã§ã³ãååŸããŸãã ããã¯å®å šã«æ£ããèªå·±å®çµåã®ç¶æ ã§ãã
- ãã³ãã©ãŒããšã³ãã£ãã£ãšåãå Žæã«ããå Žåãç¹å¥ãªãã³ãã©ãŒãããŒã¹ãèªã¿åããŸãïŒãšã³ãã£ãã£ã®ããŒãªã³ã°ãŸãã¯ã³ãããããã¯ã 次ã«ãKafkaã«ã¡ãã»ãŒãžãéä¿¡ããŸãã
- Kafkaãµãã¹ã¯ã©ã€ããŒã¯ã¡ãã»ãŒãžãåŠçããŸãã ããã§ã¯ãæšæºã®é ä¿¡ä¿èšŒã¡ã«ããºã ã圹ç«ã¡ãŸãã ã¡ãã»ãŒãžã¯é©åãªã¿ã€ãã³ã°ã§ã«ãã«ã«ããããã€ãã¯ãµãŒãã¹ã«ãã£ãŠåŠçãããŸãã
- åŠçäžã«ããµãã¹ã¯ã©ã€ããŒã¯ããŒã¿ããŒã¹ã«ã³ãããããç¶æ ãå€æŽã§ããŸãã ãã®å ŽåããµãŒãã¹ã¯ç¶æ ã亀æããŸãã
- ããŒã«ããã¯ããžãã¹ãã©ã³ã¶ã¯ã·ã§ã³çªå· ãããŠãåé¡ãåŠçããããã®3ã€ã®ãªãã·ã§ã³ããããŸãã
- æåŸãŸã§ãKafkaããã®ã¡ãã»ãŒãžãæ£ããåŠçãããã®ãåŸ ã¡ãŸãã
- ãšã©ãŒïŒããã³å¿ èŠãªç¹°ãè¿ãåæ°ïŒãçºçããå Žåã察å¿ããã誀ã£ããç¶æ ãå€æãããŸãã
- ããŒã«ã«ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ããæ段ãè¬ããããã«ãããžãã¹ãã©ã³ã¶ã¯ã·ã§ã³ã®éå§è ïŒããã³ä»ã®åå è ïŒã«ãã£ãŠåŠçãããã¡ãã»ãŒãžãKafkaã«éä¿¡ããŸãã
æ£ã®Javaããã»ã¹ã¡ã¢ãª-Andrey Panguin
Andreyã®ã¬ããŒãã¯ãéããŒãã¡ã¢ãªã®äŸã«ãããã€ãã£ãã¡ã¢ãªãªãŒã¯ã®åé¡ã®ãããã°ã«é¢ãããªãã¡ã¬ã³ã¹ããã³ããŠããŒãšããŠäœ¿çšã§ããŸãã
ãã®ã¬ããŒãã¯ã誰ãäœãèšæ¶ããŠããã®ããç解ããã®ã«åœ¹ç«ã¡ãŸãã Andreyã¯ãIdeaã«çµã¿èŸŒãŸããŠããAsyncProfilerãªã©ã®ã¡ã¢ãªåæããŒã«ã瀺ããŠããŸãããä»åŸã®IntelliJ IDEA 2018.3ã¯ãJVMããã³ãã€ãã£ãã³ãŒãããããã¡ã€ãªã³ã°ã§ããäœãªãŒããŒãããã®ãµã³ããªã³ã°ãããã¡ã€ã©ãŒ-éåæãããã¡ã€ã©ãŒãçµ±åããŸããã
誰ããåãæé ã§ãããèŠãŠãã¢ãžã¥ãŒã«ãšãã€ã¯ããµãŒãã¹ãå®è¡ããããšããå§ãããŸãã
ãã¿ãŒã³ãããã³ã°ãšåœŒã®æ³åäžã®å人-ã¿ã®ã«ãã¬ãšã
Tagirã¯ãããã°ã©ãã³ã°èšèªã®å¯èœæ§ã«ã€ããŠèªããŸããJavaã«äœããã©ã®ããã«ããã€ãã©ã®ãããªæŸèæãçŸããã®ããéçºè ãšèšèªã³ãã¥ããã£ã¯ãã®åé¡ã解決ããå¿ èŠããããŸãã æãããªå®çšçãªé©çšæ§ã¯ã»ãšãã©ãããŸããããé·æçã«ã¯æçšã§ãã
ãœãããŠã§ã¢éçºã®äžçã«ãããã»ããŒããŒã ãºãšãžã¥ãã¢ã¯ããœã³ã®åéº[ãžã§ãŒã«ãŒç]-ãšãã²ããŒããªãœããšãã«ãŒã¯ãµãã°ã«ã¹ããŒïŒ ãã¬ãŒã³ããŒã·ã§ã³ ïŒ
ã¬ããŒãã®èŠçŽã¯ãã§ã«èå³æ·±ããã®ã§ããã ããŒã ãºãšã¯ããœã³ã¯ãæ¥ã ã®éçºããããã€ãã®ããºã«ãçºèŠããããšãçŽæããŸãããããŒã«ãã©ã€ãã©ãªãããã³ãã¬ãŒã ã¯ãŒã¯ã¯ãæ¥åžžã®ã«ãŒãã³ã§æ®éã®éçºè ãå°æãããŸãã
ã¹ããŒãªãŒã®äžã§æãæçšãªç¹ã«æ³šç®ããŸããã
- Spring 5ã§ã¯ãå€éšã®groovyãã¡ã€ã«ã«ãã³ããã®ä»ã®æ¥ã®ãã®ãè¿œå ã§ããŸãã ã€ãŸã åæ§ç¯ããå¿ èŠã¯ãªããåèµ·åããã ãã§ãããšãã°BeanPostProcessorãè¿œå ã§ããŸãã
- Beanã®ååãèŠããŠããå¿ èŠããããŸãã ããšãã°ãConversionService Beanã¯äœæã§ããŸããã ããã¯ãã§ã«æ¥ã®è žå ã«ãããŸãã
- æšæºãèŠããŠããå¿ èŠããããŸãã ããšãã°ããã«ãããŒãã¯æçš¿ã«å¯ŸããŠã®ã¿èš±å¯ãããSpringã¯ç£èŠããŠããŸãã
- ããã¥ã¡ã³ããèªãå¿ èŠããããŸãã ããã®äŸã䜿çšããŠèª¬æããŸãããã AllArgsConstructorã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒã«java.beans.ConstructorProperties泚éãè¿œå ããŸãã ããã«ã泚éããªãå ŽåãJacsonã¯ããã©ã«ãã®ã³ã³ã¹ãã©ã¯ã¿ãŒãšã²ãã¿ãŒã䜿çšããŸãã ã³ã³ã¹ãã©ã¯ã¿ãŒã®ãã©ã¡ãŒã¿ãŒåã¯ãã³ã³ãã€ã«åŸã«ä¿åãããŸããã 泚éãããå ŽåãïŒJava Beanã®èŠåã«åŸã£ãŠïŒãã©ã¡ãŒã¿ãŒåã瀺ãããJacsonã¯ã³ã³ã¹ãã©ã¯ã¿ãŒã䜿çšããŸãLombok SneakyThrows泚éã¯ããã§ãã¯æžã¿äŸå€ãæªãã§ãã¯äŸå€ã«å€æŽããŸãã
- ãŸãããã®ã¬ããŒãã§ã¯ããååãšããŠãã§ãã¯æžã¿äŸå€ãå¿ èŠã§ããïŒããšããèå³æ·±ã質åãæèµ·ãããŸããã
2æ¥ç®
ãªã¢ã¯ãã£ãããŒãã³ã¢ïŒãããªãã·ã£ãŒã®æ§ç¯æ¹æ³<ïŒ>-Oleg Dokuka
ããã¯ããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®çŽ¹ä»ã§ãããšèšããŸããã¬ããŒãã§ã¯ãåºæ¬çãªæŠå¿µãšæœè±¡åã«ã€ããŠèª¬æããŠããŸãã Olegã¯ãæšè«ã®å šäœçãªé²åã瀺ããŠããŸããããã«ãããæšæºã®Reactive Streamsã©ã€ãã©ãªããPublisherãå®è£ ã§ããŸãã 足ãã©ãããæé·ããããç解ããããã«èŠãããšããå§ãããŸãã
1æéã§Javaã®æ©æ¢°åŠç¿ããŒãããçç£ãŸã§-Derek FergusonïŒ ãã¬ãŒã³ããŒã·ã§ã³ ïŒ
æ©æ¢°åŠç¿ãå匷ããã°ããããèãããšãã§ããŸãã ã¬ããŒãã®å¯Ÿè±¡è ã¯æ確ã§ã¯ãããŸãããã 人ã ãç解ããã°ã圌ãã«ãšã£ãŠããã¯ãã¯ãé¢çœããªãã 圌ããç解ããŠããªãå Žåã圌ãã¯ãã®ã¬ããŒããç解ã§ãããç解ããæ å ±ãå°ãªãããŸãã
äž»ãªã¡ãã»ãŒãžã¯æ¬¡ã®ãšããã§ããGoogleTensorFlowã䜿çšããŠJavaããã¢ãã«ããã¬ãŒãã³ã°ã§ããŸããããã¬ãŒãã³ã°ã®ãµããŒãã¯éãããŠããŸãã ãã ããèšç·Žãããã¢ãã«ã䜿çšã§ããŸãã ããšãã°ããã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ãTensorFlowãã€ã¯ããµãŒãã¹ã«ããŒãããJavaãŸãã¯å¥ã®ãã€ã¯ããµãŒãã¹ããèŠæ±ãéä¿¡ããŠåçãååŸããŸãã ããšãã°ãåçãèªèããçç¶ãç æ°ã®çš®é¡ãæããŠãã ãã...
TensorFlowããŒã ã«ã¯ãTensorFlowãåããDockerã€ã¡ãŒãžããããŸããããã䜿çšããŠãã¢ãã«ãããŒããããããã®ã¢ãã«ã䜿çšããããã®ãªã¯ãšã¹ããéä¿¡ã§ããŸãã çãïŒ
Micronaut vs Spring BootããŸãã¯ããã§äžçªå°ããã®ã¯èª°ã§ããïŒ -ããªã«ã»ãã«ã«ãã§ããšããã·ã ã»ãŽã¬ãªã³ã
CyrilãšMaximã¯ãèµ·åé床ãå®è¡ã«å¿ èŠãªã¡ã¢ãªéãã³ãŒãã£ã³ã°ã®è€éãã®ç¹ã§ææ°ã®ãã¬ãŒã ã¯ãŒã¯ãæ¯èŒããŸããã
1ã€ã®äºå®ã泚ç®ãéããŸãããMicronautã¯ã³ã³ãã€ã«æã«DIãå®è£ ããå®è¡æ/å®è¡æã«Springãå®è£ ããŸãã ããã«ãããMicronautã®èµ·åãéããªããŸãã ããããMicronautã®ãªãªãŒã¹ããŒãžã§ã³ããªãªãŒã¹ããããŸã§ãã²ãšèšèšããªããã°ãªããŸããã
ãªã¢ã¯ãã£ããã£ã¹ããªãã¥ãŒã¿ãŒok.ru/music-Vadim TseskoïŒ ãã¬ãŒã³ããŒã·ã§ã³ ïŒ
Vadim TseskoãOdnoklassnikiã®é³æ¥œãã£ã¹ããªãã¥ãŒã¿ãŒã®ã¢ãŒããã¯ãã£ã«ã€ããŠè©±ããŠããŸãã ã¬ããŒãã«ã¯ããµãŒããŒãšãã®åœ¹å²ã®èª¬æããã©ã³ã¹ã®èª¬æãããã³ãã©ãŒã«ããã¬ã©ã³ã¹ãšé«å¯çšæ§ã®æäŸæ¹æ³ãå«ãŸããŸãã å¥ã«-ç¹å¥ãªæè¡ç詳现ãªãã®å®éã®ã±ãŒã¹ã§ã®äºåŸå¯Ÿå¿ã¢ãããŒãã«ã€ããŠã OKã¯ããªã¢ã¯ãã£ãã¢ãããŒãã䜿çšããå®çšçãªäŸã瀺ããŸããã
ãŠãŒã¶ãŒãžã®é«éããŒã¿é ä¿¡ã®ããã«ããŒã¿ããã£ãã·ã¥ããããã®ãã©ã³ã¹ãšã¬ããªã±ãŒã·ã§ã³ãããã³ãã®ä»ã®ããªãã¯ã«ãããã©ãŒã«ããã¬ã©ã³ããµãŒãã¹ãåä¿¡ããããã®ããŸããŸãªæŠå¿µããã¹ããã©ã¯ãã£ã¹ãããã³ã¢ãŒããã¯ãã£ãæ瀺ãããŠããŸãã ãã€ãã®ããã«ããã¬ãŒã³ããŒã·ã§ã³ã«ã¯ãã¹ã©ã€ãã®ãããã¯ãããã«è©³ãã調ã¹ãããã®ãªã³ã¯ããããããããŸãã
ãªã¢ã¯ãã£ãã¹ããªã³ã°-ãžã§ã·ã¥ãã³ã°
ç§ãã¡ãæ è¡ããŠããã¬ããŒã:)å®éã«ã¯ããã§ã¯ãããŸãããããžã§ã·ã¥ã»ãã³ã°ã¯ã«ã³ãã¡ã¬ã³ã¹ã®2ã€ã®å€§ããªã¹ã¿ãŒã®1人ã§ãã 圌ã®ã¬ããŒãã¯ã¯ãŒã«ã§ããŠãŒã¢ã¢ãšãã¯ãããžãŒã®äž¡æ¹ãå ŒãåããŠããŸãã
å®éã«ã¬ããŒããšåŒã¶ãã®ã¯ãSpring WebFluxã䜿çšãããªã¢ã¯ãã£ããã€ã¯ããµãŒãã¹ã®äœæã«é¢ããã©ã€ãã³ãŒãã£ã³ã°ã»ãã·ã§ã³ã§ãã Reactive APIãšã¯äœããäžè¬çã«ç解ããSpring 5ã§ã®äœ¿çšäŸãæäŸããããŒãã¹ã¯æ¥œãããã¬ãŒã³ããŒã·ã§ã³ã§ãã Zuulã®ä»£æ¿ãšããŠReactive Proxyã䜿çšããäŸããããŸããã ç§ãã¡ã¯çã«èŠãããšããå§ãããŸãã
äžçã¯ã€ãã«åå¿çã«ãªããŸããã ãŸãã¯ãžã§ãŒã«ãŒã¬ããŒãã®å šäœçãªå°è±¡
ããã«é¢ããå€ãã®å ±åããããè°è«ã®é åã§ããã«è°è«ããŸããã å®éã倧ããªåé¡ã¯ãäžçãåå¿çã«ãªã£ãã®ãããããšãæã®ããšãªã®ããšããããšã§ãããä»ã§ã¯å€ããã¿ãŒã³ã«æ°ããååãä»ããæ°ããè¡ãæµããŸããã
åå¿æ§ã«é¢ããå ±åã®äžã«ã¯ãããããå奜ã«é¢ãããã®ããããŸããããããŠãçŽç²ã«æè¡çãªãã®ãäŸãã°ãæ¥ã«åå¿æ§ãè¡ãæ¹æ³ãèªã£ããžã§ã·ã¥ã»ãã³ã°ãªã©ã§ãã ãããŠãåå¿æ§ã®å®éã®äœ¿çšäŸ-ããšãã°ãClassmatesã®Vadim Tseskoã
ç§ãã¡ã®äž»ãªæè¡ã¯æ¥ãªã®ã§ããžã§ã·ã¥ã»ãã³ã°ã®ã¬ããŒãã¯å¿ èŠã§ãã ïŒ ã¬ããŒããããªããžããªãžã®ãªã³ã¯ ïŒã Mongoãšåå¿ãããªã¢ã¯ãã£ããµãŒãã¹ã®äŸãšãå¥ã®ãªã¢ã¯ãã£ããµãŒãã¹ããªã¢ã¯ãã£ãã«ãããã·ãããªã¢ã¯ãã£ããµãŒãã¹ã®äŸããããŸãã èŠã€ããã®ã¯ãšãŠã圹ã«ç«ã¡ãŸããã