Чашечка 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
В поисках идеального Database-клиента для IDE: Amplicode выбирает DBeaver

Один из частых вопросов, которые мы слышим от наших пользователей, связан с заменой встроенного инструмента для работы с БД, доступного ранее в IntelliJ IDEA Ultimate. В связи с тем, что DataGrip больше не доступен (а именно так называлась эта функциональность), многим разработчикам приходится искать альтернативу инструменту.

Нас эта проблема волнует не только как разработчиков Amplicode, но и как участников проекта OpenIDE. Мы считаем очень важным предоставить российским разработчикам максимально удобное и мощное решение.


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

@a_cup_of_java | Другие наши каналы
🤨3👍2
Генерация случайных чисел


Картинка Benzoix, Freepik

Зачем вообще нужны случайные числа? Дело в том, что случайные числа не представляют собой оторванную от жизни абстракцию, а широко применяются во множестве областей, начиная от научных исследований и заканчивая технологиями, окружающими нас.

Рассмотрим наиболее известные применения случайных чисел и способы их получения как программным способом, так и комбинированным (программно-физическим).

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

@a_cup_of_java | Другие наши каналы
JavaOne 2025: Новое из мира Java

Первый день JavaOne 2025 открылся в Калифорнии с выпуском JDK 24. На ключевой презентации обсуждалось развитие Java и роль Oracle в ее сохранении и инновациях. Участники узнали решения 11 проблем разработчиков, а также об анонсе нового образовательного ресурса Learn.java.

Подробности: https://www.infoq.com/news/2025/03/day-one-java-one-2025/

#en

@a_cup_of_java | Другие наши каналы
Ученые из Гарварда оценили все open-source проекты в $8,8 трлн

Гарвард оценил ценность open-source в $8,8 трлн: 96% IT-продуктов используют свободный код, но создают его лишь 5% разработчиков

Читать: «Ученые из Гарварда оценили все open-source проекты в $8,8 трлн»

@a_cup_of_java | Другие наши каналы
Концерт для Java с ИИ — разработка готовых к продакшен LLM приложений (часть 2)

Команда Spring АйО перевела и адаптировала доклад Томаса Витале “Concerto for Java and AI — Building Production-Ready LLM Applications”, в котором рассказывается по шагам, как усовершенствовать интерфейс приложения с помощью больших языковых моделей (LLM). В качестве примера автор доклада на глазах слушателей разрабатывает приложение-ассистент для композитора, пишущего музыку для фильмов.

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


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

@a_cup_of_java | Другие наши каналы
Что такое хэш-таблицы и как их использовать

Что такое хэш-таблицы. Показываем основные преимущества хэш-таблиц в программировании. Рассматриваем пошаговую инструкцию и основные нюансы Tproger

Читать: «Что такое хэш-таблицы и как их использовать»

@a_cup_of_java | Другие наши каналы
Разработка Java-проекта с Jmix AI Assistant

Эта заметка инспирирована статей на Хабре Разработка Java-проекта с ChatGPT-4: от идеи до реализации [1]. После ее прочтения автор начал экспериментировать в разработке ПО с различными AI ассистентами.

Увидев статью блога Jmix AI Assistant — ваш помощник в освоении Jmix, решил реализовать с помощью Jmix AI Assistant приложение аналогичное приведенному в статье [1].

Главное отличие от указанной статьи в том, что вся разработка будет вестись с помощью одного инструмента Jmix AI Assistant без использования сторонних генераторов кода.


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

@a_cup_of_java | Другие наши каналы
Курсы по чат-ботам: лучшее онлайн-обучение для специалистов по разработке чат-ботов

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

Читать: «Курсы по чат-ботам: лучшее онлайн-обучение для специалистов по разработке чат-ботов»

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

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


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

@a_cup_of_java | Другие наши каналы
Allurium — java framework для автотестов. Мультиязычные, близкие к bdd репорты, без bdd структуры

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

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

Первые годы я плотно занимался тестированием Web приложений на Java, хотя начинал не с неё. Разумеется, перепробовав много подходов, я нашёл для себя любимый stack, который применял при наличии свободы выбора. Для меня это сложилось в TestNg + Selenium + Allure. Естественно, мне приходилось работать со знаменитым Cucumber, а потом и вообще с чудовищьным (на мой взгляд) Serenity и ещё многими другими решениями, включая кастомные разработки разных людей.

Моё расположение никогда не лежало в сторону BDD, так как чаще всего я сам читал отчёты и проверял тесты, и в 100% случаев сам составлял сценарии с Gherkin (иногда по предоставленным сценариям, чаще нет). Так называемое удобство, дающее BDD пользователю, сводилось к минимуму, а вот взамен требовало многое — небоскрёбы из обёрток классов, сложности с наследованием, необходимость создавать кучу дубликатов мизерных действий, абсолютное неудобство передачи данных между шагами и процессами и прочие трудности.


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

