Чашечка Java
8.57K subscribers
3.88K photos
13 videos
56 files
6.33K links
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Pro Деньги. JSR-354

Достаточно часто в реализации сервисов есть необходимость оперировать денежными единицами, хранить их в БД, обмениваться по API и выполнять конвертацию


Читать: https://habr.com/ru/articles/946108/?utm_campaign=946108

@a_cup_of_java | Другие наши каналы
Баги носят данные. Проверка Apache NiFi

Сбор, обработка и перемещение данных — ключевые процессы в IT. Но что, если они нарушатся из-за коварных багов в коде? Рассказываем об ошибках, найденных статическим анализатором в проекте Apache NiFi.


Читать: https://habr.com/ru/companies/pvs-studio/articles/946266/?utm_campaign=946266

@a_cup_of_java | Другие наши каналы
Maven: verify или clean install?

Если вы автоматически пишете mvn clean install при сборке проекта, то вы такой точно не один — эта команда прочно укоренилась в привычке Java-разработчиков. Но действительно ли она всегда необходима? Что, если вместо неё использовать verify?

В новом переводе от команды Spring АйО мы погрузимся в детали жизненного цикла Maven, поведение реактора, инкрементные сборки и подводные камни использования clean и install. А главное — попробуем понять, когда можно (и нужно) обойтись без install и clean, чтобы ускорить сборку и сократить расходы памяти.


Читать: https://habr.com/ru/companies/spring_aio/articles/946410/?utm_campaign=946410

@a_cup_of_java | Другие наши каналы
Как мы сократили время доставки кода в 40 раз, или Непрерывная поставка в действии

Как сократить доставку кода в 40 раз: опыт CI/CD

Читать: https://tprg.ru/JEq8

@a_cup_of_java | Другие наши каналы
🗿2
JEP 502 — Stable Values. Новая фича из Java 25

Не final едины: StableValue в Java 25.

Stable Values - новая возможность, которая появится в Java 25 — следующем LTS-релизе, намеченном на сентябрь.


Читать: https://habr.com/ru/articles/946682/?utm_campaign=946682

@a_cup_of_java | Другие наши каналы
Новые возможности Java: JDK 26 готовит поддержку HTTP/3 и улучшения сборщика мусора G1. Spring Framework обновляется с новыми функциями, Open Liberty усиливает безопасность, а TornadoVM теперь поддерживает запуск моделей ИИ на GPU. JBang получает улучшения и поддержку fish shell.

Подробности: https://www.infoq.com/news/2025/09/java-news-roundup-sep08-2025/

#en

@a_cup_of_java | Другие наши каналы
1
Spring Security для начинающих: конспект от аутентификации до JWT

На Хабре уже много статей про Spring Security — от кратких заметок до глубоких разборов. В этой статье я решил собрать всё в формате конспект-мануала, который можно читать как пошаговое введение: от базовой аутентификации и фильтров до JWT и OAuth2. Это материал, собранный по официальной документации и дополненный разъяснениями «на простом языке». Я не работал в больших enterprise-командах, поэтому буду рад комментариям и советам от более опытных коллег. Местами я использовал помощь ChatGPT: он помог структурировать материал и сделать стиль более читабельным, ближе к документации.


Читать: https://habr.com/ru/articles/946912/?utm_campaign=946912

@a_cup_of_java | Другие наши каналы
Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 1: подготовка и начало работы

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


Читать: https://habr.com/ru/companies/pvs-studio/articles/947098/?utm_campaign=947098

@a_cup_of_java | Другие наши каналы
Возвращение LTS: ты не пройдёшь… мимо новых фич Java 25

В одной из моих предыдущих статей я писал о фичах между LTS-версиями Java 17 и 21. Сегодня, два года спустя (Как?! Уже два года?!), выходит новый LTS-релиз — Java 25.

Подавляющее большинство проектов пропускают промежуточные релизы и используют только LTS-версии Java. Так что давайте посмотрим, какие возможности новая LTS-версия (Java 25) приносит по сравнению с предыдущей LTS-версией (Java 21).


Читать: https://habr.com/ru/companies/T1Holding/articles/946778/?utm_campaign=946778

@a_cup_of_java | Другие наши каналы
OWASP Top Ten 2021 через простые примеры на Java. И немного про SAST

В этой статье мы расскажем про категории OWASP Top Ten 2021 через призму срабатываний Java анализатора PVS-Studio. Так что, если у вас есть желание посмотреть на возможные паттерны уязвимостей в Java коде или узнать, что из себя представляют категории OWASP Top Ten, приятного чтения!


Читать: https://habr.com/ru/companies/pvs-studio/articles/947332/?utm_campaign=947332

@a_cup_of_java | Другие наши каналы
Трейсинг в hh.ru: как мы выросли от 1 тысячи до 1 миллиона событий в секунду без семплирования

В каждой компании есть необходимость выстроить систему observability. В hh.ru мы перестраивали архитектуру под большее количество данных несколько раз — сейчас имеем на входе 24к RPS, 1 миллион спанов в секунду, 5к инстансов сервисов. Если вы — инженер, который находится в процессе построения или перестройки собственной системы трейсинга, этот доклад — для вас.

Привет, Хабр! Я — Александр Казанцев, уже более десяти лет в разработке. Когда-то был инженером на пивзаводе и могу рассказать, из чего делают пенное; но сегодня — о другом.


Читать: https://habr.com/ru/companies/hh/articles/939754/?utm_campaign=939754

