Чашечка Java – Telegram
Чашечка Java
8.91K subscribers
3.85K photos
12 videos
56 files
6.26K links
Лучшие материалы по Java на русском и английском

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

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

Другие каналы: @tproger_channels
Download Telegram
На GitHub выложили исходный код алгоритма рекомендаций X. Разобрались, что там внутри

X выложила на GitHub исходный код алгоритма рекомендаций. Внутри — Scala, Java, Rust и ML-модели для ранжирования твитов, поиска и уведомлений

Читать: «На GitHub выложили исходный код алгоритма рекомендаций X. Разобрались, что там внутри»

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

Java не стоит на месте и продолжает активно развиваться. Скоро выйдет уже 25-я версия языка. В этом релизе изменили работу с boilerplate-кодом и конструкторами, а также отказались от поддержки устаревших систем. Обо всех этих и других нововведениях расскажем в статье.


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

@a_cup_of_java | Другие наши каналы
Пять производительных паттернов кэширования, которые ускорят ваш микросервис

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


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

@a_cup_of_java | Другие наши каналы
Как мы создали курс по разработке мобильных игр, в котором Java оживает, а наставник становится другом

В этом году мы запустили новую образовательную программу «Разработка мобильных игр» для школьников 8–9 классов — и она получилась по-настоящему особенной. Это не просто очередной курс по программированию или геймдеву: мы объединили код, персонажей, физику и истории в одно целое, сделав обучение настоящим приключением. Вместо сухих лекций, ребята начинают стажировку в виртуальной гейм-студии, где их сопровождает наставник Максим. Он не просто рассказывает про программирование, а делится эмоциями, личными историями и шутками про баги. Объясняет сложные вещи «на пальцах», вместе с учениками разбирает задачки и отвечает на вопросы в формате встреч (лонгридов) с примерами кода и иллюстрациями. Такая история «по ту сторону экрана» сильно вовлекает учеников: сторителлинг помогает им лучше усваивать материал и понимать, зачем всё это нужно.


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

@a_cup_of_java | Другие наши каналы
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