Java guru
5.22K subscribers
1 photo
1 video
1 file
258 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Как публиковать библиотеку в Maven Central Portal в 2024 году

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна.

Процесс публикации можно разбить на следующие шаги:

1. Регистрация на Central Portal и верификация namespace
2. Создания GPG ключа для подписи артефактов
3. Локальная публикация проекта для теста
4. Подключение JReleaser к проекту и публикация локально
5. Настройка Github Actions для автоматической публикации

Более детально процесс описан в статье.

https://habr.com/ru/articles/830630/
Какой язык программирования самый лучший по мнению нейросети Suno???

Конечно же Java!!! А как мы знаем нейросети еще не научились обманывать...они могут только галлюцинировать ))

На запрос "The best programming language" нейросеть Suno написала песню про Java ))

https://suno.com/song/9f05595d-6aa1-4d6c-9144-cd019e78c1e4
«Скрипач не нужен» или что делать с тестовыми паролями

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

Автор статьи пошел по очень нетривиальному пути. Он решил через Java Agent манипулировать загружаемыми классами для достижения цели.

https://habr.com/ru/articles/823100/
AlgoMonster

Появилось довольно интересное дополнение к Leetcode для подготовки к техническому собеседованию в западные компании. AlgoMonster разработан программистами из Google, которые на своем опыте знают на сколько сложно качественно подготовиться к собеседованию как минимум в Google ))

https://algo.monster/dashboard
Нереальная локализация

Статья о том как локализовать обычное корпоративное Java-приложение на.. несуществующие фантастические языки: Клингонский и Р’льех. Про Клингонский я слышал и даже одно время пытался учить, а вот про Р’льех для меня открытие ))

С точки зрения Java стека статья вас особо не удивит, но большинство скорее всего если и сталкивалось с задачами локализации, то скорее всего существующих языков для которых много чего работает сразу «из коробки».

https://habr.com/ru/articles/823836/
Крупнейшая библиотека алгоритмов с открытым исходным кодом на GitHub

Реализация алгоритмов есть на Java и других распространненных языках. Хороший ресурс для подготовки к собесам.

https://the-algorithms.com/ru#aboutUs
JPA Entity. Загрузи меня не полностью

Знали ли вы, что JPA сущности можно загружать частично?
Если да, то сколько вы знаете способов загружать сущности JPA частично?

Автор статьи нашел 21 способ!

https://habr.com/ru/companies/spring_aio/articles/833918/
Новое событие в JFR для диагностики использования устаревшего (deprecated) кода

В Java есть специальная аннотация @Deprecated для маркировки уставшего кода. С определенной периодичностью такой код из JDK удаляется.

В больших проектах найти куски устаревшего кода в куче зависимостей задача не тривиальная и требующая хорошей автоматизации. В этой ситуации к нам приходит на помощь новый тип события в JFR. Он был добавлен в JDK 22.
Давайте посмотрим на простом примере как это работает.

https://habr.com/ru/articles/837052/

#jfr
Шпаргалка по сложности алгоритмов

Все наглядно и без "лишней воды". Может пригодиться для собесов.

https://www.bigocheatsheet.com/pdf/big-o-cheatsheet.pdf

#algorithm #interview
Устаревшие мифы про Java

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

Если тема и формат понравится, то будет больше публикаций по этой теме.

https://habr.com/ru/articles/842384/
Лучшие практики для Java-приложений в Kubernetes

В этой статье вы прочитаете о лучших практиках запуска Java-приложений в Kubernetes. Большинство из этих рекомендаций будут справедливы и для других языков.

https://piotrminkowski.com/2023/02/13/best-practices-for-java-apps-on-kubernetes/
Кстати, с Днем Программиста ))
Middle-starter-pack по spring data

Как показывает практика, многие разработчики относятся к аннотациям в коде как к магическим заклинаниям, при этом даже не задумываясь о том, почему эти "заклинания" вообще работают.

Код всегда работает так как мы его написали (или не мы), если мы считаем что код работает не так, значит мы что-то не знаем/не учитываем.

Кейсы разобраны довольно интересные.

https://habr.com/ru/articles/824936/
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать

В статье говорится об одном из lock-free алгоритмов в Java и разбирается связанное с ним ключевое слово volatile и паттерн immutable.

https://habr.com/ru/companies/bercut/articles/822253/
Spring Boot Starter: практически, принципиально и подробнее. Часть 2

Это вторая статья из серии статей о том как создавать Spring Boot Starter. Ссылка на первую есть в начале статьи. Первую имеет смысл читать если вы не знакомы со стартерами.

Во второй на прикольных примерах разбираются возможные аннотации для конфигурирования. Стоит особо отметить примеры создания кастомных аннотаций.

https://habr.com/ru/companies/ru_mts/articles/825014/
Вышла Java 23

Вышла общедоступная версия Java 23. В этот релиз попало около 2400 закрытых задач и 12 JEP'ов. Release Notes можно посмотреть здесь. Полный список изменений API – здесь.
Java 23 не является LTS-релизом, и у неё будут выходить обновления только полгода (до марта 2025 года).

https://habr.com/ru/news/844060/
Опыт отладки хитрой утечки памяти

Окружение: потоковые конвейеры обработки данных, созданные с помощью Apache Flink.

Симптомы: Время от времени некоторые таски «валятся» из-за утечек памяти.

Статья интересна не только найденной причиной проблемы, но и описанием процесса поиска причины.


https://habr.com/ru/companies/wunderfund/articles/843618/
Как расширить JPA для работы с JSONB в PostgreSQL

Для работы с JSONB в PostgreSQL можно использовать и нативные SQL-запросы, но если в вашем проекте подключен Hibernate, то вы можете решить задачу более объектно ориентированно.

https://habr.com/ru/companies/itfb/articles/825406/
Умножение Монтгомери

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

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

https://habr.com/ru/articles/827880/