@a_cup_of_java | Другие наши каналы
Java 25 выходит уже сегодня

Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре».

Встречайте 25 версию Java вместе с командой Spring АйО!


Читать: https://habr.com/ru/companies/spring_aio/articles/947420/?utm_campaign=947420

@a_cup_of_java | Другие наши каналы
Java 25 — новый LTS-релиз с акцентом на производительность и стабильность. Включает 18 JEP, из которых 7 финализированы, а 9 сосредоточены на улучшении работы JVM и ускорении запуска приложений. Поддержка HTTP/3 и улучшения в JDK 26 уже на горизонте.

Подробности: https://www.infoq.com/news/2025/09/java25-released/

#en

@a_cup_of_java | Другие наши каналы
Не LLM едиными: генерируем юнит-тесты из реального исполнения на лету

Представьте себе: вы отлаживаете новый баг в сложном многослойном приложении (например, на Spring). Чтобы воспроизвести проблему, приходится взаимодействовать со всей системой end-to-end: отправлять запрос на эндпоинт или что-то кликать в UI. Юнит-теста, который бы изолировал нежелательное поведение до уровня злополучного сервиса или утилиты, нет. А хотелось бы, чтобы он был: во-первых, воспроизводить баг было бы проще (особенно если UI кликает QA, а не вы), а во-вторых, его потом можно было бы легко превратить в регрессионный и улучшить стабильность системы.

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

Сегодня расскажу о пройденном исследовательском пути, о том, как попробовать нашу экспериментальную фичу в плагине для IntelliJ IDEA, и о том, что у неё под капотом (спойлер: не только LLM).


Читать: https://habr.com/ru/companies/explyt/articles/947856/?utm_campaign=947856

@a_cup_of_java | Другие наши каналы
3
WebAssembly 3.0 добрался до браузеров: 64-битная память, сборщик мусора и настоящие исключения

WebAssembly 3.0 уже работает в браузерах: 64-битная память, полноценный GC, система исключений и новые инструменты для языков

Читать: «WebAssembly 3.0 добрался до браузеров: 64-битная память, сборщик мусора и настоящие исключения»

@a_cup_of_java | Другие наши каналы
Андроид всё еще не готов к RAW-видео

Уверен, что многих возмутит уже само название этой статьи. А некоторые сразу же побегут в комментарии указывать на приложение, которое “смогло”. Но не стоит спешить, друзья!
Сегодня вам предстоит увлекательное путешествие по стыку технологий, кода и технических решений, которые и расскажут вам то, о чем адепты съемки мобильного RAW-видео предпочитают не говорить.


Читать: https://habr.com/ru/articles/947578/?utm_campaign=947578

@a_cup_of_java | Другие наши каналы
Чем хорош Postgres 18?

PostgreSQL 18 вот-вот выйдет, и это не просто минорное обновление, а настоящий прорыв для разработчиков и администраторов БД. В новом переводе от команды Spring АйО рассмотрим ключевые новинки — асинхронный I/O для ускорения чтения, поддержка UUID версии 7 с улучшенной сортировкой, skip scans в B-tree индексах, виртуальные вычисляемые столбцы и даже OAUTH 2.0 для аутентификации. Всё это делает Postgres ещё более быстрым, гибким и современным.


Читать: https://habr.com/ru/companies/spring_aio/articles/948068/?utm_campaign=948068

@a_cup_of_java | Другие наши каналы
👍1
Нейросети в Spring-разработке: убираем рутину, а не интеллект

Всем привет, на связи команда Explyt. Как известно наша компания предоставляет целую экосистему плагинов для IDEA: это и плагин для поддержки Spring, а также Explyt плагин для написания кода, генерации тестов и интеграции с AI. И нам пришла в голову идея - а почему бы не расширить функциональность Spring плагина с помощью AI ассистента, который есть в Explyt. И если вы используете оба наши плагина, то у вас появятся дополнительные возможности для Spring, позволяющие достаточно хорошо решать типовые задачи, которые возникают в процессе работы, с помощью AI, о которых мы подробно расскажем далее.


Читать: https://habr.com/ru/companies/explyt/articles/944266/?utm_campaign=944266

@a_cup_of_java | Другие наши каналы
2
Обмен событиями распределённого приложения на Java

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

Это доставка событий через БД, в которой хранится состояние распределённого приложения.


Читать: https://habr.com/ru/companies/bercut/articles/937178/?utm_campaign=937178

@a_cup_of_java | Другие наши каналы
Кондотьер Кода

Есть такой термин — лейтенант военного времени. Если коротко, то «теории мало, а практики много». Вот и я, к примеру, из таких недоучек практиков. Программирование для меня было вторичным умением, а не основным, скорее хобби и дополнение к основному занятию. Я не собирался быть программистом но в итоге стал им.


Читать: https://habr.com/ru/articles/948580/?utm_campaign=948580

@a_cup_of_java | Другие наши каналы
Что нового в Gradle 9.0.0?

В новом переводе от команды Spring АйО рассматривается новое крупное обновление Gradle, которое приносит с собой переход на Kotlin 2 и Groovy 4, а также делает кеш конфигурации рекомендуемым режимом сборки. В версии 9 улучшена система отчётности об ошибках, ускорена компиляция Kotlin DSL, добавлена интеграция с Jspecify, снижено потребление памяти и оптимизирована работа с IDE.


Читать: https://habr.com/ru/companies/spring_aio/articles/948710/?utm_campaign=948710

@a_cup_of_java | Другие наши каналы