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

Java-дайджест за 17 января. Две первые недели нового года

Java-дайджест за 17 января. Две первые недели нового года - 1

  • Появился шрифт JetBrains Mono [1] — приятный и красивый шрифт для разработчиков

  • Вышел плагин [2] для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE!

  • В Java-плагине [3] для Visual Studio Code добавили кучу важных ништяков [4] (действительно влияющих на качество жизни). Теперь в браузере файлов есть компактизация папок в привычный нам вид (как в Идее), у методов можно смотреть иерархию вызовов, в отладчике можно ставить брейкпоинты с условием (сработают, только если выполнилось условие), запускатор тестов визуально отображает статус теста (не нужно постоянно смотреть логи), и еще много всего.

  • Вышел Repeat 5.4 [5], кроссплатформенный (Mac/Lin/Win) инструмент для хоткеев, макросов и автоматизации, на 70% написанный на Java. 442 коммита, 574 звездочки, проект пользуется массовой любовью и обожанием у своей узкой аудитории. Разрабатывается ровно одним человеком.

  • Прямо сейчас мы находимся в процессе перехода с HTTP на HTTPS на основных ресурсах вроде Maven Central и Bintray. По ссылке [6] описано, кто выключил HTTPS (и тем не менее, на момент написания статьи, 21% загрузок с Sonatype Maven Central использовали HTTP, выводы делайте сами). Подробности проблемы, зачем всё это нужно — по ссылке [7].

  • Вышел Git 2.25 [8]. Из интересного — появилась команда для так называемых sparse checkouts, особенно полезных для гигантских монорепозиториев. Если коротко, это просто паттерны пути до файлов, которые будут приводить к частичному клонированию репозитория. Прочитать подробней об управлении жирными репозиториями можно на сайте Atlassian [9]. На самом деле, sparse checkouts были с нами довольно давно, но теперь появилась отдельная команда sparse-checkout [10].

  • Groovy 3.0 продолжает [11] готовиться, 12 числа вышел свежий третий релиз-кандидат. Задачи там простые: закрыть проблемы со свежими версиями Java, добавить лямбды в джавовом же стиле, новый do-while и улучшенный for, try-with-resources и тому подобное.

  • Google продолжает тёрки с Oracle. Следующее слушание — в марте этого года. Джошуа Блох вместе с ещё 38 известными учеными в области компьютерных наук выступил на стороне Google. Подробный документ здесь [12].

  • Сергей Егоров bsideup [15] поделился результатами рожденственского хакатона: https://cimate.io/ [16] — это новый способ взаимодействовать с CI, смотреть результаты тестов и историю с помощью API.

  • Вышел Quarkus 1.1.0.Final [20]. Доработана поддержка Kotlin и Gradle, багфиксы.

  • Вышел Yasson (JSON-B) 1.0.6 [21] — фреймворк-прокладка между Java-классами и JSON-документами. Что-то вроде JAX-B, но только для JSON. Является официальной референсной реализацией JSON Binding (JSR-367 [22]). 411 коммитов на GitHub, 125 звёздочек, 28 контрибьюторов.

  • Вышла библиотека imgui-java [23] — библиотека с Java-биндингами для Dear-ImGui [24] — минималистичной библиотеки для создания UI для C++, на которой зачастую делают админки в играх. Сама imgui-java (кроме исходников под правильной лицензией Apache License 2.0) выложена в виде бинарников без каких-либо зависимостей, то есть сам Dear-ImGui уже лежит в комплекте. Конечно, если понадобится рендерер LWJGL3, придётся добросить в топку дополнительного мусора.

  • Вышел EvoMaster [25] — инструмент для автоматической генерации системных тестов для RESTful APIs на платформах Java и Kotlin. Две тысячи коммитов и пять подготовительных релизов (версии 0..) говорят, что автор настроен серьёзно. У проекта 4 контрибьютора, а вот звёздочек-вочей-форков и прочих показателей статусности пока совсем мало.

  • Вышла небольшая утилита Kafkaer [26] — она нужна для автоматизации создания/обновления топиков и конфигов Кафки в нескольких средах. Суть в том, что делаются шаблонные конфиги, и управляется это всё properties-файлами. 54 коммита, 17 звездочек — ну как, кто рискнёт это попробовать? :-)

  • Еще одна полезняшка, jMathPaper [27] — небольшой калькулятор со свинговым интерфейсом, имитирующий написание заметок на бумаге. Разработка понемногу идёт, недавно автор выпустил какое-то обновление [28].

  • Юзер RoPi0n [29] на Хабре опубликовал новость [30] о продолжении развития экспериментального языка Mash [31]. Компилятор генерит ассемблер для стековой виртуальной машины, и сейчас автор работает над генератором для Java (целевая платформа — JDK 1.8).

  • Сергей Мерзляков анонсировал Installmation [32] — генератор инсталляторов для Java 11 и выше. Код есть на GitHub [32] под Apache 2.0, для самой свежей версии выложены бинари [33].

