Java-дайджест за 13 мая
Иллюстрация получена вот из этого видео.
Джеймс Гослинг, создатель языка Java, заявил об участии в летней конференции JPoint и уже появился в списке спикеров на сайте. Говорят, кризис — время возможностей. Иногда это действительно так! Пару лет назад трудно было представить, что Гослинг будет отвечать у нас на вопросы из чата.
В рассылочке появилось интересное письмо о том, что в спеке языка ведется работа над более аккуратным использованием слов вроде «class», «interface» и «type». Например, вместо «sealed types» правильнее говорить «sealed classes and interfaces». Примечание:, а вместо Linux нужно говорить GNU/Linux!
Стивен Стюарт-Галлус сделал на Java и выложил на GitHub игрушечную реализацию System F JIT, в наличии MethodHandles и Higher Order Abstract Syntax. Соответствующий тред есть на Reddit, где автору можно задавать вопросы. System F — система, которую придумал в 1972 году Жан-Ив Жирар для доказательств в логике, которая представляет собой систему типизированного лямбда-исчисления, отличающаяся от просто типизированной системы наличием механизма универсальной квантификации над типами.
Вышел победный релиз rsocket-java 1.0.0. Закрыто минимум 22 тикета, из которых 9 — новые фичи. Кстати, вчера на Хабре вышла статья «Две альтернативы JDBC».
В свежем EAP IntelliJ IDEA научилась китайскому, японскому и корейскому языкам. Если раньше вы изучали японский только по фансабу для аниме и Duolingo, то теперь вы знаете, что делать!
GitHub опубликовали Otoverse Spotlight с анализом продуктивности разработчиков в свете эпидемии коронавируса. Спойлер: всё в порядке, типичный разработчик пашет как машина. К слову, Google AI выпустили COVID-19 Research Explorer — интерфейс семантического поиска поверх COVID-19 Open Research Dataset, но это уже не про джаву.
Юзер CrazyGamesMC сообщил на Reddit, что выложил на GitHub небольшой игровой движок, написанный целиком на Java. Парой дней раньше другой реддитор рассказал о своём «Salty Engine», который тоже лежит на GitHub. Это всё хакатонные штуки, и я не предлагаю ими пользоваться, просто как забавный факт — люди продолжают использовать Java не только на серверной, но и на клиентской стороне.
Вышел WildFly 19.1.0. Они пошли на увеличение минорной циферки версии на единицу ради важной фичи: теперь у SameSite Cookie можно выставить режим, Strict, Lax or None. Что значат эти режимы… ну, например, есть раздел в RFC6265bis
Eclipse Foundation переезжает в Брюссель. Физически — собрали вещи и поехали. Про это есть официальный анонс и статья в The Register. Исполнительный директор Eclipse Foundation Майк Милинкович прокомментировал, что это нужно, чтобы перейти под контроль европейского законодательства вместо законов США. ¯_(ツ)_/¯
Eclipse запустили опросник »2020 IoT Developer Survey». Занимает 10 минут, в том числе там есть вопросы про Edge Computing. Результаты опроса очень помогут работе Eclipse IoT Working Group и Eclipse Edge Native Working Group.
- Amazon рассказал о выпуске Schema Registry для сервиса Amazon EventBridge. Это очередная реализация идеи, которую так любят в энтерпрайзе: положить структуру событий в какое-то централизованное хранилище и потом связывать эти схемы с кодом на языке программирования — в данном случае, Java, Python и TypeScript. Ну и Amazon EventBridge — это такая штука для сидящих на игле Амазона, которая позволяет AWS-сервисам общаться с другими приложениями с помощью событий.
Вышел релиз Spring Data Neumann. Добавилась поддержка репозиториев для Kotlin Coroutines. Обновили кучу всего (MongoDB Driver 4, Cassandra Driver 4, Couchbase SDK 3, Querydsl 4.3, Elasticsearch 7). В Elasticsearch переделали Teamplate API, добавили в трейн Spring Data R2DBC. Важно: Joda-Time и ThreeTenBackport теперь deprecated. Из забавного: продолжавшийся годами цирк с параллельными релизами Spring Data for Apache Geode и Spring Data GemFire прекратился: теперь будет общий модуль Spring Data Geode. Закрыто 650 тикетов.
А ещё вышли очередные Spring Security (5.3.2, 5.2.4, 5.1.10, 5.0.16, 4.2.16), Spring Cloud Task (2.3.0-M1), Spring LDAP (2.3.3), Spring Security OAuth2 Auto-config (2.3.0.RC1, 2.2.7, 2.1.14).
Джош Лонг опубликовал очередной «This Week in Spring». Там больше ссылок, чем здесь.
Q: Целый блок новостей имени Вити Гамова, серьёзно?
A: Да, а почему вы спрашиваете?
Виктор Гамов завел канал на YouTube и каждую неделю стримит жуткие вещи, которые он вытворяет с Kafka. Следующий стрим будет сегодня, в 10 вечера по московскому времени.
Дальше у нас Кафка в картинках для самых маленьких, митап под названием «What is Apache Kafka? An Introduction». Угадайте с первого раза, кто там докладчик. Пройдет 14 числа (завтра) 7 до 9 вечера по Московскому времени (у организаторов часовой пояс GMT+1).
15 мая (послезавтра) будет онлайн-митап «Kafka Streams: Perfectly balanced, as all things should be». Время выбрано удобно разве что для Хабаровска, по московскому времени это будет час ночи. Организаторы митапчика живут в США, в часовом поясе Central Daylight Time (CDT).
Вышел крепкий лонгрид про протокол ребалансировки в Kafka: «From Eager to Smarter in Apache Kafka Consumer Rebalances».
Иван Пономарев накидал на Хабре статью «Подводные камни тестирования Kafka Streams».
Алексей Шипилёв выпустил эпическую статью Java Objects Inside Out. С момента выхода статьи прошло какое-то время, но оказалось, существуют люди, которые про неё ещё ничего не знают. Не рассказать о ней в дайджесте было бы преступлением.
На сайте miniJUG появилась короткая заметка про то, что в Java можно будет объявлять локальные интерфейсы и перечисления согласно JEP 384. (UPD: Женя почитал дайджест и говорит, нужно упомянуть: Sealed Classes предложены к выходу в Java 15, буквально сегодня JEP обновили. Сообщаю, но перевод этого JEP-а обновлять пока не буду).
Мартин Фаулер добавил в статью «Branching Patterns» описание паттерна «Hotfix Branch», а днем раньше — «Environment Branch». Эта статья — не какой-то монолит, а скорее, небольшая книжка, которая постоянно растёт. Она доросла уже до 50 экранов текста.
Забавная статья о том, как злой Spring Boot жрёт ваши ресурсы.
Студент по имени Нишант Чаттерджи (Nishant Chatterjee) написал на Reddit, что выложил стандартные алгоритмы под лицензией MIT в своем репозитории на GitHub. Ну, если вам вдруг неоткуда было копипастить. Это тот же товарищ, что раньше публиковал репозиторий про теорию графов.
Статья Шона Хиггинса о том, как дебажить на продакшене.
Вышел хаброперевод отличной статьи Эвана Кэмерона «Rust для Java-разработчиков».
Интересная заметка с примером на GitHub: «The Java Memory Model enables testing of multithreaded Java».
JUGNsk выпустили аккуратно оформленную запись онлайн-митапа с Алексеем Шипилёвым. В закрепленном комментарии там же указаны таймкоды: когда шел сам доклад, когда были Q&A-сессии, когда началась afterparty. Если вы были на этом митапе, обратную связь можно и нужно оставить по ссылке.
Сегодня, 13 мая в 19.00 по московскому времени, пройдет митап «GDG Live: Будущее мобильной разработки». Конечно, Android — это не Java, но какое-то отношение имеет :-) В гостях будет разработчик Jetpack Compose из Google, ведущий подкастов Mobile People Talks и Flutter Podcast, разработчик из Lyft и один из основателей компании, делающей конференции Joker/JPoint и Mobius.
Позавчера прошел онлайн-митап JUG.ru «Spring-построитель» с Женей Борисовым, автором «Spring-потрошителя». Запись осталась на YouTube.
Алмас Баимагамбетов продолжает безудержно жечь демки на JavaFX. В новом стриме творится адская жесть: пишется симулятор рабочего стола. Зачем — неясно, но это хороший урок для не верующих в мощь JavaFX.
Новости из этого анонса можно обсудить в комментариях под этим постом, и в чате @jvmchat в Telegram. Если вы — поклонник подкаста «Разбор Полётов», то вам в @razbor_poletov_chat
Не забывайте подписаться на мой канал в @javawatch в Telegram, чтобы не пропускать дайджесты и прочие анонсы. Временами на YouTube-канале @javawatch я стримлю всякую дичь — можно набежать в комментарии и пообщаться (все такие стримы потом удаляются в силу общей бесполезности). Подписывайтесь и жмите колокольчик.
Дайджесты публикуются при поддержке JUG Ru Group и конференции JPoint. Зарегистрироваться на летнюю онлайн-конференцию можно на официальном сайте.