Чашечка Java
Kanalga Telegram’da o‘tish
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Ko'proq ko'rsatish8 574
Obunachilar
+124 soatlar
+27 kunlar
+530 kunlar
Postlar arxiv
8 574
Spring Now Offers Free Access for the Spring Academy Pro Content
The Spring team has announced that the Pro Content from their Spring Academy will no longer require a paid subscription to improve the learning experience for the Spring community. The Spring Academy will continue to provide new content in the future.
By Johan Janssen
Read: https://www.infoq.com/news/2024/04/spring-academy-pro-free/
@a_cup_of_java
8 574
Azure Event Grid Supports MQTT Last Will and Testament in Public Preview
Recently, Microsoft announced the public preview release of the Last Will and Testament (LWT) support in Azure Event Grid's MQTT broker capability, which complies with the MQTTv3.1.1 and MQTTv5 specifications.
By Steef-Jan Wiggers
Read: https://www.infoq.com/news/2024/04/azure-eventgrid-lwt-preview/
@a_cup_of_java
8 574
Настройка конвейерной сборки Java-проектов в GitLab
Автоматическая доставка проектных артефактов в тестовые и продуктивные среды является безусловной необходимостью современных процессов промышленной разработки ПО.
Мы пройдем полный процесс создания пайплайна для сборки и деплоя при помощи GitLab и сопутствующего ПО. Все операции мы проделаем на одном компьютере, хотя ничто не должно вам помешать сразу или в дальнейшем масштабировать полученное решение на один или несколько серверов. Для экспериментов лучше иметь достаточно современный компьютер с количеством оперативной памяти не менее 16 гигабайт, производительным процессором и хорошим интернет-каналом.
Предполагается, что у вас уже установлены Docker и ssh-сервер и вы немного умеете со всем этим обращаться.
Читать: https://habr.com/ru/companies/haulmont/articles/810151/?utm_campaign=810151
@a_cup_of_java
8 574
Oracle JDK Mission Control 9 добавляет темную тему, настраиваемый браузер JVM
Read: https://www.infoworld.com/article/3715364/oracle-jdk-mission-control-9-adds-dark-theme-configurable-jvm-browser.html#tk.rss_java
@a_cup_of_java
8 574
Предложение Java добавит исключения в переключатель
Read: https://www.infoworld.com/article/3715343/java-proposal-would-add-exception-case-to-switch.html#tk.rss_java
@a_cup_of_java
8 574
DDD простыми словами
Часто в больших компания всё поделено на большие системы. А если система «Legacy», т.е. устаревшая, то часто внутри неё собрано очень много разнородного функционала. По сути такие системы представляют из себя монолитных монстров.
Бывает, что компании решают использовать микросервисный подход, но в результате получают таких же монолитных монстров, но только работающих в Кубере.
Границы систем размыты, нет чёткого понимания, что должно входить в систему, а что нет.
Команды сильно специализированы на конкретную систему и не могут участвовать в доработке никакой другой системы.
По сути, речь идёт о том, что системы становится слишком большими и для их доработки требуется длительный процесс погружения.
Можно ли исправить ситуацию коренным образом?
Читать: https://habr.com/ru/articles/809831/?utm_campaign=809831
@a_cup_of_java
8 574
Нагрузи меня, Gatling
Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. Если решитесь продолжать, то Вас ждет длинное чтиво. Результатом потраченного времени и внимания будет понимание того, зачем нужно нагрузочное тестирование, с чего начать, куда двигаться дальше и шаблонный проект нагрузочных тестов, который Вы сможете адаптировать под себя. Все используемые мной технологии в этой статье несут печать Java экосистемы. Это тоже может повлиять на то, решитесь ли Вы продолжать. Поехали ...
Читать
Читать: https://habr.com/ru/companies/alfastrah/articles/808281/?utm_campaign=808281
@a_cup_of_java
8 574
Java News Roundup: Jakarta EE 11-M2, JEPs Targeted for JDK 23, Spring Boot, Hibernate, GlassFish
This week's Java roundup for April 15th, 2024 features news highlighting: the second milestone release of Jakarta EE 11; Stream Gathers (Second Preview) and Vector API (Eighth Incubator) targeted for JDK 23; the first release candidate of Spring Boot 3.3.0; the first alpha release of Hibernate 7.0.0; and the fifth milestone release of GlassFish 8.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2024/04/java-news-roundup-apr15-2024/
@a_cup_of_java
8 574
Что нового в GitVerse
На онлайн-презентации «GitVerse: открой вселенную кода» СберТех рассказал об обновлениях платформы. Cреди них – CI/CD-инструменты, которые позволят ускорить и упростить разработку. Делимся подробностями:
▪️ Инструменты помогут автоматизировать сборку кода и процессы поставки. Можно воспользоваться уже написанными скриптами сборки и перенести свои проекты с Git-репозиториев в один клик.
▪️ Технология оповещения о новых событиях на сервере (вебхуки) позволит реализовать еще больше сценариев автоматизации.
▪️ Появилась возможность вызывать сторонние сервисы через API по событиям в GitVerse. Например, при определенных событиях в репозитории можно запустить сторонний сборочный конвейер или отправить уведомление в мессенджер.
Регистрируйтесь на GitVerse и протестируйте сами 😉
Реклама
8 574
JDK Mission Control 9.0.0 Requires JDK 17
Marcus Hirt, director of engineering at Datadog, released JDK Mission Control 9.0.0 almost three years after the release of JDK Mission Control 8. The new release requires JDK 17 and contains several bug fixes and new features such as support for Eclipse 4.30.
By Johan Janssen
Read: https://www.infoq.com/news/2024/04/jdk-mission-control-9/
@a_cup_of_java
8 574
Repost from Мобильная разработка
Топ-10 книг по Java в 2024 году
В статье разобрались, какие книги по Java стоит читать на русском языке, а какие – только в оригинале.
Подборка субъективная, но вполне подойдет, если хотите быстро сориентироваться и не вдаваться в пучину подробностей, изучать отзывы и рецензии. К каждой книге коротко прописаны плюсы, минусы и краткий обзор: https://proglib.io/p/top-10-knig-po-java-v-2024-godu-2024-03-01
#книги #java
8 574
Искусство ETL. Пишем собственный движок SQL на Spark [часть 6]
В предыдущих сериях (FAQ • 1 • 2 • 3 • 4 • 5 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
В данной части поговорим о том, как добавить в выражения SQL поддержку функций. Например,
SELECT
MAX(score1, score2, score3, score4, score5) AS max_score,
MIN(score1, score2, score3, score4, score5) AS min_score,
MEDIAN(score1, score2, score3, score4, score5) AS median_score,
score1 + score2 + score3 + score4 + score5 AS score_sum
FROM raw_scores INTO final_scores
WHERE ABS(score1 + score2 + score3 + score4 + score5) > $score_margin;
— тут у нас функции MAX, MIN и MEDIAN принимают любое количество аргументов типа Double и возвращают Double, а ABS только один такой аргумент.
Вообще, кроме общей математики, в любом уважающем себя диалекте SQL как минимум должны быть функции для манипуляций с датой/временем, работы со строками и массивами. Их мы тоже обязательно добавим. В classpath, чтобы движок мог их оттуда подгружать. До кучи, ещё и операторы типа >= или LIKE, которые у нас уже были реализованы, но хардкодом, сделаем такими же подключаемыми.
Предупреждение о сложности материала
Уровень сложности данной серии статей в целом высокий. Базовые понятия в тексте совсем не объясняются, да и продвинутые далеко не все. Однако, эта часть несколько проще для ознакомления, чем предыдущие. Но всё равно, понимать её будет легче, если вы уже пробежались по остальным хотя бы по диагонали.
Читать: https://habr.com/ru/articles/808483/?utm_campaign=808483
@a_cup_of_java8 574
Ручное подтверждение сообщения в Kafka
В этой статье описывается реализация задачи ручного подтверждения(acknowledgment) обработки сообщения в Kafka через ручную отправку смещения(commit offset) сообщения. Логика реализована с использованием Java, Spring и Kafka.
Читать: https://habr.com/ru/articles/808975/?utm_campaign=808975
@a_cup_of_java
8 574
21 ошибка в 21-й версии Apache NetBeans
Apache NetBeans — одна из первых IDE для Java, поддержка которой не прекращается на протяжении почти 30 лет. Совсем недавно вышла 21-я версия. Мы решили проверить исходный код такого долгожителя и выбрали наиболее интересные ошибки, которые разберём в этой статье.
Читать: https://habr.com/ru/companies/pvs-studio/articles/808939/?utm_campaign=808939
@a_cup_of_java
8 574
Предложение по Java упорядочит импорт пакетов модулей
Read: https://www.infoworld.com/article/3715384/java-proposal-would-streamline-module-package-imports.html#tk.rss_java
@a_cup_of_java
8 574
Java для домохозяек: логика разбора сообщений внутри Telegram бота
Представляю вашему вниманию свою инструкцию по взаимодействию пользователя с Телеграм ботом в различных ситуациях.
Telegran bot (long polling) Avandy News, обзор статья, open source GitHub
Основная идея: Avandy News Analysis (включена в Реестр российского ПО, разраб - я)
Реестр российского ПО: Как попал в него
Читать: https://habr.com/ru/articles/808535/?utm_campaign=808535
@a_cup_of_java
8 574
Java-сервисы больше всего страдают от уязвимостей сторонних разработчиков, говорится в отчете
Read: https://www.infoworld.com/article/3715264/java-services-hit-hardest-by-third-party-vulnerabilities-says-report.html#tk.rss_java
@a_cup_of_java
8 574
Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений
Если в организации множество приложений и сервисов, то нет необходимости разрабатывать аутентификацию и авторизацию для каждого сервиса отдельно. Оптимальным подходом является использование централизованного сервиса аутентификации совместно со шлюзом авторизации, который и определяет политики доступа к приложениям.
В этой статье мы настроим централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и настроим доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG), который будет использовать сессию аутентификации OpenAM. В качестве защищаемого приложения будем использовать приложение, разработанное с использованием Spring Boot и Spring Security.
Читать: https://habr.com/ru/articles/808431/?utm_campaign=808431
@a_cup_of_java
8 574
Исправление Java G1 ускорит JIT-компиляцию
Read: https://www.infoworld.com/article/3715382/java-g1-fix-would-speed-jit-compilation.html#tk.rss_java
@a_cup_of_java
8 574
Безопасный Continuous Deployment БД по принципам DB-First
В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First.
Читать: https://habr.com/ru/articles/808279/?utm_campaign=808279
@a_cup_of_java
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
