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

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

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

Другие каналы: @tproger_channels
Download Telegram
Java-дайджест: Jakarta AI, GlassFish, Spring RCs, Infinispan 16

Согласно InfoQ: утверждена спецификация Jakarta Agentic AI, вышел GlassFish 8.0 M14, опубликованы RC2 для Spring Boot/GraphQL/Batch, выпущен Infinispan 16, обновления Open Liberty и планы по JDK 26.

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

#en

@a_cup_of_java | Другие наши каналы
Документируем API как профессионалы OpenAPI и Spring в действии

В мире микросервисной архитектуры качественная документация API — это не роскошь, а необходимость. Она ускоряет интеграцию, снижает количество ошибок и упрощает жизнь как разработчикам, так и потребителям вашего сервиса. Исторически документация часто отставала от кода, но с появлением стандарта OpenAPI (ex‑Swagger) и его глубокой интеграции с экосистемой Spring этот процесс можно полностью автоматизировать.

В этой статье мы подробно рассмотрим, как профессионально подойти к документированию API, используя связку OpenAPI и Spring Boot. Чтобы материал был максимально практическим, мы создадим простой PersonService и на его примере покажем, как из кода генерируется всегда актуальная и интерактивная документация.
Подробнее о подходе

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

@a_cup_of_java | Другие наши каналы
Встречаем Spring AI Agents и Spring AI Bench

Java-разработчикам теперь доступен мощный инструментарий для работы с агентными ИИ-системами: Spring AI представила проекты Agents и Bench. В новом переводе от команды Spring АйО рассмотрим, как первый обеспечивает удобную абстракцию для работы с CLI ИИ-агентами, а второй — предлагает реалистичные бенчмарки для оценки их эффективности в задачах enterprise-разработки.


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

@a_cup_of_java | Другие наши каналы
OpenTelemetry — не то, чем кажется…

Привет! Меня зовут - Евгений, работаю в финтехе и проектирую системы, которые обрабатывают миллионы запросов, интегрируются с десятками внешних сервисов и живут в Kubernetes. А еще я преподаю Java/Spring Boot и рассказываю студентам, как не наступать на чужие грабли, а создавать свои и прыгать на них.

Больше 10 лет в разработке — и за эти годы в череде проектов я видел одну и ту же боль: отсутствие системного подхода к наблюдаемости. Логи, метрики и трейсы появляются «по остаточному принципу»: что-то добавили при отладке, что-то прилетело из чужой либы, что-то настроили на проде. Итог — инженеры часами разбирают простые инциденты, а продуктовые команды теряют скорость.

В статье поделюсь нашим опытом: как мы строим наблюдаемость в системах, почему OpenTelemetry — это больше чем стандарт и какими принципами мы руководствуемся.
Ну давай посмотрим что у тебя там...

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

@a_cup_of_java | Другие наши каналы
Подключаем LLMку в свой Java/Kotlin проект через Docker

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

Мы будем использовать Java/Kotlin + Docker + Ollama.


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

@a_cup_of_java | Другие наши каналы
4
Kafka для начинающих: гарантии доставки на практике и настройка идемпотентности

Почему exactly-once — это миф? Как защититься от дубликатов в распределённых системах?
Продолжаем работу с Kafka на практике и рассматриваем более интересные темы.

Простым языком и с примерами кода о непростых концепциях и паттернах.


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

@a_cup_of_java | Другие наши каналы
Искусственный интеллект в роли архитектора кода: возможности и ограничения

Автор: Денис Аветисян

Первое масштабное исследование показывает, как нейросети справляются с задачей рефакторинга программного кода.


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

@a_cup_of_java | Другие наши каналы
Математик или программист? Какие знания нужны ML‑специалисту

Интервью про ML: бустинг против нейросетей, работа с LLM, валидация и культура кода в команде

Читать: «Математик или программист? Какие знания нужны ML‑специалисту»

@a_cup_of_java | Другие наши каналы
❤‍🔥1
Как дефолтная пагинация в Spring сломала проект и как это починить

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



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

@a_cup_of_java | Другие наши каналы
Почему простые фичи — самые сложные: история о пет-проекте, Дженге и маржинальной торговле

Привет, Хабр! Меня зовут Иван, и сегодня я хочу поделиться историей о своём пет‑проекте A‑Zero. Истории про провалы традиционно интереснее историй об успехах, и моя как раз такая (почти). Довольно бодро начинавшийся проект чуть было не свёл меня с ума из‑за одной единственной фичи, «просочившейся» в MVP, и сейчас я расскажу, как я из этого выкарабкался и чему научился по дороге.


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

@a_cup_of_java | Другие наши каналы
HotSpot на iOS: OpenJDK запускается на iPhone

InfoQ сообщает, что OpenJDK Mobile под руководством Johan Vos собрал HotSpot/Zero для iOS. План — сочетать Zero с AOT (Project Leyden) и OpenJFX, чтобы обойти запрет Apple на JIT и сделать Java пригодной для мобильных приложений.

Подробности: https://www.infoq.com/news/2025/11/java-on-ios/

#en

@a_cup_of_java | Другие наши каналы
Странности в исключениях JVM с точки зрения декомпилятора

Некоторое время назад я немного поэкспериментировала, пытаясь научиться декомпилировать файлы классов Java более эффективно, чем позволяют традиционные инструменты, предназначенные для этого — например, Vineflower. В конце концов, я написала статью, в которой изложила мой подход к декомпиляции потока управления. Мои находки позволили значительно ускорить работу получившегося у меня прототипа.

На тот момент я полагала, что этот метод не составит труда расширить и на декомпиляцию потока управления, возникающего при обработке исключений — то есть, что ему будут поддаваться блоки try…catch. В ретроспективе признаю: следовало ожидать, что это будет не так просто. Оказывается, здесь возникает множество пограничных случаев, варьирующихся от странного поведения javac до последствий, отражающихся на самой структуре JVM и формате файлов классов. Всё это – серьёзные осложнения. В данном посте я разберу все эти детали, расскажу, почему простые решения не работают, и на каком подходе я в итоге остановилась.


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

@a_cup_of_java | Другие наши каналы
Разбор задачи «Regular Expression Matching»

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


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

@a_cup_of_java | Другие наши каналы
1
Spring-boot-starter для паттерна Transaction outbox Kafka

В микросервисной архитектуре мы постоянно сталкиваемся с задачей: сохранить изменения в базе и гарантированно отправить событие в Kafka. На первый взгляд звучит просто — сделал транзакцию, отправил сообщение, закоммитил. Но в реальности между базой данных и брокером сообщений никакой общей транзакции нет.

В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter, который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.


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

@a_cup_of_java | Другие наши каналы
1
Графический редактор PaintCAD Mobile — переделка под большие экраны телефонов

Жил-был в 2000-2005(-2010) годах такой пет-проект - графический пиксель-арт редактор для J2ME мобильных телефонов - PaintCAD (смесь паинта и системы, управляемой с телефонной клавиатуры, ползающей курсором по рисунку, рисующей и применяющей эффекты, обрабатывающей изображения, создающей GIF-анимации, растровые PCF-шрифты и т.д.).
И что было дальше?

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

@a_cup_of_java | Другие наши каналы
👍1
Скважины, потоки и GC: как Java помогает качать нефть и сохранять ИТ-ресурсы и кадры

Многие промышленные системы ТЭК десятилетиями держались на Java. И это помогло им избежать полного ребилда. Если коротко: нефтегазовые компании в России не стали переписывать свои системы с нуля — они просто остались на Java. Только теперь — на отечественной.


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

@a_cup_of_java | Другие наши каналы
👎2
Почему каждой команде нужен AI-рецензент в 2025

В статье Java67 рассказывается о CodeRabbit — AI-рецензенте, который автоматически находит баги, уязвимости и крайние случаи, экономит время на ревью и предотвращает инциденты. AI дополнит людей, а не заменит их. Обзор: Темы блога JavaRevisited

В статье собраны теги и архивы блога JavaRevisited — Java, Spring, алгоритмы, DevOps, ML, базы данных, интервью-вопросы и онлайн-курсы. Полезная навигация для подготовки к собеседованиям и самообучения. Навигация блога: архив и подписка

На странице перечислены архив по годам и месяцам, ссылки Privacy Policy и Terms & Conditions, блок "Popular Posts" и форма подписки по e-mail. Указан копирайт Soma Sharma 2021–2025. Полезно для поиска прошлых записей.

Подробности: http://www.java67.com/2025/11/stop-shipping-bugs-why-every-team-needs.html

#en

@a_cup_of_java | Другие наши каналы
1
Forwarded from Типичный программист
С кем знакомятся типичные программисты: 2D-тян или живая девушка?

Согласно недавним исследованиям Vantage Point Counseling Services, треть американцев хотя бы раз состояла в романтических отношениях с ИИ. Появилось даже приложение Loverse для виртуальных знакомств, где вместо реальных людей роль партнёров выполняют чат-боты с искусственным интеллектом.

Мы решили провести своё исследование и выяснить где и с кем сегодня знакомятся пользователи стран СНГ. Пожалуйста, пройдите наш небольшой опрос. Это поможет нашему исследованию.

Пройти опрос.
😍1
Как не сойти с ума с Grafana Unified Alerting: настраиваем алерт и разбираем все грабли

В какой-то момент простого дашборда уже не хватает. Хочется, чтобы метрики не просто “где-то красиво лежали”, а сами приходили и били в лицо, когда что-то пошло не так.

Разберёмся с Grafana Unified Alerting, expressions, темплейтами уведомлений и типичными ошибками, которые легко словить, если вы впервые лезете в алерты.


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

@a_cup_of_java | Другие наши каналы
Многопоточность без боли: моя шпаргалка для собесов в Java

Всем привет!)

Я работаю Senior Java Developer в одном из банков, и за последние годы мне пришлось пройти не одно собеседование, услышать десятки каверзных вопросов и потратить уйму времени на подготовку. И вот что я понял: многопоточность — это одна из самых сложных и любимых тем на Java-собеседованиях, независимо от уровня кандидата.

Поэтому в этой статье я хочу помочь вам уверенно подготовиться к секции по concurrency: разберём ключевые термины, посмотрим, как это работает на практике, и дам несколько советов, которые реально помогают на собесах. Поехали!


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

@a_cup_of_java | Другие наши каналы
Реактивное программирование в Java: от теории к практике

"Когда пару лет назад я впервые столкнулась с реактивным программированием, - рассказывает моя коллега Екатерина, - казалось, что это что-то слишком сложное и академическое. Но чем больше работаешь с современными высоконагруженными системами, тем яснее становится, что без реактивного подхода сложно обеспечить высокую отзывчивость и масштабируемость".


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

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