Java News
4.36K subscribers
105 photos
4 videos
1 file
1.65K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
IDE понимает ваш код. AI-агент — нет. Это можно исправить

Ваша IDE знает о проекте всё — иерархии типов, ссылки между модулями, исходники библиотек, ошибки компиляции. AI-агент ничего из этого не видит и вынужден грепать код и логи. За один выходной можно написать плагин и CLI, которые выставят семантику IDE наружу — и агент получит те же суперсилы, что и вы. В статье — как это сделано на примере Eclipse и JDT, но подход переносим на любую IDE.

Читать статью


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
C4 для системного аналитика: как навести порядок в микросервисном хаосе

Когда вокруг десяток микросервисов, документация устарела, а на согласование архитектурного решения есть два дня, обсуждение быстро погружается в детали и теряет общую картину.

На примере внедрения кэширования в API‑шлюз разберём, как системному аналитику применять C4-модель: пройти от границ системы до зон ответственности внутри сервиса, зафиксировать сценарии сбоев и сохранить архитектуру в виде кода.

Читать статью


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Проблема фантомной записи: почему ваша реализация идемпотентности незаметно теряет данные

В проде бывает так, что одна и та же операция часто повторяется: клиент не дождался ответа и ретраит, балансер порвал соединение, очередь переиграла сообщение. Вспоминаем про идемпотентность - это правило «повтор не должен создавать новый платёж/заказ».
Чтобы отличать повтор от новой операции, используют idempotency key (ключ идемпотентности). Это обычная уникальная строка-идентификатор, которую клиент или апстрим отправляет вместе с запросом (часто в заголовке Idempotency-Key). Сервис сохраняет этот ключ у себя и связывает с результатом операции.
Далее приходит запрос с тем же ключом - сервис не выполняет бизнес-действие второй раз, а дедуплицирует на основе ключа идемпотентности. Но так ли всё просто? Многолетний опыт анализа инцидентов показал, что на практике большое количество систем всё же регулярно допускают дублирования, хотя делали всё по методичке.

Читать статью


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Playwright vs Selenium на Java: что выбрать для автотестов в 2026 году

Playwright или Selenium на Java — что выбрать для автотестов в 2026 году? Разбираю историю инструментов, различия в локаторах, ожиданиях, стабильности, стоимости поддержки и объясняю, в каких сценариях каждый из них лучше.

Читать статью

Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
👩‍💻 Контейнеризация Java-приложений с Docker

Приглашаем на открытый урок.

🗓 22 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java разработчик. Экспертный уровень».

В современной промышленной разработке бизнес-приложения всё чаще запускаются в облачных средах, и умение работать с Docker-контейнерами становится неотъемлемой частью работы Java-разработчика.


На занятии мы разберем:
✔️ Что такое Docker-контейнер и зачем он нужен разработчику?
✔️ Как развернуть и запустить Java-приложение в Docker-контейнере?
✔️ Основы профилирования и отладки приложений внутри Docker-контейнера.

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

🔗 Ссылка на регистрацию: https://vk.cc/cYBUEw

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
Как спроектировать REST API без ошибок: 3 задачи с разбором

Как на собеседовании отличить системного аналитика, который учил REST по учебнику, от того, кто реально проектировал API?

В статье — три живых кейса из практики в FinTech и e‑commerce. Вы сможете проверить себя, увидите разбор популярных ошибок и узнаете, почему даже опытные инженеры спорят про PATCH и 409.

Читать статью


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Как организовать балансировку нагрузки Backend приложений Java Spring Cloud + Kubernetes

Привет! Я Юрий Дергач, я возглавляю ЦК DevOps и релизного управления в РСХБ. Мы с командой развиваем инфраструктуру и автоматизируем разработку продуктов компании. При внедрении наших проектов группы «Экосистема Свое», основанных на стеке Java Spring, в Kubernetes, возникли вопросы, связанные с различными методами балансировки нагрузки между микросервисами.

В этой статье мы обсудим два основных подхода к балансировке нагрузки между Backend-компонентами приложений на стеке Java Spring Cloud в Kubernetes. Мы также рассмотрим преимущества и недостатки каждого метода.

Читать статью

Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Как (не) перевернуть строку, или Ох, уж этот Unicode

Поговорим о строках, которые на первый взгляд просты и тривиальны. Разбирать их будем на примере одной задачи на Java, которую вполне себе можно встретить на этапе алгоритмического собеседования в качестве «разогрева»

Читать статью

Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Как я реализовал Connect RPC на Java с помощью AI-агентов

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

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
Нагрузочное тестирование с Apache JMeter: Best Practices

Apache JMeter — не просто инструмент. В этой статье разберем, как получать от него реальную пользу. Вы узнаете, почему 80% отчётов о нагрузке бесполезны, как настроить распределённый тест и анализировать не среднее значение, а процентили. Полный гайд от первого HTTPS-скрипта до информативного HTML-отчёта и Best Practices.

Читать статью

Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Java без розовых очков: какие знания отделяют грейды

Почти каждый разработчик рано или поздно задается вопросом: «Я уже Middle или все еще уверенный Junior?» Опыт растет, задач становится больше, стек шире — но вместе с этим появляется и иллюзия, что раз ты пишешь на Java каждый день, значит, язык знаешь. На практике же границы между грейдами проходят не по количеству лет в профессии и не по числу реализованных фич. Они проходят по глубине понимания: платформы, архитектуры, производительности, работы с данными и собственных ограничений.

Читать статью

Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
От регулярок к ANTLR4: три архитектурных решения на парсере бизнес-формул

Три года назад я писал свой первый коммерческий парсер на ANTLR4 — для бизнес-формул аналитической системы. Несколько лет спустя я бы сделал его иначе в трёх центральных местах. Разбираю каждое: левая рекурсия для приоритета операторов, Listener vs Visitor, и почему getText() для повторного парсинга — антипаттерн.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Оффлайн агент IDE Continue за 15 минут

Я расскажу, как реализовать локального LLM "Agent".

«Что вы получите:
— LLM, который индексирует ваш код и отвечает по контексту
— Генерацию и автоматическую вставку кода / тестов
— Полную работу без интернета и утечек данных
Показываю на примере IntelliJ IDEA, Ollama и Continue.»

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Разворачиваем RAG на Java без боли: практический гайд

Всем привет! Недавно столкнулся с проблемой, что в настоящее время большая часть обучающих материалов по Retrieval‑Augmented Generation (RAG) сосредоточена на Python‑экосистеме (LangChain, LlamaIndex и тому подобное), а пошаговые руководства, которые показывают, как быстро собрать рабочее RAG‑приложение на чистом Java‑стеке, встречаются крайне редко. Эта статья представляет собой простое практическое руководство, где мы разберём весь процесс от настройки окружения до полного примера кода, чтобы даже начинающий Java‑разработчик мог развернуть RAG.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
👩‍💻 Как работает @Transactional в Spring: границы транзакций и типовые ошибки

Приглашаем на открытый урок.

🗓 29 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Разработчик на Spring Framework».

На занятии мы разберем:
✔️Что реально делает @Transactional в Spring
✔️Почему важны proxy и вызов метода через Spring Bean
✔️Как работают propagation-режимы на примере REQUIRED и REQUIRES_NEW
✔️Когда происходит rollback и почему checked exceptions не всегда откатывают транзакцию
✔️Типовые ошибки при работе с транзакциями в сервисном слое

Урок будет полезен Java/Kotlin-разработчикам, которые уже пишут приложения на Spring или начинают использовать Spring в реальных backend-проектах и хотят лучше понимать поведение транзакций.

🔗 Ссылка на регистрацию: https://vk.cc/cYRzpd

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Когда Java-разработка — это не только Spring

