Чашечка Java
9.18K subscribers
3.72K photos
13 videos
55 files
5.88K links
Лучшие материалы по Java на русском и английском

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

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

Другие каналы: @tproger_channels
Download Telegram
Мы писали ранее, что 12 сентября пройдёт big tech night. Событие придумали в Яндексе и организовали вместе со Сбером, X5, Т-Банком и Lamoda. Впервые топовые IT-компании одновременно откроют двери офисов в Москве с 18:00 до 00:00 и покажут специалистам, где рождаются технологии.

Пора рассказать о тех, кто выйдет на сцену⚡️

📣 Кто и о чём расскажет на big tech night? Начинаем представлять спикеров и темы. Читайте на карточках.

➡️ А подробнее про доклады рассказываем на сайте

Подписывайтесь:
💬 big tech night

Реклама. Рекламодатель: ООО "Яндекс" ИНН 7736207543
Java Agent как инструмент обхода лицензий: этичный анализ и защита

Обычно Java‑агенты используются для сбора телеметрии, логирования, профилирования, каких‑то ультрабыстрых хотфиксов и прочих скучных вещей.

Но сегодня мы исследуем приложение Java‑агент, которое модифицирует код другого Java‑приложения «на лету» и создано для обхода лицензионных ограничений. Называть его мы будем «агент», «вредоносный агент» и т. п.

Меня зовут Сергей Капустин, тимлид бэкэнд-команды продукта Data Ocean Cluster Manager вендора Data Sapience.

Код в нашем примере будет максимально обезличен.

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

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


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

@a_cup_of_java | Другие наши каналы
1👍1
SSO на базе Spring Authorization Server. Можно ли в прод?

В современных приложениях централизованная аутентификация и авторизация играют ключевую роль в обеспечении безопасности и удобства пользователей. Именно с такой задачей мы столкнулись в компании NAUKA при создании "Платформы" — экосистемы, предназначенной для функционирования наших решений и разработки собственных прикладных приложений. В качестве основного компонента системы аутентификации и авторизации был выбран Spring Authorization Server.

Настоящая статья - это небольшой практический обзор реализации SSO-сервера на основе технологии Spring Authorization Server с акцентом на решении типовых проблем, которые возникают при её использовании в реальной системе. Мы рассмотрим как технические детали, так и архитектурные решения, которые помогут создать надежный и масштабируемый сервер авторизации.


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

@a_cup_of_java | Другие наши каналы
Выпущена версия Jmix 2.6

Мы рады объявить о выпуске Jmix 2.6, который включает новую функциональность, улучшения и оптимизацию производительности. Этот релиз приносит значительные обновления в Jmix Studio, представляет новые UI-компоненты и повышает продуктивность благодаря умным инструментам и интеграциям.

Ниже представлен краткий обзор ключевых возможностей Jmix 2.6.


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

@a_cup_of_java | Другие наши каналы
Мне не нужен ORM, я могу просто использовать SQL

Команда Spring АйО в новом переводе разобрала популярный аргумент «я просто использую SQL» и объяснила, почему Hibernate — это не замена, а дополнение к нативным запросам. А ещё — когда ORM действительно необходим, а когда можно без него обойтись.


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

@a_cup_of_java | Другие наши каналы
😁21🤔1🙏1
Как получить оффер в FAANG: этапы собеседований и требования компаний

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

Собеседования в FAANG-компаниях (или MAANG/MANGA — кому как ближе) давно стали отдельным жанром. Если вы уже пытались попасть в Big Tech — то знаете, насколько сильно отличается их подход: чёткая структура, множество этапов собеседования, критерии оценки кандидатов и даже особенная культура коммуникации. При этом есть схожие моменты, которые вы встретите везде, и уникальные штуки, о которых лучше знать заранее.


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

@a_cup_of_java | Другие наши каналы
😁1
Не только для собеседований: как LeetCode и аналоги помогают новичкам в программировании

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

Читать: «Не только для собеседований: как LeetCode и аналоги помогают новичкам в программировании»

@a_cup_of_java | Другие наши каналы
Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта магия происходит благодаря ItemAnimator — механизму, который я сегодня разберу до последнего винтика.

В этой статье мы погрузимся в архитектуру системы анимаций RecyclerView, проследим путь от вызова notifyItemInserted() до финальной анимации на экране.


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

@a_cup_of_java | Другие наши каналы
JDK 25 выйдет в сентябре 2025 года с 18 новыми функциями, включая улучшения в языке Java, безопасности и производительности JVM. JDK 26 готовит поддержку HTTP/3 и удаление устаревшего Applet API. Главное для разработчиков — стабильность и оптимизация с новыми возможностями.

Подробности: https://www.infoq.com/news/2025/08/java-25-so-far/

#en

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

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

Привет, Хабр! Меня зовут Евгений Ляшенко, я старший разработчик IBS. В эпоху, когда объемы данных растут с каждым днем, эффективный поиск информации становится критически важным для бизнеса и разработчиков. OpenSearch как мощный инструмент для полнотекстового поиска и аналитики предлагает гибкие решения для работы с большими массивами данных. Чтобы наглядно продемонстрировать его работу, я создал pet-проект с поиском по библиотеке книг и фильмов. Но сначала немного теории.


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

@a_cup_of_java | Другие наши каналы
Bitnami Secure Images: Прощание с Бесплатным Продом

Команда Spring АйО перевела статью про то, что не так давно, компания Broadcom, которая на данный момент в силу различных M&A сделок косвенно управляет компанией Bitnami, внесла существуенные изменения в политику поддержки docker образов.

Теперь не бесплатно!


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

@a_cup_of_java | Другие наши каналы
Работа с Binance REST API с помощью Java

В предыдущей статье мы рассмотрели основы парсинга данных в Java.

В этой статье мы пошагово разберём, как с помощью Java 11+ быстро отправлять HTTP GET‑запросы, получать JSON от Binance REST API и извлекать из него символ пары (symbol) и цену (price) — без сторонних зависимостей.

Также в статье мы рассмотрим обход блокировки запросов со стороны сервера.


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

@a_cup_of_java | Другие наши каналы
Обновления Spring: релизы второй milestone-версии Spring Boot, Security, Authorization Server, GraphQL и других компонентов включают исправления ошибок, обновленные зависимости и новые функции. Детали доступны в официальных заметках к релизам.

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

#en

@a_cup_of_java | Другие наши каналы
Kafka Streams для начинающих. Потоковая обработка данных в мире Java

Привет, коллеги-разработчики! За всю историю человечества в разные эпохи  существовали определенные виды ресурсов, которые определяли наше развитие и эволюцию. В 19 веке главным ресурсом для человечества было золото, в 20 веке – нефть и газ, а в 21 веке этим ресурсом стала информация. В нашем быстро меняющемся мире, где данные льются рекой и эти объемы растут с невероятной скоростью, нам как разработчикам приходится постоянно искать новые подходы для эффективной работы. От финансовых транзакций и логов серверов до показаний IoT-сенсоров и кликов пользователей на веб-сайтах — информация поступает непрерывным потоком. Работать с ней в реальном времени становится критически важным для того, чтобы бизнес мог принимать своевременные решения и оставаться конкурентоспособным.

Итак, в этой статье мы разберемся в новомодной технологии для работы с данными – Kafka Streams и узнаем, что это, область применения, а также достоинства и недостатки.


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

@a_cup_of_java | Другие наши каналы
MWS Cloud Platform митап в Казани
Java&kotlin-митап в Казани от MWS Cloud Platform

30 сентября в 18:00 в пространстве MEDIAPORT соберутся талантливые инженеры MWS CloudPlatform, чтобы рассказать о своём подходе в построении облака, а ещё обсудить с техсообществом Казани будущее Go и Java. Приходите знакомиться!

В программе:
— как реализовать безопасный контроль доступа в облаке;
— как создать балансировщик нагрузки собственными руками;
— сможет ли Go заменить Java в энтерпрайзе.

Вход бесплатный, но регистрация обязательна.

Это #партнёрский пост
🌭1
Android. Starting Kivy App and Service on bootup. API 35

Это мини статья является дополнением к статье Android. Starting Kivy App and Service on bootup, в которой запускал сервисом kivy приложение на API 22 Android 5. Теперь будем запускать на последних версиях Android. C API 26 Android 8 и по текущий API 35 Android 15 который есть у меня, постигли изменения, которые необходимо внести для автостарта сервиса. Проверял работу на API 22...35.


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

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

Привет, Хабр!

Еще в C++20 появилась явная поддержка модулей в языке. Интересно, но в Java тоже давно искали похожее решение для упорядочивания больших монолитных проектов. Spring предлагает свой ответ – проект Spring Modulith, цель которого дать разработчику инструмент для построения модульного монолита. Он не делает всю работу, но помогает структурировать код по модулям, проверять архитектурные правила и организовывать взаимодействие между этими модулями.


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

@a_cup_of_java | Другие наши каналы
Spring AI: новый уровень интеграции ИИ в Java-приложения. В статье рассказывается, как с помощью Spring AI использовать большие языковые модели, создавать интеллектуальных агентов и обеспечивать безопасность данных. Полезно для разработчиков, работающих с AI и Spring.

Подробности: https://www.infoq.com/presentations/spring-ai-framework/

#en

@a_cup_of_java | Другие наши каналы
💊1
Новое в мире Java: вышел второй релиз кандидат JDK 25 с 18 новыми функциями и долгосрочной поддержкой. Обновились Eclipse JNoSQL, Quarkus c патчами безопасности, Apache TomEE и Apache Camel с улучшениями совместимости и производительности.

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

#en

@a_cup_of_java | Другие наши каналы
ArchUnit против хаоса

Привет! Я Масгутов Руслан, архитектор в Т-Банке. Одна из моих задач — вести архитектурный надзор по техническим решениям. Проверка структуры проектов при ревью довольно быстро становится скучной рутиной, и появляется желание автоматизировать эту деятельность, чтобы освободить время для более интересных задач.

Расскажу, как мы используем ArchUnit для автоматизации архитектурного контроля. Покажу, как мы обернули правила в Gradle-плагин, встроили их в CI/CD, боремся с архитектурными отклонениями до того, как они попадают в pull request, и расскажу о возможности сбора архитектурных метрик.


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

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