Утренний Java-дайджест за 12 декабря
- Окончание жизни 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
Нажмите здесь для печати.