У тех, кто впервые столкнулся с Java-разработкой в последние пять лет, могло сложиться впечатление, что Spring всегда был доминирующим фреймворком, а сам язык предназначен для разработки backend в web-приложениях. Однако пока web-приложения были проще, специализация frontend-разработчика не была такой очевидной, интерфейс обновляли на сервере, а Java поддерживала ряд фреймворков, управляющих динамической HTML-версткой.

Эти фреймворки до сих пор живут в легаси, которое проще поддерживать, чем переписать. Они могут требовать обновлений, когда у регуляторов возникают новые требования или меняется корпоративный стиль оформления интерфейса. А если фреймворк живёт, то к нему желательно иметь подходящий инструмент. Поэтому сегодня мы расскажем сразу про четыре инструмента в GigaIDE PRO, поддерживающие уже не столь трендовые, но достаточно распространённые в среде «кровавого энтерпрайза» фреймворки.

Начнём наш обзор с рассказа про поддержку самых «древних».

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Circuit Breaker в микросервисах: как защитить систему от каскадных отказов

Представьте: сервис А звонит сервису Б, а тот зависает. Сервис А ждёт, занимает потоки, не освобождает ресурсы. Потом к нему приходит другой сервис — и тоже встаёт в очередь. Так один сбой разрастается по всей системе, как снежный ком. Этот эффект называется каскадным отказом.

Паттерн Circuit Breaker (предохранитель) решает эту проблему. В статье разбираем его на примере ассистента HR с зонтиком, показываем, как настроить Resilience4j, и делимся, какие ошибки стоит (а какие не стоит) учитывать в статистике.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Как упаковать React и три Java-сервиса в один .exe с помощью Electron и ничего не сломать

Всем привет! Меня зовут Евгений Оселедец, я ведущий разработчик в компании Axenix. В этой статье расскажу, как мы упаковали React и Java в единое автономное desktop-приложение с помощью Electron для Windows, Linux и macOS — без Docker, без предустановленной Java у пользователя и без необходимости интернет-соединения. Расскажу, с какими техническими вызовами мы столкнулись и какие решения сработали на практике.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Современный дата-стек: потоковая система из «LEGO»

Вы слышали о Kafka, MQTT, S3, Iceberg, Trino, PostgreSQL, Redis и Flink? А насколько хорошо вы знаете эти технологии? По каждой из них написаны огромные книги («Kafka: The Definitive Guide», около 800 страниц), и каждый день выходят новые публикации про тонкости.

Эта статья про другое.

Вместо внутренностей движков и законов распределённых систем посмотрим на эти технологии как на кубики LEGO: какую роль каждая из них играет в архитектуре и как они стыкуются друг с другом. Это будет практический туториал: начнём с минимальной конфигурации и постепенно соберём сложную систему. Статью можно просто читать как обзор архитектуры, а можно запускать каждую конфигурацию и изучать её в деталях. Для этого достаточно Git, Git LFS и Docker Compose. Всё запускается в контейнерах. Даже примеры на Java собираются через Docker multi-stage build.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
Echo Layer: как я пытался встроить приватность в обычную клавиатуру

Меня давно не отпускала одна мысль: почти все разговоры о приватной переписке в какой‑то момент упираются не в шифрование, не в криптографию, не в архитектуру, а в банальную человеческую инерцию. Можно сколько угодно строить красивую систему, можно делать open source, end‑to‑end encryption, писать про zero knowledge и отсутствие серверных логов, но потом ты возвращаешься в реальную жизнь и видишь, что люди всё равно сидят там, где им удобно. В Telegram, в WhatsApp, в VK, сейчас уже и MAX, в корпоративных чатах, в почте, в комментариях, где угодно. И если для приватности нужно сначала всех пересадить в новое приложение, то задача почти обречена.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Эксперименты с распараллеливанием Java-автотестов

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

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

Будем анализировать выводы полученные в ходе эксперимента, а не голую теорию из документации. После прочтения сможете повторить все самостоятельно как на готовом примере из статьи, так и на своих проектах.

Читать статью


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1