Spring АйО
10.3K subscribers
424 photos
291 videos
550 links
Русскоязычное сообщество Spring-разработчиков.

Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy

Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer
Download Telegram
🍃 Ceylon и NULL: как сделать null нормальным

В одном и том же null часто прячут разные смыслы: “нет значения”, “неизвестно”, “неинициализировано”. Потом это всплывает в NPE и в кривой логике исполнения.

В Ceylon эту проблему решают через типовую систему, через Union типы. Подробнее, в переводе от Spring АйО.

Комментарий от Михаила Поливаха:

Статья достаточно старая, написанная Лукасом Едером (автор Jooq) про реализацию nullability Ceylon.

Конечно, Ceylon довольно старый язык, мёртвый на данный момент. Его дизайнером кстати когда-то выступал сам Gavin King (тот самый автор Hibernate).

Тем не менее, это единственный относительно известный на моей памяти язык поверх JVM, который поддерживал Union типы (не считая Scala 3), через которые и была сделана реализация nullable типов в Ceylon.

Статья больше призвана расширить Ваш кругозор и призвать Вас к осмысленной дискуссии. Приятного чтения.


📚Полный текст по ссылке: https://habr.com/ru/companies/spring_aio/articles/1001982/
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1310👍91
TechMeetup #11: Spring АйО x МТС Банк

Осталось 5 дней...

В программе:

Доклады от экспертов Spring АйО:
👤 Евгений Сулейманов: HTTP Service Clients + API Versioning в Spring Boot 4: типобезопасный REST без зоопарка клиентов (и без боли при эволюции API);

👤 Павел Кислов: Тренды в Spring. Куда мы движемся и что поменялось в Spring Framework за 2025 год.;

👤 Михаил Поливаха: Встречайте Axelix: Спецназ для вашей Spring Boot экосистемы;

👥 Дискуссия "Мы видим перед собой последнее поколение разработчиков?" со взглядом бизнеса, менеджмента и разработки:
Федор Сазонов, CEO OpenIDE;
Павел Кислов, Developer Advocate Amplicode;
Марат Рахимов, Директор по AI-трансформации МТС Банка;

🗓 Когда: 26 февраля 2026, с 19:00 до 22:30 GMT+03:00 (онлайн и офлайн);
📍 Где (офлайн): Москва, м. Технопарк. Проспект Андропова 18, корпус 1. (Здание с вывеской МТС Банк, Медиарум);

💻 Онлайн трансляция будет на странице мероприятия
требуется регистрация на формат посещения "Онлайн"

👍 Участие: бесплатно
🎉 Нетворкинг: бесценно

Регистрация продолжается до 23-го февраля на странице мероприятия
Количество мест ограничено, успей забронировать место

Spring АйО | МТС Банк

---

Рассылка подтверждений будет до 24-го февраля включительно.
Не забудь проверить свою почту, включая папку «Спам» и «Промо».


TechMeetup | CFP: Подать доклад | Общалка и вопросы | Записи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍138🔥4
Media is too big
VIEW IN TELEGRAM
🍃 JVM язык Ceylon, K1 тяжелый, зачем нам ArchUnit | Spring АйО Подкаст №52

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥139👍81
Forwarded from OpenIDE
⚡️ Haiku обошла Opus | Claude слил $1.78 млн | Нейросеть впаяли в кремний

Второй выпуск еженедельных IT-новостей от OpenIDE.

В этот раз: вайбкодер случайно получил доступ к 7 000+ пылесосам, вышли Sonnet 4.6 и Gemini 3.1 Pro, Haiku со скиллами обошла Opus без них, Claude Code Security и потеря $1,78 млн из-за кода от Claude.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🔥10👍65
🌧 Оптимизация Java-приложений для Arm64 в облаке

JVM в первую очередь процесс операционной системы. Но важно понимать, что требования к этому процессу на production отличатся от требований на workstation-е разработчика.

Если для разработчику важно, чтобы IDE работала быстро и не потребляла всю возможную память на машине, то для серверных JVM важно потреблять максимальный предоставленный ресурс и работать предельно быстро.

В новом переводе от команды Spring АйО разберем, какие существуют базовые настройки кучи, GC и CPU помогают синхронизировать JVM с лимитами контейнера и не переплачивать за простаивающие ресурсы.

Комментарий от Михаила Поливаха:

Все оптимизации в статье применимы не только к ARM-овым CPU, но и к x86. Это важно, потому что большая часть Ваших серверных workload-ов, даже если Вы об этом не знаете, они бегут на x86_64. Поэтому, статья для Вас тоже актуальна.


📚Полный текст по ссылке: https://habr.com/ru/companies/spring_aio/articles/1003602/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍239🔥41
❗️Spring АйО на Java Rock Stars meetup ❗️

Друзья, по традиции, эксперты Spring АйО выступят на ближайшем Java Rock Stars meetup.

5 марта. Москва. Лофт Casa Picassa на Бауманской.

💬 В программе:

Илья и Фёдор Сазоновы расскажут о том, как обычные проекты внезапно начинают задыхаться при масштабировании, хотя пользователей и данных там не так много. Узнаем о причине проблем с производительностью и главном правиле работы с реляционными БД, которое регулярно нарушают.

Александр Ланцов покажет, как работа со строками и произвольным Unicode в Java может поставить в тупик даже опытного разработчика, и разберёт типичные ошибки на примерах.

Для участия нужна только регистрация.
🔥2111👍91
Forwarded from Amplicode
🔥 Тестирование API простыми словами + практика | Postman, Connekt

В новом видео разбираем тестирование API с нуля: что такое API, как работает HTTP, и переходим к практике в двух инструментах — Postman и Connekt.

В части про Postman: создаём GET и POST запросы, импортируем коллекции из Swagger, cURL и браузера, перехватываем трафик и настраиваем переменные окружения.

Дальше — то же самое в Connekt: импорт из Postman, работа с эндпоинтами Spring-приложения, все основные HTTP-методы, авторизация, работа с файлами, assertions и сложные сценарии с цепочками запросов.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍18🔥139
✈️ Когда использовать параллельный стрим в Java?

parallelStream() не всегда быстрее: в бенчмарке sum(1..100) в параллели занял ~35 476 нс/оп против ~68 нс/оп в последовательном.

Параллельные стримы работают через ForkJoinPool.commonPool (кол-во потоков: ядра CPU - 1). Порядок обработки элементов не фиксирован, а некорректный reduce может дать неверный итог: identity прибавляется в каждом worker`е (например, reduce(5, sum)).

Где параллельные стримы реально полезны:

– Большой объем данных и много вычислений на элемент (так называемая модель NQ: чем больше N*Q, тем выше шанс ускорения; для тривиального суммирования эмпирически N > 10 000).

– Источник легко и равномерно делится: массивы и ArrayList. На 1 000 000 элементов ArrayList в бенчмарке быстрее в параллели (~2.0 мс vs ~5.4 мс).

– Дешевая операция объединения результатов: reduce/sum обычно выигрывают. Например, сумма на ArrayList быстрее в параллели (~2.07 мс vs ~5.51 мс).

– Хорошая локальность данных. Например, массив примитивов (int[]) даёт больший выигрыш, чем массив ссылок (Integer[]), потому что меньше скачков по памяти.

– Есть I/O с большим числом объектов: поиск по 1500 текстовым файлам через Files.walk в параллели быстрее (~10.8 мс vs ~13.3 мс).



📚 Подробнее тут: https://habr.com/ru/companies/spring_aio/articles/1005180/
2👍226🔥51
Media is too big
VIEW IN TELEGRAM
🍃 x86 больше не нужен, процессоры Amazon, параллельные стримы в Java | Spring АйО Подкаст №53

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 Чуть позже...
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍5😁1
Часы Лампорта

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена.

Сервисы пишут события, стримы обрабатываются в реальном времени, данные реплицируются по датацентрам. И почти в каждом таком сценарии возникает фундаментальный вопрос:

Как понять, что произошло раньше, а что позже, если глобального времени не существует?


Здесь в игру вступают логические часы Лампорта — простая, но концептуально мощная идея, лежащая в основе причинно-следственного порядка в распределённых системах.

📚 Подробнее тут: https://habr.com/ru/companies/spring_aio/articles/1005934/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍85