Java guru
Ir al canal en Telegram
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Mostrar más941
Suscriptores
Sin datos24 horas
+37 días
+530 días
Archivo de publicaciones
941
Новое событие в JFR для диагностики использования устаревшего (deprecated) кода
В Java есть специальная аннотация @Deprecated для маркировки уставшего кода. С определенной периодичностью такой код из JDK удаляется.
В больших проектах найти куски устаревшего кода в куче зависимостей задача не тривиальная и требующая хорошей автоматизации. В этой ситуации к нам приходит на помощь новый тип события в JFR. Он был добавлен в JDK 22.
Давайте посмотрим на простом примере как это работает.
https://habr.com/ru/articles/837052/
#jfr
941
JPA Entity. Загрузи меня не полностью
Знали ли вы, что JPA сущности можно загружать частично?
Если да, то сколько вы знаете способов загружать сущности JPA частично?
Автор статьи нашел 21 способ!
https://habr.com/ru/companies/spring_aio/articles/833918/
941
Крупнейшая библиотека алгоритмов с открытым исходным кодом на GitHub
Реализация алгоритмов есть на Java и других распространненных языках. Хороший ресурс для подготовки к собесам.
https://the-algorithms.com/ru#aboutUs
941
Нереальная локализация
Статья о том как локализовать обычное корпоративное Java-приложение на.. несуществующие фантастические языки: Клингонский и Р’льех. Про Клингонский я слышал и даже одно время пытался учить, а вот про Р’льех для меня открытие ))
С точки зрения Java стека статья вас особо не удивит, но большинство скорее всего если и сталкивалось с задачами локализации, то скорее всего существующих языков для которых много чего работает сразу «из коробки».
https://habr.com/ru/articles/823836/
941
AlgoMonster
Появилось довольно интересное дополнение к Leetcode для подготовки к техническому собеседованию в западные компании. AlgoMonster разработан программистами из Google, которые на своем опыте знают на сколько сложно качественно подготовиться к собеседованию как минимум в Google ))
https://algo.monster/dashboard
941
Состояние Spring в 2024 году
Spring один из самых популярных фреймворков. В статье освещены основные события и планы.
https://habr.com/ru/companies/spring_aio/articles/834050/
#spring
941
«Скрипач не нужен» или что делать с тестовыми паролями
Приложение обычно до установки на промышленные стенды неоднократно разворачивается на различных тестовых стендах. Если в приложении есть аутентификация, то в полный рост встает вопрос о том как с одной стороны обеспечить безопасность тестовых стендов и с другой стороны не довести требования до маразма.
Автор статьи пошел по очень нетривиальному пути. Он решил через Java Agent манипулировать загружаемыми классами для достижения цели.
https://habr.com/ru/articles/823100/
941
Какой язык программирования самый лучший по мнению нейросети Suno???
Конечно же Java!!! А как мы знаем нейросети еще не научились обманывать...они могут только галлюцинировать ))
На запрос "The best programming language" нейросеть Suno написала песню про Java ))
https://suno.com/song/9f05595d-6aa1-4d6c-9144-cd019e78c1e4
941
Как публиковать библиотеку в 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/
941
Что нового в Java 23?
Java 23 выходит 17 сентября, но уже сейчас можно узнать о фичах вошедших в релиз
https://www.youtube.com/watch?v=kzjGp7LmW0I
#Inside_Java #подкасты
941
Оптимизация кеширования в Spring Boot
Для улучшения производительности приложений иногда приходится прибегать к кешированию.
В Spring Boot есть удобные инструменты для добавления кеширования.В
статье рассказывается как добиться оптимального использования кеша.
https://digma.ai/top-7-techniques-to-optimize-caching-in-spring-boot/#custom-eviction-policies
#spring #tunning
941
Стенд для нагрузочного тестирования на Testcontainers
Обычно Testcontainers используют для интеграционных тестов, но в статье приводится пример их использования для нагрузочных тестов. Решение конечно спорное особенно если стенд нагрузочного тестирования будет сильно отличаться от промышленного, но окей ))
Из интересного там приводятся примеры для Gatling, WRK и Yandex.Tank.
https://habr.com/ru/articles/819589/
941
Создание дистрибутивов для разных операционных систем в Java 21 и 22
Можно ли «запаковать» java приложение в exe файл для Windows? Да!
Раньше для этого активно использовались сторонние продукты, но в самой JDK такая возможность тоже развивалась. В статье приведена краткая хронология, а также описано каким образом эту задачу решает IntelliJ IDEA.
https://habr.com/ru/companies/jugru/articles/816981/
941
MapStruct — смаппь меня, если сможешь
MapStruct это библиотека позволяющая переносить данные из одних объектов в другие. В рамках переноса данных можно настроить преобразования над ними. Чаще всего ее используется для работы с DTO. У нее как и у Lombok есть не только фанаты, но и хейтеры. В комментах под статьей они опять схлестнулись в жарком споре ))
https://habr.com/ru/articles/818489/
941
Azul CEO sees Java’s AI future as bright
Интересное интервью от CEO компании Azul. Я разделю его точку зрения относительно того, что в ближайшее время Java начнет играть более значимую роль на поприще AI. Сейчас при упоминании AI первый язык приходящий в голову - Python, но он по большей части лишь «обертка» над AI логикой в нативных библиотеках. По мере роста потребности бизнеса в интеграции AI в существующие корпоративные приложения и более быстрого развития AI движков будет появляться все больше возможностей в самой Java и ее экосистеме.
https://www.infoworld.com/article/3715467/azul-ceo-sees-javas-ai-future-as-bright.html#tk.rss_java
941
Amplicode: учим IDE говорить на языке фреймворка
Довольно интересная альтернатива IntelliJ IDEA Ultimate. По факту это довольно прокаченный плагин к IntelliJ IDEA Community, который пока доступен бесплатно. Напрягает правда неопределенность с планами по монетизации этого плагина.
https://habr.com/ru/companies/haulmont/articles/814207/
941
Hazelcast: эксперименты с настройкой и долговременным хранением больших объектов in-memory
Статья будет полезна для тех, кто поддерживает приложения на Java, так как большая ее часть посвящена анализу работы G1 GC, знакомству с соответствующими инструментами и особенностями тюнинга GC, в частности для очень больших heap`ов. А также тем, кто пытается разобраться, на что способен Hazelcast, и для чего его можно применить.
https://habr.com/ru/companies/croc/articles/816973/
941
Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka
В статье автор перебирает разные подходы к тестированию продюсеров и консьюмеров. В конце довольно интересное решение с использованием
autoStartup на @KafkaListener. Хотя как отмечено в комментариях к статье он мог бы проще добиться цели вынеся логику из консьюмеров и продюсеров в отдельные сервисы )
https://habr.com/ru/companies/alfastrah/articles/816057/941
Gatling vs JMeter DSL
В продолжение темы из прошлого поста. По ссылке сравнение Gatling и JMeter DSL от автора JMeter DSL. Оно достаточно субъективно, но дает понимание мотивации автора на создание JMeter DSL. По факту у Gatling только в версии 3.7 появился Java friendly API. Остальные минусы указанные в статье думаю Gatling быстро нагонит, но попробовать JMeter DSL стоит особенно если вы раньше много работали с JMeter.
https://abstracta.github.io/jmeter-java-dsl/motivation/#comparison-table
941
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Многие команды сейчас переходят на Gatling для задач нагрузочного тестирования. В статье приводится пример не просто использования Apache JMeter для нагрузочного тестирования, а построение «непрерывного нагрузочного тестирования» в рамках CI/CD. Стек TestNG / Cucumber / Allure, для задач CI/CD используется Jenkins. В комментариях к статье автору предлагают еще использовать JMeter DSL. Тоже достаточно интересный кейс.
https://habr.com/ru/companies/nspk/articles/709822/
