Библиотека джависта | 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
😎😎 Как распознать текст, написанный искусственным интеллектом: основные признаки

В последние годы искусственный интеллект (ИИ) сделал значительные шаги вперед, особенно в области создания текстов. Сегодня ИИ способен писать статьи, сообщения и даже художественные произведения, которые на первый взгляд трудно отличить от работ человека. Однако существуют определенные признаки, методы и инструменты, которые могут помочь распознать текст, написанный ИИ. В этой статье рассматриваются основные признаки ИИ-текста, методы его распознавания и доступные инструменты для этой цели.

Читать статью

#гайд
🤯 Как простая задачка поставила в тупик программистов (и как они из него выбрались)

В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.

Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
🧑‍🎓🧑‍🎓 Amplicode: учим IDE говорить на языке фреймворка

Amplicode — это коллекция инструментов, работающих на основе IntelliJ IDEA Community, Ultimate и VS Code. Amplicode учит вашу IDE говорить и думать на языке библиотек и фреймворков — Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct, StoryBook, ReactAdmin. Все эти инструменты объединены общими принципами, что гарантирует быстрое погружение и удобную работу, несмотря на обилие функций. В результате вы пишете «обслуживающий» код быстрее, эффективнее и качественнее. Как это работает, рассказывают в статье

#гайд
Зачем нужны и какие бывают блоки инициализации?

Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.

• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
#дайджест перед выходными

🔴 Декомпозиция — ваша суперсила. На примере сложной задачи разберетесь, как подойти к ней учитывая будущую поддержку и расширение возможностей

🔴 Вышла альфа мажорной версии Hibernate 7.0.0.Alpha1. Jakarta Persistence 3.2, минимальная версия Java теперь 17, миграция с Hibernate Commons Annotations на Hibernate Models и гайд по миграции

🔴 JEP draft: Exception handling in switch. Драфт JEP, посвященный обработке исключений в switch. Основная мотивация — сделать менее громоздкой конструкцию switch, обернутую в try-catch

🔴 Java Frameworks, которые необходимо знать. В посте обзор инструментов (да, там не только фреймворки), которые стоит освоить современному Java-разработчику

🔴 Обеспечение правильного использования новых функций Java 21. Советы в основном посвящены новым API, виртуальным потокам и switch-ам
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России

Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.

Читать статью
😬😬 Душный собес на Senior Java Backend в банк

Собеседование в российский банк с фулл удаленкой из любой страны!
Казалось бы возможно такое?
В конце интервьюер признался почему вопросы СЛОЖНЕЕ с каждым годом и подсказал пару лайфхаков при торге ЗП

Смотреть

#видео
Не оставляйте try/catch блоки пустыми

Обязательно выводите ошибки или обрабатывайте их! Если их игнорировать, будет трудно найти баг и придётся дебажить код.

Исключения стоит выводить хотя бы через System.out.println(), но ещё лучше воспользоваться логгером log4j.
💁💁 Создание дистрибутивов для разных операционных систем в 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, который позволяет экономить ресурсы, инициализируя объекты только тогда, когда они действительно нужны.

Читать далее

#гайд