company_banner

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


    • 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



    Kafka


    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. Зарегистрироваться на летнюю онлайн-конференцию можно на официальном сайте.

    JUG Ru Group
    Конференции для программистов и сочувствующих. 18+

    Комментарии 8

      +2
      А ещё стало известно, что Sealed Classes & Interfaces попадут в JDK 15 (почти наверняка). Я считаю, что эта новость тоже достойна дайджеста.
        0

        Closed / Delivered

          0

          Result<T, E> и


          switch (result) {
              case Ok t -> { ... },
              case Error e -> { ... },
          }

          Как то можно будет сделать?

            0
            Пока паттерн-матчинг с оператором switch не работает. В этом релизе будут добавлены только sealed-классы. Паттерн-матчинг появится в будущих релизах.
              0

              Получается в 17 lts релиз может и не попасть фича уже без preview?

                0
                По-любому не попадёт. Я даже не уверен, попадёт ли она туда с preview.
          +1

          Nani?!


          В действительности интересно, зачем и почему команда JB вообще занялась локализацией. И почему выбраны именно такие три языка, поскольку явно по распространенности японский и корейский не в первой тройке за английским.


          Мы вчера даже с товарищем предположили, что кому-то надоело смотреть с сабами и он решил изучить язык, чтобы смотреть оригинал. А работа просто под руку подвернулась.

            +1

            Предположение: может быть, все куда прозаичней — какая-то японская контора сказала, что купит десять тысяч копий Идеи, если они впилят локализацию. Ну и впилить локализацию оказалось не то чтобы сложно, типа две недели работы одного разработчика. Почему эти три языка — потому что у них общий движок для иероглифов.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое