company_banner

Java-дайджест за 4 мая


    • Вышла совершенно новая библиотека Enriched Beans — генератор исходников, совместимый с JSR 330: Dependency Injection for Java. Конкретно, генерит он фабрики, совместимые с фреймворками вроде Spring и Micronaut. Работает примерно как AutoFactory, может использоваться вместе с Lombok. В смысле, если в Guice вам нужно писать конструктор руками, то тут можно подцепить то, что сгенерил Lombok. Получаются простые POJO, каждое генерируемое поведение можно менять/подменять/оборачивать как хочешь, нормально работает автодополнение в IDE, код более-менее ООП-шный. Если перечисленные аббревиатуры ничего не говорят — проходите мимо :) Из минусов — 1 контрибьютор, 18 коммитов, насколько хорошо это работает — никому не ведомо.
    • Вышла OmniFaces 3.6 — библиотека утилит для Java Server Faces (JSF). Эти утилиты решают простые повседневные проблемы, заменяют все ваши JSFUtils и FacesUtils с одним и тем же скопипащенным кодом, кочующим из проекта в проект. В свежей версии добавилась очередная пачка методов-утилит, WebAppManifestResourceHandler (генерит manifest.json на основе полей CDI-бина), <o:scriptParam> (используется в компонентах UIOutcomeTarget вроде <h:link> для MultiViews).
    • Вышла IntelliJ IDEA 2020.1.1. Несколько фиксов, добавилась официальная поддержка Apache Tomcat 10. Ченжлог по ссылке.

    Java Platform


    • Вышло исследование LampStudy, которое утверждает, что Java — вторая по востребованности платформа разработки. На первом месте, как вы и ожидали, JavaScript. Фронтенд сам себя десять раз в год не перепишет.
    • Обратите внимание на JEP 374: Disable and Deprecate Biased Locking. JEP довольно новый (начало этого года), и сейчас активно собирается фидбэк от коммитеров и ревьюеров. Дедлайн — пятница, 8 мая, 23:59 UTC. Если все проблемы решат к дедлайну, то согласно процессу JEP 2.0, этот JEP отправится в JDK 15.
    • Другой JEP, который предлагается добавить в JDK 15 — JEP 373: Reimplement the Legacy DatagramSocket API. Текущие реализации java.net.DatagramSocket и java.net.MulticastSocket — дремучее легаси 20-летней давности, отлаживать и поддерживать которое невозможно. Предлагается переписать их с нуля с учётом появления Project Loom. Можно считать это продолжением истории из JEP 353: Reimplement the Legacy Socket API.
    • Добро пожаловать во второе превью JEP 375: Pattern Matching for instanceof для JDK 15. Во-первых, нужно продолжать тестить. Во-вторых, было что-то нездоровое с деконструкцией рекордов: вначале их добавили, а потом снова убрали (подробности в тикете). Пофиксили баг с мусором в байткоде. Можно даже сказать, двойные превью — новая норма, смотрите доклад Доктора Депрекатора.

    Spring


    • Вышел Spring Boot 2.3.0.RC1. В новом релиз-кандидате: автоконфигурация Wavefront-сендера, упрощенная конфигурация конвертации даты и времени для веб-приложений, автоматическое создание конфигурации developmentOnly для Gradle, поддержка недавно появившегося проекта Paketo.
    • Вышел релиз-кандидат Spring for Apache Kafka 2.5.0. Умеет работать с kafka-clients 2.5.0 (совпадение номеров версий — совершенно случайно!), добавили кафковой специфики про переотправку в случае кооперативной ребалансировки, fetch-offset-request для брокеров версии 2.5 и выше, улучшили интеграцию с Micrometer, сделали простой сериализатор и десериализатор String, в JsonDeserializer можно определять создаваемый тип и так далее. Полный список фичей есть здесь. Если руки зачесались обновиться, вспомните, что это всё ещё релиз-кандидат :)
    • Появилась пачка обновлений Spring Integration 5.3 RC1, 5.2.6 & 5.1.10. Описание изменений потребовало бы перечислять длинный список классов, и что с ними сделали, поэтому лучше сразу пройти в ченжлог.

    Сервисы


    • Google добавили в Cloud Spanner набор интересных фичей. Cloud Spanner — это глобальная распределенная база данных для Google Cloud Platform. Из интересных фичей — управляемый бэкап, который как-то компенсирует логические ошибки в приложениях. Бэкапы жестко оптимизируются на скорость развертывания, поэтому новый инстанс может развернуться из бэкапа за считаные минуты, даже если там бешеные терабайты данных. Теоретически.

    Статьи, подкасты, стримы


    • Наш друг и известный докладчик Себастиан Дашнер выпустил очередное 7-минутное видео о том, как отлаживать тесты в контейнере, когда у вас Quarkus.
    • Другой наш друг и докладчик, Джош Лонг, выпустил очередной Bootiful Podcast, в котором беседует с Адрианом Коулом — сооснователем Feign, JClouds и Spring Cloud Sleuth. Кроме того, Адриан — один из основных контрибьюторов в OpenZipkin.
    • Сколько памяти было впустую потеряно при добавлении нового булевского значения в java.lang.String в JDK 13? Нисколько. Шок-контент по ссылке.
    • Интересная статья «A New Era of Spring Cloud» от Петра Миньковски (Piotr Mińkowski) о том, как жить в непростые времена, когда почти все компоненты Spring Cloud Netflix заморожены на поддержку еще со времен трейна Greenwich, а вместо них выкатили что-то совершенно новое. Забавно, что Spring Cloud Netflix всё ещё самый популярный проект Spring (около 4 тысяч звездочек на GitHub), и можно понять, почему!
    • В блоге Amis Technology появилась статья с графиками производительности, в которых соревнуются блокирующие и неблокирующие технологии экосистемы Spring: R2DBC против JDBC и WebFlux против Web MVC.
    • Алмас Баимагамбетов пишет на JavaFX анимированное диалоговое окно.
    • Адам Биен продолжает жечь на стримах, на этот раз он полез в браузер и конкретно — querySelector и querySelectorAll. При чем тут Java — понятно постоянным зрителям этих стримов, всё складывается в картинку. Я просто открываю его на отдельном мониторе и слушаю параллельно с другими делами.
    • Наш домашний подкаст «Битовая Каска» провёл живой стрим выпуска с легендарным предводителем JUG Ru Group, Алексеем Фёдоровым. Правильно оформленная запись подкаста появится в сети позже, когда мы обработаем звук.
    • Я на канале JavaWatch пытался завести технологии из набора Project Leyden. В целом, не обнаружил какого-то серьезного ускорения на Windows, что ожидаемо, тем более что PowerShell в Windows — очень сомнительный метод измерения с чудовищным разбросом. По юзабилити — в JDK 11 был баг, не позволявший собирать на Visual Studio 2019, пришлось использовать JDK 14. Сборка java.base вывалила какую-то тонну ошибок, но собрало. so-шник через jaotc генерируется, exe-шник — нет. jlink — это много возни. Сравнить с GraalVM не получилось — native-image для Windows падал с какой-то внутренней ошибкой. Ждем и надеемся на лучшее!



    Дайджесты публикуются при поддержке JUG Ru Group и конференции JPoint. Зарегистрироваться на летнюю онлайн-конференцию можно на официальном сайте.

    JUG Ru Group
    Конференции для программистов и сочувствующих. 18+

    Похожие публикации

    Комментарии 8

      +2
      А ещё будет второе превью записей. Из важного там — это то, что введут локальные интерфейсы и перечисления.
        +2
        Вышло исследование LampStudy, которое утверждает, что Java — вторая по востребованности платформа разработки.

        Какое-то мутное исследование. Источники не указаны, но можно догадаться откуда данные.
        Сначала скриншот со Stack Overflow, на котором Python популярнее Java.
        Потом скриншот 2018 года с HackerRank.
        За 2020 год картина уже немного другая.
        image

        Ну и напоследок, статистика с сайта по тестированию скилов с непонятно какой выборкой и за какой год.

        В остальном дайджест как всегда отличный. Спасибо.
          +2

          Всё так, очень мутное исследование. В общем, оно там на правах пост-иронии: проверяет ли кто-то вообще такие исследования, или просто слепо верят, что на первом месте JS и на втором Java. Пока что два человека пришло меня бить ногами — ты и Дима из @jvmchat в Телеге. Два — больше чем 0, у этого мира есть шанс.

          +2

          olegchir когда уже в дайджест про Kotlin тоже будешь писать? ;)

            0

            Но я в нем не разбираюсь! А там есть чего писать? Выходят какие-нибудь фреймворки каждый день или что-то такое?

              +1

              Ktor, Koin, Exposed, kotest, mockk, detekt...


              да там вообще вагон и маленькая тележка: https://github.com/KotlinBy/awesome-kotlin

                0
                Может тогда «Котлин дайджест» на Хабре?
                  0

                  Только если найду время и эксперта для ревью. Может быть, кто-то из JetBrains. Если про Java Platform в целом я могу еще как-то пруфридить информацию и понимаю, что например, новости про портлеты — это преданья старины глубокой, то про то что там происходит в котлине должен судить котлин-разработчик

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое