#дайджест перед выходными
⭕ JEP 477 в качестве Preview направлен в Java 23.— улучшение позволяет писать упрощенные декларации для программ, состоящих из метода main, которые могут быть расширены по мере роста навыков
⭕ Как создать библиотеку OSS — запись прямого эфира в рамках Zymposium, в котором можно было предложить идею новой ZIO-библиотеки и начать имплементировать ее в режиме лайф-кодинга
⭕ Вышел Kotlin 2.0 — центральный элемент новой мажорной версии — новый компилятор K2, который в значительной степени ориентирован на мультиплатформенность
⭕ Что нового в IntelliJ IDEA Ultimate 2024.1 — завезли кучу небольших апдейтов
⭕ Разбираем магических зверей безопасности: AuthZ: abac/rbac, AuthN и 2FA — еще одна попытка объяснить разницу между этими совершенно разными вещами
⭕ JEP 477 в качестве Preview направлен в Java 23.— улучшение позволяет писать упрощенные декларации для программ, состоящих из метода main, которые могут быть расширены по мере роста навыков
⭕ Как создать библиотеку OSS — запись прямого эфира в рамках Zymposium, в котором можно было предложить идею новой ZIO-библиотеки и начать имплементировать ее в режиме лайф-кодинга
⭕ Вышел Kotlin 2.0 — центральный элемент новой мажорной версии — новый компилятор K2, который в значительной степени ориентирован на мультиплатформенность
⭕ Что нового в IntelliJ IDEA Ultimate 2024.1 — завезли кучу небольших апдейтов
⭕ Разбираем магических зверей безопасности: AuthZ: abac/rbac, AuthN и 2FA — еще одна попытка объяснить разницу между этими совершенно разными вещами
Очередной #дайджест по Java
1️⃣ Новый пакет scala-repl в MELPA для разработчиков Scala — расширение Emacs для интерактивной работы с sbt/mill/scala-cli-проектами
2️⃣ JEP 482: Flexible Constructor Bodies направлен в JDK 23 в статусе second preview — при переходе в статус second preview его переименовали и теперь поля класса можно инициализировать до того, как будет вызван super()
3️⃣ sbt Android plugin — плагин с функциональностью sbt для разработки приложений под платформу Android
4️⃣ Опыт разработки сервиса отправки сообщений в Apache Kafka с использованием SASL/Kerberos и Avro Schema Registry — опыт создания сервиса для отправки сообщений в Apache Kafka с использованием Spring Boot, аутентификацией SASL/Kerberos и применением Avro Schema Registry для продюсера
5️⃣ SBOM support in Spring Boot 3.3 — SBOM описывает компоненты, которые использует ваша система, это может быть полезным, например, для автоматизированного составления списков уязвимостей вашей программы
1️⃣ Новый пакет scala-repl в MELPA для разработчиков Scala — расширение Emacs для интерактивной работы с sbt/mill/scala-cli-проектами
2️⃣ JEP 482: Flexible Constructor Bodies направлен в JDK 23 в статусе second preview — при переходе в статус second preview его переименовали и теперь поля класса можно инициализировать до того, как будет вызван super()
3️⃣ sbt Android plugin — плагин с функциональностью sbt для разработки приложений под платформу Android
4️⃣ Опыт разработки сервиса отправки сообщений в Apache Kafka с использованием SASL/Kerberos и Avro Schema Registry — опыт создания сервиса для отправки сообщений в Apache Kafka с использованием Spring Boot, аутентификацией SASL/Kerberos и применением Avro Schema Registry для продюсера
5️⃣ SBOM support in Spring Boot 3.3 — SBOM описывает компоненты, которые использует ваша система, это может быть полезным, например, для автоматизированного составления списков уязвимостей вашей программы
#дайджест перед выходными
🔽 Spring AI 1.0.0 M1 release — из значимых нововведений: API для создания промптов, похожий на RestClient и JdbcClient, поддержка новых моделей и векторных хранилищ, TestContainers
🔽 Module Imports in Java 23 — автор рассказывает о книге, в которой описывается предварительный просмотр функции, основанной на модулях, которая может быть использована, даже если код не находится в модулях
🔽 Делаем ZIO-Kafka безопаснее и быстрее — пофиксили дублирование сообщений при ребалансе, добавив механизм отложенного выполнения, который дожидается, пока все сообщения в очереди не будут обработаны
🔽 Hibernate ORM 6.6 — небольшая заметка, которая рассказывает об аннотация, которая указывает на то, что в случае наследования сущностей Hibernate должен создавать прокси не на суперкласс, а на конкретного наследника
🔽 Spec-first and code-first, hand in hand — теперь вам не надо разрываться между подходами spec-first или code-first, а использовать оба одновременно
🔽 Spring AI 1.0.0 M1 release — из значимых нововведений: API для создания промптов, похожий на RestClient и JdbcClient, поддержка новых моделей и векторных хранилищ, TestContainers
🔽 Module Imports in Java 23 — автор рассказывает о книге, в которой описывается предварительный просмотр функции, основанной на модулях, которая может быть использована, даже если код не находится в модулях
🔽 Делаем ZIO-Kafka безопаснее и быстрее — пофиксили дублирование сообщений при ребалансе, добавив механизм отложенного выполнения, который дожидается, пока все сообщения в очереди не будут обработаны
🔽 Hibernate ORM 6.6 — небольшая заметка, которая рассказывает об аннотация, которая указывает на то, что в случае наследования сущностей Hibernate должен создавать прокси не на суперкласс, а на конкретного наследника
🔽 Spec-first and code-first, hand in hand — теперь вам не надо разрываться между подходами spec-first или code-first, а использовать оба одновременно
Очередной #дайджест для джавистов
🔵 Modules Make javac Easy — про компиляцию и сборку Java-приложения не самым популярным способом в текущее время через javac
🔵 Model Data, Whole Data, and Nothing but the Data — в статье рассматривается принцип моделирования данных в ориентированном на данные программировании (DOP), который заключается в моделировании данных, всех данных и только данных
🔵 Scala toolig ecosystem со Scalar Conference 2024 — с каждым тулом идет в комплекте сводка о том, насколько этот инструмент жив и какие функции хотят добавить
🔵 Model Data Immutably and Transparently — принцип помогает избежать ошибок, связанных с изменением состояния объектов, используемых различными подсистемами
🔵 Мониторинг и профилирование Spring Boot за две строчки — механизм для мониторинга времени выполнения методов, используя аннотацию @ActuatorProfiling и Spring Boot Actuator для экспонирования данных профилирования через настраиваемые конечные точки
🔵 Modules Make javac Easy — про компиляцию и сборку Java-приложения не самым популярным способом в текущее время через javac
🔵 Model Data, Whole Data, and Nothing but the Data — в статье рассматривается принцип моделирования данных в ориентированном на данные программировании (DOP), который заключается в моделировании данных, всех данных и только данных
🔵 Scala toolig ecosystem со Scalar Conference 2024 — с каждым тулом идет в комплекте сводка о том, насколько этот инструмент жив и какие функции хотят добавить
🔵 Model Data Immutably and Transparently — принцип помогает избежать ошибок, связанных с изменением состояния объектов, используемых различными подсистемами
🔵 Мониторинг и профилирование Spring Boot за две строчки — механизм для мониторинга времени выполнения методов, используя аннотацию @ActuatorProfiling и Spring Boot Actuator для экспонирования данных профилирования через настраиваемые конечные точки
#дайджест перед выходными
⤵️ Modules Make javac Easy: Dependencies and Tests — автор рассказал про то, как добавлять зависимости в проект и запускать тесты, не покидая терминал
⤵️ Конференция KotlinConf’24 — записи с конфы в Копенгагене
⤵️ Guide to Graal VM — рассказывают про GraalVM и преимущества, которые он предоставляет, затем небольшой бенчмарк со сравнением с популярными VM для Java
⤵️ flatmappers 019 — оригинальные подходы в сборке Scala проектов и Yтка-DB
⤵️ Middle-starter-pack по spring data — особенности использования Transactional в SpringBoot приложении (разбор типовых ошибок среднестатистического разработчика)
⤵️ Modules Make javac Easy: Dependencies and Tests — автор рассказал про то, как добавлять зависимости в проект и запускать тесты, не покидая терминал
⤵️ Конференция KotlinConf’24 — записи с конфы в Копенгагене
⤵️ Guide to Graal VM — рассказывают про GraalVM и преимущества, которые он предоставляет, затем небольшой бенчмарк со сравнением с популярными VM для Java
⤵️ flatmappers 019 — оригинальные подходы в сборке Scala проектов и Yтка-DB
⤵️ Middle-starter-pack по spring data — особенности использования Transactional в SpringBoot приложении (разбор типовых ошибок среднестатистического разработчика)
Очередной #дайджест для джавистов
⬅️ JEP 479: Remove the Windows 32-bit x86 Port — перешел в статус Candidate. Удаление кода, связанного с Windows 32-bit, должно упростить сборку и тестирование инфраструктуры JDK
⬅️ IntelliJ IDEA 2024.2 EAP Is Open — новая вкладка Performance в окне Run; запуск тестов прямо во время индексирования; автоматическое разрешение конфликтов import-ов
⬅️ Chimney — стабильная battle-tested библиотека Scala для преобразования данных
⬅️ Lagom is approaching end of life: возможные пути миграции — Lightbend прекращают поддержку своего фреймворка + на что можно переехать, заодно проведя рефакторинг проекта
⬅️ Introduction to JDK Mission Control — узнаете, что это за инструмент, как с его помощью анализировать поведение Java-приложения + ссылка на репозиторий с кодом примера
⬅️ JEP 479: Remove the Windows 32-bit x86 Port — перешел в статус Candidate. Удаление кода, связанного с Windows 32-bit, должно упростить сборку и тестирование инфраструктуры JDK
⬅️ IntelliJ IDEA 2024.2 EAP Is Open — новая вкладка Performance в окне Run; запуск тестов прямо во время индексирования; автоматическое разрешение конфликтов import-ов
⬅️ Chimney — стабильная battle-tested библиотека Scala для преобразования данных
⬅️ Lagom is approaching end of life: возможные пути миграции — Lightbend прекращают поддержку своего фреймворка + на что можно переехать, заодно проведя рефакторинг проекта
⬅️ Introduction to JDK Mission Control — узнаете, что это за инструмент, как с его помощью анализировать поведение Java-приложения + ссылка на репозиторий с кодом примера
#дайджест перед выходными
❎ Введение в JobRunr — библиотека для распределенного планирования задач в Java-приложении
❎ Mill — инструмент для сборки на Scala, аналог SBT, Maven и Gradle
❎ JEP 467 направлен в Java 23 — позволяет записывать комментарии к документации JavaDoc в Markdown, а не только в виде смеси HTML и JavaDoc @-тегов
❎ Functional Parallel Programming in the wild — классная статья о создании небольшого веб-сервиса с нуля. Отлично зайдет как подробный разбор pet-проекта всем новичкам
❎ Новый компилятор K2 в Kotlin — процесс миграции с компилятора Kotlin старой версии на новый компилятор K2
❎ Введение в JobRunr — библиотека для распределенного планирования задач в Java-приложении
❎ Mill — инструмент для сборки на Scala, аналог SBT, Maven и Gradle
❎ JEP 467 направлен в Java 23 — позволяет записывать комментарии к документации JavaDoc в Markdown, а не только в виде смеси HTML и JavaDoc @-тегов
❎ Functional Parallel Programming in the wild — классная статья о создании небольшого веб-сервиса с нуля. Отлично зайдет как подробный разбор pet-проекта всем новичкам
❎ Новый компилятор K2 в Kotlin — процесс миграции с компилятора Kotlin старой версии на новый компилятор K2
Очередной #дайджест для джавистов
👉 Java Runtimes: Insights From the Spring Boot Point of View — о том, на что стоит обратить внимание при выборе JDK, если вы используете в разработке фреймворк Spring Boot
👉 ZIO Kafka — предоставляет streams-based интерфейс для клиента Kafka и легко интегрируется с ZIO и ZIO Streams
👉 Calling Microservices в Java — рассматривается четыре варианта: ванильная Java, Apache HttpClient, Spring-овые RestTemplate и WebClient, а также Feign
👉 Forking и Interruption в ZIO — маленькая жизненная история о том, как подломанный с точки зрения параллелизма код + обновление версии либы = обстоятельства
👉 Использование Bootify для прототипа Spring Boot с Thymeleaf — про сайт-инструмент, который позволяет в пару кликов сгенерировать простое CRUD-приложение на Spring Boot с фронтендом, БД, миграциями БД и всеми нужными зависимостями
👉 Java Runtimes: Insights From the Spring Boot Point of View — о том, на что стоит обратить внимание при выборе JDK, если вы используете в разработке фреймворк Spring Boot
👉 ZIO Kafka — предоставляет streams-based интерфейс для клиента Kafka и легко интегрируется с ZIO и ZIO Streams
👉 Calling Microservices в Java — рассматривается четыре варианта: ванильная Java, Apache HttpClient, Spring-овые RestTemplate и WebClient, а также Feign
👉 Forking и Interruption в ZIO — маленькая жизненная история о том, как подломанный с точки зрения параллелизма код + обновление версии либы = обстоятельства
👉 Использование Bootify для прототипа Spring Boot с Thymeleaf — про сайт-инструмент, который позволяет в пару кликов сгенерировать простое CRUD-приложение на Spring Boot с фронтендом, БД, миграциями БД и всеми нужными зависимостями
#дайджест перед выходными
❎ Quality Outreach Heads-up JDK 23 — начиная с JDK 23, javac требует дополнительной опции командной строки для включения обработки аннотаций
❎ Single tenant vs multitenancy — микропосвящение в варианты подписок на облачные серверы провайдеров
❎ Tapir Tech Update the Deep Dive — Softwaremill запускают собственный ежемесячный дайджест, посвященный новостям в мире технологий за последний месяц, а также направлениям архитектуры
❎ Maven Central and the tragedy of the commons — Maven Central теперь будет замедлять загрузку или вовсе выдавать 429 ошибку, для особо «тяжелых» потребителей
❎ Java on Visual Studio Code Update — обновление Java on VSCode: вынесли настройки по разным секциям; выложили новое видео, посвященное Code Coverage; появились валидации JPQL- и HQL-запросов
❎ Quality Outreach Heads-up JDK 23 — начиная с JDK 23, javac требует дополнительной опции командной строки для включения обработки аннотаций
❎ Single tenant vs multitenancy — микропосвящение в варианты подписок на облачные серверы провайдеров
❎ Tapir Tech Update the Deep Dive — Softwaremill запускают собственный ежемесячный дайджест, посвященный новостям в мире технологий за последний месяц, а также направлениям архитектуры
❎ Maven Central and the tragedy of the commons — Maven Central теперь будет замедлять загрузку или вовсе выдавать 429 ошибку, для особо «тяжелых» потребителей
❎ Java on Visual Studio Code Update — обновление Java on VSCode: вынесли настройки по разным секциям; выложили новое видео, посвященное Code Coverage; появились валидации JPQL- и HQL-запросов
Очередной #дайджест для джависта
🔵 Spring Framework 6.2.0-M4 available now — некоторые изменения: Task и ScheduledTask предоставляют метаданные о выполнении; улучшена поддержка @TestBean и @MockitoBean; @ExceptionHandler стал более гибким, поддерживает согласование контента
🔵 Tapir Tutorials — четыре видео от Adam Warski с туториалами по Tapir
🔵 OpenJDK JDK 24 Early-Access Builds — стали доступны Early-Access сборки JDK 24
🔵 Logic Circuit Simulator с Cats-Actors — Cats-Actors — это переосмысление модели actor paradigm в сочетании с функциональной парадигмой
🔵 Vaadin 24.4.1 — благодаря Copilot появилась поддержка редактирования через drag-and-drop, настройки тем, модификации и генерации кода на основе искусственного интеллекта.
🔵 Spring Framework 6.2.0-M4 available now — некоторые изменения: Task и ScheduledTask предоставляют метаданные о выполнении; улучшена поддержка @TestBean и @MockitoBean; @ExceptionHandler стал более гибким, поддерживает согласование контента
🔵 Tapir Tutorials — четыре видео от Adam Warski с туториалами по Tapir
🔵 OpenJDK JDK 24 Early-Access Builds — стали доступны Early-Access сборки JDK 24
🔵 Logic Circuit Simulator с Cats-Actors — Cats-Actors — это переосмысление модели actor paradigm в сочетании с функциональной парадигмой
🔵 Vaadin 24.4.1 — благодаря Copilot появилась поддержка редактирования через drag-and-drop, настройки тем, модификации и генерации кода на основе искусственного интеллекта.