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

Java-дайджест за 28 января

Java-дайджест за 28 января - 1

  • Вышел JUnit 5.6 [1]. Добавлены any() и none(), чтобы запускать тесты без каких-то дополнительных тэгов, ReflectionSupport.findNestedClasses() может находить циклы в иерархии внутренних классов, TestExecutionSummary.Failure можно сериализовывать, и все в таком духе. Интересно, что если раньше ошибки логировали и прятали, то теперь в явном виде выбрасывают в ходе сканирования тестов (но можно вернуть старое поведение, установив параметр junit.platform.discovery.listener.default).

  • В Maven Central окончательно убрали [2] незашифрованный доступ по http, теперь только https.

  • В Gradle 6.1.1 [3] кэш зависимостей может копироваться [4] и передаваться эфемерным агентам сборки для того, чтобы переиспользовать заранее загруженные файлы зависимостей. Эфемерный агент — это «запустил и выбросил».

  • Вышла IntelliJ IDEA 2020.1 EAP [5]: Java 14, улучшения в плагине Git, и… в общем, зачем я это пишу, обновил и забыл.

  • Кроме того, JetBrains выбрасывают поддержку [6] Microsoft Team Foundation Server (TFS) старых версий (до 2014 года включительно). Это не тот TFS, что современный Azure DevOps Server, а мрачное эхо прошлого. Довольно разврата! :-)

  • Вышли версии JMetro 11.6.5 и 8.6.5 [7]. JMetro это такая библиотека стилей для JavaFx. Добавили три новых стиля для контролов (табы с нижней линией, слайдер с выбором диапазона, более красивые ячейки в контролах, которые используют ячейки), ну и фиксы на уже существующие стили.

  • Вышла первая версия jlWebScraper [8] — веб-скрейпера с простым API, кодингом на LUA и всей мощью Java. По сути, это очень простая полезняшка, использущая внутри jLuaScript.

  • Кстати, о jLuaScript! Это штука от того же автора, что и jlWebScraper, недавно вышла версия 1.2 [9]. Автор добросил немного документации и починил стектрейсы. В общем, никто не предлагает этим действительно пользоваться, но на всякий случай знать о наличии этой штуки полезно, потому что лицензия LGPL3, и в крайнем случае этим кодом можно вдохновляться.

  • iText объявил о выходе [10] нового продукта под названием pdfRenderer, который может конвертировать PDF-ки в картинки. К сожалению, распространяется эта библиотека как аддон к iText с закрытыми исходниками. В опенсорсе у них только сам iText, pdfHTML, pdfSweep и RUPS. Кстати, самому iText в этом феврале исполнится двадцать лет!

  • Вышла вторая бета Jaybird [11] — JDBC-драйвера для Firebird 4, который поддерживает новые типы данных и фичи из Firebird 4.

Java Language & Platform

  • Обновили JEP 371: Hidden Classes [12]. Такая функциональность была давно, но она лежала в Unsafe, а этот JEP дает некое легальное API.

  • Люди уже распробовали Panama [13] и теперь пытаются делать с ней какие-то вещи. Буквально пару дней назад появился репозиторий Crosspoint [14] с 35 коммитами, в котором автор пытается сделать простую высокоуровневую абстракцию для работы с Memory Access API. Кроме того, автор хочет попробовать впилить туда NVIDIA Management Library (NVML) [15].

  • JetBrains прекращает поддержку [16] JetBrains Runtime 8 и переходит на JBR11.

  • A Pure Reference Counting Garbage Collection in Java [17]. Автор попытался на основе пейпера Бэкона написать немного джавного кода, результаты можно посмотреть у него в репозитории в тестах. Надо отметить, что по тому же пейперу сделан GC в Kotlin/Native.

