This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😁48🔥9🤩4👎1
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Зачем нам Gradle 9, чем хорош Postgres 18 и секреты хорошего доклада | Spring АйО Подкаст №36
– JVM: Барьеры, которые подходят любому GC
– Эксперт Spring АйО Павел Кислов на TechMeetup
– Путеводитель для начинающих по сборщику мусора Shenandoah
– Как Netflix сделал главную страницу по-настоящему динамичной с помощью GraphQL и триггеров
– Joker 2025: 28 докладов о современных практиках Java-разработки
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤10👍8🔥5⚡1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19⚡6😁6❤1
Эксперт Spring АйО Михаил Поливаха весной этого года выступал на конференции Mobius 2025 с докладом про SQLite:
В большинстве своем базы данных - довольно сложные софтверные продукты. Чтобы понять, как конкретно работает Oracle, нужно познать дзен и принять Буддизм.
Несмотря на то, что SQLite довольно простая база данных, он также реализует традиционный для баз данных функционал - локи, transaction control, индексация и т.д. И за счет своей простоты, SQLite является хорошим академическим примером, на котором можно увидеть:
- Как реализован WAL под капотом
- Как реализованы гарантии транзакций
- Как разложены индексы в памяти и многое другое
Все это будет в докладе. Кому интересны детали реализации самой используемой БД в мире - welcome :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍19❤8
🍃 Состояние HTTP-клиентов в Spring
В новом переводе от команды Spring АйО команда Spring делает важное объявление — RestTemplate уходит в прошлое. С выходом Spring Framework 7.0 разработчики официально заявляют о плане поэтапного прекращения поддержки одного из самых популярных HTTP-клиентов в экосистеме. Его место занимает RestClient, современный fluent-клиент с расширенными возможностями: API-версионирование, гибкая конфигурация конвертеров, группы HTTP-интерфейсов и новый тестовый клиент RestTestClient.
Кроме того, в Spring Boot 4.0 появятся отдельные стартеры для каждого типа клиента, а RestClient теперь можно удобно переиспользовать с уже существующей инфраструктурой RestTemplate.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952158/
В новом переводе от команды Spring АйО команда Spring делает важное объявление — RestTemplate уходит в прошлое. С выходом Spring Framework 7.0 разработчики официально заявляют о плане поэтапного прекращения поддержки одного из самых популярных HTTP-клиентов в экосистеме. Его место занимает RestClient, современный fluent-клиент с расширенными возможностями: API-версионирование, гибкая конфигурация конвертеров, группы HTTP-интерфейсов и новый тестовый клиент RestTestClient.
Кроме того, в Spring Boot 4.0 появятся отдельные стартеры для каждого типа клиента, а RestClient теперь можно удобно переиспользовать с уже существующей инфраструктурой RestTemplate.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952158/
👍35🔥13❤10
⏱️ Байткод инструментация методов в Java: когда семплирования уже мало
Семплирующие профили не показывают реальное число вызовов и их длительность — а значит, мимо может пролетать важная боль. В новом переводе от команды Spring АйО на примерах показано, как включить инструментальную трассировку в async-profiler и что даёт новая фича latency: от ловли неожиданного
Разбираем накладные расходы, хитрости вроде interval, практичные кейсы (почему
Если вам нужны точные пути выполнения и реальная latency без убийства продакшена — это must-read.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952928/
Семплирующие профили не показывают реальное число вызовов и их длительность — а значит, мимо может пролетать важная боль. В новом переводе от команды Spring АйО на примерах показано, как включить инструментальную трассировку в async-profiler и что даёт новая фича latency: от ловли неожиданного
System.gc() и источников OutOfMemoryError до точного замера «долгих» вызовов с порогом и разбором в JMC через JFR-события. Разбираем накладные расходы, хитрости вроде interval, практичные кейсы (почему
ArrayList.contains и AbstractSet.removeAll могут внезапно стать O(N*M) и как это починить), а ещё сравниваем подход async-profiler с нововведениями в рамках JDK 25 (JEP 520), где последний имеет ряд недостатков.Если вам нужны точные пути выполнения и реальная latency без убийства продакшена — это must-read.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952928/
👍21🔥6❤5⚡2
🧹 JEP 504: удаление Applet API (JDK 26)
В JDK 26 Applet API будет удален. Причина проста: современные браузеры и недавние версии JDK не поддерживают апплеты. История такова: JEP 289 пометил Applet API как deprecated в JDK 9 (2017), в JDK 11 удалили инструмент appletviewer (2018), в JDK 17 Applet API пометили к удалению (JEP 398, 2021), а в JDK 24 был окончательно отключен Security Manager, на котором держалась изоляция апплетов (JEP 486, 2025).
Что удаляют?
Весь пакет
Влияние на совместимость
Существенных рисков для пользовательских приложений не ожидается, так как API фактически непригоден к использованию. Приложения, где Applet выступал контейнером пользовательского интерфейса, либо останутся на старых версиях, либо перейдут на другие API; для таких случаев в AWT имеются альтернативы.
Отдельное изменение касается
Поностальгируем в комментах! 👇
В JDK 26 Applet API будет удален. Причина проста: современные браузеры и недавние версии JDK не поддерживают апплеты. История такова: JEP 289 пометил Applet API как deprecated в JDK 9 (2017), в JDK 11 удалили инструмент appletviewer (2018), в JDK 17 Applet API пометили к удалению (JEP 398, 2021), а в JDK 24 был окончательно отключен Security Manager, на котором держалась изоляция апплетов (JEP 486, 2025).
Что удаляют?
Весь пакет
java.applet (Applet, AppletContext, AppletStub, AudioClip), а также java.beans.AppletInitializer и javax.swing.JApplet. Дополнительно убираются оставшиеся элементы API, ссылающиеся на эти классы и интерфейсы, включая поля и методы в java.beans.Beans и javax.swing.RepaintManager.Влияние на совместимость
Существенных рисков для пользовательских приложений не ожидается, так как API фактически непригоден к использованию. Приложения, где Applet выступал контейнером пользовательского интерфейса, либо останутся на старых версиях, либо перейдут на другие API; для таких случаев в AWT имеются альтернативы.
Отдельное изменение касается
java.net.URL#getContent() и URLConnection#getContent(): их возвращаемый тип — Object, и ранее для аудиоданных мог возвращаться java.applet.AudioClip. После удаления Applet API это будет невозможно, и код, который приводил результат к AudioClip, больше не скомпилируется и не запустится, потребуется корректировка.Поностальгируем в комментах! 👇
👍27🔥11😁8❤1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😁33🔥18❤8👍4👎2
Forwarded from Amplicode
🤩 Amplicode – идеальное дополнение к IntelliJ IDEA Ultimate. Огромный гайд для Spring-разработчика
Все уже прекрасно понимают, что Amplicode — неотъемлемая часть тулинга для разработки в OpenIDE, IntelliJ IDEA Community Edition и GigaIDE на Spring Boot.
Но стоит установить Amplicode в IntelliJ IDEA Ultimate и ваша, казалось бы, идеальная IDE станет ещё мощнее и удобнее!
📚 Подробнее читайте на Хабре: https://habr.com/ru/companies/haulmont/articles/952644/
Все уже прекрасно понимают, что Amplicode — неотъемлемая часть тулинга для разработки в OpenIDE, IntelliJ IDEA Community Edition и GigaIDE на Spring Boot.
Но стоит установить Amplicode в IntelliJ IDEA Ultimate и ваша, казалось бы, идеальная IDE станет ещё мощнее и удобнее!
📚 Подробнее читайте на Хабре: https://habr.com/ru/companies/haulmont/articles/952644/
👍24🔥11⚡6❤3👎3😁2🤔1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍11❤10
Эксперт сообщества Spring АйО Михаил Поливаха выступал с докладом на JPoint 2025:
Не так давно вышла новая спецификация в мире работы с данными — Jakarta Data. Как можно понять из названия, эта спецификация из проекта Jakarta EE. Казалось бы, кого это волнует, если бы не Hibernate, который решил, что теперь реализует 2 спецификации — Jakarta Persistence API (aka JPA) и Jakarta Data. Мы работаем с Hibernate чаще через Spring Data, которая имеет проблемы с реализацией этой спецификации. И что теперь делать?
Что же будет происходить дальше и как мы будем с этим жить — отвечаем на эти вопросы в докладе. Детально разбираем, почему Spring Data не может реализовать спецификацию, и обсуждаем, можно ли в теории использовать Jakarta Data в проектах Spring.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥12❤7
Спустя восемь лет после JUnit 5 выходит новая версия популярного фреймворка. JUnit 6 — это не просто обновление, а переход к современной экосистеме Java и Kotlin.
В новом переводе от команды Spring АйО узнаем, что новая версия требует Java 17+, унифицирует версии компонентов, удаляет deprecated API и внедряет поддержку JSpecify для строгого null-safety.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/954322/
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥27❤7👍3🤯3⚡2👎1
Протокол Model Context Protocol (MCP) стремительно развивается, и вопросы его безопасности становятся всё актуальнее. Чтобы упростить реализацию защиты MCP-серверов в проектах на Spring AI, был запущен инкубационный проект spring-ai-community/mcp-security.
В новом переводе от команды Spring АйО рассмотрим, как защитить MCP-сервер с помощью OAuth2 или API-ключей, а также как развернуть собственный MCP-совместимый Spring Authorization Server.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/955060/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤6🔥5⚡1👎1
🙈 Вот это я понимаю – open source!
На этот раз страдает Node.js: когда-то один индийский курс (Apna College) решил показать студентам, как “контрибьютить в open source”. Ну вы поняли: “форкни репозиторий, измени README, сделай pull-request”.
Результат — тысячи бессмысленных PR-ов, которые уже два года обрушиваются на репозиторий Node.js как муссонный ливень 😅
Всего закрыто 37 500 pull-request’ов, и бóльшая часть — от тех самых “junior contributors”, которые гордо добавляют пробел в документацию, чтобы получить первый бейджик.
Мейнтейнеры героически отбиваются ботами, фильтрами и автопроверками — но спам не утихает. Армия начинающих всё так же идёт в бой!
Держим кулачки, чтобы Apna College не узнала про Spring Framework 😂
На этот раз страдает Node.js: когда-то один индийский курс (Apna College) решил показать студентам, как “контрибьютить в open source”. Ну вы поняли: “форкни репозиторий, измени README, сделай pull-request”.
Результат — тысячи бессмысленных PR-ов, которые уже два года обрушиваются на репозиторий Node.js как муссонный ливень 😅
Всего закрыто 37 500 pull-request’ов, и бóльшая часть — от тех самых “junior contributors”, которые гордо добавляют пробел в документацию, чтобы получить первый бейджик.
Мейнтейнеры героически отбиваются ботами, фильтрами и автопроверками — но спам не утихает. Армия начинающих всё так же идёт в бой!
Держим кулачки, чтобы Apna College не узнала про Spring Framework 😂
😁98🔥11👍7❤3🤯2⚡1