Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Никто не коммитит в Spring, Java-милфа, таракашки не эволюционируют | Spring АйО Подкаст №4
– Акции компании Broadcom вчера упали на 17%
– Разработка эффективных агентов с помощью Spring AI (Часть 1)
– Spring АйО на Яндекс.Музыке
– Java становится надежнее: “Целостность по умолчанию” в действии
– JDBC Fetch Size: Маленькая настройка, большие последствия
– IntelliJ IDEA 2025.1 EAP 3
– Вышел Amplicode 2024.3.2-EAP!
– Spring Boot + React Admin: CRUD FullStack приложение за 10 минут вместе с Amplicode
– SnowOne: доклады из категории Enterprise
– Axiom JDK рассказал про правильный DevOps
– Joker 2024: Design and Architecture
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5❤4
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14😁10👍5
Команда Spring АйО перевела и адаптировала доклад Брайана Гоетца “Valhalla — эпичный рефакторинг Java”, который будет опубликован несколькими частями. В первой части серии будет рассказано об истории и причинах появления проекта Valhalla и, вкратце, об основных целях, которые ставила перед собой команда.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/878950/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥10❤7
Команда Spring АйО перевела статью, в которой подробно рассматривается процесс регистрации и аутентификации пользователей с использованием Spring Security.
Однако несмотря на то, что Josh Long считает эту статью "обязательной к прочтению":
A very interesting article on the flow diagrams for Spring Security—a must-bookmark!
У экспертов сообщества к ней возникли некоторые вопросы:
- Зачем для регистрации и логина использовать дополнительный матчер и исключения путей в фильтре, если можно просто применять
permitAll()
?- Почему после успешной регистрации сразу не выдаётся токен для аутентификации?
– Что с токенами, а именно с их хранением, шифрованием, временем жизни и почему JWT оторван от OAuth 2.0?
Будем рады обсуждению в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍10❤8
В новом переводе от команды Spring АйО вы узнаете, как работает baseline миграция во Flyway, в чем ее отличие от обычного скрипта миграции и каковы преимущества ее использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5❤3🤔2
Какой API предоставляют/реализуют ваши сервисы в продакшене?
Anonymous Poll
93%
REST
14%
gRPC
4%
JSON-RPC
8%
GraphQL
16%
WebSockets
1%
RSocket
13%
SOAP
51%
Асинхронные сообщения (Kafka, RabbitMQ, и др.)
1%
Другой вариант (напишу в комментариях)
👍12🔥5❤2
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Кошки умнее СhatGPT / Никто не знает, что такое ООП / Агрессивные бобры | Spring АйО Подкаст №5
– Valhalla — эпичный рефакторинг Java. Часть 1: История проекта, сложности реализации и цели
– Spring Security: разберём по полочкам токены, фильтры и авторизацию (с диаграммами!)
– Flyway Baseline Миграция без лишних слов: Что это и зачем нужно
– Joker: Сергей Мельников — Профилирование Java в стиле Linux
– Axiom JDK: Разработка на Java с Axiom JDK и GitFlic
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥7❤5😁1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6😁4👎1
Новый перевод от команды Spring АйО расскажет вам, что происходит при запуске самого простого приложения на Java, какие шаги выполняет JVM, сколько классов ей необходимо загрузить, чтобы просто написать “Hello, World!” и как все это выглядит на уровне byte code.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/881128/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍13❤11
В новом переводе от команды Spring АйО мы расскажем вам о новом продукте от компании JetBrains, который называется Junie. Новый продукт работает по принципу искусственного интеллекта и способен самостоятельно выполняет задачи по написанию кода.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/881288/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7🔥7👎3🤯2🤔1
Новый перевод от команды Spring АйО расскажет вам (с примерами кода), как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/882196/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8❤3😁1
Команда Spring АйО перевела и адаптировала доклад Брайана Гоетца “Valhalla — эпичный рефакторинг Java”, и сегодня мы публикуем вторую часть из трех.
В первой части серии было рассказано об истории и причинах появления проекта Valhalla. Во второй части подробно разбирается вопрос о том, с какими фундаментальными сложностями столкнулась команда на пути к решению поставленных задач.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/882690/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥4
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Идеальный Spring Security / Правильные миграции / Мы идём в Valhalla | Spring АйО Подкаст №6
– Глубокое погружение в процедуру запуска JVM
– Junie – новый AI-агент от JetBrains. Junior разработчики больше не нужны?
– Секреты JVM: что происходит с ошибками под капотом
– Valhalla — эпичный рефакторинг Java. Часть 2: проблемы проекта и их решения
– JPoint: Александр Шустанов. IDE снаружи и внутри: от разбора механизмов к сборке решений
– Axiom JDK: Через тернии к рок-звездам: рассказываем, как прошел Java Rock Stars Meetup
– Joker 2024: JVM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤6🔥4
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥4😁2🤯2
⚡️⚡️⚡️ Spring Now 2025 – Главная конференция про Spring на русском языке
Уже через 2 недели состоится бесплатная онлайн-конференция Spring Now 2025!
В ней примут участие не только эксперты сообщества Spring АйО, но и приглашенные лидеры индустрии.
Более подробно про программу мероприятия и спикеров конференции мы расскажем в течение ближайших двух недель💚
🗓 6 марта 17:00 – 21:00 МСК
📍 Онлайн. Бесплатно
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
#spring_now_2025
Уже через 2 недели состоится бесплатная онлайн-конференция Spring Now 2025!
В ней примут участие не только эксперты сообщества Spring АйО, но и приглашенные лидеры индустрии.
Более подробно про программу мероприятия и спикеров конференции мы расскажем в течение ближайших двух недель
📍 Онлайн. Бесплатно
#spring_now_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47🤩10⚡9❤1
Новый перевод от команды Spring АйО расскажет вам, как новые библиотеки и фреймворки расширяют экосистему Java, делая возможной интеграцию ИИ-решений в приложения, написанные на Java.
Статья также включает в себя туториал, рассказывающий по шагам, как написать простой помощник по отладке приложений на Java, используя возможности больших языковых моделей.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/883964/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6⚡4
⚡️Spring Ретро-Ностальгический. Новости из прошлого
На Spring Now 2025 Павел Кислов расскажет про ключевые фичи 24-го года и постарается ответить на вопрос: "А что от них нам – простым разработчикам?".
🗓 6 марта 17:00 – 21:00 МСК
📍 Онлайн. Бесплатно
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
#spring_now_2025
На Spring Now 2025 Павел Кислов расскажет про ключевые фичи 24-го года и постарается ответить на вопрос: "А что от них нам – простым разработчикам?".
Java с ее постоянными новинками шире, чем сводка новостной ленты одного человека. Поговорим не о широком поле новинок джавы, сфокусируемся только на спринге. Синхронизируемся с реальностью: посмотрим на ключевые события 24-го года и подумаем, какие изменения это возможно предвещает. Большие новинки, важные вехи и их последствия.
📍 Онлайн. Бесплатно
#spring_now_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥9🤩4
Отвечает эксперт сообщества Spring АйО – Михаил Поливаха.
–––
Есть один довольно маленький фикс, который Вы можете сделать в Spring Data, чтобы улучшить перформанс Ваших приложений, иногда заметно.
Не все знают, но пагинация бывает разная. Часто она нам нужна для того, чтобы не грузить все данные в память процесса. Ситуация схожая, если данные нужны front-end'у, и мы не хотим гонять огромные массивы данных по сети, front-end же в свою очередь будет рендерить их довольно долго, да и на практике так никто не делает. Чтобы адресовать подобные проблемы, мы используем пагинацию.
Возьмем Spring Data JPA (на самом деле неважно, какой именно модуль Spring Data вы тут возьмете, концепция везде едина). Предположим, что у нас есть сущность:
@Entity
public class SimpleEntity {
@Id
@Column(name = "id", nullable = false)
private Long id;
private String name;
private long createdAt;
// getters, setters, toString
}
и 2 метода в репозитории:
@Query("SELECT p FROM SimpleEntity p WHERE p.name LIKE :namePattern")
Slice<SimpleEntity> findCustomSlice(Pageable pageable, @Param("namePattern") String namePattern);
@Query("SELECT p FROM SimpleEntity p WHERE p.name LIKE :namePattern")
Page<SimpleEntity> findCustomPage(Pageable pageable, @Param("namePattern") String namePattern);
Они отличаются лишь типом возвращаемого значения. В первом случае -
Slice
, во втором - Page
. Если вызвать первый метод, возвращающий Slice
, то выполнится вот такой запрос (в общем случае):
select
se1_0.id,
se1_0.created_at,
se1_0.name
from
simple_entity se1_0
where
se1_0.name like ? escape ''
order by
se1_0.id
offset
? rows
fetch
first ? rows only
Но чаще всего люди используют
Page
. В этом случае Spring Data пошлёт запрос описанный выше и, вдобавок, ещё один запрос:
select
count(se1_0.id)
from
simple_entity se1_0
where
se1_0.name like ? escape ''
–
Slice
в Spring Data, как абстракция, представляет собой некоторую часть данных из общего датасета, некоторую страничку. Но эта страничка не знает о том, сколько всего страниц существует. Она знает свой порядковый номер, но она не знает, сколько страниц ещё впереди.–
Page
расширяет понятие Slice
, добавляя при этом страничке понимание того, а сколько страниц впереди неё, и сколько всего страниц в выборке. Для того, чтобы это понять, и нужен второй count()
запрос.Вывод
Если Вам не нужно знать общее количество страниц в выборке, то используйте
Slice
- на каждый запрос за каждой страницей вы сэкономите один count
запрос. Если вам нужно знать общее количество страниц в выборке (оно, скорее всего, не меняется, пока пользователь листает страницы, хотя имейте это в виду), то вы можете один раз отправить на front-end результат выполнения запроса с
count()
и дальше использовать Slice
. Реализовать это можно по-разному.Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥20🤯7❤1
⚡️ Прекрасный Spring Boot: паттерны разработки
На Spring Now 2025 Рустам Курамшин расскажет про современные паттерны разработки на Spring Boot.
🗓 6 марта 17:00 – 21:00 МСК
📍 Онлайн. Бесплатно
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
#spring_now_2025
На Spring Now 2025 Рустам Курамшин расскажет про современные паттерны разработки на Spring Boot.
Рассмотрим такие подходы, как микросервисная архитектура, шаблоны проектирования (design patterns), а также практики разработки API.
📍 Онлайн. Бесплатно
#spring_now_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥20🤩6👎2
Команда Spring АйО перевела и адаптировала доклад Брайана Гоетца “Valhalla — эпичный рефакторинг Java”, и сегодня мы публикуем третью, финальную, часть.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/884586/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥9❤5