Библиотека джависта | 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
🚶🚶 Lazy Loading в Java

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

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

Читать далее

#гайд
🤔🤔 Как сделать пароль менеджер

Для хранения паролей будет использоваться файл формата xml, который будет шифроваться методом AES-256 и храниться в облаке. В качестве облака был выбран сервис «Яндекс диск».

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

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

#гайд
💥💥 Как шаблонный метод может сломать ваш Java код

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

Читать

#гайд
🚧🚧 От логов к аудиту

В статье коротко рассмотрены различия между обычными логами и аудит-логами. Основное внимание уделено реализации аудит-логирования в Java, включая использование аннотаций и АОП, приведен пример настройки роутинга логов через rsyslog.

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

#гайд
💪💪 Пишем кастомный Plugin SonarQube

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

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

#гайд
🚧🚧 Тестирование асинхронного контракта Spring Boot приложения (Kafka Consumer+Producer)

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

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

#гайд
🤷🤷 Умножение Монтгомери

Деление целых чисел — это долго и сложно. Вычислять остаток от деления — нисколько не проще. При этом в спортивном программировании, да и в прикладной математике типа криптографии, задача умножения чисел по модулю встречается повсеместно.

Один из вариантов эффективного решения — умножать по модулю, вообще при этом не используя операции деления, с помощью алгоритма Монтгомери.

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

#гайд
💪💪 7 основных способов оптимизировать кеширование в Spring Boot

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

В статье вы узнаете про 7 основных техник оптимизации кеширования в Spring Boot, которые могут помочь значительно улучшить производительность. От выбора идеальных кандидатов для кеширования до реализации асинхронного кеша и мониторинга метрик кеша.

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

#гайд
🧑‍🎓🧑‍🎓 Expression Problem и Объектные алгебры

Expression Problem (EP) — это классическая задача в программировании на совмещение несовместимого.

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

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

#гайд
🤔🤔 Как разработать онлайновый компилятор кода при помощи Java и Docker

Вы когда-нибудь задумывались, как устроены такие платформы как Codeforces и LeetCode? Как именно они компилируют и выполняют код, поступающий от множества пользователей и проверяют его в тестовых кейсах? Как определяют эффективность алгоритмов?
В этой статье будет подробный разбор того, как выстроить высокоэффективную платформу для решения задач.

Исходный код к этой статье выложен на Github

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

#гайд
📐📏 Работа с геометрией в JPA и Spring Boot 3

Автору понадобилось сделать добавление адресов клиентов, и проверку входит ли этот адрес в зону доставки.

В статье будет разобрано, что такое геометрия, как с ней можно работать в sql и no-sql базах данных

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

#гайд
💁💁 Самый простой способ проверить работу веб-приложения под нагрузкой на примере JMeter и Grafana

Рассказ о нагрузочном тестировании с помощью JMeter, Grafana и Prometheus, а также, как тестировать три сценария: с двумя, 10 и 100 запросами в секунду.


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

#гайд