Библиотека джависта | Java, Spring, Maven, Hibernate
25.7K subscribers
1.57K photos
31 videos
42 files
2.38K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://t.me/proglibrary/9197
Учиться у нас: https://proglib.io/w/778f3dba

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
Очередной #дайджест для джавистов

⬅️ 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
Очередной #дайджест для джавистов

👉 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-запросов
Очередной #дайджест для джависта

🔵 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, настройки тем, модификации и генерации кода на основе искусственного интеллекта.
#дайджест перед выходными

New Leyden Early-Access Builds — сборка включает заблаговременную компиляцию методов Java, разрешение постоянных записей пула, генерацию динамических прокси-серверов и данных отражения

Virgil-Kyo — новая либа для создания Cassandra клиента на стеке Scala 3, Kyo и Magnolia

GIVEN — библиотека для автоматического обновления зависимостей в scala-проектах

New Loom Early — project Loom опубликовал новые сборки для раннего доступа с улучшенной реализацией object monitor

All Java 23 Features — Java 23 выходит только 17 сентября, но уже можно ознакомиться со списком изменений, которые будут в ней представлены
Очередной #дайджест для джависта

Как создать кастомный Java Runtimes с помощью Jlink — создается образ, который содержит только те модули, которые нужны приложению, что уменьшает размер приложения и повышает безопасность

Рекурсия в Java с примером решения задачи с LeetCode — про базис, рекурсивные методы и StackOverflowError

ScalaMatsuri 2024 — записи с июньской scala-конференция ScalaMatsuri 2024

webmagic — масштабируемый фреймворк веб-краулера для Java. Охватывает весь жизненный цикл: загрузку, управление url, извлечение контента и его сохранение

Что случилось с Java String Templates — из видео вы узнаете, почему String Templates не попадут в Java 23 и почему фича была задизайнена именно так
#дайджест перед выходными

🔃 Flyway + Spring Boot — настройка и написание миграций баз данных

🔃 Как готовить свой код к виртуальным потокам — почему надо что-то менять, с какими проблемами можно столкнуться и как их диагностировать

🔃 Фрагментация в ZGC — исследование направлено на уменьшение фрагментации в ZGC с помощью Custom Allocators

🔃 Чат WebSocket с использованием структурированного конкаренси, Ox и Tapir — вот вам идея для домашней тренировки новомодных Java 21 и Ox

🔃 Hack a Java application with the debugger — автор рассматривает использование дебаггера для взаимодействия и изменения поведения JVM-приложений в режиме реального времени
Очередной #дайджест для джависта

Правильный DevOps для Spring Boot и Java — рассматривается оптимизация сборки образа приложения, изменение конфигурации приложения без релиза и выделение накатки миграции на БД в отдельную джобу

Hibernate JAVA_TIME_USE_DIRECT_JDBC setting — настройка в Hibernate, которая позволяет маппить типы времени из java.time напрямую, без прослойки в виде объекта Timestamp

Jakarta Data и Hibernate — описаны тонкости работы с репозиториями, а еще приводится реализация основных CRUD-операций и более сложных запросов

WebSockets в Scala: интеграция Redis и PostgreSQL — о приложении для чата в памяти, использующее WebSockets, с помощью библиотеки Http4s и не только

Как я решила задачу нахождения t-критерия Стьюдента как функции от доверительного интервала и числа степеней свободы — представлен авторский метод нахождения t-критерия, разработанный в процессе решения более крупной задачи
#дайджест перед выходными

⬅️ Hibernate WITH RECURSIVE query — статья посвящена запросам WITH RECURSIVE в Hibernate, как они работают и как могут быть использованы для иерархических структур данных.

⬅️ How to Identify Dependencies in Your Codebase During Microservices Migration — туториал о миграции с монолита на микросервисы с использованием Digma для сбора информации о зависимостях внутри кодовой базы

⬅️ Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации — в руководстве объясняют, как генерировать код HTTP клиентов для Spring Boot, используя плагин openapi-generator для Gradle

⬅️ Scalatra — крошечный веб-фреймворк, похожий на Sinatra, для Scala

