Java-дайджест за 27 декабря

в 10:09, , рубрики: java, javawatch, Программирование

Java-дайджест за 27 декабря - 1

  • Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, использующих Loom: Loom Date Server, Fibry (реализация акторов с поддержкой файберов), RxJavaFiberInterop (мост между RxJava 3 и Loom), и пара примеров использования Loom (раз, два). На всякий случай напоминаю, что Рон есть на Reddit, временами он пишет туда анонсы и оставляет хорошие развернутые комментарии.

  • InfernoPlus опубликовали видео про то, как сделали фанатскую игру в жанре Battle Royale про Super Mario, которая неожиданно хайпанула. На бэке там были Java + Tomcat. Конец истории: авторам позвонили из Nintendo и пообещали засудить, из-за чего игрушку пришлось убить.

  • Зарелизилась Debezium 1.0.0, которая называет себя лучшей Java-библиотекой для CDC (Change Data Capture). У них даже есть собственный сайт с FAQ. CDC — это про то, чтобы записывать события изменения данных. Конечно, можно притащить Hibernate Envers, но это добавит оверхеда в рантайме. Вместо этого можно читать события изменений прямо из redo log базы данных — парсить его и как-то реагировать, чем и занимается Debezium. Причем делает она это в асинхронном режме, т.е. не затормаживая ваше OLTP приложение. Поддерживаются не только Oracle, MySQL, PostgreSQL (интуитивно понятно, что лог нужен для обеспечения D в ACID), но и для MongoDB. Подробней можно прочитать в статье Vlad Mihalcea.

  • Некто eXsio выложил на GitHub QueryDSL EntityQL — небольшую библиотечку на 28 коммитов, которая позволяет делать Native SQL запросы с помощью JPA Entities в виде fluent API. Секрет в том, что она использует рефлексию, чтобы собрать всю DDL информацию и построить метамодель QueryDSL. Метамодели собираются в оперативной памяти, кодогенерации на файловой системе не требуется.

  • Vincenzo Palazzo продолжает украшать Swing, только что выпущена версия v1.1.1-beta библиотеки material-ui-swing. По ссылке есть скриншоты и гифки.

  • 28 ноября, оказывается, зарелизился Apache Camel 3. В дайджесты это не попало, потому что тогда еще не было дайджестов. Лучше поздно, чем никогда. Теперь Camel — это семейство из нескольких проектов, в том числе Camel 3 (известная нам во всех интеграционных бочках затычка), Camel K (Serverless, Kubernetes, Knative), Camel Quarkus. Официально поддерживается Java 11. Ядро camel-core распилили из единой мега-помойки на 33 JAR-файла, API лежат в camel-api, а в camel-support лежит RouteBuilder и всевозможные базовые классы, полезные для разработки плагинов. Всё стало работать быстрее и жрать меньше памяти. Добавили DSL для типобезопасного описания ендпоинтов (вместо адских URI в строках). Внутри движка добавили реактивщины, и как только Java 11 станет минимально поддерживаемой версией (на этих словах кто-то закашлялся и упал в обморок), внешний интерфейс тоже станет работать на Java 9 Flow API. Добавили интеграцию с Microprofile и сделали демки полностью standalone приложений, которые начинаются с запуска Camel. Короче, жить стало лучше, жить стало веселее.

  • Вышла Kafka 2.4, из интересного — брокер теперь может перебрасывать на ближайшую реплику (в облачной среде это большие деньги). Запилили новое Java Authorizer API, который позволяет обойти головняки, которые раньше были с kafka.security.auth.Authorizer.

  • Моментально с выходом Кафки, вышла и соответствующая Spring for Kafka 2.4 RC1. Всё то же самое, что для 2.3, только скомпилированное для новой версии клиентов, и с поддержкой нового протокола балансировки.

  • Объявлены даты EOL для Spring Cloud Hoxton и Greenwich, а следующий мажорный релиз будет называться Ilford. Кроме того, выпущен Hoxton Service Release 1 (SR1). Там одни багфиксы, надо обновляться.

  • Еще больше про Spring можно прочитать в еженедельнике Джоша Лонга. Есть выпуск за 18 декабря и за 24 декабря. Кстати, в 2020 году Джош празднует юбилей, 10 лет работы в команде Spring, и соответственно — десять лет дайджесту.

  • Дмитрий Жемеров опубликовал роадмап IntelliJ Platform на 2020 год. Есть перевод на русский язык в хабраблоге компании JetBrains.

  • Вышла IntelliJ IDEA 2019.3.1. Поправили несколько неприятных багов. Например, пользователям нескольких мониторов больше не нужно перетаскивать окна на второй монитор после запуска Идеи. Пофиксили чудовищный баг, когда локальный Tomcat запускался раньше, чем Maven отработает сборку.

  • Вышел Eclipse 2019-12. Из Java 13 добавили switch expressions и text blocks. На YouTube есть ролик с описанием новых фичей, которые зачитываются диктором с жестким «новостным» акцентом. Очевидно, вместе с этим обновилась Eclipse Web Tools Platform и тому подобное — перечислять бесконечный спискок IDE на основе Eclipse не имеет смысла.

  • Сразу на нескольких IDE-платформах (Eclipse, Visual Studio Code, Theia) вышли Spring Tools 4.5.0. Конечно, в первую очередь это связано с новой версией Eclipse, но они починили какие-то небольшие баги и сделали косметические улучшения.

  • Jens Reimann продолжает постить небольшие новости про статус Eclipse IoT. В новом посте он рассказал про внедрение Helm Charts, начали они с Ditto.

  • Gregor Riegler опубликовал видео о том, как на практике делается Lift Up Conditional Refactoring. Связанное обсуждение на Reddit.

  • Опубликовано интервью с Krzysztof Ciesielski — автором Alpakka Kafka (откуда оно взялось и что это такое — описано в статье).

  • Google Cloud Spanner наконец-то зарелизили официальный диалект для Hibernate. В статье имеется рабочий пример на GitHub, где в качестве платформы используется Quarkus.

  • Google Cloud анонсировали фреймворк AutoML Natural Language. С помощью него можно извлекать из текстов инсайты, заниматься их дешевой классификацией и организацией обратной связи от клиентов — то есть, примерно то, что в отчете 2020 state of enterprise machine learning посчитали основными применениями машинного обучения в 2020 году.

  • Square (те, которые мерчант-агрегатор) выпустили новое SDK для Java.

  • Недавняя дискуссия на Reddit подтверждает, что GraalVM пошел в массы — люди еще не научились гуглить, но уже хотят все запускать на Граале.

Habr

Картинка Для Привлечения Внимания предоставлена фотографом Bryson Hammer и сделана в канадском городе Кокран, на территории Bow Valley High School. Bryson специализируется на фотографиях холодных северных окраин, гор и живущей там живности.

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

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js