Фичи будущего в интерфейсе, которые можно и нельзя использовать в 2025 году: разбираем Baseline 2025
Какие CSS- и HTML-фичи войдут в вёрстку к 2025 году? Разбираем доклад Михаила Балицкого (Яндекс) о Baseline 2025: сабгриды, попапы без JS, анимации скролла и почему SASS ещё рано списывать.
Читать: «Фичи будущего в интерфейсе, которые можно и нельзя использовать в 2025 году: разбираем Baseline 2025»
@a_cup_of_java | Другие наши каналы
Какие CSS- и HTML-фичи войдут в вёрстку к 2025 году? Разбираем доклад Михаила Балицкого (Яндекс) о Baseline 2025: сабгриды, попапы без JS, анимации скролла и почему SASS ещё рано списывать.
Читать: «Фичи будущего в интерфейсе, которые можно и нельзя использовать в 2025 году: разбираем Baseline 2025»
@a_cup_of_java | Другие наши каналы
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
Читать: https://habr.com/ru/companies/spring_aio/articles/933306/?utm_campaign=933306
@a_cup_of_java | Другие наши каналы
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
Читать: https://habr.com/ru/companies/spring_aio/articles/933306/?utm_campaign=933306
@a_cup_of_java | Другие наши каналы
Как Java-разработчику эффективно решать алгоритмические задачи
Многие Java-разработчики боятся алгоритмических задач (и я один из тех, кто включается в каждую дискуссиую на тему надобности алго-собесов для бигтеха). Они кажутся чем-то из параллельной реальности: где-то там, в университетах, на LeetCode, в собеседованиях в FAANG и контестах.
Но реальность такова: если вы хотите расти — алгоритмы знать нужно или хотя бы желательно. И не только ради собесов. Они в действительности помогают мыслить как инженер: структурировать задачи, оценивать сложность, писать оптимальный код, ну и шаблонно мыслить :)
Я расскажу, как можно подойти к этому процессу системно и без боли — на основе личного опыта Java-разработчика и преподавателя.
Решаем алгоритмы
Читать: https://habr.com/ru/articles/932998/?utm_campaign=932998
@a_cup_of_java | Другие наши каналы
Многие Java-разработчики боятся алгоритмических задач (и я один из тех, кто включается в каждую дискуссиую на тему надобности алго-собесов для бигтеха). Они кажутся чем-то из параллельной реальности: где-то там, в университетах, на LeetCode, в собеседованиях в FAANG и контестах.
Но реальность такова: если вы хотите расти — алгоритмы знать нужно или хотя бы желательно. И не только ради собесов. Они в действительности помогают мыслить как инженер: структурировать задачи, оценивать сложность, писать оптимальный код, ну и шаблонно мыслить :)
Я расскажу, как можно подойти к этому процессу системно и без боли — на основе личного опыта Java-разработчика и преподавателя.
Решаем алгоритмы
Читать: https://habr.com/ru/articles/932998/?utm_campaign=932998
@a_cup_of_java | Другие наши каналы
Новинки Java: EclipseStore 3.0 и Gradle 9.0 вышли с улучшениями, а Hibernate ORM, Reactive и Search достигли стадии релиз-кандидатов. Piranha Cloud теперь под крылом Eclipse Foundation. Также вышли обновления Quarkus, Micronaut и LangChain4j. Подробнее — в свежем обзоре.
Подробности: https://www.infoq.com/news/2025/08/java-news-roundup-jul28-2025/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/08/java-news-roundup-jul28-2025/
#en
@a_cup_of_java | Другие наши каналы
Аннотация Lazy как спасение от циклических зависимостей
В прошлом посте команда Spring АйО подробно разобрала, как
Читать: https://habr.com/ru/companies/spring_aio/articles/931170/?utm_campaign=931170
@a_cup_of_java | Другие наши каналы
В прошлом посте команда Spring АйО подробно разобрала, как
@Lazy
помогает экономить ресурсы и ускорять старт приложения. Но забыли упомянуть ещё один крайне полезный кейс применения этой аннотации — борьбу с циклическими зависимостями.Читать: https://habr.com/ru/companies/spring_aio/articles/931170/?utm_campaign=931170
@a_cup_of_java | Другие наши каналы
JEP 511: Импорт модулей в Java 25 — как упростить работу с библиотеками
Команда Spring АйО проанализировала JEP 511: импорт модулей. Теперь можно будет одним импортом подключать все пакеты, которые экспортирует модуль. Это сильно упростит работу с большими библиотеками, особенно в прототипах и обучении.
Читать: https://habr.com/ru/companies/spring_aio/articles/933476/?utm_campaign=933476
@a_cup_of_java | Другие наши каналы
Команда Spring АйО проанализировала JEP 511: импорт модулей. Теперь можно будет одним импортом подключать все пакеты, которые экспортирует модуль. Это сильно упростит работу с большими библиотеками, особенно в прототипах и обучении.
Читать: https://habr.com/ru/companies/spring_aio/articles/933476/?utm_campaign=933476
@a_cup_of_java | Другие наши каналы
Explyt Spring Debugger
Всем привет! На связи команда Explyt Spring. Недавно была статья от JetBrains, а также ее перевод на Habr, где они рассказывали о новом плагине Spring Debugger и о том как используют нативный код Spring для лучшего понимания контекста приложения. С помощью non-suspending breakpoints JetBrains “вклиниваются” в жизненный цикл Spring и собирают все необходимые для плагина данные. Но ведь это почти тоже что и мы пытались делать в нашем плагине с помощью javaagent, о котором писали статьи. И нам даже показалось, что они вдохновлялись нашими статьями, первая из которых увидела свет в октябре 2024 года (возможно только показалось).
Нужно отдать должное тому как они интегрировали эту идею в плагин - данные о контексте сами подгружаются в процессе дебага, максимально прозрачно для пользователя и без лишних действий с его стороны. У нас же, требовалось загружать контекст приложения вручную, выбрав соответствующую “ран” конфигурацию, на основе которой мы получали данные о приложении, что стало предметом конструктивной критики со стороны пользователей.
Нам эта идея понравилась, к тому же у нас почти все готово - есть javaagent с помощью которого мы патчим байт код Spring и получаем его контекст, поэтому возьмем текущий наш механизм и просто улучшим UX и посмотрим что из этого получилось.
Читать: https://habr.com/ru/companies/explyt/articles/933158/?utm_campaign=933158
@a_cup_of_java | Другие наши каналы
Всем привет! На связи команда Explyt Spring. Недавно была статья от JetBrains, а также ее перевод на Habr, где они рассказывали о новом плагине Spring Debugger и о том как используют нативный код Spring для лучшего понимания контекста приложения. С помощью non-suspending breakpoints JetBrains “вклиниваются” в жизненный цикл Spring и собирают все необходимые для плагина данные. Но ведь это почти тоже что и мы пытались делать в нашем плагине с помощью javaagent, о котором писали статьи. И нам даже показалось, что они вдохновлялись нашими статьями, первая из которых увидела свет в октябре 2024 года (возможно только показалось).
Нужно отдать должное тому как они интегрировали эту идею в плагин - данные о контексте сами подгружаются в процессе дебага, максимально прозрачно для пользователя и без лишних действий с его стороны. У нас же, требовалось загружать контекст приложения вручную, выбрав соответствующую “ран” конфигурацию, на основе которой мы получали данные о приложении, что стало предметом конструктивной критики со стороны пользователей.
Нам эта идея понравилась, к тому же у нас почти все готово - есть javaagent с помощью которого мы патчим байт код Spring и получаем его контекст, поэтому возьмем текущий наш механизм и просто улучшим UX и посмотрим что из этого получилось.
Читать: https://habr.com/ru/companies/explyt/articles/933158/?utm_campaign=933158
@a_cup_of_java | Другие наши каналы
❤3👍1
ИИ против разума: битва за навыки программиста
ИИ — мощный инструмент, но он может сделать своим бездумным ретранслятором. Читайте, как сохранить мастерство, создавать с нуля, разбираться в ошибках и развивать мышление, чтобы побеждать в эпоху искусственного интеллекта.
Читать: https://tprg.ru/vgon
#ru
@a_cup_of_java | Другие наши каналы
ИИ — мощный инструмент, но он может сделать своим бездумным ретранслятором. Читайте, как сохранить мастерство, создавать с нуля, разбираться в ошибках и развивать мышление, чтобы побеждать в эпоху искусственного интеллекта.
Читать: https://tprg.ru/vgon
#ru
@a_cup_of_java | Другие наши каналы
Java и ООП: путешествие туда и обратно
Недавно на подкасте Spring АйО мы обсуждали новые свитчи в Джаве - с паттерн-матчингом и деструктуризацией. Я тогда ещё выразил мнение, что всё это неправославно, по зумерски и отход от принципов ООП.
Не от ипкапсуляции, полиморфизма и наследования, а вообще от подхода. Новые свитчи будут провоцировать разработчиков писать код по новому, а не так, как завещали нам наши далёкие предки. С нарушением традиций, норм и устоев. Как учит Кейси Муратори, если вы понимаете о ком я.
Но какие они вообще были эти устои? Каким было ООП, когда всё только началось и чем это отличается от свитчей, до которых мы в конце концов докатились?
Читать: https://habr.com/ru/companies/spring_aio/articles/934514/?utm_campaign=934514
@a_cup_of_java | Другие наши каналы
Недавно на подкасте Spring АйО мы обсуждали новые свитчи в Джаве - с паттерн-матчингом и деструктуризацией. Я тогда ещё выразил мнение, что всё это неправославно, по зумерски и отход от принципов ООП.
Не от ипкапсуляции, полиморфизма и наследования, а вообще от подхода. Новые свитчи будут провоцировать разработчиков писать код по новому, а не так, как завещали нам наши далёкие предки. С нарушением традиций, норм и устоев. Как учит Кейси Муратори, если вы понимаете о ком я.
Но какие они вообще были эти устои? Каким было ООП, когда всё только началось и чем это отличается от свитчей, до которых мы в конце концов докатились?
Читать: https://habr.com/ru/companies/spring_aio/articles/934514/?utm_campaign=934514
@a_cup_of_java | Другие наши каналы
🤷♂2❤1
Уязвимости XXE в разрезе Java
В этой статье мы рассмотрим дефект безопасности XXE в контексте Java. Поговорим о причинах возникновения и возможных последствиях, посмотрим на примеры и, конечно, обсудим способы защиты.
Читать: https://habr.com/ru/companies/axiomjdk/articles/934388/?utm_campaign=934388
@a_cup_of_java | Другие наши каналы
В этой статье мы рассмотрим дефект безопасности XXE в контексте Java. Поговорим о причинах возникновения и возможных последствиях, посмотрим на примеры и, конечно, обсудим способы защиты.
Читать: https://habr.com/ru/companies/axiomjdk/articles/934388/?utm_campaign=934388
@a_cup_of_java | Другие наши каналы
JobRunr 8.0: умное планирование задач с заботой об экологии
Новая версия JobRunr предлагает carbon-aware scheduling — запуск задач в часы с низким углеродным следом, поддержку Kotlin сериализации и удобный центр уведомлений на дашборде. Эти функции помогут разработчикам создавать более устойчивые приложения.
Подробности: https://www.infoq.com/news/2025/08/jobrunr-8-carbon-aware/
#en
@a_cup_of_java | Другие наши каналы
Новая версия JobRunr предлагает carbon-aware scheduling — запуск задач в часы с низким углеродным следом, поддержку Kotlin сериализации и удобный центр уведомлений на дашборде. Эти функции помогут разработчикам создавать более устойчивые приложения.
Подробности: https://www.infoq.com/news/2025/08/jobrunr-8-carbon-aware/
#en
@a_cup_of_java | Другие наши каналы
Kafka умеет синхронно. В Spring Boot
Apache Kafka — король асинхронного взаимодействия в микросервисных архитектурах. Но что если нужно получить ответ сразу?
Перевод от команды Spring АйО шаг за шагом покажет, как превратить Kafka в инструмент синхронной коммуникации — с настройкой
Читать: https://habr.com/ru/companies/spring_aio/articles/934936/?utm_campaign=934936
@a_cup_of_java | Другие наши каналы
Apache Kafka — король асинхронного взаимодействия в микросервисных архитектурах. Но что если нужно получить ответ сразу?
Перевод от команды Spring АйО шаг за шагом покажет, как превратить Kafka в инструмент синхронной коммуникации — с настройкой
ReplyingKafkaTemplate
, топиками для ответа и тайм-аутами.Читать: https://habr.com/ru/companies/spring_aio/articles/934936/?utm_campaign=934936
@a_cup_of_java | Другие наши каналы
😴3❤1
Kotlin для бэкенд разработки: преимущества и примеры
Kotlin, современный язык программирования от JetBrains, уже давно зарекомендовал себя не только в Android‑разработке, но и как мощная альтернатива Java для бэкенд‑разработки. Kotlin полностью совместим с Java, работает на JVM и предлагает более лаконичный, безопасный и выразительный синтаксис.
Читать: https://habr.com/ru/companies/otus/articles/935084/?utm_campaign=935084
@a_cup_of_java | Другие наши каналы
Kotlin, современный язык программирования от JetBrains, уже давно зарекомендовал себя не только в Android‑разработке, но и как мощная альтернатива Java для бэкенд‑разработки. Kotlin полностью совместим с Java, работает на JVM и предлагает более лаконичный, безопасный и выразительный синтаксис.
Читать: https://habr.com/ru/companies/otus/articles/935084/?utm_campaign=935084
@a_cup_of_java | Другие наши каналы
🥱7👎3❤🔥1
StarRocks 3.5: Snapshot, Load Spill, партиции, MV, транзакции, безопасность
StarRocks 3.5 приносит точечные улучшения по надёжности, производительности и безопасности: кластерные Snapshot для DR в архитектуре shared-data (разделение хранения и вычислений), оптимизацию пакетной загрузки (Load Spill) для сокращения мелких файлов и пропуска Compaction, более гибкое управление жизненным циклом партиций (слияние по времени и автоматический TTL), многооператорные транзакции для ETL, ускорение запросов по озеру данных через автоматические глобальные словари, а также поддержку OAuth 2.0 и JWT.
Читать: https://habr.com/ru/articles/935216/?utm_campaign=935216
@a_cup_of_java | Другие наши каналы
StarRocks 3.5 приносит точечные улучшения по надёжности, производительности и безопасности: кластерные Snapshot для DR в архитектуре shared-data (разделение хранения и вычислений), оптимизацию пакетной загрузки (Load Spill) для сокращения мелких файлов и пропуска Compaction, более гибкое управление жизненным циклом партиций (слияние по времени и автоматический TTL), многооператорные транзакции для ETL, ускорение запросов по озеру данных через автоматические глобальные словари, а также поддержку OAuth 2.0 и JWT.
Читать: https://habr.com/ru/articles/935216/?utm_campaign=935216
@a_cup_of_java | Другие наши каналы
Java vs Kotlin: у кого больше преимуществ в 2025 году
В 2018 я впервые познакомился с Kotlin, и он мне практически сразу понравился. Да и как можно не полюбить язык, названный в честь тотемного животного всех программистов? Шучу, на самом деле в честь острова.
Я уже несколько лет пишу бэкенд на Kotlin. До этого писал на Java, но переход совершил практически одномоментно, потому что тогда мне казалось, что Kotlin закрывает множество минусов Java и привносит более простой и лаконичный синтаксис. Но при этом я стараюсь следить за тем, как развивается Java.
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/934990/?utm_campaign=934990
@a_cup_of_java | Другие наши каналы
В 2018 я впервые познакомился с Kotlin, и он мне практически сразу понравился. Да и как можно не полюбить язык, названный в честь тотемного животного всех программистов? Шучу, на самом деле в честь острова.
Я уже несколько лет пишу бэкенд на Kotlin. До этого писал на Java, но переход совершил практически одномоментно, потому что тогда мне казалось, что Kotlin закрывает множество минусов Java и привносит более простой и лаконичный синтаксис. Но при этом я стараюсь следить за тем, как развивается Java.
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/934990/?utm_campaign=934990
@a_cup_of_java | Другие наши каналы
Как читать тело HttpServletRequest в Spring Boot несколько раз
Если поискать в интернете решение задачи «How to read HttpServletRequest multiple times», то можно найти множество ответов - и на Stack Overflow, и на Baeldung. Но все ли они подходят для всех случаев?
Читать: https://habr.com/ru/articles/935402/?utm_campaign=935402
@a_cup_of_java | Другие наши каналы
Если поискать в интернете решение задачи «How to read HttpServletRequest multiple times», то можно найти множество ответов - и на Stack Overflow, и на Baeldung. Но все ли они подходят для всех случаев?
Читать: https://habr.com/ru/articles/935402/?utm_campaign=935402
@a_cup_of_java | Другие наши каналы
Конфигурация Spring Security на пальцах
В новом переводе от команды Spring АйО мы рассмотрим решение для регистрации и аутентификации пользователя через клиентское JavaScript-приложение с использованием инфраструктуры Spring Security, а также access и refresh токенов.
Существует множество базовых примеров работы со Spring Security, поэтому цель данной статьи — более подробно описать возможный процесс с помощью блок-схем.
Читать: https://habr.com/ru/companies/spring_aio/articles/935470/?utm_campaign=935470
@a_cup_of_java | Другие наши каналы
В новом переводе от команды Spring АйО мы рассмотрим решение для регистрации и аутентификации пользователя через клиентское JavaScript-приложение с использованием инфраструктуры Spring Security, а также access и refresh токенов.
Существует множество базовых примеров работы со Spring Security, поэтому цель данной статьи — более подробно описать возможный процесс с помощью блок-схем.
Читать: https://habr.com/ru/companies/spring_aio/articles/935470/?utm_campaign=935470
@a_cup_of_java | Другие наши каналы
Таро врёт! В отличие от нашей IT-колоды
Цифровые арканы говорят с вами и проливают свет на ранее неведомые потоки информации. Вытяните «Карту дня» и получите мудрый совет судьбы: https://tprg.ru/nbw1
Реклама
Цифровые арканы говорят с вами и проливают свет на ранее неведомые потоки информации. Вытяните «Карту дня» и получите мудрый совет судьбы: https://tprg.ru/nbw1
Реклама
❤2
Как не багнуться: почему плавание — лучший спорт для тех, кто сидит за компьютером
Работа в IT может быть по-настоящему вредной. Не из-за дедлайнов, багов или багрепортов. Главная угроза — сидячий образ жизни. По 8 и более часов в день мы находимся в одном и том же положении, что негативно сказывается на осанке, кровообращении, работе мышц и даже когнитивных способностях. Чтобы ум оставался продуктивным, тело должно быть в порядке. Ведь даже самый продвинутый искусственный интеллект не будет работать без надежного железа, а человеческий интеллект работает только в здоровом теле.
Одним из лучших видов физической активности для «сидячих» профессионалов считается плавание. Почему? Давайте разбираться.
Читать: https://habr.com/ru/companies/axiomjdk/articles/935720/?utm_campaign=935720
@a_cup_of_java | Другие наши каналы
Работа в IT может быть по-настоящему вредной. Не из-за дедлайнов, багов или багрепортов. Главная угроза — сидячий образ жизни. По 8 и более часов в день мы находимся в одном и том же положении, что негативно сказывается на осанке, кровообращении, работе мышц и даже когнитивных способностях. Чтобы ум оставался продуктивным, тело должно быть в порядке. Ведь даже самый продвинутый искусственный интеллект не будет работать без надежного железа, а человеческий интеллект работает только в здоровом теле.
Одним из лучших видов физической активности для «сидячих» профессионалов считается плавание. Почему? Давайте разбираться.
Читать: https://habr.com/ru/companies/axiomjdk/articles/935720/?utm_campaign=935720
@a_cup_of_java | Другие наши каналы
Осторожно: @Size не проверяет на null! Как я пропустил баг
Почему @Size(min = 1) в Spring не проверяет null и пропускает пустые поля? Разбираем реальный кейс с формой отзыва, объясняем поведение @Size, @NotBlank, @NotNull и показываем, как правильно валидировать обязательные поля в Spring Boot.
Читать: «Осторожно: @Size не проверяет на null! Как я пропустил баг»
@a_cup_of_java | Другие наши каналы
Почему @Size(min = 1) в Spring не проверяет null и пропускает пустые поля? Разбираем реальный кейс с формой отзыва, объясняем поведение @Size, @NotBlank, @NotNull и показываем, как правильно валидировать обязательные поля в Spring Boot.
Читать: «Осторожно: @Size не проверяет на null! Как я пропустил баг»
@a_cup_of_java | Другие наши каналы