Этот дайджест взаимодополняет выпуск подкаста «Разбор Полётов». На этот раз в студии были Барух Садогурский и Олег Чирухин, а Виктор Гамов присутствовал с нами морально и помогал доработать выпуск. Получить запись подкаста можно либо пройдя по ссылке на сайт РП, либо скачав MP3-файл.
- Напоминаем про новую встречу JUG.ru в этот четверг: «Тролль гнёт CUBA: наиболее часто задаваемые вопросы и отвечаемые ответы о CUBA.platform». Если хотите пойти — не забудьте зарегистрироваться по ссылке!
- Напоминаем, что предыдущий выпуск подкаста «Разбор Полётов» уже доступен для загрузки!
- В сети появилась запись 20-минутного доклада Марка Рейнхольда «The Future of the Java Platform and the JDK: Who is in Charge?». Не так круто, как «Разбор», но к просмотру обязательно 🙂
- JDK: Rampdown Phase Two. До 16 августа остались считаные дни, последний шанс что-то поправить. Более подробно схема релизов объяснена в JEP 3.
- John Rose опубликовал новый черновик JEP: «Type operator expressions in the JVM». Он вводит понятия type operators и descriptors, которые (насколько я понял) в конечном итоге нужны для корректной записи вещей вроде
List<int>
или value typeList<ComplexDouble>
.
- Возможно, в будущем в OpenJDK будут использовать Git вместо Mercurial. Ранее к Mercurial возникало множество неприятных вопросов, и вот теперь в рассылке Call for Discussion: New Project: Skara предлагают обсудить несколько критериев:
- Производительность: время на клонирование, на локальные операции и т.п.;
- Эффективность использования диска;
- Использование в разных регионах;
- Поддержка в популярных средах разработки, включая Linux, Mac и Windows;
- Способность выдержать груз истории правок с учетом предполагаемого роста нагрузок в ближайший десяток лет;
- Поддержка практик ревью кода, принятых в JDK;
- Программные API, позволяющие автоматизировать работу с репозиторием.
Как на это реагируют люди, можно услышать, например, в интервью Stephen Colebourne (Java Champion, известный по работе над Joda Time и JSR 310), в котором он прямым текстом сказал: «Using Git instead of Mercurial is a great idea».
- Вышел GraalVM 1.0-rc5. Улучшения коснулись как community edition, так и enterprise edition. Про улучшения хорошо написал на своём Medium Олег Шелаев. Это огромный проект с безумно большим списком изменений, поэтому в дайджесте кратко описать не получится — читайте блог Шелаева.
- Kubernetes теперь доступен в Docker Desktop (Stable).
- Появился новый фреймворк Liquicouch, который, как и следует из названия — нечто вроде Liquibase, но для Couchbase. Какой там API, можно сразу предположить:
- Пополнение в ряду фреймворков: Asity 2.0.0, легкая абстракция над различными JVM-фреймворками. Вообще, версия 2.0.0 вышла уже месяц как, но особо не продвигалась, и вот сейчас создатель фреймворка Donghwan Kim дал подробное интервью. Идея в том, чтобы написать какой-то вебный код и потом запускать его поверх любой популярной технологии для JVM. Технически, предлагается писать веб-фрагменты, использующие классы вроде
ServerHttpExchange
иServerWebSocket
, которые сдизайнены для воплощения основных спецификаций интернета: RFC2616 для HTTP/1.1, RFC6455 и так далее. Типичный код выглядит вот так:
- Вышел большой последний релиз-кандидат библиотеки Javalin 2.0. Javalin — это легкий веб-фреймворк, который во главу угла ставит максимальную простоту и интероперабельность между Java и Kotlin. По большей части, все улучшения касаются кишков фреймворка, а из API самое важное изменение — полностью переписанная работа с вебсокетами. Как выглядит код на Javalin, лучше посмотреть в документации (благо это легко и просто — она состоит из набора коротких примеров). А хэлловорлд выглядит так: Java: Kotlin:
- Рубрика «Тяжелая жизнь в изгнании». В инкубаторе появился NetBeans 9.0. Пока что все фичи заключаются в поддержке Java 9 и 10, и конкретно — local variable type inference, Jigsaw module system, JShell. Добавили новый тип проекта Java Modular Project. Надо понимать и радоваться, что NetBeans вообще пережил трансфер в Apache: решение о передаче было сделано в сентябре 2016 года, и вот так оно все тянулось до тех пор, пока в июне этого года передача исходников не была доведена до конца. Но конечно, по сравнению с тем пиром духа, что сейчас творится в IntelliJ IDEA и Eclipse IDE, всего лишь поддержка фичей годовалой давности выглядит бледно и заставляет задуматься о будущем NetBeans.
- Еще один известный проект в изгнании — JakartaEE, избрал членов основных рулевых комитетов. Встречайте:
- Specification Committee — Participant: Alex Theedom (LJC)
- Specification Committee — Committer Member: Werner Keil
- Marketing & Brand Committee — Participant: Simon Maple (LJC)
- Marketing & Brand Committee — Committer Member: Ivar Grimstad
- Steering Committee — Participant: Martijn Verburg (LJC)
- Steering Committee — Committer Member: Ivar Grimstad
- В блоге Eclipse опубликован мотивационный пост «We Are Open» о том, какие Eclipse большие и перспективные. 350+ Open Source проектов, начиная от энтерпрайзной джавы, заканчивая IoT и автономными машинами.
- Там же в блоге статья о том, как они сделали, чтобы страничка загрузки Eclipse стала выглядеть менее мерзко. Просто зайдите и сами убедитесь, действительно стало лучше.
- Вышел Hibernate ORM 5.3.4.Final. На этот раз — никаких десятков закрытых багов, всего 14.
- Недавно мы писали об анонсе Google Knative. Не прошло и недели, а люди уже попробовали приготовить его для Spring. Первый запрос обрабатывался 17 секунд — это время уходит на запуск пода, а вот все следующие запросы уже быстры как всегда. Автор статьи по ссылке пользовался Knative Serving: официальным интеграционным проектом, предоставляющим мидлварь для следующих вещей:
- Rapid deployment of serverless containers
- Automatic scaling up and down to zero
- Routing and network programming for Istio components
- Point-in-time snapshots of deployed code and configurations
- Кстати, Istio-таки дожил до версии 1.0, но так как он написан на Golang, на этом и хватит. Ну и раз уж про Golang, то Hashicorp Terraform в новой версии заполучил First-Class Expressions.
- Вышли Mockito 2.20.5 и JUnit Pioneer 0.1.2 (набор экспериментальных расширений для JUnit 5 и Jupiter API). Нужно обновить зависимости.
Spring
- Вышел Spring Security 5.1.0.M2. Множество улучшений в поддержке OAuth 2, конфигурировании и безопасности.
- Объявлено об End of Life линейки Spring Boot 1.x, который состоится 1 августа 2019 года. До этого будут выпускаться небольшие поддерживающие релизы ветки 1.5.x.
- В рамках этого выпущен Spring Boot 1.5.11. 35 фиксов, улучшений, обновлений зависимостей.
- За ней 1 июля 2018 года закончит жизнь и Spring Cloud Edgware. На всякий случай напоминаем, что Camden уже дошел до своего EOL, а Dalston помрёт в декабре 2018, то есть — совсем скоро. В мире Spring Cloud «медленный — значит, мёртвый», нужно постоянно быть в курсе трендов и своевременно обновляться.
- Ветка 2.x.x активно продвигается вперед, и в новом выпуске Spring Boot 2.0.4 было представлено целых 90 изменений.
- Несмотря на такое количество изменений в 2.0.4, уже готов новый майлстоун: Spring Boot 2.1 M1. Там ченжестов уже целых 180 штук. Он основан на последних достижениях Spring Framework 5.1.RC1, Spring Data Lovelace RC1, Spring Security 5.1 M2 и других проектов. Заявленные фичи:
- Servlet 4 support with Undertow 2.0 and Tomcat 9.0;
- Caches endpoint;
- Support for querying an individual component’s health;
- Support for profile expressions in multi-profile YAML documents and Logback configuration;
- И многое другое, что есть в описании релиза.
- Много выпусков дайджеста подряд мы отслеживаем судьбу Spring Cloud Data Flow. Ура: наконец-то вышла финальная версия Spring Cloud Data Flow 1.6 GA. Заявленные фичи:
- Task Scheduling on PCF;
- Dashboard improvments;
- Kubernetes support enhancements;
- App hosting tool;
- Composed Task Runner security;
- DSL and deployment property parsing refinements;
- Batch Database Schema and Optimization.
- Вышли два поддерживающих релиза Spring IO Platform — Cairo-SR3 и Brussels SR12.
- Вышел Spring Cloud Finchley.SR1. Состав релиза:
- Основан на Spring Boot 2.0.4.RELEASE;
- Spring Cloud Consul 2.0.1.RELEASE (issues);
- Spring Cloud Gateway 2.0.1.RELEASE (issues);
- Spring Cloud Sleuth 2.0.1.RELEASE (issues);
- Spring Cloud Config 2.0.1.RELEASE (issues);
- Spring Cloud Netflix 2.0.1.RELEASE (issues);
- Spring Cloud Commons 2.0.1.RELEASE (issues);
- Spring Cloud Contract 2.0.1.RELEASE (issues);
- Spring Cloud Stream Elmhurst.SR1 (Release Notes);
- Spring Cloud Vault 2.0.1.RELEASE (issues);
- Spring Cloud Openfeign 2.0.1.RELEASE (issues).
Дайджест готовили
- Текстовая версия: Олег Чирухин (контент, верстка, проверка фактов) и редакция JUG.ru Group;
- Подкаст «Разбор Полётов» (ссылка на запись): Виктор Гамов, Барух Садогурский и Олег Чирухин.