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

Дело Google vs Oracle будет рассматривать Верховный Суд США [1]. В последний раз. Запасаемся попкорном, русская рулетка начинается. Прочитать суть проблемы можно в оригинальной PDF-ке [2], в которой Oracle утверждает, что у них скопировали 11500 строк кода из 37 пакетов, тем самым стибрив черезвычайно сложную и важную архитектуру, и хотят они за это 8.8 миллиардов баксов. Google же возражает [3], что пытаться запатентовать API — это безумие какое-то, и без возможности открыто использовать API современная жизнь невозможна. Дуэль между мегакорпорациями будет проводиться в формате блица, когда Google нужно будет за 30 минут объяснить суть проблемы, а Oracle за 30 минут должны будут на всё это ответить.
JDK 14 перешел в первую фазу заморозки, про это есть сообщение в рассылке [4] и твит Марка Рейнхольда [5]. Много изменений, только JEP-ов 16 штук, последним подтвердили Foreign-Memory Access API. Репозиторий форкнут в jdk/jdk14 [6]. В новостях каждый раз перечислять одни и те же JEP-ы, список которых больше не изменится, кажется, не имеет смысла: полноценная развернутая статья будет сразу же после финального релиза Java 14.
В JDK 14 появляется возможность попробовать records. Самый простой способ попробовать новую фичу: запустить командную строку через jshell --enable-preview. Как именно выглядят рекорды описано в отдельном документе [7] (может, его стоит перевести на Хабр?). Где скачать свежую JDK написано в постоянно обновляющейся странице [8] на jdk.dev. (Здоровый самопиар никогда не помешает, верно?)
Eclipse Ditto добрался до версии 1.0.0 [9]. Это такой набор инструментов для работы с Digital Twins — то есть, парами между устройством в реальном мире и его цифровой проекцией внутри облака. По сути, это фреймворк для организации Device-as-a-Service, решающий утилитарные проблемы вроде менеджмента состояния. В прошлом году мы часто постили новости о нём и рассказывали, как Eclipse собирается стать лидером в IoT, но многие не верили, что Ditto доживёт хотя бы до утра — ну вот, дожил. Вообще, у Eclipse есть отдельная IoT Working Group [10], куда входит ещё пара десятков больших и маленьких проектов на разных стадиях развития, начиная от чего-то про стандарты (вроде Eclipse Unide [11] и Eclipse OM2M [12]), и вплоть до конкретных реализаций (вроде Eclipse SmartHome [13] и Eclipse Hono [14]). Самые интересные вещи ещё впереди.
Eclipse выпускают четвертый майлстоун Vert.x 4 [15]. Очень много всего улучшено, затронуты: Shell, Mail Client, Consul Client, RabbitMQ Client, Stomp, Mongo Client. Я не разбираюсь в вопросе, к сожалению, поэтому читайте ченжлоги сами.
Вышла IntelliJ IDEA 2019.3, о чём появился хабрапост в блоге JetBrains [16]. Куча мелких, но полезных улучшений: например, теперь intention actions перестанут магически исчезать (оказывается, это происходило, когда вы выбрали действие и не применяли его). Наконец-то появилась поддержка Micronaut, Quarkus и Helidon — у вас появилась дополнительная причина попробовать их. Мне понравился новый пункт меню «New Branch from Selected», которая создает новый локальный бранч, но не приклеивает его к бранчу на сервере. Перечислять всё это по второму разу, кажется, не имеет смысла — просто давите кнопку «Update» в вашем тулбоксе, улучшения стоят двух минут ожидания.
Вышла IntelliJ IDEA Edu 2019.3, соответствующий блогпост — по ссылке [17]. Эта версия Идеи — бесплатная и открытая, основывается на IDEA Community Edition и использует EduTools Plugin [18]. Прямо в интерфейс встроен браузер учебных курсов, с возможностью читать текст заданий и тут же видеть результаты проверки. Подробней можно посмотреть вот в этом видео [19].
В блоге JetBrains продолжают просвещать нас туториалами [20] про Reactive Spring Boot. В девятой части эпопеи мы заюзаем клиент RSocket для общения с сервером, который был написан в предыдущей статье [21].
Вышла статья «Как предотвращать проблемы с JPA и Hibernate» [22]: какие проблемы существуют и как их решает Hypersistence Optimizer от Vlad Mihalcea (это он написал книжку High-Performance Java Persistence [23]). Заметка эта, конечно, насквозь рекламная (лицензия стоит 50 баксов в год). Здесь она только чтобы пошутить, что в 2019 году пользователи Hibernate продолжают страдать.
Вышла вторая часть статьи «Modern garbage collection» [24]. В первой части статьи Марк рассказывал о важных для GC характеристиках (вроде переносимости и совместимости), а здесь рассматривает их на примере ZGC и Shenandoah. Тем, кто в теме про эти два коллектора и смотрел доклады, статья нафиг не нужна. Для всех остальных это довольно неплохой обзор, читающийся минут за десять. Mark Hearn — бывший гуглер, сейчас работает лидом в R3 CEV (контора про блокчейн-разработку и консорциум из семи десятков блокчейновых компаний). Это если вы вдруг подумали: «да кому нужны эти новые коллекторы».
Какой-то юзернейм пришел на Reddit и спросил, нужен ли кому-то GraalVM [25]. Отписалось человек десять, разговор ещё идёт. Шелаеву я ссылку закинул. Не забываем, что не реддитом единым жив человек, у нас в Telegram есть свой канал @graalvm_ru [26], где присутствуют реальные пользователи и разработчики этого продукта.
В Gremlin Chaos Engineering Platform добавили нативную поддержку Kubernetes [27]. У Gremlin есть бесплатная подписка [28], и эта фича работает даже на ней. Использование элементарное: создаём новую атаку, на вопрос «чего будем атаковать?» отвечаем: «Kubernetes», выибираем кластер и объекты в нем, начинаем орбитальную бомбардировку. Если кто не в курсе, chaos engineering в том виде как его популяризовал Netflix [29] — это когда мы рандомно отключаем сервера на продакшене и смотрим, переживёт ли это ваш продукт. Кроме Gremlin для Kubernetes есть совершенно опенсорсная утилита kube-monkey [30] (328 коммитов, полторы тысячи звезд на GitHub) и Litmus [31] (1035 коммитов, 486 звезд). Кажется, по фичам лучше Litmus, а по известности — kube-monkey.
Релизнулись [32] Spring Session for Apache Geode & Pivotal GemFire — сразу для веток 2.1.7 и 2.2.1. Это просто обновление до актуальных версий Spring Framework/Boot/Data/Session. Apache Geode — хороший распределённый in-memory data grid, который можно использовать для кэша и вычислений. (У себя на сайте они называют это другими словами, но если прочитать их определение вслух, можно выиграть в bullshit bingo либо вызвать дьявола). Pivotal GemFire — это IMDG от Pivotal, который основан на Geode. Spring Session — это API для управления пользовательскими сессиями, который можно подсунуть в разные места спринговой инфраструктуры (например, подменить HttpSession в Tomcat).
Вышли новые версии [33] JMetro: 11.6 и 8.6. JMetro [34] — это тема для JavaFx, которая может пригодиться, если вы пишете десктопные приложения для Windows на Java. И при этом почему-то всё еще не делаете GUI на Electron :-) JMetro сохраняет верность заветам Fluent Design System [35] в понимании Microsoft и органично выглядит внутри метро-интерфейса [36] (Modern UI, начиная с Windows 8). Добавлены нативно выглядящие модальные диалоговые окна, новый статус-бар, поле для ввода пароля с характерной картинкой глаза и куча мелких фиксов.
На Хабре появился перевод [37] туториала по Spring Boot Admin. Это модуль, предоставляющий GUI для ендпоинтов Spring Boot Actuator. Зачастую мы пишем такой гуй самостоятельно вручную, а тут уже кое-что сделали за нас. Сделан он не в Pivotal, а в немецкой компании Codecentric (кажется, это какой-то аутсорсер). Код лежит на GitHub [38] (1331 коммит, 8.1 тысяча звезд). Код примера, который обсуждают в туториале, тоже есть на GitHub [39].
В другой хабрастатье [40], уже самописной и достаточно хорошей чтобы НЛО подняло её из Песочницы, Сергей Беспалов рассказывает свою историю отвратительного обмазывания аннотациями Jackson, которая закончилась дата-классами в Kotlin. Время чтения — минута.
Вышел свежий 2020 Digital Innovation Benchmark report [41]. Как и положено по законам жанра, они опросили около 200 принимателей решений из компаний-лидеров в США, и пришли к выводу, что сейчас миром правит идея микросервисов. Отчет всего на несколько листочков, веселые цветные картинки, если вам интересна микросервисная тема — стоит взглянуть. Порадовало, что 11% опрошенных вообще не видят никаких проблем с микросервисами, а 36% не смогло осилить безопасность.
О другом интересном исследовании [42] рассказал Joe Drumgoole, Director of Developer Relations в MongoDb. Они опросили 1516 людей во Франции, Германии и Великобритании, задавая вопросы на тему: насколько бизнес доверяет решениям, которые делают разработчики? Интересный вывод из отчёта: наиболее согласны с выбором технологий молодые разработчики, не старше 44 лет. В группе 45+ всё плохо.
По отчету 2020 state of enterprise machine learning [43] видно, что масштабы продолжают расти: только у 2% опрошенных за последний год наблюдается уменьшение бюджетов! Создатели отчета ожидают, что дальнейшее развитие связано с увеличением количества дата-сатанистов в компаниях среднего размера, а вот в больших компаниях отчаянно режут косты, и соответственно, ожидается падение удовлетворенности клиентов.
У меня болит зуб, поэтому в этой статье может быть море опечаток по невнимательности. Пожалуйста, присылайте их в личку, а не комментариями к статье!
«Картинка для привлечения внимания» — на самом деле, фотография Сергея Перцева [44], члена Союза фотохудожников России, EFIAP и призёра Travel Photographer of the Year.
Автор: Олег Чирухин
Источник [45]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/339964
Ссылки в тексте:
[1] будет рассматривать Верховный Суд США: https://www.supremecourt.gov/docket/docketfiles/html/public/18-956.html
[2] в оригинальной PDF-ке: https://www.supremecourt.gov/DocketPDF/18/18-956/117359/20190927165110897_18-956%20Google.pdf
[3] возражает: https://www.supremecourt.gov/DocketPDF/18/18-956/119133/20191016132441269_Google%20Supplemental%20Brief.pdf
[4] сообщение в рассылке: https://mail.openjdk.java.net/pipermail/jdk-dev/2019-December/003795.html
[5] твит Марка Рейнхольда: https://twitter.com/mreinhold/status/1205182364160155648
[6] jdk/jdk14: http://hg.openjdk.java.net/jdk/jdk14/
[7] в отдельном документе: https://openjdk.java.net/jeps/359
[8] постоянно обновляющейся странице: https://jdk.dev/download#early-access
[9] добрался до версии 1.0.0: https://www.eclipse.org/ditto/2019-12-12-release-announcement-100.html
[10] IoT Working Group: https://iot.eclipse.org/
[11] Eclipse Unide: https://www.eclipse.org/unide/
[12] Eclipse OM2M: https://www.eclipse.org/om2m/
[13] Eclipse SmartHome: https://www.eclipse.org/smarthome/
[14] Eclipse Hono: https://www.eclipse.org/hono/
[15] четвертый майлстоун Vert.x 4: https://vertx.io/blog/eclipse-vert-x-4-milestone-4-released/
[16] хабрапост в блоге JetBrains: https://habr.com/ru/company/JetBrains/blog/479902/
[17] по ссылке: https://blog.jetbrains.com/idea/2019/12/welcome-intellij-idea-edu-2019-3/
[18] EduTools Plugin: https://blog.jetbrains.com/blog/2019/12/12/edutools-plugin-v3-2-is-out/
[19] вот в этом видео: https://www.youtube.com/watch?v=AFitT7UVJ5Q
[20] продолжают просвещать нас туториалами: https://blog.jetbrains.com/idea/2019/12/tutorial-reactive-spring-boot-java-rsocket-client/
[21] предыдущей статье: https://blog.jetbrains.com/idea/2019/12/tutorial-reactive-spring-boot-kotlin-rsocket-server/
[22] «Как предотвращать проблемы с JPA и Hibernate»: https://www.javaadvent.com/2019/12/the-best-way-to-prevent-java-persistence-and-hibernate-issues.html
[23] High-Performance Java Persistence: https://www.amazon.com/High-Performance-Java-Persistence-Vlad-Mihalcea/dp/973022823X
[24] «Modern garbage collection»: https://blog.plan99.net/modern-garbage-collection-part-2-1c88847abcfd
[25] нужен ли кому-то GraalVM: https://www.reddit.com/r/java/comments/e9m51x/whats_your_opinion_java_devs_of_graalvm/
[26] @graalvm_ru: https://t.me/graalvm_ru
[27] нативную поддержку Kubernetes: https://www.gremlin.com/blog/simple-kubernetes-targeting-for-your-chaos-experiments/
[28] бесплатная подписка: https://www.gremlin.com/pricing/
[29] популяризовал Netflix: https://github.com/Netflix/chaosmonkey
[30] kube-monkey: https://github.com/asobti/kube-monkey
[31] Litmus: https://github.com/litmuschaos/litmus
[32] Релизнулись: https://spring.io/blog/2019/12/12/spring-session-for-apache-geode-pivotal-gemfire-2-1-7-release-and-2-2-1-release-available
[33] новые версии: https://pixelduke.com/2019/12/02/jmetro-version-11-6-and-8-6-released/
[34] JMetro: https://pixelduke.com/java-javafx-theme-jmetro/
[35] Fluent Design System: https://www.microsoft.com/design/fluent/#/
[36] метро-интерфейса: https://en.wikipedia.org/wiki/Metro_(design_language)
[37] появился перевод: https://habr.com/ru/post/479954/
[38] лежит на GitHub: https://github.com/codecentric/spring-boot-admin
[39] есть на GitHub: https://github.com/vojtechruz/spring-boot-admin
[40] В другой хабрастатье: https://habr.com/ru/post/480158/
[41] 2020 Digital Innovation Benchmark report: https://konghq.com/wp-content/uploads/2019/12/Digital-Innovation-Benchmark-2020-Report.pdf
[42] О другом интересном исследовании: https://www.mongodb.com/blog/post/research-developers-are-trusted-by-the-business-but-the-alignment-is-not-felt-evenly-across-different-generations
[43] 2020 state of enterprise machine learning: https://info.algorithmia.com/hubfs/2019/Whitepapers/The-State-of-Enterprise-ML-2020/Algorithmia_2020_State_of_Enterprise_ML.pdf?hsLang=en-us
[44] Сергея Перцева: https://www.facebook.com/serg.pesterev
[45] Источник: https://habr.com/ru/post/480262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=480262
Нажмите здесь для печати.