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

Вышел 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.
Обновили 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 Vert.x 3.8.5 [30]. Релиз целиком про багфиксы, но нужно обратить внимание [31] на пачку deprecated-методов.
Интересная статья в блоге Eclipse про организацию команд: «Organizing Your Eclipse Foundation Open Source Project Team» [32]. Eclipse Development Process — это штука довольно обобщенная, и он ничего не говорит, например, о том, как вам обустроить ежедневную рутину разработки. Но при этом у руководителей Eclipse есть верхнеуровневое понимание, как должны быть организованы команды и куда они должны двигаться, и вот об этом статья.
Вышел «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.
«High performance at low cost – choose the best JVM and the best Garbage Collector for your needs» [44] — разбор GC с графиками, Shenandoah/Z/G1 присутствуют.
«Parallel Collection Processing: Without Parallel Streams» [45] констатирует, что параллельные стримы — отстой, и предлагает что-то сделать на эту тему.
«Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM» [47]
Автор: 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
Нажмите здесь для печати.