- PVSM.RU - https://www.pvsm.ru -

Утренний Java-дайджест за 12 декабря

Утренний Java-дайджест за 12 декабря - 1

  • Окончание жизни Spring Boot 2.1.x намечено [1] на 1-е ноября 2020. Какие-то обновления до этой даты все еще будут, а после — пропадут. Нужно обновляться на 2.2. Сама процедура обновления не кажется сложной, инструкции есть в wiki [2]. Там же есть список поддерживаемых версий [3].
  • Релизнулась самая первая версия набора инструментов Kilt [4], предназначенного для обработки бандлов интернационализации. Собственно, в названии Kilt, буква i — это i18n, l — l10n, t — t9n. Библиотека может конвертить бандлы из/в XLS(X) (полезно для работы небольшой команды переводчиков), предоставляет типобезопасный фасад для работы с ними на языке Java (нет, буква K в названии — это не Kotlin) и простейшие рефакторинги внутри бандла, вроде переформатирования текста. Может работать как отдельное приложение для командной строки, как таска для Ant, как плагин для Maven. Почти 100% кода написано на Java. 198 коммитов на GitHub, всего десять звездочек (неудивительно, автор анонсировал её только сегодня).
  • Payara Server теперь официально совместим [5] с Jakarta EE 8. Напоминаю, это такая опенсорсная мидлварь Java EE с прицелом на гибридные облака. Присутствует на GitHub [6]. Jakarta EE (если вы вдруг были в анабиозе последнюю пару лет) — наследнца Java EE, по линии Партии — будущее Cloud Native Java. Начиная с версии 5.193.1 [7], данный продукт присоединяется к счасливой семейке из Glassfish [8] (Eclipse Foundation), OpenLiberty [9] (IBM) и Wildfly [10] (RedHat). Если вы там беспокоились за будущее Wildfly, то теперь у нас есть целых две альтернативных реализации.
  • Последняя версия Spring Cloud Gateway [11] на GitHub — 2.2.0. В предстоящей версии 2.2.1 мы можем получить новый circuit breaker, реализованный поверх известной библиотеки resilience4j [12] (больше тысячи коммитов и пять тысяч звезд на GitHub). За этим стоит небольшая трагическая история. Происходит эта замена не по велению левой пятки хипстеров, а потому что Netflix замораживает свой чудесный Hystrix [13], по мере того как компания изменяет свой технологичекий стек. Gibb Spencer (ко-фаундер Netflix) пообещал нам [14], что Hystrix и Ribbon продолжат поддерживать в рамках Spring Cloud, но все, кому надо, уже в ужасе ретировались с корабля. (Этот твит даже удостоился упоминания в «This week in Spring» [15] Джоша Лонга). Напоминаю, что вторая альтернатива для resilience4j — это Sentinel [16] от Alibaba Group. Resilience 4j, в свою очередь, делает Robert Winkler [17] из Deutsche Telekom, Mahmoud Romeh [18] из IBM, Dan Maas [19] из Target Corporation (это такая сеть американских розничных магазинов с оборотом 72 миллиарда долларов) и Богдан Сторожук [20]. Серьезные люди, надо брать. Процесс адаптации можно наблюдать по таким системообразующим вещам как Spring Cloud Gateway, а подробней прочитать об этом можно в блоге Петра Миньковского [21] (это автор книжки Mastering Spring Cloud [22]).
  • Выпущен очередной релиз-кандидат реализации языка Squeak/Smalltalk для GraalVM под названием GraalSqueak [23]. С точки зрения теории, это хорошее исследование в области полиглотного программирования. Кому он нужен на практике — замнем для ясности. Прочитать подробнее можно в английской статье на DZone [24]. Меня особенно порадовало упоминание Mani Sarkar [25] внизу статьи, «спасибо за фидбек» — Мани пронизывает интернет-пространство все сильнее.
  • Для фуллстеков может быть интересно, что в React.js завезли concurrent mode [26]. Теперь пользователю не нужно уходить пить чай, пока веб-страничка пытается загрузить очередной выпадающий список. Чтобы далеко не ходить, пример из официальной документации — по ссылке [27].
  • Хорошее новичковое введение в Spring/Dagger/Guice: 20-минутный Яндекс-доклад «В некотором царстве, не в "спринговом" государстве.» [28] Кирилла Косолапова (ctsh [29]) на Хабре. Нормальная расшифровка в текст, слайды с кодом оформлены как маленькие скриншоты, шрфиты со сглаживанием. Время чтения — несколько минут.
  • В прошлом дайджесте читатели где-то усмотрели рекламу [30]. Но как? Но где? Если чего-то хочется улучшить в посте, напишите комментарием, чтобы можно было сойтись в относительно честном поединке!

«Картинка для привлечения внимания» предоставлена фотографом Sydney Rae.

Автор: Олег Чирухин

Источник [31]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/339744

Ссылки в тексте:

[1] намечено: https://spring.io/blog/2019/12/10/spring-boot-2-1-x-eol-november-1st-2020

[2] в wiki: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes#upgrading-from-spring-boot-21

[3] список поддерживаемых версий: https://github.com/spring-projects/spring-boot/wiki/Supported-Versions

[4] набора инструментов Kilt: https://github.com/hupfdule/kilt

[5] официально совместим: https://blog.payara.fish/payara-server-is-jakarta-ee-compatible

[6] Присутствует на GitHub: https://github.com/payara/Payara

[7] 5.193.1: https://www.payara.fish/software/payara-server/

[8] Glassfish: https://projects.eclipse.org/projects/ee4j.glassfish

[9] OpenLiberty: https://openliberty.io/

[10] Wildfly: https://wildfly.org/

[11] Spring Cloud Gateway: https://spring.io/projects/spring-cloud-gateway

[12] resilience4j: https://github.com/resilience4j/resilience4j

[13] Hystrix: https://github.com/Netflix/Hystrix

[14] пообещал нам: https://twitter.com/spencerbgibb/status/1064863160979591169?s=12

[15] «This week in Spring»: https://spring.io/blog/2018/11/27/this-week-in-spring-november-27th-2018

[16] Sentinel: https://github.com/alibaba/Sentinel

[17] Robert Winkler: https://github.com/RobWin

[18] Mahmoud Romeh: https://github.com/Romeh

[19] Dan Maas: https://github.com/drmaas

[20] Богдан Сторожук: https://github.com/storozhukBM

[21] в блоге Петра Миньковского: https://piotrminkowski.com/2019/12/11/circuit-breaking-in-spring-cloud-gateway-with-resilience4j/

[22] Mastering Spring Cloud: https://www.packtpub.com/application-development/mastering-spring-cloud

[23] GraalSqueak: https://github.com/hpi-swa/graalsqueak/

[24] английской статье на DZone: https://dzone.com/articles/jvm-advent-calendar-smalltalk-with-the-graalvm

[25] Mani Sarkar: https://twitter.com/theNeomatrix369

[26] concurrent mode: https://reactjs.org/docs/concurrent-mode-intro.html

[27] по ссылке: https://codesandbox.io/s/frosty-hermann-bztrp

[28] «В некотором царстве, не в "спринговом" государстве.»: https://habr.com/ru/company/yandex/blog/478788/

[29] ctsh: https://habr.com/ru/users/ctsh/

[30] усмотрели рекламу: https://habrastorage.org/webt/c5/tg/yh/c5tgyhiyrjk48ehk0zufgrew004.png

[31] Источник: https://habr.com/ru/post/479854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=479854