Исследования:

Сервисы:

  • GitHub анонсировал [40] GitHub for Android, сервис пока находится в бете. Это нативное приложение со светлой и тёмной темой, позволяющее управлять интерфейсом с помощью привычных на мобильном жестов (например, можно свайпнуть ишшую, чтобы отложить её на будущее или пометить как выполненную). Имхо, большая фича, сейчас мобильный экспиренс гитхаба — сплошная боль.

  • Google выводит на рынок [41] бета-версию виртуальных машин общего назначения, которые предлагается гонять на Google Cloud Platform для работы с Google Compute Engine. Ранее Google объявил о двух классах машин: C2 [42] (оптимизированных на вычисления) и N2 [43] (общего назначения), E2 — это дополнение к линейке, фишка — они могут иметь разные пресеты по CPU/RAM и даже запускаться как preemptible VM [44] (короткоживущие виртуалки для обработки батчей или чего-то устойчивого к падениям). Весь смысл в тарифах, поэтому нужно идти в статью и смотреть табличку c конфигурациями (12 + 3).

  • Apple, Google, Amazon и Zigbee Alliance создают свой стандарт умного дома. Подробности по ссылке [45]. Важно, что это open source, и хотя они не самые большие фанаты Free Software, но хотя бы использование их работы будет бесплатным (в смысле, royalty-free). Это будет какой-то протокол на основе IP, объединяющий железо умных домов, мобилки и облака. Сейчас можно посмотреть на HomeKit Accessory Development Kit [46] (ADK) от Apple. Google пообещали выложить часть OpenWeave [47], один из основных кирпичиков — это OpenThread [48]. Zigbee Alliance [49] — это Samsung SmartThings, Schneider Electric, Signify (ранее — Philips Lighting), IKEA, NXP Semiconductors и разные другие компании, которые разрабатывают высокоуровневые беспроводные протоколы для устройств с экономным потреблением энергии и трафика.

Java как язык и платформа:

  • Вышла пачка новых версий Java (инфа с сайта Oracle (JDK 13.0.2, 11.0.6, 8u241, and 7u251 [50])): JDK 13.0.2, 11.0.6, 8u241, and 7u251. Надо отметить, что сборки JDK поставляет не только Oracle, а еще куча компаний, например, вот вам Liberica JDK 13.0.2 [51] российской компании BellSoft. Остальные места, где можно скачать JDK, перечислены на моей страничке https://jdk.dev [52].

  • Вышел GraalVM версии 19.3.1 [53]. Кроме багфиксов, Ruby обновилось до 2.6.5, а Node.js — до 12.14.0. Это довольно свежая версия Ноды, на неё даже нет тайпингов в Microsoft Type Search — круто, что GraalVM так мощно показывает серьезность своих намерений в деле покорения вселенной JavaScript.

