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

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

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

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Очередной #дайджест для джавистов

🔴 Когда интеграция баз данных превосходит микросервисы — автор предлагает несколько вариантов архитектуры, подробно рассматривая микросервисную архитектуру и подход интеграции через БД

🔴 JEP 463: Неявно объявленные классы и основные методы экземпляра — JEP содержит изменения правил для неявного объявления классов в исходных файлах и процедуры выбора основного метода для вызова

🔴 Почему Effect важнее, чем ZIO — рассказывает о том, как фреймворк Effect связан с ZIO

🔴 Освоение Enum в Java — руководство для разработчиков

🔴 sbt-buildinfo 0.12.0 — плагин для генерации объекта, описывающего текущий sbt-билд проекта, обзавелся поддержкой Scala 3
🗝️ 40 незаменимых API для разработчиков

Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.

🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
Java Native Interface

Это механизм, который позволяет вызывать функции, написанные на языке C или других языках, из программы, написанной на Java, и наоборот.

JNI необходимо использовать осторожно, так как неправильное использование может привести к утечке памяти и нарушить безопасность и стабильность вашей программы.
🎤 Как не облажаться с докладом на IT-конференции

Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.

🔗 Читать статью
🔗 Зеркало
🧑‍🎓🧑‍🎓 Комбинированная авторизация в Spring Security: Социальные сети и логин через username/password

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

Основная проблема состоит в том, что начиная с версии Spring Security 5.7.0 класс WebSecurityConfigurerAdapter объявлен устаревшим и его использование в будущих версиях невозможно. Однако большинство существующих руководств все еще опираются на наследование этого класса.

Читать статью
✉️ Как завалить собеседование, даже не начав его: 8 ошибок в сопроводительных письмах

Откликаетесь, но сразу получаете отказы? Не торопитесь с выводами — возможно, все дело в вашем сопроводительном письме.

👉Сопроводительное — это первое впечатление, которое мы производим на эйчара, а первое впечатление, как известно, очень важно.

Собрали для вас несколько распространенных ошибок по составлению такого письма — а в статье по ссылке можно найти остальные ошибки и пример идеального сопроводительного.

Кстати, вакансии можно поискать в наших профильных каналах:
🤮Data Science, анализ данных, аналитика
🤮Python
🤮Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Очередной #дайджест для джависта

🔹 Spring предлагает бесплатный доступ к контенту Spring Academy Pro — платная подписка для профессионального контента Spring Academy больше не требуется, а новый контент продолжит появляться

🔹 Capture Checking in Scala 3.4 — автор рассказывает, как усиленно разрабатываемый capture checking поможет сделать менеджмент ресурсов еще более безопасным

🔹 GraalVM for JDK 22 Community 22.0.1 — релиз GraalVM для JDK 22 Community 22.0.1 от Oracle Labs содержит исправления на основе критического обновления от Oracle за апрель 2024 года

🔹 Повышение производительности разработчиков с помощью IntelliJ IDEA — туториал по возможностям Intelij IDEA. Отлично подойдет для новичков

🔹 JEP draft: обработка исключений в switch — драфт JEP, посвященный обработке исключений в switch. Основная мотивация — сделать менее громоздкой конструкцию switch, обернутую в try-catch
⚡️Proglib запускает канал про ИИ для генерации звука

Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.

⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Java-программа для преобразования десятичной системы счисления в двоичную

Воспользуемся побитовыми операторами для решения данной задачи.

Временная сложность: O (1)
Вспомогательное пространство: O (1).
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
💪💪 Java 23: Restoring the Balance with Primitive Patterns

Не хватало паттернов в Java? Вот еще один — Primitive Patterns, фича появится в статусе preview в Java 23. Можно будет использовать паттерн-матчинг для примитивных типов в instanceof и switch. Подробнее о том, как это работает и почему очень упростит приведение примитивных типов, — в видео. Бонусом идет обзор нескольких вариантов паттерн-матчинга, которые потенциально могут появляться в Java.

Смотреть

#видео
Начиная с Spring Boot 3.1, вы можете автоматически запускать внешние сервисы (например, базы данных) в режиме dev, используя Testcontainers и новую `spring-boot:test-run`
🤔🤔 Custom Kafka Deserializer и Spring’овый контекст

Речь пойдет о том, как инжектить в статические поля, с примерами.

На практике десериализаторов, представленных в ядре Spring, хватает в 99% случаев. Но бывают ситуации, когда всё же требуется описать свою логику предобработки входящего сообщения.

Для наглядности предлагается рассмотреть гипотетический случай, когда на вход Kafka подается строка лога с задаваемым разделителем. В этой строке будет интересовать часть сообщения: нужно будет делить строку по определенному символу и собирать из получившегося массива новую строку.

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

#туториал
Расскажите про приведение типов. Что такое понижение и повышение типа?

Приведение типов — это преобразование переменной одного типа в другой.

Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.

Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
MenuItem — это интерфейс, который представляет элемент меню в графическом пользовательском интерфейсе (GUI) приложения, таком как оконное приложение, веб-приложение или мобильное приложение. Этот интерфейс используется в различных библиотеках и фреймворках, таких как Java AWT (Abstract Window Toolkit) и JavaFX для создания меню и команд, доступных пользователю.

MenuItem определяет базовые методы и свойства, которые используются для создания и настройки элементов меню.
Хардкорный курс по математике для тех, кто правда любит математику!

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096

Что вас ждет:

– Вводный урок от CPO курса

– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск

– Практические задания для закрепления материала и ссылки на дополнительные материалы.

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/3e093096
Please open Telegram to view this post
VIEW IN TELEGRAM