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

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

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Шёл за утечкой памяти, нашёл утечку диска: SXSSFWorkbook без dispose() в Apache POI

Меня зовут Игорь Симаков, работаю engineering manager’ом и руковожу командами разработки

На одном из наших сервисов, который работает с XLSX-файлами, прилетел production-алерт на высокое потребление памяти. Стандартный P3, обычно решается рестартом. Пошёл смотреть поды и нашёл проблему, к памяти отношения не имеющую, но представляющую больший риск, чем сам алерт. Об этом и расскажу ниже: чем «утечка диска» отличается от «утечки памяти», как мы наткнулись на грабли в Apache POI и как закрыли их на уровне архитектуры

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


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
Spring Security: начало работы и первые шаги на практике

В данной статье поигрались с базовыми возможностями Spring Secrity и узнали фундамент на котором строится вся остальная безопасность приложения

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


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

Мы, разработчики на Java, используем параметризованные типы каждый день: List<String>, Map<Long, User>, Optional<Order> и так далее. Однако у параметризованных типов есть важная особенность: в Java они существуют в полном виде только на этапе компиляции.

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

Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Стили интеграции: от файлов до событий — как выбрать правильно

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

В этой статье я разбираю четыре основных стиля интеграции: передача файлов, общая база данных, удалённый вызов процедур (RPC) и асинхронный обмен сообщениями (Messaging). Без воды, на реальных примерах — включая историю провала TSB Bank, который стоил сотен миллионов фунтов.

Вы узнаете:

▪️ почему общая база данных — это антипаттерн для микросервисов;
▪️ как асинхронность спасает прод, когда падают соседние сервисы;
▪️ какие best practice используют команды, чтобы не получить распределённый монолит.

Если вы архитектор, тимлид или разработчик, который хочет строить надёжные системы — добро пожаловать под кат.

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


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Как избежать 7 критических ошибок при переходе на микросервисы

Микросервисы обещают масштабирование и независимость команд, но чаще ломают систему медленнее монолита. Почему?

В статье разбираем семь архитектурных ошибок, которые можно встретить в реальных системах: выбор по моде, shared database, игнорирование network latency, операционная сложность на потом, слишком мелкая декомпозиция, отсутствие стратегии consistency, недооценка сроков миграции.

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


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Как устроена транскрипция в Jitsi Meet: Jigasi, SIP и путь до EMR

Когда мы проектировали пайплайн автоматического заполнения EMR по итогам видеоконсультаций, исходная гипотеза была простой: Jitsi Meet — open source, документация есть, значит, подключить бота и получить транскрипт — задача на пару дней. На практике именно этот слой занял непропорционально много времени относительно своей "очевидности".

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

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


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
HttpClient в Spring 7: замена FeignClient или нет?

Последние годы FeignClient и RestTemplate были де-факто стандартом для вызова внешних API в Spring. Но теперь появился нативный Http Interface Client — и я решил проверить, можно ли им заменить Feign без потери удобства.

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


Наш канал в Макс 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь

Стандартные алгоритмы даунсемплинга хорошо работают с линейными графиками. На scatter они теряют до 60% визуально значимых данных. Показываем, как двумерное прореживание решает задачу, которую одномерные методы фундаментально не могут.

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

Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
Вайб-код для настоящих инженеров: старые практики в новых реалиях

Итак, вопреки утверждениям скептиков (среди которых не так давно был и я) ИИ-разработка с двух ног влетела в настоящую промышленную эксплуатацию, и мем уже совсем не тот: не джун теперь роняет прод, а нейросеть убивает статистику доступности гитхаба, амазона, Cloudflare и даже самой мекки вайб-кодинга — сервисов Anthropic и OpenAI.

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

Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise

Что делать, если синхронные REST-вызовы превращают ваши микросервисы в карточный домик? Пора вспомнить проверенные временем паттерны обмена сообщениями. В этой статье разбираем архитектуру Pipes and Filters, Content-Based Router и Idempotent Receiver — те самые кирпичики, на которых держатся надёжные системы. Схемы, best practices для проектирования устойчивых интеграций для Enterprise-разработки.

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

Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
AI Gateway для микросервисов: гайд по интеграции LLM в 2026

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

В статье разбираем, как спроектировать AI Gateway — инфраструктурный слой для централизованной маршрутизации, кеширования, лимитов, observability и отказоустойчивости при работе с AI‑моделями.

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


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
WebFlux vs Virtual Threads: что происходит при 2000 RPS

Всем привет! Меня зовут Александр, и сегодня я расскажу о результатах перевода учебного проекта со Spring WebFlux и Netty на Spring MVC и Tomcat с виртуальными потоками и проверки обоих вариантов под нагрузкой в 2000rps.

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

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

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

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


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

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

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

Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Как спроектировать REST API без ошибок: 3 задачи с разбором

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

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

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


Наш канал в MAX 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥰2
👩‍💻 DAO на Spring JDBC

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

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

На занятии мы разберем:
✔️Преимущества нативного SQL при разработке DAO.
✔️ Основные возможности Spring JDBC для работы с запросами.
✔️ Подходы к обеспечению безопасности и тестируемости DAO.

Кому будет интересно:
Урок будет полезен Java-разработчикам, архитекторам ПО и специалистам по базам данных, стремящимся оптимизировать доступ к данным.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Как организовать балансировку нагрузки Backend приложений Java Spring Cloud + Kubernetes

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

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

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

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

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

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

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

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

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


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