Eclipse:

  • У Eclipse Foundation обновился устав. Анонс здесь [54], PDF-ка с текстом доступна здесь [55].

  • Майк Милинкович (исполнительный директор Eclipse Foundation) торжественно объявил [56] о публикации плана релизов [57] Jakarta EE 9. В нем не подразумевается новых спецификаций, но предлагается почистить неймспейс jakarta, выбросить оттуда мусор вроде deprecated, ну и конечно — полностью поддержать Java 11.

  • Adam Bien (автор книг, заседатель в JCP, итп) выложил в Maven Central [58] архетип для быстрого старта разработки на Jakarta EE 8. Если лень читать, телеграфирую: mvn archetype:generate -DarchetypeGroupId=com.airhacks -DarchetypeArtifactId=jakartaee-essentials-archetype

  • Вышла Piranha 20.1.2 [59] — это рантайм Jakarta EE и MicroProfile для применения в облаке, находится на ранних стадиях разработки. Сайт здесь [60]. До этого авторы публиковали короткую статью «Piranha Micro getting more compatible» [61], в которой выложили результаты прогона тестов совместимости с Java EE 7.

  • Вышел Eclipse Dirigible v4.2 [62]. Это некая Cloud Development Platform, прочитать о безмерных преимуществах которой можно вот здесь [63]. Эта штука с нами уже довольно давно, самая последняя версия 3.0.0 из доступных на GitHub [64] датируется 2017 годом, у нее два десятка контрибьюторов, из которых основной вклад внесли первых три.

Spring:

  • Вышли выпуски «This Week in Spring» Джоша Лонга: за 14 января [65], новогодний выпуск за 7 января [66].

  • Отдельно хочется выделить «This Decade in Spring — Happy New Year Edition» [67] — новогодняя статья Джоша Лонга, появившаяся то ли 31 декабря, то ли 1 января, как считать.

Приехала пачка обновлений Spring:

  • Вышли Spring Framework 5.2.3 [68], 5.1.13 [69], 5.0.16 [70] и 4.3.26 [71]. В Хабр не поместится столько букв, чтобы перечислить все изменения, но в 5.2.3 — 20 коммитов, ими закрыто около 63 тикетов.

  • Последняя версия Spring Boot — 2.2.3. Ченжлог можно посмотреть здесь [72], объем релиза — 377 коммитов и 75 тикетов (включая баги, фичи, документацию и просто обновления в таблице зависимостей).

  • Предыдущая линейка Spring Boot обновилась до 2.2.1. Ченжлог здесь [73]: дикие 3297 коммитов, 39 штук всевозможных улучшений.

  • Вышла Spring Data версии Moore SR4 и Lovelace SR15. 59 и 34 исправленных тикета соответственно, подробности — в анонсе [74].

  • Вышла Spring Integration AWS 2.3.1 & Spring Cloud Stream Kinesis Binder 2.0.1, это просто багфиксы, подробности по ссылке [75].

  • Вышел Spring Security 5.3.0.M1, изменения в SAML и OAuth 2.0, подробности по ссылке [76].

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

  • Adam Bien (известный автор книжек по JavaEE, заседатель в разных экспертных группах JCP и т.п.) запилил несколько очередных стримов. В одном из них [77] он препарирует WildFly 18 и Quarkus и сравнивает утилизацию памяти на примере приложения под microprofile. Другой [78] посвящён CSRF, XSS, JWT, Reactive Databases, TX and WebSockets, JSON-B. А ещё он же выпустил очередной подкаст [79] про JavaFX. Вообще, Адам очень сильно активизировался, написал кучу каких-то мелких заметок в блоге и в интернете, описывать здесь которые не имеет смысла.

  • Только что вышел очередной Bootiful Podcast [80] c неизменной машиной по созданию подкастов, Джошем Лонгом, и его коллегой из Spring Cloud Services, Bella (Yuxin) Bai. Ранее, десятого января, Джош сделал Bootiful Podcast [81] с директором сиднейского Pivotal Labs, David Julia про agile, стратегию тестирования, архитектуру и все в таком роде. А под самый новый год вышел Bootiful Podcast [82] с сооснователем Spring Cloud Дейвом Соером.

Статьи:

  • В Оракловском Java Magazine опубликовали статью Димы Александрова «Programming the GPU in Java» [83]. Тот момент, когда угадываешь автора статьи по первым абзацам.

  • Там же в Java Magazine есть интересная статья Бена Эванса про появление рекордов в языке Java [84].

  • Новая поджигающая статья в блоге Егора Бугаенко yegor256 [85]: «Embrace the chaos» [86]. Обратите внимание, что все читатели данной статьи обогащаются вакансией от Егора!

  • Ведущий футуролог интернета (по совместительству — Deputy CTO of Azul Systems), Саймон Риттер, опубликовал статью ±Staring Into My Java Crystal Ball 2020» [87], в которой затронул такие темы, как Java ME (как известно, панночка помэрла), Jakarta EE (начинает оживать), JCP, Java SE, дистрибутивы OpenJDK (Azul — основной поставщик, но есть и другие [88]).

  • Забавный факт [89]: -Integer.MIN_VALUE == Integer.MIN_VALUE, но -Byte.MIN_VALUE != Byte.MIN_VALUE.

  • С подачи Майка Милинковича (напоминаю, исполнительный директор Eclipse Foundation) опубликована статья «The realities of running an open-source community» [90]. Рассказывается его видение вопроса в целом, и какие проблемы им приходится решать.

  • Статья про то, как использовать внешние библиотеки в JShell [91].

  • «Vaadin 10+ as the Future of CUBA UI» [92] — статья Влада Минаева в блоге компании CUBA.platform. Описана их история жизни с Vaadin, предстоящие челленжи, описаны особенности Vaadin Flow, веб-компонентов, Vaadin 14 и так далее, есть небольшая секция с последними новостями из мира Vaadin.

  • «JDT without Eclipse» [93]. А знали ли вы, что JDT можно использовать и без Eclipse, в headless-режиме? Например, можно отдельно запустить форматер кода.

  • «Spring dependencies in Gradle can be tricky» [94]. Статья для любителей Gradle и Spring. Вместо того, чтобы мучиться, пытаясь понять точные версии пакетов, можно использовать BOM, в который Gradle умеет, начиная с конца 2018 года. Вместо этого люди обычно используют io.spring.dependency-management. В статье мы узнаем, почему, какие там есть проблемы и что делать.

  • «Building and running Equinox with maven without Tycho» [95]

  • «Using the GitHub packages Maven repository» [96]

  • «Migrating Spock 1.3 tests to Spock 2.0» [97]

  • «Concurrent smart contracts in Hyperledger Fabric blockchain (part 3)» [98]

  • «Method parameter validation with Spring and JSR 303» [99]. В Spring есть простой способ, как валидировать бины согласно JSR 303 (подробности на https://beanvalidation.org/ [100]). В посте на несколько строчек коротко описывается, как включить фичу.

Обсуждения:

  • Если вы — любитель похоливорить про Kotlin, то прямо сейчас на Reddit происходит очередной эпизод [101] священной войны Kotlin vs Java.

Хабр:

Подписывайтесь на канал @javawatch [117] в Telegram. Сейчас там публикуются только ссылки на дайджесты, но скоро там появится поток мелких интересных ссылок и мини-новостей.

Автор: olegchir

Источник [118]


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

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

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

[1] JetBrains Mono: https://www.jetbrains.com/lp/mono/

[2] Вышел плагин: https://plugins.jetbrains.com/plugin/13607-merge-request-integration-ce--code-review-for-gitlab

[3] Java-плагине: https://code.visualstudio.com/docs/languages/java

[4] добавили кучу важных ништяков: https://devblogs.microsoft.com/java/java-on-visual-studio-code-update-january-2020/

[5] Repeat 5.4: https://github.com/repeats/Repeat

[6] По ссылке: https://medium.com/bugbountywriteup/update-want-to-take-over-the-java-ecosystem-all-you-need-is-a-mitm-d069d253fe23

[7] по ссылке: https://medium.com/bugbountywriteup/want-to-take-over-the-java-ecosystem-all-you-need-is-a-mitm-1fc329d898fb

[8] Вышел Git 2.25: https://lore.kernel.org/git/xmqqtv4zjgv5.fsf@gitster-ct.c.googlers.com/

[9] на сайте Atlassian: https://www.atlassian.com/git/tutorials/big-repositories

[10] отдельная команда sparse-checkout: https://github.com/git/git/blob/v2.25.0/Documentation/git-sparse-checkout.txt

[11] продолжает: http://groovy-lang.org/releasenotes/groovy-3.0.html

[12] здесь: https://www.supremecourt.gov/DocketPDF/18/18-956/128391/20200113145027664_18-956%20Google%20v%20Oracle%20Computer%20Scientists%20Merits%20Amicus%20FOR%20FILING.pdf

[13] https://t.co/tZt0RZgRPV: https://t.co/tZt0RZgRPV

[14] January 13, 2020: https://twitter.com/joshbloch/status/1216827964077301760?ref_src=twsrc%5Etfw

[15] bsideup: https://habr.com/ru/users/bsideup/

[16] https://cimate.io/: https://cimate.io/

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

[18] https://t.co/L5Rq7Z0S3B: https://t.co/L5Rq7Z0S3B

[19] January 8, 2020: https://twitter.com/bsideup/status/1214930283121774593?ref_src=twsrc%5Etfw

[20] Quarkus 1.1.0.Final: https://quarkus.io/blog/quarkus-1-1-1-final-released/

[21] Yasson (JSON-B) 1.0.6: https://github.com/eclipse-ee4j/yasson/releases/tag/1.0.6-RELEASE

[22] JSR-367: https://jcp.org/en/jsr/detail?id=367

[23] imgui-java: https://github.com/SpaiR/imgui-java

[24] Dear-ImGui: https://github.com/ocornut/imgui

[25] Вышел EvoMaster: https://github.com/EMResearch/EvoMaster

[26] Kafkaer: https://github.com/navdeepsekhon/kafkaer

[27] jMathPaper: https://gitlab.com/RobertZenz/jMathPaper

[28] какое-то обновление: https://gitlab.com/RobertZenz/jMathPaper/-/tags/v1.3.1

[29] RoPi0n: https://habr.com/ru/users/ropi0n/

[30] опубликовал новость: https://habr.com/ru/post/482842/

[31] языка Mash: https://github.com/RoPi0n/mash-lang

[32] анонсировал Installmation: https://github.com/SergeMerzliakov/installmation

[33] бинари: https://github.com/SergeMerzliakov/installmation/releases

[34] опенсорснули: https://ai.googleblog.com/2019/12/albert-lite-bert-for-self-supervised.html

[35] BERT: https://github.com/google-research/bert

[36] sparse transformers: https://openai.com/blog/sparse-transformer/

[37] лежит на arXiv: https://arxiv.org/abs/1909.11942

[38] International Conference on Learning Representations: https://iclr.cc/Conferences/2020

[39] лежит на GitHub: https://github.com/google-research/ALBERT

[40] анонсировал: https://github.blog/2020-01-14-the-github-for-android-beta-is-here/

[41] выводит на рынок: https://cloud.google.com/blog/products/compute/google-compute-engine-gets-new-e2-vm-machine-types

[42] C2: https://cloud.google.com/compute/docs/machine-types#c2_machine_types

[43] N2: https://cloud.google.com/compute/docs/machine-types#n2_machine_types

[44] preemptible VM: https://cloud.google.com/preemptible-vms/

[45] Подробности по ссылке: https://zigbeealliance.org/news_and_articles/connectedhomeIP/

[46] HomeKit Accessory Development Kit: https://www.github.com/apple/HomeKitADK

[47] OpenWeave: https://openweave.io/

[48] OpenThread: https://openthread.io/

[49] Zigbee Alliance: https://zigbeealliance.org/

[50] JDK 13.0.2, 11.0.6, 8u241, and 7u251: https://blogs.oracle.com/thejavatutorials/jdk-1302%2c-1106%2c-8u241%2c-and-7u251-have-been-released

[51] Liberica JDK 13.0.2: https://bell-sw.com/pages/java-13.0.2

[52] https://jdk.dev: https://jdk.dev

[53] GraalVM версии 19.3.1: https://www.graalvm.org/docs/release-notes/19_3/#1931

[54] Анонс здесь: https://www.eclipse.org/org/press-release/20200107-bylaws_release_3.php

[55] доступна здесь: https://www.eclipse.org/org/documents/eclipse_foundation-bylaws.pdf

[56] объявил: https://eclipse-foundation.blog/2020/01/16/moving-forward-with-jakarta-ee-9/

[57] плана релизов: https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee9/JakartaEE9ReleasePlan

[58] выложил в Maven Central: http://adambien.blog/roller/abien/entry/jakarta_ee_8_quickstarter_archetype

[59] Piranha 20.1.2: https://arjan-tijms.omnifaces.org/2020/01/piranha-2012-released.html

[60] Сайт здесь: https://piranha.cloud/

[61] «Piranha Micro getting more compatible»: https://arjan-tijms.omnifaces.org/2020/01/jan-2020-update-piranha-micro-getting.html

[62] Eclipse Dirigible v4.2: https://www.dirigible.io/release/2020/01/14/news_new_release_4_2.html

[63] вот здесь: https://www.dirigible.io/project.html

[64] доступных на GitHub: https://github.com/eclipse/dirigible

[65] 14 января: https://spring.io/blog/2020/01/14/this-week-in-spring-january-14th-2020

[66] 7 января: https://spring.io/blog/2020/01/07/this-week-in-spring-9th-anniversary-edition-january-7-2020

[67] «This Decade in Spring — Happy New Year Edition»: https://spring.io/blog/2019/12/31/this-decade-in-spring-happy-new-year-edition-december-31-2019

[68] 5.2.3: https://github.com/spring-projects/spring-framework/releases/tag/v5.2.3.RELEASE

[69] 5.1.13: https://github.com/spring-projects/spring-framework/releases/tag/v5.1.13.RELEASE

[70] 5.0.16: https://github.com/spring-projects/spring-framework/releases/tag/v5.0.16.RELEASE

[71] 4.3.26: https://github.com/spring-projects/spring-framework/releases/tag/v4.3.26.RELEASE

[72] посмотреть здесь: https://github.com/spring-projects/spring-boot/releases/tag/v2.2.3.RELEASE

[73] здесь: https://github.com/spring-projects/spring-boot/releases/tag/v2.1.12.RELEASE

[74] подробности — в анонсе: https://spring.io/blog/2020/01/15/spring-data-moore-sr4-and-lovelace-sr15-released

[75] по ссылке: https://spring.io/blog/2020/01/10/spring-integration-aws-2-3-1-spring-cloud-stream-kinesis-binder-2-0-1-available

[76] по ссылке: https://spring.io/blog/2020/01/08/spring-security-5-3-0-m1-released

[77] В одном из них: http://adambien.blog/roller/abien/entry/memory_consumption_wildfly_full_thinwwar

[78] Другой: http://adambien.blog/roller/abien/entry/csrf_xss_jwt_reactive_databases

[79] очередной подкаст: http://adambien.blog/roller/abien/entry/javafx_strikes_back_airhacks_fm

[80] очередной Bootiful Podcast: https://spring.io/blog/2020/01/17/a-bootiful-podcast-spring-cloud-services-bella-yuxin-bai

[81] Bootiful Podcast: https://spring.io/blog/2020/01/10/a-bootiful-podcast-pivotal-labs-sydney-director-david-julia

[82] вышел Bootiful Podcast: https://spring.io/blog/2020/01/03/a-bootiful-podcast-spring-boot-and-spring-cloud-co-founder-dr-dave-syer

[83] «Programming the GPU in Java»: https://blogs.oracle.com/javamagazine/programming-the-gpu-in-java

[84] появление рекордов в языке Java: https://blogs.oracle.com/javamagazine/records-come-to-java

[85] yegor256: https://habr.com/ru/users/yegor256/

[86] «Embrace the chaos»: https://www.yegor256.com/2020/01/07/embrace-the-chaos.html

[87] ±Staring Into My Java Crystal Ball 2020»: https://www.azul.com/staring-into-my-java-crystal-ball-2020/

[88] есть и другие: https://jdk.dev/

[89] Забавный факт: https://programming.guide/java/minus-min-value.html

[90] «The realities of running an open-source community»: https://sdtimes.com/open-source/the-realities-of-running-an-open-source-community/

[91] внешние библиотеки в JShell: https://advancedweb.hu/using-external-libraries-in-jshell/

[92] «Vaadin 10+ as the Future of CUBA UI»: https://www.cuba-platform.com/blog/vaadin-10-evaluation/

[93] «JDT without Eclipse»: http://jmini.github.io/blog/2020/2020-01-17_jdt-without-eclipse.html

[94] «Spring dependencies in Gradle can be tricky»: https://www.nexocode.com/blog/posts/spring-dependencies-in-gradle/

[95] «Building and running Equinox with maven without Tycho»: http://jmini.github.io/blog/2020/2020-01-13_equinox-without-tycho.html

[96] «Using the GitHub packages Maven repository»: https://saker.build/blog/github_packages_maven/

[97] «Migrating Spock 1.3 tests to Spock 2.0»: https://solidsoft.wordpress.com/2020/01/02/migrating-spock-1-3-tests-to-spock-2-0/

[98] «Concurrent smart contracts in Hyperledger Fabric blockchain (part 3)»: https://blog.softwaremill.com/concurrent-smart-contracts-in-hyperledger-fabric-blockchain-part-3-ee3b8351a107

[99] «Method parameter validation with Spring and JSR 303»: https://www.mscharhag.com/spring/spring-method-parameter-validation

[100] https://beanvalidation.org/: https://beanvalidation.org/

[101] очередной эпизод: https://www.reddit.com/r/java/comments/eplsmi/is_kotlin_really_more_productive_than_java/

[102] «Несколько приемов работы с интерфейсом в Google Maps SDK и пара слов о геокодере»: https://habr.com/ru/post/484100/

[103] «Пол Грэм про Java и «хакерские» языки программирования (2001)»: https://habr.com/ru/post/484244/

[104] «gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса»: https://habr.com/ru/company/yandex/blog/484068/

[105] «Запускаем однофайловые программы в Java 11 без компилирования»: https://habr.com/ru/company/nix/blog/483888/

[106] на ту же тему: https://habr.com/ru/company/jugru/blog/429670/

[107] JEP 330: https://openjdk.java.net/jeps/330

[108] «Необязательные параметры в репозиториях Spring Data»: https://habr.com/ru/post/483796/

[109] «Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring»: https://habr.com/ru/post/483374/

[110] «REST API — Что такое HATEOAS?»: https://habr.com/ru/post/483328/

[111] «Максимальное количество значений в enum Часть I»: https://habr.com/ru/post/483392/

[112] «Quarkus — новый взгляд на Cloud Native Java»: https://habr.com/ru/company/piter/blog/482968/

[113] «Вещи, которые могут показаться любопытными и разработчику со стажем»: https://habr.com/ru/post/482950/

[114] «Свертывание многострочных логов в однострочный лог с помощью Spring и логгера Logback или Log4j2»: https://habr.com/ru/company/ua-hosting/blog/482804/

[115] «Вещи, которые вы [возможно] не знали о Java»: https://habr.com/ru/post/482364/

[116] «А суть-то в чём, или Минимизация исходников — проще, чем кажется»: https://habr.com/ru/post/482634/

[117] @javawatch: https://t.me/javawatch

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