Чашечка 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
Как мы перестали использовать Python в production LLM-системах — и почему это было необходимо

Python идеален для быстрых LLM-прототипов, но в enterprise он часто не справляется с нагрузкой, SLA и требованиями к безопасности.

Как мы заменили Python в критическом пути инференса на JVM, запустили fine-tuned 3B-модель на CPU и снизили стоимость обработки документов в 40 раз, сохранив полный контроль над данными.
Читать

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

@a_cup_of_java | Другие наши каналы
1
Что такое API? Простыми словами для Начинающих

API.

Это слово звучит в каждой IT-статье, в каждой вакансии, в каждом разговоре разрабов. Но когда гуглишь, что это, вываливается тонна заумных определений про «программные интерфейсы приложений», от которых мозг плавится.

Так что сегодня объясню, что такое API, так, что ты точно поймешь: на простых примерах, интересно, да еще и с крутой графикой. Уже через несколько минут ты будешь великолепно знать, что такое API и как создать свой собственный.


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

@a_cup_of_java | Другие наши каналы
Ну всё! Теперь точно Final

Скоро в Java (предположительно, что уже непосредственно в JDK 26) попадут изменения, которые сначала будут выдавать warning-и при попытках изменения final полей, а потом и вовсе запретят изменения final полей в общем случае (это уже, предположительно, в следующих релизах).

Я периодически катаюсь на различные европейские конференции, и уже давольно давно на них от ключевых архитекторов Java, таких как Brian Goetz, Stuart Marks (довольно известный на конференциях по прозвищу "Dr. Deprecator"), Mark Reinhold и др. превалировал сентимент, который впоследствии переродился в идеалогию под названием "Integrity By Default". В рамках Spring Айо мы уже как-то вскольз о ней упоминали, но не формализовывали. Я предлагаю сначала начать с неё, и потом уже раскручивать непосредственно всю эпопею с final в Java.


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

@a_cup_of_java | Другие наши каналы
Что такое JOOQ и как его едят на примере Kotlin + Gradle + JOOQ

Всем привет, сегодня я бы хотел поговорить про JOOQ для чего, зачем и почему и немного сравнить его с Hibernate, Spring data JPA. Долгое время я работал только с Hibernate, Spring data JPA и думал, что лучше них не будет и конкурентов ТОЧНО НЕТ, пока не встретил JOOQ. Сегодня расскажу подробнее что за инструмент, как его лучше приготовить и когда выбрать.


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

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