Библиотека джависта | 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
加入频道
🎢🎢 Генерация OpenAPI из Spring Boot MVC

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

Для генерации будет использоваться зависимость springdoc-openapi-starter-webmvc-ui.

Библиотека поддерживает:

👉 OpenAPI 3
👉 Spring Boot V3 (для V2 используется другая зависимость, более подробно в документации)
JSR-303
👉 Swagger UI (будет сгенерирована страница с интерфейсом, через который мы сможем отправлять запросы на сервер)
👉 OAuth 2 (это проверять не будем, но добавим токен типа Bearer)
👉 GraalVM native images (не будем проверять)

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

#туториал
💁💁 Как начать писать на Java в VSCode

Подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

В какой‑то мере все Java‑разработчики стали заложниками IDEA. Она так привычна, что нет желания пробовать другое. Ведь всё такое удобное и знакомое за столько лет использования.

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Продолжение здесь

#гайд
Artipie

Это бесплатный инструмент управления двоичными артефактами, который позволяет вам создавать и управлять своими собственными частными репозиториями. Artipie построен на Java и может быть развернут на любой платформе, поддерживающей Java.
Почему современные фреймворки используют в основном только unchecked exceptions?

Unchecked exceptions используются в основном потому, что они не требуют обязательной обработки исключений в коде. Это позволяет упростить код и сделать его более читаемым. Однако, это также может привести к тому, что исключения не будут обработаны и программа может завершиться аварийно.

Некоторые же фреймворки используют checked exceptions для обработки ошибок ввода-вывода или других проблем, которые могут возникнуть в процессе выполнения программы. Однако это может привести к тому, что код станетболее сложным и менее читаемым.
Очередной #дайджест для джавистов

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

🔴 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`