⬅️ Разработка Java-проекта с ChatGPT-4 — от идеи до реализации
Свежий #дайджест по Java

👩‍💻Compose Desktop ShadowJar — статья посвящена созданию автономного JAR-файла для приложений на Compose Desktop с использованием ShadowJar и ProGuard.

👩‍💻Состояние Spring в 2024 году — статья обсуждает последние тенденции в разработке программного обеспечения на платформе Spring, выделяя ключевые изменения и вызовы, с которыми сталкиваются разработчики.

👩‍💻Нахождение сильно преобладающего элемента последовательности >n/2 (алгоритм большинства голосов Бойера-Мура) — статья рассматривает задачу "Majority Element" с LeetCode и сравнивает решение с использованием хэш-таблицы с более эффективным по пространственной сложности алгоритмом Бойера-Мура.

👩‍💻Вышел Hibernate 7.0.0.Beta1 — статья рассказывает о выпуске обновления Hibernate 7.0.0.Beta1, которое включает в себя изменения и улучшения, такие как переход на новую версию технологии, улучшение проверки моделей и более строгие требования.
Please open Telegram to view this post
VIEW IN TELEGRAM
#дайджест #javadevjob

Вакансии Java разработчиков уровня Junior

▪️Junior Developer
Новосибирск. Softaria — решения в области дистанционного образования, многопользовательские онлайн игры
Подробнее

▪️Junior разработчик
Москва. АйТи Гео — проектирование, разработкa и внедрение платформы для управления Умным городом
Подробнее

Вакансии Java разработчиков уровня Middle

▪️Java разработчик
Санкт-Петербург. Диплей — разработка ПО
Подробнее

▪️Java-разработчик
Удаленка. МойСклад — развитие и продажа облачного сервиса
Подробнее

Вакансии Java разработчиков уровня Senior

▪️Java Developer
Удаленка. Арте — ИТ-услуги для реализации высокотехнологичных проектов в финансовой сфере
Подробнее

▪️Java Engineer
Москва. Фаззи Лоджик Лабс — разработка, внедрение и сопровождение программного обеспечения для анализа данных
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
Свежий #дайджест по Java

👩‍💻 Как заставить code coverage работать на вас — статья объясняет, как использовать code coverage для повышения качества тестов и настройки надежного покрытия в проектах на Gradle и Maven.

👩‍💻 JPA Entity. Загрузи меня не полностью — статья рассказывает, как оптимизировать работу с базой данных в Spring, загружая только необходимые данные, чтобы ускорить приложение и избежать избыточного использования ресурсов​.

👩‍💻 Знакомство с BeanPostProcessor — статья рассказывает, как с помощью BeanPostProcessor в Spring можно создавать мощные кастомные аннотации, которые динамически изменяют значения полей объектов, превращая рутинную настройку бинов в гибкий и автоматизированный процесс.

👩‍💻 Spring Data JDBC. Проблемы известные, проблемы неизвестные — в докладе идёт речь об опыте работы над проектом Spring Data JDBC, в котором докладчик является контрибьютором. Доклад предоставляет отличное введение в технологию, обсуждая также её проблемы и возможные сложности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Свежий #дайджест по Java

👩‍💻 Запускаем таски по расписанию — статья рассказывает о том, как команда Яндекс Телемоста решила проблему с запуском тасков с высокой частотой, обеспечивая отказоустойчивость и эффективность системы.

👩‍💻 Почему стоит перейти с JUnit4 на JUnit5 — статья на Хабре раскрывает, почему команда разработчиков из Сбера решила перейти с JUnit4 на JUnit5, детализируя ключевые улучшения, такие как модульная архитектура и новые аннотации, которые значительно упрощают и ускоряют процесс тестирования.

👩‍💻 Простые коммуникации в Java-приложении — статья описывает, как разработать простую систему коммуникации в Java-приложении, используя платформу Jmix, чтобы упростить взаимодействие между пользователями, включая создание интерактивных веб-приложений без глубокого знания фронтенда.