Компании и сервисы

  • В только что вышедшем GitLab 12.7 [18] добавили parent-child pipelines. Для всех пользователей (даже бесплатных) добавили бета-версию Windows Shared Runners — это такие виртуальные машины Windows, которые хостятся самим GitLab и позволяют делать продвинутые фичи вроде автоматического масштабирования, а внутри каждой виртуалки — куча всякого необходимого для сборки виндового софта.

  • Бывший ведущий разработчик Project Reactor перешёл в Netflix. Похоже, Reactor захватывает мир.

  • Создатель Jenkins Kohsuke Kawaguchi ушел из CloudBees [25] и начал новый стартап — Launchable [26]. Это некий сервис на основе машинного обучения, занимающийся test prediction, чтобы не гонять все тесты, если изменение их вообще не касается.

  • Confluent теперь предоставляют [27] Kafka как сервис Google Cloud Platform прямо в их Marketplace. Напомним, что Google еще весной прошлого года обещал [28] какое-то сотрудничество с какими-то опенсорсными клиентами, включая MongoDB, DataStax, and Confluent — теперь мы можем видеть результаты этого сотрудничества. Тем не менее, оплачивать Kafka нужно будет отдельно от остальных сервисов GCP.

  • Elastic зарелизили Elastic Cloud on Kubernetes [29]. Это оператор для Kubernetes, расширяющий его возможности по установке и управлению Elasticsearch и Kibana.

Eclipse

  • Вышел Eclipse Vert.x 3.8.5 [30]. Релиз целиком про багфиксы, но нужно обратить внимание [31] на пачку deprecated-методов.

  • Интересная статья в блоге Eclipse про организацию команд: «Organizing Your Eclipse Foundation Open Source Project Team» [32]. Eclipse Development Process — это штука довольно обобщенная, и он ничего не говорит, например, о том, как вам обустроить ежедневную рутину разработки. Но при этом у руководителей Eclipse есть верхнеуровневое понимание, как должны быть организованы команды и куда они должны двигаться, и вот об этом статья.

Spring

  • Вышел «Spring Integration 5.3 Milestone 1» [33] — основа для будущего Spring Boot 2.3. Короткий список, чего нового произошло, — здесь [34].

  • Вышел Spring Boot 2.3.0.M1 [35]. Там есть layered jars для включения в докерный контейнер, есть End-to-end traceability for Configuration Properties. Появилась поддержка Cloud Native Buildpacks. Стоит прочитать Release Notes [36] для этой версии Spring.

  • Cloud Native Buildpacks позволяет не писать докерфайл самостоятельно — зависимости попадут в него автоматически. Про это есть статья на Хабре [37] и на Medium [38].

  • Кроме того, Phil Webb написал статью [39], резюмирующую, как в новых версиях Spring нужно работать с Docker.

  • Вышел стабильный багфикс-релиз «Sprin Cloud Data Flow 2.3.1» [40], и следом за ним — майлстоун «Spring Cloud Data Flow 2.4.0 M1» [41] (появился свой собственный верхнеуровневый pom, немного доделали редактор, сделали Maven Preemptive Authentication для того, чтобы работал Artifactory).

Подкасты, видео

  • Josh Long записал Bootiful Podacst [42] с Michael Hunger, сумасшедшим ученым Neo4j, про графы, базы данных и связи.

  • Очередное видео TechShool — про реализацию серверного API на gRPC [43]. Это уже одиннадцатый выпуск в серии про gRPC.

Статьи

Автор: olegchir

Источник [49]


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

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

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

[1] Вышел JUnit 5.6: https://junit.org/junit5/docs/current/release-notes/index.html

[2] окончательно убрали: https://blog.sonatype.com/central-repository-moving-to-https

[3] Gradle 6.1.1: https://docs.gradle.org/6.1.1/release-notes.html

[4] может копироваться: https://docs.gradle.org/6.1.1/userguide/dependency_resolution.html#sub:cache_copy

[5] IntelliJ IDEA 2020.1 EAP: https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap/

[6] выбрасывают поддержку: https://blog.jetbrains.com/idea/2020/01/end-of-support-for-tfs-2014-and-older/

[7] JMetro 11.6.5 и 8.6.5: https://www.javacodegeeks.com/2020/01/jmetro-version-11-6-5-and-8-6-5-released.html

[8] jlWebScraper: https://gitlab.com/RobertZenz/jlwebscraper/-/tags/v1.0

[9] вышла версия 1.2: https://gitlab.com/RobertZenz/jLuaScript/-/tags/v1.2

[10] объявил о выходе: https://itextpdf.com/en/blog/itext-news-technical-notes/new-product-release-convert-pdf-images-itext-pdfrender

[11] вторая бета Jaybird: https://firebirdsql.org/en/news/jaybird-4-0-0-beta-2-available-for-testing/

[12] JEP 371: Hidden Classes: https://openjdk.java.net/jeps/371

[13] Panama: https://openjdk.java.net/projects/panama/

[14] Crosspoint: https://github.com/BlueGoliath/Crosspoint

[15] NVIDIA Management Library (NVML): https://developer.nvidia.com/nvidia-management-library-nvml

[16] прекращает поддержку: https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap/#jbr_end_of_support

[17] A Pure Reference Counting Garbage Collection in Java: https://github.com/sendilkumarn/java-purerc

[18] вышедшем GitLab 12.7: https://about.gitlab.com/releases/2020/01/22/gitlab-12-7-released/

[19] @netflix: https://twitter.com/netflix?ref_src=twsrc%5Etfw

[20] @smaldini: https://twitter.com/smaldini?ref_src=twsrc%5Etfw

[21] @ProjectReactor: https://twitter.com/ProjectReactor?ref_src=twsrc%5Etfw

[22] @WeAreNetflix: https://twitter.com/WeAreNetflix?ref_src=twsrc%5Etfw

[23] pic.twitter.com/xGvBeWKpOu: https://t.co/xGvBeWKpOu

[24] January 23, 2020: https://twitter.com/bsideup/status/1220264496113029125?ref_src=twsrc%5Etfw

[25] ушел из CloudBees: https://launchableinc.com/2020/01/23/kohsuke-kawaguchi-launchable-smarter-testing-faster-devops/

[26] Launchable: https://launchableinc.com/

[27] теперь предоставляют: https://www.confluent.io/blog/confluent-cloud-managed-kafka-service-gcp-marketplace/

[28] обещал: https://cloud.google.com/blog/products/open-source/bringing-the-best-of-open-source-to-google-cloud-customers

[29] Elastic Cloud on Kubernetes: https://www.elastic.co/products/elastic-cloud-kubernetes

[30] Eclipse Vert.x 3.8.5: https://vertx.io/blog/eclipse-vert-x-3-8-5/

[31] обратить внимание: https://github.com/vert-x3/wiki/wiki/3.8.5-Deprecations-and-breaking-changes

[32] «Organizing Your Eclipse Foundation Open Source Project Team»: https://waynebeaton.wordpress.com/2020/01/27/organizing-your-eclipse-foundation-open-source-project-team/

[33] «Spring Integration 5.3 Milestone 1»: https://spring.io/blog/2020/01/23/spring-integration-5-3-milestone-1-available

[34] здесь: https://docs.spring.io/spring-integration/docs/5.3.0.M1/reference/html/whats-new.html#whats-new

[35] Spring Boot 2.3.0.M1: https://spring.io/blog/2020/01/23/spring-boot-2-3-0-m1-is-now-available

[36] Release Notes: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3.0-M1-Release-Notes

[37] есть статья на Хабре: https://habr.com/ru/post/485486/

[38] на Medium: https://medium.com/@TimvanBaarsen/first-look-at-cloud-native-buildpacks-support-in-spring-boot-2-3-milestone-1-ece8e72ed93f

[39] Phil Webb написал статью: https://spring.io/blog/2020/01/27/creating-docker-images-with-spring-boot-2-3-0-m1

[40] «Sprin Cloud Data Flow 2.3.1»: https://spring.io/blog/2020/01/27/spring-cloud-data-flow-2-3-1-released

[41] «Spring Cloud Data Flow 2.4.0 M1»: https://spring.io/blog/2020/01/27/spring-cloud-data-flow-2-4-0-m1-released

[42] Bootiful Podacst: https://spring.io/blog/2020/01/24/neo4j-s-mad-scientist-michael-hunger-on-graphs-databases-and-relationships

[43] серверного API на gRPC: https://www.youtube.com/watch?v=63vzrEsHfzg

[44] «High performance at low cost – choose the best JVM and the best Garbage Collector for your needs»: https://blog.oio.de/2020/01/13/high-performance-at-low-cost-choose-the-best-jvm-and-the-best-garbage-collector-for-your-needs/

[45] «Parallel Collection Processing: Without Parallel Streams»: https://4comprehension.com/parallel-collection-processing-1/

[46] «Will Project Loom obliterate Java Futures?»: https://blog.softwaremill.com/will-project-loom-obliterate-java-futures-fb1a28508232

[47] «Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM»: https://medium.com/graalvm/isolates-and-compressed-references-more-flexible-and-efficient-memory-management-for-graalvm-a044cc50b67e

[48] «RoaringBitmap Performance Tricks»: https://richardstartin.github.io/posts/roaringbitmap-performance-tricks

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