@a_cup_of_java | Другие наши каналы
👍32
Жизненный цикл бина в Spring

Разобраться в жизненном цикле бина в Spring бывает непросто: информация разбросана, а объяснения часто сложные и перегруженные деталями. Эта статья — простой и понятный "чек-лист", где все этапы разобраны на живых примерах


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

@a_cup_of_java | Другие наши каналы
👍9
Новое в Spring: обновления и релизы

Весной 2025 года в экосистеме Spring произошло множество значимых обновлений. Обновления коснулись таких компонентов, как Spring Boot, Security, Auth Server, GraphQL и многих других. Среди новшеств — улучшения в поддержке OpenTelemetry и новые свойства для Spring Batch. Эти обновления делают инструменты ещё более мощными и удобными для разработчиков.

Подробности: https://www.infoq.com/news/2025/03/spring-news-roundup-mar17-2025/

#en

@a_cup_of_java | Другие наши каналы
3
Загляните в будущее Java: Quarkus и JBang

В мире Java новый подход Quarkus обеспечивает высокий уровень производительности, упрощая жизнь разработчиков. Платформа JBang предлагает лёгкий способ работы без сложных настроек, помогая как новичкам, так и профессионалам. Инновации делают Java-девелопмент проще и быстрее!

Подробности: https://www.infoq.com/podcasts/simplify-system-learning-ecosystems/

#en

@a_cup_of_java | Другие наши каналы
Новости Java: Выпуск JDK 24 и многое другое

Oracle представила JDK 24 с 24 JEPами, обновлён GraalVM для JDK 24 с новыми функциями GNN и SkipFlow. Apache Kafka 4.0 и обновление Spring прошли с учётом исправлений CVE. Также состоится JavaOne 2025. Следите за обновлениями, чтобы узнать больше!

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

#en

@a_cup_of_java | Другие наши каналы
RabbitMQ и Kotlin: делаем свою event-driven Jira на Spring

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


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

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

Автоматизация тестирования, которая не ломается при первом редизайне

Как мы проектировали, внедряли и поддерживаем живую систему автотестов


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

@a_cup_of_java | Другие наши каналы
Forwarded from Типичный программист
Разбираемся с System Design: всё, что нужно знать в одном репо с наглядными примерами

— Архитектура сервисов: монолит, микросервисы, API-шлюзы, балансировка нагрузки, БД.
— Протоколы: REST, gRPC, WebSockets, проектирование API, оптимизация нагрузки.
— DevOps: CI/CD, мониторинг, Kubernetes, контейнеризация, облака.
— Разбор архитектуры крупных компаний: Netflix, Twitter, Discord, Amazon Prime Video.

Погружаемся в системный дизайн — здесь.

#архитектура
👍43
Как мы перестроили комментарии в ОК: от линейного хаоса к веточной гармонии

Комментарии в соцсетях — это как чипсы: начал читать, остановиться невозможно. Но в ОК до 2024 года они были плоскими — вместо структурированного диалога под постом пользователи видели бесконечную ленту сообщений, где ответы терялись в хронологическом порядке. Представьте: под постом про котиков кто-то спросил про корм, но ответ на вопрос появился в самом низу, через 500 комментариев с обсуждением хвостатых. Найти ответ на вопрос в такой системе, если он вообще существует, — тот ещё квест.

Меня зовут Александр Косницкий. Я разработчик в компании ОК. В этой статье я расскажу, как мы переходили с линейной структуры отображения комментариев к древовидной: с чего начали, с чем сталкивались и что получили в результате.


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

@a_cup_of_java | Другие наши каналы
Context Collapse: как микросервисы могут сойти с ума

Даже самая идеальная микросервисная архитектура может упасть. В статье обсудим зарубежный материал, где автор рассказывает о проблеме Context Collapse.

Читать: «Context Collapse: как микросервисы могут сойти с ума»

@a_cup_of_java | Другие наши каналы
Подводный камень в docker env и java

Столкнулся с небольшим с интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).
(Тема не сложная)

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

@a_cup_of_java | Другие наши каналы
Создаем Spring Boot Starter для Kafka с Avro: пошаговое руководство

Интеграция Apache Kafka в проекты на Spring Boot часто требует много boilerplate-кода.

В этой статье я делюсь опытом создания кастомного стартера kafka-spring-boot-starter, который упрощает настройку продюсера и консюмера Kafka с поддержкой Avro-сериализации.

Рассказываю, как решал проблемы с тестами (например, auto.offset.reset=latest) и адаптировал стартер для гибкой работы со схемами.

Вы найдёте примеры конфигураций для надёжной доставки, потоковой обработки и ретраев, а также лучшие практики разработки стартеров.

Бонус в конце — удобный обзор ключевых настроек Kafka для продюсера и консюмера.


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

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