👩‍💻 Создание микросервисов на Java с Dropwizard — статья объясняет, как создавать микросервисы на Java с помощью фреймворка Dropwizard, включая настройку, реализацию CRUD-операций и тестирование.
Please open Telegram to view this post
VIEW IN TELEGRAM
#дайджест перед выходными

👩‍💻 Spring Boot 3.3: повышение производительности, безопасности и observability — Статья рассказывает о новых возможностях Spring Boot 3.3, включая улучшения производительности, безопасности и наблюдаемости. Обновление включает поддержку Class Data Sharing для быстрого запуска приложений, улучшенные настройки безопасности с JWT, поддержку Docker Compose и многое другое.

👩‍💻 Не используйте Lombok с JPA, пока не прочтете эту статью — Статья объясняет, почему использование библиотеки Lombok вместе с JPA может привести к различным проблемам, таким как некорректное сравнение сущностей, снижение производительности и даже ошибки выполнения. Автор делится конкретными примерами и рекомендациями, как правильно использовать Lombok с JPA, чтобы избежать этих проблем.

👩‍💻 Настройка почтового сервера Yandex spring boot — Статья подробно рассказывает, как настроить отправку электронной почты через Yandex с использованием Spring Boot. Автор описывает весь процесс — от создания пароля приложения до реализации класса для отправки писем.

👩‍💻 И опыт, сын ошибок трудных: обрабатываем ошибки в Spring Boot — Статья рассматривает способы обработки ошибок в Spring Boot, делая акцент на создании информативных ответов для пользовательских интерфейсов и интеграций. Автор делится своим опытом, подробно описывая различные подходы и инструменты, такие как исключения, аннотации и аспекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
#дайджест #javadevjob

Вакансии Java разработчиков уровня Junior

▪️Java developer
Самара. Тим — системный интегратор полного цикла
Подробнее

▪️Java-разработчик
Москва. Gridnine Systems — IT решения, повышающие эффективность бизнеса наших клиентов
Подробнее

Вакансии Java разработчиков уровня Middle

▪️Java разработчик
Москва. DIGINETICA — разработка сфере искусственного интеллекта
Подробнее

▪️Backend-разработчик
Екатеринбург. Русофт — разработка, системная интеграция, инфраструктурных решений
Подробнее

Вакансии Java разработчиков уровня Senior

▪️Java-разработчик
Санкт-Петербург. НПП ТЕЛДА — разработка индивидуальных бизнес-решений
Подробнее

▪️Java Developer
Удаленка. TIQUM — разработка и внедрение ПО
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
#дайджест #javadevjob

Вакансии Java разработчиков уровня Junior

▪️Младший разработчик
Удаленка. Doczilla — система управления жизненным циклом контрактов на базе ИИ
Подробнее

▪️Разработчик Java
Барнаул. ЕРЦ — Единый Расчетный Центр
Подробнее

Вакансии Java разработчиков уровня Middle

▪️Разработчик Java
Удаленка. HolyCode — разработка IT решений
Подробнее

▪️Java-разработчик
Удаленка. Смартавиа — авиакомпания
Подробнее

Вакансии Java разработчиков уровня Senior

▪️Java developer
Москва. SSP SOFT — разработка ПО
Подробнее

▪️Java Developer
Москва. Раппорто — интегратор на рынке телекоммуникаций
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
#дайджест #javadevjob

Вакансии Java разработчиков уровня Junior

▪️Java backend developer
Удаленка. H2O — широкий спектр профессиональных клининговых услуг
Подробнее

▪️Младший разработчик
Санкт-Петербург. Бизнес Технологии — разработкой и внедрением информационных систем для автоматизации
Подробнее

Вакансии Java разработчиков уровня Middle

▪️Java Разработчик
Удаленка. Бизнес-Азимут — аутсорс и аутстаф аналитиков и разработчиков
Подробнее

▪️Backend-разработчик
Удаленка. Корпоративные Коммуникации — коммуникационные услуги на основе собственной платформы
Подробнее

Вакансии Java разработчиков уровня Senior

▪️Разработчик Backend
Удаленка. IT-OTS — IT-аутсорсинг, IT-консалтинг, разработка ПО
Подробнее

▪️Java-разработчик
Удаленка. Точка — финтех-компания
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет