Библиотека джависта | 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
加入频道
🚧🚧 Тестирование асинхронного контракта Spring Boot приложения (Kafka Consumer+Producer)

Как написать интеграционный\сервисный\авто тест для Spring Boot приложения, которое взаимодействует с внешним миром исключительно с помощью Kafka. Сначала автор разбирает проблему, а затем поэтапно развивает тесты, чтобы привести их к состоянию defenition-of-done.

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

#гайд
Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?

Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).

Таким образом, исходя из факта, что FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.
Привет, друзья! 👋
Мы готовим статью о типичных ошибках начинающих разработчиков. И нам очень нужна ваша помощь! 🙏
Поделитесь своим опытом и мнением в комментариях:
С какими сложностями вы сталкивались в начале своего пути в разработке?
Какие ошибки допускали и как их исправляли?
Что помогло вам быстрее расти профессионально?
Самые интересные и полезные советы мы обязательно включим в статью, а их авторов упомянем в публикации! 😊
#дайджест перед выходными

⤵️ Modules Make javac Easy: Dependencies and Tests — автор рассказал про то, как добавлять зависимости в проект и запускать тесты, не покидая терминал

⤵️ Конференция KotlinConf’24 — записи с конфы в Копенгагене

⤵️ Guide to Graal VM — рассказывают про GraalVM и преимущества, которые он предоставляет, затем небольшой бенчмарк со сравнением с популярными VM для Java

⤵️ flatmappers 019 — оригинальные подходы в сборке Scala проектов и Yтка-DB

⤵️ Middle-starter-pack по spring data — особенности использования Transactional в SpringBoot приложении (разбор типовых ошибок среднестатистического разработчика)
🤖 Создание собственного ИИ-бота на Python за 33 строчки кода

В статье рассказываем, как создать собственный чат-бот на Python с помощью языковой модели falcon-7b-instruct, которая следует инструкциям. Доступ к модели мы получаем благодаря Hugging Face.

🔗 Читать статью
🔗 Зеркало
💁💁 Spring Boot Starter: практически, принципиально и подробно

В этом цикле статей автор поделится выжимкой из материалов, накопленных в процессе создания микросервисов. Это будет полезно тем, кто только начинает разбираться, что же такое Spring Boot Starter и с чем его едят.

Первая часть посвящена созданию принципиального решения, которое позволит запустить стартер как подключаемую к другому Spring Boot-приложению библиотеку.

Во второй части будет разбор зависимостей, стандартных и кастомных аннотаций

#туториал
📱 Переменные в Java

Переменная в Java — это контейнер, в котором может храниться некоторое значение данных для дальнейшего использования в программе. Переменные в Java бывают двух видов: предназначенные для для маленьких данных (примитивные переменные) и для более сложных, тяжёлых (ссылочные переменные). Мы рассмотрим первый случай, когда переменные хранят именно само значение данных.

Кстати, прошлый пост про Java:
☕️🎓 Java — современный инструмент разработчика

#Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
microG Services — открытая реализация Play Services на Java и Kotlin

Это FLOSS (Free/Libre Open Source Software) фреймворк, позволяющий запускать приложения, разработанные для Google Play Services, на системах, где Play Services недоступны.

🔘 Wiki

#софт
📧 Отклик на вакансию по email: как сделать так, чтобы ваше письмо выделялось

Вы отправляете десятки откликов на вакансии, но не получаете ответа? Возможно, дело в том, как вы пишете свои письма. Узнайте, какие ошибки могут стоить вам работы мечты и как их избежать.

👉 Статья
😎😎 Запуск встроенного LDAP на базе OpenDJ в Spring Boot приложении

В статье происходит настройка Spring Boot приложения со встроенным LDAP на базе LDAP сервера с открытым исходным кодом OpenDJ. Это может понадобиться как для тестов, так и для продуктивного использования. Например, для аутентификации через LDAP.

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

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

⬅️ 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-приложения + ссылка на репозиторий с кодом примера
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут.

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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