Spring & Java (Rus)
43 subscribers
64 photos
3 videos
11 files
54 links
Spring Framework & Java
Download Telegram
Выпущена Java 21: интерфейс AI и последняя версия LTS, поддерживаемая в течение 8 лет

Вчера вечером Oracle объявила о выпуске официальной версии Java 21 и соответствующего комплекта разработки JDK 21. Эта версия является последней версией с долгосрочной поддержкой (LTS) после JDK 17 и получит как минимум 8 лет поддержки. Компания также сообщила, что долгосрочная поддержка Java 11, выпущенной пять лет назад, продлена до января 2032 года.

Подробнее - https://vk.com/java_spring?w=wall-97279184_477%2Fall
Распределённые транзакции

На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.

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

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

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

Оглавление

1.Проблема двойной записи

2.Модульный монолит

3. Двухфазный коммит

4. Оркестрация SAGA

5. Хореография SAGA

- Хореография с двойной записью

- Хореография без двойной записи

- Хореография с Debezium

- Хореография с event sourcing

6. Parallel pipelines

- Listen to yourself

7. Общие выводы по всем паттернам

Далее: https://habr.com/ru/articles/769102/

#transaction #java #habr
Топ 50 промптов ChatGPT для программистов.

https://telegra.ph/50-podskazok-ChatGPT-dlya-programmistov-12-12
Повседневное и неочевидное о Spring Security. Павел Кислов из Домклик

https://youtu.be/qn9Ig7GivJ4
Обновлённый сборщик мусора ZGC в JDK 21

Изначально ZGC появился в JDK 11 в виде экспериментальной функции, а уже в JDK 15 он был переведён до продуктивной. ZGC разработан с учетом высокой масштабируемости, поддерживая кучи размером до 16 ТБ, сохраняя при этом паузы менее миллисекунды.

ZGC достигает этих целей, работая почти полностью параллельно. Это говорит нам, что ZGC выполняет свою работу по выделению новых объектов, сканированию недоступных объектов, уплотнению кучу и т. д. пока приложение работает.

Но есть и недостатки у такого подхода, они заключаются в том, что приложение снижает пропускную способность, поскольку ресурсы ЦПУ, которые приложение может использовать, вместо этого используются ZGC.

Подробнее: https://antowka.ru/gen-zgc-jdk-21/
ChatGPT на Java. Пишем «Hello World» на Spring AI

В преддверии Нового Года, начинаем осваивать генеративные сети с помощью привычного всем Java разработчикам фреймворка Spring. Несколько месяцев назад в Spring добавили модуль AI, который упрощает работу с нейронками от OpenAI и Azure.

Spring AI предлагает абстракции в виде функциональных интерфейсов, благодаря которым можно быстро и с разными параметрами вызывать нейронки. Основа - это ChatClient с имплементациями для OpenAI и Azure. В этом мини-гайде мы поговорим о том, как внедрить AI в ваше новое или существующее приложение.

Давайте сначала кратко определим некоторые термины в LLM. Если вам это не нужно, пролистайте до раздела “Как использовать Spring AI в вашем приложении”.

Далее - https://habr.com/ru/articles/784128/

#spring #ai #java
Ядро Linux 6.8 получило важные оптимизации.

Ядро Linux 6.8 получило важные обновления, которые значительно ускоряют работу TCP-стека. Благодаря этим изменениям производительность при обработке множества параллельных TCP-соединений может вырасти на 40%.

Подробнее: https://vk.com/java_spring?w=wall-97279184_494%2Fall
Про декомпозицию задач
Может для кого-то не новость, но я только это обнаружил :)

Сегодня в 100500 раз запускал Spring Boot Docker контейнер, и заметил в логах слово liberica, тут в памяти всплыло, что это вроде как продукт компании БеллСофт их JDK Liberica. Сразу же полез в поиск и да, действительно в официальных image-ах Spring Boot Docker используется JDK Liberica от компании BellSoft. Рад, что труд наших ребят оценили и используют на проектах уровня Spring.

https://spring.io/guides/topicals/spring-boot-docker/
Виртуальные потоки в Java

https://youtu.be/IhTfHw_tXF8
Spring быстро (2022) True PDF

Java-программистам необходим фреймворк Spring. Этот невероятный инструмент универсален: вы можете разрабатывать как приложения для малого бизнеса, так и микросервисные архитектуры промышленного масштаба. Освоить Spring не так-то просто, но первый шаг сделать легко! Книга предназначена для Java-разработчиков, желающих создавать приложения на основе Spring. Информативные иллюстрации, понятные примеры, а также ясное и живое изложение Лауренциу Спилкэ позволят быстро овладеть необходимыми навыками. Вы научитесь планировать, разрабатывать и тестировать приложения. Благодаря акценту на наиболее важных функциях разберетесь в богатой экосистеме фреймворка Spring.
Генерация OpenAPI из Spring Boot MVC

Библиотека поддерживает:

OpenAPI 3

Spring Boot V3 (для V2 используется другая зависимость, более подробно в документации)

JSR-303

Swagger UI (будет сгенерирована страница с интерфейсом, через который мы сможем отправлять запросы на сервер)

OAuth 2 (это проверять не будем, но добавим токен типа Bearer)

GraalVM native images (не будем проверять)

Swagger UI будет генерироваться автоматически на основе наших DTO, контроллеров, ControllerAdvice’ов и дополнительных аннотаций.

Подробнее: https://habr.com/ru/articles/814061/