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

Список наших каналов: https://t.me/proglibrary/9197

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

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
💁💁 Создание дистрибутивов для разных операционных систем в Java 21 и 22

Статья рассказывает о построении дистрибутивов приложений для операционных систем Windows, macOS и Linux в случае использования Java 21 и 22.

Инструменты, позволяющие выполнять компиляцию, сборку, создание цифровой подписи и дистрибутивов Java-приложений, впервые появились в JDK 7 Update 6. Первоначально они предназначались в первую очередь для JavaFX-приложений и были доступны в виде утилиты командной строки javafxpackager и в виде задач (tasks) для Ant. В официальной документации задачи для Ant имеют наименование JavaFX Ant Tasks

Продолжение тут

#гайд
Очередной #дайджест для джавистов

🔻 zio 2.1.1 — выпустили первый серьезный релиз после 2.0.X-версий. Прокачали рантайм, сломали совместимость по части автоотслеживания blocking-операций

🔻 JPoint 2024 — 17 апреля прошла онлайн-часть JPoint 2024, а 24 и 25 — офлайн. Презентации всех докладов уже доступны для свободного просмотра

🔻 Как работать с Apache Kafka в Spring Boot — обзорная статья про Kafka. Верхнеуровнево рассмотрена архитектура, основные компоненты системы и API. Есть пример использования из SpringBoot-приложения

🔻 Настройка ZIO для достижения высокой производительности — статья от текущего мейнтейнера zio о том, как тюнить performance zio-приложения. Минимум воды, максимум полезных и малоизвестных трюков с фреймворком

🔻 Интересные факты о потоках и коллекциях Java — небольшая статья с кучей примеров и интересными фактами о стримах и коллекциях, превью фичи java 22, специальные коллекции для Enum и не только
Может ли интерфейс иметь конструктор в Java?
Anonymous Quiz
19%
Да
81%
Нет
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
💥💥 Блеск и нищета нового Scrolling API в Spring Data

В Spring Data 3.1 появилось новое API для итерирования по большому объему данных: Scrolling API. В статье посмотрите на практические применения с примерами кода и преимущества по сравнению со всем известным Pageable. А также будет разбор, чего Scrolling API пока не хватает, и можно ли его вообще брать в свои проекты. Если хотите выяснить, как с новым API в теории ускорить пагинацию больших данных — читайте далее

#гайд
Совет по Spring Boot

Начиная с Spring Boot 3.1🍃, вы можете автоматически запускать внешние сервисы (например, базы данных) в режиме dev, используя Testcontainers и новую `spring-boot:test-run`.
🐍🤖💬 Создаём бота-автоответчика для Telegram на ChatGPT и Aiogram 3: пошаговое руководство

Не так давно в Telegram вышло большое обновление — «Telegram для бизнеса». В данный момент оно доступно для Premium-пользователей, а в будущем, вероятно, станет отдельным режимом. Одна из его интересных функций — возможность подключить к учётной записи бота для взаимодействия с клиентами в личных чатах.

В новой статье мы рассказываем, как создать такого Telegram-бота, который будет принимать личные сообщения только в нерабочее время и для ответа использовать ChatGPT от OpenAI.

🔗 Читать статью
🔗 Зеркало
🚶🚶 Lazy Loading в Java

Вы когда-нибудь замечали, как котики, лениво потягиваясь и сворачиваясь клубком, экономят энергию и действуют только тогда, когда это действительно необходимо?

Как и наши хвостатые друзья, существует такой паттерн как Lazy Loading, который позволяет экономить ресурсы, инициализируя объекты только тогда, когда они действительно нужны.

Читать далее

#гайд
Jailer — инструмент для работы с БД, анализа отношений между таблицами и для многого другого

Особенности:

🔺 повышает производительность базы данных за счет удаления и архивирования устаревших данных без нарушения целостности.
🔺 генерирует топологически отсортированные наборы данных SQL-DML, иерархически структурированные XML и DbUnit
🔺 позволяет удобно просмотривать данные при помощи двунаправленной навигации по БД
🔺 предоставляет консоль SQL с автодополнением кода, подсветкой синтаксиса и визуализацией метаданных БД

Работает с PostgreSQL, Oracle, MySQL, MariaDB, Microsoft SQL Server, IBM Db2, SQLite, Sybase, Amazon Redshift, Firebird, Informix Dynamic Server, H2, Exasol.

#софт
👀Что из этого сгенерировала нейросеть?

Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:

🌸Новые нейросети и инструменты, например, вот модель генерирует картинки по наброску
🌸Промты для разных задач
🌸Лайфхаки по использованию нейросетей

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
#дайджест перед выходными

✳️ JEP 473: Stream Gatherers (Second Preview) — JEP нужен для поддержки пользовательских промежуточных операций в Stream API

✳️ Java Withers — Inside Java Newscast — новое ключевое слово with позволит лаконично выразить в коде инструкцию о создании копии record-а, и помимо устранения бойлерплейта, эта фича также открывает еще несколько интересных возможностей

✳️ Spring Framework 6.2.0-M1 — небольшая заметка, где описываются фичи Spring 6.2.0: фоновая инициализация бинов, fallback-бины, интеграция MockMvc с AssertJ

✳️ Getting started with bld — новый инструмент сборки проекта, который фокусируется на простоте и предоставляет конфигурацию на чистой Java

✳️ Make Invalid States Unrepresentable — от наиболее нетипизированного представления любых данных в виде String до newtype и refined
Методы Object

toString() — переводит объект в строку. Если не определено, выводиться полное имя класса.

hashCode() — переводит объект в число, так называемый хэш-код.

getClass() — позволяет получить тип.

equals() — сравнивает два объекта на равенство.
🍓 Подборка лучших статей «Библиотеки программиста» за май: сохраняй в заметки, чтобы не пропустить #самыйсок

🗝️ 40 незаменимых API для разработчиков
❤️ Активация с первого взгляда: как влюбить пользователя в продукт
💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
💻🚀💊 «Доктор Хаус»: ИИ-диагност в вашем телефоне. Передаём стартап в хорошие руки
📖 ТОП-10 книг о том, как правильно построить карьеру в IT
🤯 Как простая задачка поставила в тупик программистов (и как они из него выбрались)
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа
💸📊 На сколько просели зарплаты в ИТ в 2024 году?
⭐️🎤 Как не облажаться с докладом на IT-конференции
🎭 7 типов программистов, которых вы встретите на собеседовании
🔍 Тестирование в Java: лучшие практики, инструменты и рекомендации для разработчиков
👁️💼 Открытые и скрытые вакансии в IT: как найти работу мечты
🎮Новый канал по разработке игр

Мы наконец-то запустили канал по разработке игр — теперь все самое важное и полезное из мира геймдева можно узнать в одном месте.

👉Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM