Чашечка 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
Синтетика подвела: как реальные данные делают unit-тесты надёжными

Введение

В мире разработки программного обеспечения надёжность и качество кода напрямую зависят от эффективности тестирования. Unit-тесты призваны проверять поведение отдельных компонентов без влияния внешних факторов. Традиционно в них используют синтетические (искусственно сгенерированные) данные, однако на практике всё чаще оказывается, что такие тестовые наборы не отражают реальных сценариев и приводят к ложному ощущению «зелёного» покрытия. В этой статье мы разберём, почему использование реальных данных при написании unit-тестов значительно повышает их ценность, и объясним, какие недостатки несут синтетические данные.


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

@a_cup_of_java | Другие наши каналы
МCP в Java: новый уровень интеграции с ИИ

Java-сообщество активно внедряет Model Context Protocol (MCP) — открытый стандарт для интеграции контекста с крупными языковыми моделями. Инструменты на базе JBang упрощают запуск MCP-серверов, расширяя возможности разработчиков и обогащая бизнес-приложения.

Подробности: https://www.infoq.com/news/2025/05/mcp-within-java-ecosystem/

#en

@a_cup_of_java | Другие наши каналы
JavaScript: большой гайд от Tproger

Гайд по JavaScript. Топовые и полезные статьи с теорией, инструментами и фреймворками. Практика для новичков и продвинутых программистов. Tproger

Читать: «JavaScript: большой гайд от Tproger»

@a_cup_of_java | Другие наши каналы
🌚1
От пет-проекта к книге про Spring

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


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

@a_cup_of_java | Другие наши каналы
До свидания, Kafka, или graceful shutdown на Spring Boot для Kafka

В этой статье я немного объясню важность graceful shutdown и расскажу как сделать плавное завершение работы твоего Spring Boot приложения, которое взаимодействует с Kafka.


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

@a_cup_of_java | Другие наши каналы
Новое в мире Java: библиотека JBang Jash упрощает выполнение внешних процессов и комманд через удобный и понятный API. Теперь работа с процессами стала проще, эффективнее и чище — без громоздкого кода и ручного управления потоками. Подробнее на GitHub.

Подробности: https://www.infoq.com/news/2025/05/jbang-jash/

#en

@a_cup_of_java | Другие наши каналы
🔥3🌚1
Денежные переводы в SQL

Переводим деньги в SQL

В этом посте я покажу распространённые стратегии обработки переводов между счетами, сосредоточив внимание на согласованности данных, уровнях изоляции и компромиссах.
Мы будем использовать упрощённые SQL и Java фрагменты с комментариями.


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

@a_cup_of_java | Другие наши каналы
Join таблиц в реальном времени на Apache Flink ( Часть 2 )

В данной статье приводится решение проблемы построения витрин данных в реальном времени с помощью Apache Flink. Рассказывается 2 часть подробной реализации решения этой задачи. В данной части рассмотрена проблема учета сообщений на удаление и частично операций update , в связи с чем достигается полная консистентность данных СИ с СП при условии гарантии, что ключ join условия не обновляется.


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

@a_cup_of_java | Другие наши каналы
Python, Java, C++ и Go — как появились популярные языки программирования

Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)

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

@a_cup_of_java | Другие наши каналы
Автоматизация тестирования Java UI-приложений с Arctic

Arctic от Amazon Corretto позволяет запускать автоматические проверки старых и новых Java-десктоп-тестов без их доработки. Инструмент сравнивает скриншоты и воспроизводит действия, помогая выявлять визуальные регрессии и экономить время на проверке.

Подробности: https://aws.amazon.com/blogs/developer/arctic-automated-desktop-application-testing/

#en

@a_cup_of_java | Другие наши каналы
Как решить ошибку Arithmetic overflow при конвертации IDENTITY в tinyint, smallint или int в SQL Server

Ошибка возникает, когда значение IDENTITY выходит за пределы диапазона типа данных. Решение — увеличить тип колонки до bigint или сделать reseed значения IDENTITY, учитывая возможные риски при изменениях. Топ-курсы и обзоры для IT-специалистов в 2024–2025 годах. В статье представлены лучшие онлайн-курсы по Apache Camel, Data Science, Selenium, Cloud Computing, а также отзывы о популярных образовательных платформах и сертификатах. Полезно для развития карьеры и повышения квалификации.

Подробности: http://www.java67.com/2019/08/arithmetic-overflow-error-converting-indentity-to-data-type-tinyint-smallint-and-in-sql-server-database.html

#en

@a_cup_of_java | Другие наши каналы
Лучшие онлайн-курсы по HTML и CSS в 2024 году

Если хотите освоить веб-дизайн и фронтенд-разработку, стоит обратить внимание на лучшие курсы по HTML5 и CSS3 от Udemy, Coursera, Pluralsight и edX. Они подходят и новичкам, и опытным специалистам. Лучшие онлайн-курсы по программированию и веб-разработке в 2025 году. В статье собраны популярные направления — от Python и Java до DevOps и блокчейна, включая бесплатные и платные варианты для всех уровней. Отличный гид для выбора обучения!

Подробности: http://www.java67.com/2020/08/5-best-online-courses-to-learn-html-5.html

#en

@a_cup_of_java | Другие наши каналы
Лучшие бесплатные сайты для изучения Microsoft Azure в 2024 году

Обзор ресурсов, которые помогут бесплатно освоить облачную платформу Microsoft Azure — от официального портала и Coursera до Udemy и Pluralsight. Идеально для разработчиков, DevOps и всех, кто хочет развить востребованные навыки в облачных технологиях. Лучшие онлайн-курсы по программированию и IT на 2024 год. В подборке — курсы по Java, Data Science, облачным технологиям, машинному обучению и тестированию. Обзор поможет выбрать подходящее обучение для развития навыков и карьерного роста.

Подробности: http://www.java67.com/2024/06/top-6-websites-to-learn-microsoft-azure.html

#en

@a_cup_of_java | Другие наши каналы
👍2
Работа с базой данных для джунов и вайбкодеров. Соединения

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


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

@a_cup_of_java | Другие наши каналы
👍2
ООП не мертво. Вы просто пользуетесь им как молотком по клавиатуре

После каждой новой статьи с заголовком «ООП — это обман» хочется напомнить: ООП — это не набор шаблонов из книжек, а инженерный подход. Если проект страдает от наследования и DI, возможно, проблема не в ООП. А в том, как вы его применяете.


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

@a_cup_of_java | Другие наши каналы
QCon London 2025: Как построить базу данных без сервера

На конференции обсудили опыт Man Group по замене MongoDB на безсерверное объектное хранилище с ArcticDB. Рассмотрены технические сложности, связанные с управлением глобальным состоянием, синхронизацией и использованием CRDT для консистентности данных.

Подробности: https://www.infoq.com/news/2025/05/serverless-database-seaton/

#en

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

Разработчик развеял мифы о чистом коде и трендах — почему идеальное программирование не всегда оправдано в реальных проектах

Читать: «Разработчик развеял мифы о чистом коде, трендах и идеальном программировании»

@a_cup_of_java | Другие наши каналы
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)

Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.


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

@a_cup_of_java | Другие наши каналы
👍3
Новые обновления Java: в JDK 25 готовы к внедрению несколько ключевых JEP, включая структурированную конкуренцию и гибкие конструкторы. Выпущены релизы Hibernate Reactive 3.0, Infinispan 16.0, JHipster 8.11 и Gatherers4j 0.11 с важными улучшениями и новыми возможностями.

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

#en

@a_cup_of_java | Другие наши каналы
JEP 505: Пятая предварительная версия структурированной конкуренции в Java

В JDK 25 вышла пятая превью Structured Concurrency с улучшениями API. Теперь StructuredTaskScope создаётся через статические методы, что упрощает управление параллельными задачами и повышает безопасность и читаемость кода.

Подробности: https://www.infoq.com/news/2025/05/jep-505-concurrency-preview-5/

#en

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

При создании веб-приложений часто требуется правильно управлять загрузкой файлов. После получения файлы могут храниться в нескольких местах: в файловой системе, в базе данных или, что более распространено, в облачном сервисе хранения данных.

В этой статье мы расскажем, как хранить файлы в базе данных с помощью Spring Boot, а также обсудим некоторые альтернативные варианты.


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

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