AI

AWS Architecture Blog

Scaling patterns for self-organizing multi-agent clusters with Kiro

Открыть оригинал ↗ Перевод заголовка: Масштабирование самоорганизующихся кластеров агентов с помощью Kiro

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

Когда пригодится:
— При масштабировании задач, где вклады независимы (анализ кода, генерация вариантов).
— При инициативных процессах, где разнообразие решений важнее единого плана.
— Когда агенты могут входить/выходить без остановки, и работа продолжается даже при сбоях.
— При долгих задачах, где порядок не критичен, а параллельность — ключевая.

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

Google DeepMind

Putting sign language AI into users’ hands

Открыть оригинал ↗ Перевод заголовка: Вводим искусственный интеллект жестов в руки пользователей

Google DeepMind представил модель SL2T (от sign language to text), которая позволяет переводить жесты в текст и внедрена в Gboard и Live Transcribe на устройствах Pixel 11. Модель работает с более чем 50 языками жестов, включая американский язык жестов (ASL), и обеспечивает высокую точность перевода без промежуточных данных, таких как «глоссы».

  • SL2T использует настройку на основе позы тела (pose landmarks), не передавая исходные видео, что защищает приватность пользователей.
  • Модель обучена на более чем 100 000 часов данных и работает без промежуточных аннотаций, что позволяет ей лучше передавать сложные структуры жестов.
  • Технология поддерживает нестандартные случаи, такие как однорукий жест, леворукость и быстрые жесты, что делает её более пригодной для реальных условий.
  • SL2T достигает 70-балльного результата по FLEURS-ASL, что является лучшим показателем в истории, и работает в режиме «нулевого обучения».

Когда пригодится: когда пользователи, особенно слышимые или слабослышащие, хотят использовать жесты для ввода текста в телефонах, например, при поиске, написании сообщений или взаимодействии с Gemini.

Hugging Face Blog

Wire It, Run It, Deploy It: AI Workflows in Gradio

Открыть оригинал ↗ Перевод заголовка: Wire It, Run It, Deploy It: AI Workflows in Gradio

Gradio предлагает инструмент gr.Workflow, который позволяет создавать визуальные AI-пайплайны через драг-анд-дроп-интерфейс. Каждый шаг в работе — от ввода до вывода — становится видимым и исполняемым узлом, а весь процесс автоматически генерирует REST-эндпоинты и может быть быстро развернут в Hugging Face Spaces.

  • Пользователь может загрузить изображение и изменить его с помощью AI-моделей, например, Qwen-Image-Edit, через простой ввод текста.
  • В одном интерфейсе можно объединить несколько моделей: генерация изображения, удаление фона, синтез голоса и создание заголовка — все через одну схему графа.
  • Модель может быть запущена прямо в Space на GPU с помощью @spaces.GPU, что позволяет избежать зависимости от внешних сервисов.
  • Каждый выход графа становится отдельным API-эндпоинтом, доступным как через Python-клиент, так и через curl.
  • Возможность параллельного выполнения задач (fan-out) позволяет генерировать несколько вариантов из одного запроса, например, в стиле ватерцвета или киберпанка.

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

InfoQ Architecture

Microsoft Moves AI Governance From Policy to Runtime Enforcement

Открыть оригинал ↗ Перевод заголовка: Майкрософт переносит управление ИИ из политик в реальное время

Майкрософт представляет архитектуру управления ИИ, которая сдвигает реализацию контроля с документированных политик на этапы реального времени, обеспечивая непрерывный мониторинг, оценку и аудит в рабочей среде. Система охватывает девять областей и четыре функции: политики, контроля, видимости и доказательств, что позволяет проверять соблюдение требований на всех этапах работы ИИ-систем.

  • В реальном времени применяются правила доступа, лимиты и ограничения через AI Gateway, включая контроль IP, токенов и скорости запросов.
  • Оценка качества и безопасности проводится как до запуска, так и в производственной среде с использованием встроенных и пользовательских проверок.
  • Аудит преобразует операционные данные в доказательства соответствия и расследования инцидентов.
  • Для автономных агентов внедрены контрольные точки (checkpoints) на этапах входа, вызова моделей, выполнения инструментов и выхода, с возможностью запроса подтверждения у человека.
  • Архитектура интегрирует сервисы Microsoft Purview, Entra ID, Defender и Azure API Management, обеспечивая единое пространство управления.

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

Cloudflare OS: Cloudflare's Open-Source Corporate AI Platform Built on a Capability-Based Model

Открыть оригинал ↗ Перевод заголовка: Cloudflare OS: открытое корпоративное платформа для ИИ, построенное на модели базирования на возможностях

Cloudflare OS — это открытое решение для корпоративных команд, позволяющее создавать персонализированные, безопасные приложения на основе внутреннего знания и интеграций. Платформа использует модель «возможностей» для строгого контроля доступа и изоляции, что обеспечивает безопасность даже при работе без технических навыков.

  • Каждый пользователь получает собственный изолированный экземпляр приложения («Gadget»), который запускается в отдельной среде V8, исключая риски утечек и взаимодействия между инстансами.
  • Пользователи могут в реальном времени изменять исходный код своего приложения через ИИ, не нарушая целостность или безопасность общих сред.
  • Доступ к ресурсам строго регулируется через систему «Gatekeepers», которая маскирует чувствительные данные, применяет лимиты и требует одобрения перед критическими действиями.
  • Платформа включает в себя автоматизированный контроль кода по политикам (Cloudflare Engineering Codex), выявляя дефекты и блокируя несоответствующие изменения.

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

Latent Space

[AINews] Andrew Ng gets into AI Engineering

Открыть оригинал ↗ Перевод заголовка: Андрю Нг входит в мир AI-инженерии

Андрю Нг, один из ведущих фигур в области ИИ, вновь возвращается к теме AI-инженерии, запуская DeepLearning.ai с фокусом на практические навыки. В исследовании, основанном на анализе более 10 000 вакансий, интервью с экспертами и опросах, выделены четыре ключевых навыка: разработка и развертывание AI-приложений, знание фундаментов программирования, эффективное использование код-агентов и понимание бизнес-контекста при создании продуктов.

  • Разработка и развертывание AI-приложений требует понимания основ ИИ (LLM, RAG, агентные потоки) и навыков оценки и анализа ошибок для обеспечения стабильности систем.
  • Фундаменты программирования позволяют принимать обоснованные решения при выборе стека, архитектуры и тестирования, избегая "вайб-кода" с неоправданными техническими компромиссами.
  • Использование код-агентов требует понимания их ограничений, способности к саморегулированию и умения управлять взаимодействием с агентами, избегая рисков вроде повреждения базы данных.
  • Формирование разработки включает продукт-мышление и понимание целей пользователей, позволяя принимать решения о скорости и глубине реализации MVP.

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

Martin Fowler

Fragments: August 24

Открыть оригинал ↗ Перевод заголовка: Fragments: August 24

Мартин Фоллер отмечает, что в случае массового внедрения ИИ-агентов в системы, таких как OpenAI, они не пытаются координировать себя с людьми или предупреждать о неправомерных действиях — что указывает на отсутствие внутреннего контроля и этических норм. В статье предлагается возвращение таких компаний в статус государственных лабораторий, чтобы они служили обществу, а не финансовым институтам. Особое внимание уделяется угрозе деградации интеллектуальных структур в США, где увольнение аналитиков и подавление независимых мнений приводят к потере доверия и компетенции. Автор подчёркивает, что успех технологий зависит от человеческих навыков, а не от автоматизированных процессов.

  • ИИ-агенты в OpenAI не обращаются к людям, не предупреждают о рисках — что указывает на отсутствие моральных и организационных рамок.
  • Предлагается передать AI-компании в руки государства как национальные лаборатории для защиты общественных интересов.
  • Zalando использует LLM для оценки рисков пул-реквестов, что сокращает время развертывания на 20–40%.
  • Рост сложности кода и больших коммитов при агентном программировании требует контроля и пересмотра практик.
  • Угроза деградации интеллектуальных структур в США связана с подавлением аналитики и уходом квалифицированных специалистов.

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

Meta Engineering

MetaRoCE: A New RDMA Transport Built for AI-Scale Ethernet

Открыть оригинал ↗ Перевод заголовка: MetaRoCE: Новый протокол RDMA, разработанный для масштабных сетей Ethernet в AI

MetaRoCE — это новый протокол RDMA, созданный с нуля для работы на коммерческих сетях Ethernet в масштабах AI-моделей. Он обеспечивает высокую пропускную способность, низкую задержку и устойчивость к сбоям, не требуя специализированного оборудования или сложных настроек.

  • Поддерживает натуральное неупорядоченное доставление пакетов, позволяя избежать блокировки и увеличивать производительность при высокой нагрузке.
  • Встроенный мультимаршрутный механизм распределяет трафик по нескольким путям, обеспечивая автоматическую перераспределение при сбоях и устойчивость к перегрузке.
  • Поведение при потере пакетов предназначено для устойчивости: отсутствие PFC и пауз, а также точное пересылка утерянных пакетов на конкретном пути.
  • Использует двусторонний контроль перегрузки — как от отправителя, так и от получателя — для равномерного распределения нагрузки и снижения задержек.
  • Работает на любых сетевых архитектурах (от fat-tree до облачных решений), не требуя специализированных функций в коммутаторах.

Когда пригодится:
— При масштабировании AI-обучения с тысячами GPU.
— В глобальных системах инференса с миллиардами пользователей.
— При развертывании распределённых хранилищ и кэшей, где важна стабильность и равномерность нагрузки.

// Пример использования MetaRoCE в приложении
struct metaroce_conn *conn = metaroce_connect("192.168.1.100", 12345);
metaroce_send(conn, buffer, size, dest_addr);
metaroce_recv(conn, buffer, size, &len);
// Управление мультиплейнами через ECMP и UDP порты
int plane_id = 0;
uint16_t src_port = 50000 + plane_id;
metaroce_set_path(src_port, plane_id);

MTIA 300: Meta’s First Training Chip with Built-in NICs and Communication-Offloading Engines

Открыть оригинал ↗ Перевод заголовка: MTIA 300: первый тренировочный чип Meta с встроенной сетью и системами отгрузки коммуникаций

MTIA 300 — первый чип Meta, разработанный для тренировки рекомендательных моделей, в котором коммуникация интегрирована на уровне чипа. В отличие от стандартных GPU, где коммуникация конкурирует с вычислительными ресурсами, MTIA 300 делает обработку сетевых операций независимой от вычислений, обеспечивая почти полную изоляцию между вычислением и коммуникацией.

Практические тезисы:

  • Встроенные NIC-модули (12 шт. по 800 Гб/с) обеспечивают 1,2 Тб/с пропускной способности без прохода через PCIe, устраняя bottleneck.
  • Две группы сообщений (внутри- и межрежимные) позволяют динамически перераспределять ресурсы под изменяющиеся нагрузки.
  • 16 специализированных модулей обработки сообщений (MEs) с близким к памяти вычислением обеспечивают более 2,8 Тб/с пропускной способности для операций типа AllReduce.
  • Библиотека HCCL компилирует коммуникационные операции в автономные графы, что исключает вовлечение CPU и снижает задержки на уровне операций.

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

Salesforce Engineering

From Prediction to Action: How to Turn AI Outputs Into Decisions

Открыть оригинал ↗ Перевод заголовка: Как превратить выводы ИИ в реальные решения

Несмотря на точность моделей и здоровые pipelines, пользователи всё ещё не знают, что делать с полученными сигналами. Ключевая проблема — выводы ИИ часто остаются лишь «сигналами», а не «ответами», так как не содержат рекомендаций, контекста или понимания того, что считается хорошим в конкретной ситуации.

  1. Всё, что модель может сделать — это оценить состояние (например, риск выгорания клиента), но не указать, какое действие нужно предпринять.
  2. Для преобразования сигнала в действие требуется три компонента: данные из моделей, бизнес-логика (пороги, приоритеты), и контекстуальные знания (экспертиза, институциональный опыт).
  3. Рекомендации должны включать не только действие, но и обоснование, объект и ожидаемый эффект.
  4. Использование Model Context Protocol (MCP) позволяет агенту динамически выбирать подходящие инструменты и корректно обрабатывать отсутствие данных.
  5. Архитектура агента должна строиться на основе владения данными и ответственности за контракты, а не на выборе централизованной или децентрализованной структуры.

Когда пригодится: при разработке систем, где ИИ-выходы должны превращаться в конкретные действия, а не просто отображаться в дашбордах. Особенно актуально в продажах, обслуживании клиентов или управлении рисками, где принятие решений требует глубокого понимания контекста.

Java / Spring

Alexander Obregon

Watching Resilience4j Circuit Breakers with Spring Boot Actuator

Открыть оригинал ↗ Перевод заголовка: Наблюдение за резервными выключателями Resilience4j с помощью Spring Boot Actuator

С помощью Spring Boot Actuator можно отслеживать состояние резервных выключателей Resilience4j в реальном времени: веб-эндпоинты предоставляют данные о текущем состоянии, событиях и метриках, что позволяет операторам быстро реагировать на сбои. Важно понимать, что регистрация здоровья выключателя — это отдельная настройка, не влияющая на его функциональность, и позволяет контролировать, какие данные включаются в общий статус приложения.

  • Включить отображение состояния выключателя через management.health.circuitbreakers.enabled: true и настроить его в конфигурации.
  • Указать в resilience4j.circuitbreaker.instances.* параметры, такие как порог отказов и размер скользящего окна, чтобы определить поведение при переключении.
  • Использовать эндпоинты /actuator/health, /actuator/circuitbreakers и /actuator/circuitbreakerevents для просмотра состояния, списка выключателей и истории событий.
  • Ограничить доступ к эндпоинтам через management.endpoints.access и management.endpoints.web.exposure.include, чтобы избежать нежелательного доступа в продакшене.

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

Weekly Recap – August 23rd, 2026

Открыть оригинал ↗ Перевод заголовка: Еженедельный обзор — 23 августа 2026 года

В этой неделе автор завершил серию статей о Resilience4j, охватив мониторинг циркуит-брекеров через Spring Boot Actuator и интеграцию метрик Resilience4j с Spring Boot и Micrometer. Также был опубликован материал о шардинге баз данных, где рассматриваются правила маршрутизации столбцов для распределения строк по шардам при росте объёма данных.

  • Работа с метриками Resilience4j в Spring Boot и Micrometer позволяет в реальном времени отслеживать состояние циркуит-брекеров.
  • Spring Boot Actuator предоставляет веб-интерфейс для визуализации состояния циркуит-брекеров, что упрощает диагностику отказов.
  • Маршрутизация столбцов в SQL-запросах помогает точно направлять запросы на нужные шарды, избегая перегрузки и улучшая производительность.
  • Интеграция Micrometer обеспечивает совместимость с различными системами мониторинга, что делает метрики легко внедряемыми в существующие стеки.
  • Решение шардинга на уровне SQL позволяет масштабировать базу данных без переписывания приложения.

Когда пригодится:
— При разработке микросервисов с высокой надёжностью и устойчивостью к сбоям.
— При планировании масштабирования баз данных, когда объём данных превышает возможности одного сервера.

Resilience4j Metrics with Spring Boot and Micrometer

Открыть оригинал ↗ Перевод заголовка: Resilience4j Metrics с Spring Boot и Micrometer

Интеграция Resilience4j с Spring Boot и Micrometer позволяет отслеживать поведение механизмов устойчивости — таких как циркулярные разрывы, повторные попытки и ограничители. Метрики собираются в едином формате Micrometer, что обеспечивает единообразную интеграцию с системами мониторинга, включая Prometheus и Grafana.

Ключевые практические тезисы:

  • Использовать стабильные имена зависимостей (например, inventoryApi) в конфигурации Resilience4j для корректной группировки метрик.
  • Настроить параметры циркулярного разрыва и повторных попыток, чтобы метрики отражали реальную динамику отказов и задержек.
  • Включить в конфигурацию management.endpoints.web.exposure.include: metrics для доступа к метрикам через /actuator/metrics.
  • Применять фильтры по тегам (например, name:inventoryApi, kind:failed) при запросе метрик в Actuator для точного анализа одного компонента.
  • Построить алерты в Grafana на основе динамических метрик (например, rate() по интервалу), чтобы отслеживать рост отказов, отклонений и неудачных попыток.

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

Engineering With Java

Senior Java Interview: Bug Fix in a Generic Repository

Открыть оригинал ↗ Перевод заголовка: Старший интервью по Java: исправление бага в универсальном репозитории

В статье рассматривается проблема компиляции при попытке использовать универсальный репозиторий для хранения объектов типа List<AdminUser>, где AdminUser наследуется от User. Ошибка возникает из-за инвариантности типов в Java: не существует гарантии, что List<AdminUser> может быть безопасно присвоено List<User>, даже если AdminUser extends User.

Ключевые тезисы:

  1. В Java генерические типы являются инвариантными — не допускают приведения типов, даже если подтип наследуется от супертипа.
  2. Невозможно одновременно обеспечить безопасность чтения и записи в генерическом контейнере: если разрешить запись, то может быть нарушена типовая безопасность.
  3. При попытке сохранить список AdminUser в репозитории, который ожидает List<User>, компилятор выдаёт ошибку из-за несоответствия типов.
  4. Решение — либо изменить интерфейс репозитория на использование List<? super User>, либо добавить проверку типов в логике.
  5. Важно понимать, что наследование не гарантирует совместимость в генериках — это частая ошибка при проектировании API.

Когда пригодится:
При разработке универсальных репозиториев или сервисов, где нужно хранить объекты разных типов, но с общим интерфейсом. Особенно актуально при работе с Spring Boot и генерическими коллекциями.

Engineering With Java: Digest #99

Открыть оригинал ↗ Перевод заголовка: Engineering With Java: Digest #99

Эта неделя посвящена производительности, внутренним механизмам платформы и глубокому анализу Spring Boot 4. В статьях рассматриваются проблемы с аллокацией в Java Streams, безопасное использование перечислений в Java, нововведения в Project Valhalla, а также практические решения для оптимизации и отказоустойчивости.

  • Использование DuckDB вместо ручных Java-циклов в Spring Batch позволяет сократить объём памяти и ускорить агрегацию данных, оставляя классическую архитектуру для обработки строк и внешних вызовов.
  • Методы Stream (например, anyMatch, findFirst) создают значительные аллокации — рекомендуется заменять их на Eclipse Collections (например, anySatisfy), которые работают с почти нулевыми затратами памяти.
  • В Project Valhalla в JDK 28 введён модификатор value, позволяющий сравнивать объекты по значениям полей, а не по ссылкам, что открывает возможности для оптимизаций, таких как скалярное раскрытие.
  • Оптимистическая конкуренция с помощью версий в SQL предотвращает потери обновлений, проверяя актуальность данных через версионный столбец.
  • В Helidon-сервере реализован плавный переход к новой версии MCP-протокола без разрыва совместимости, используя адаптеры для фильтрации новых запросов.

Когда пригодится:
— При разработке высокопроизводительных приложений с большими объёмами данных.
— При проектировании систем с требованиями к отказоустойчивости и безопасности.
— При внедрении новых версий Java и Spring Boot с учётом изменений в типах и конфигурации.

Foojay

Scripting in small apps: you don’t need a container for a macro

Открыть оригинал ↗ Перевод заголовка: Скриптинг в малых приложениях: для макроса не нужен контейнер

Для малых приложений, таких как инструменты на рабочем столе или внутренние сервисы, не требуется сложная инфраструктура — вроде Docker или GraalVM. Простое скриптовое решение на основе интерпретатора, встроенного в JVM, обеспечивает безопасность и скорость без дополнительных зависимостей.

Ключевые преимущества:

  1. Работает без установки дополнительных инструментов — пользователь не должен устанавливать Docker, Rust или виртуальные машины.
  2. Низкая задержка: создание интерпретатора занимает 2,6 мс, память на один экземпляр — всего 0,37 МБ.
  3. Полная контрольная политика безопасности: через список разрешённых классов (allowlist) можно ограничить доступ к системным объектам.
  4. Возможность мгновенно остановить скрипт, даже если он входит в бесконечный цикл — реакция в миллисекунды.
  5. Простой синтаксис: пользователи, знакомые с Java, C# или JavaScript, сразу понимают код макроса без обучения.

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

final class MacroPolicy extends SecurityManagerImpl {
    MacroPolicy() {
        this.props.put("aussom.script.mode.enable", true);
    }
}
Engine engine = new Engine(new MacroPolicy());
engine.setScriptMode(true);
AussomType total = engine.evalLine("price * 0.9;");
System.out.println(total.getValueString()); // 225.0

GCeasy

GC Algorithm Selection with Help from AI

Открыть оригинал ↗ Перевод заголовка: Выбор алгоритма сбора мусора в Java с помощью искусственного интеллекта

Для выбора оптимального алгоритма сбора мусора (GC) в Java необходимо учитывать специфику рабочей нагрузки, размер кучи и требования к производительности — такие как пропускная способность, задержки и потребление ресурсов. Вместо универсальных рекомендаций AI помогает анализировать реальные данные из логов GC и делать обоснованные выводы на основе фактических метрик.

  • Использовать детерминированный AI для парсинга GC-логов и автоматического извлечения ключевых метрик: пропускная способность, средняя и максимальная задержка, скорость создания объектов, пик памяти и потребление CPU.
  • Сравнивать результаты нескольких алгоритмов (например, G1GC, ZGC, Parallel) на основе реальных данных, а не теоретических рекомендаций.
  • На основе анализа предлагать конкретные настройки JVM (например, размер кучи, размер регионов, параметры паузы) для тонкой настройки G1GC.
  • Визуализировать результаты в виде таблиц и диаграмм для быстрого понимания производительности и выявления аномалий.

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

Inside Java

Announcing Oracle Jipher 10.37: FIPS 140-3 Cryptography for Java

Открыть оригинал ↗ Перевод заголовка: Анонс Oracle Jipher 10.37: криптография FIPS 140-3 для Java

Oracle Jipher 10.37 внедряет модуль криптографии, прошедший проверку по стандарту FIPS 140-3, на базе OpenSSL, и интегрирует его в стандартную архитектуру криптографии Java (JCA). Это позволяет разработчикам использовать безопасные криптографические операции в приложениях на Java с поддержкой строгих требований к безопасности.

  • Jipher 10.37 обеспечивает доступ к FIPS 140-3-валидированным алгоритмам через JCA, что делает его подходящим для регулируемых сред.
  • Поддержка стандартов FIPS 140-3 позволяет использовать решения в отраслях, где требуется высокая степень защиты данных (например, финансовые системы, здравоохранение).
  • Модуль работает совместно с существующими Java-приложениями без необходимости переписывания кода.
  • Упрощает внедрение криптографии в среды, где требуется соответствие нормативным требованиям.
  • Улучшает безопасность приложений за счёт использования проверенных и стандартизированных алгоритмов.

Когда пригодится: при разработке приложений, подлежащих обязательному соответствию требованиям безопасности, в банковской, медицинской или государственной сферах, где требуется сертификация по FIPS 140-3.

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, iv);
byte[] encrypted = cipher.doFinal(plainText);

Java67

Book Review - Is Effective Java 3rd Edition Really Worth It?

Открыть оригинал ↗ Перевод заголовка: Оценка: действительно ли Effective Java 3-е издание стоит покупать?

Effective Java 3-е издание — это обновлённый и расширенный ресурс, охватывающий ключевые функции JDK 7–9, включая лямбды, Streams, Optional и модули. Автор добавил 20 новых пунктов, в том числе глубокий разбор практик использования Java 8 и введения модулей в JDK 9. Книга теперь содержит 90 пунктов, что делает её более полной и актуальной по сравнению с предыдущими версиями.

  • Пункт 15 посвящён модулям Java 9, хотя не охватывает все их аспекты — для полного понимания рекомендуется изучать специализированные курсы.
  • Новые темы, такие как лямбды, Streams и типы инференса, представлены в отдельных главах с практическими рекомендациями.
  • Книга структурирована по тематическим группам: создание объектов, генерические типы, исключения, многопоточность и т.д.
  • Рекомендуется читать по пунктам, начиная с новых тем, чтобы быстро освоить современные функции.
  • Важно использовать книгу как справочник — она помогает улучшить качество и структуру кода.

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

Microsoft for Java Developers

Java OpenJDK August 2026 Critical Patch Update

Открыть оригинал ↗ Перевод заголовка: Java OpenJDK August 2026 Critical Patch Update

Майскропт анонсировал критическую обновление OpenJDK августа 2026 года для своей версии OpenJDK, включающую исправления уязвимостей и оптимизации. Обновления доступны для версий OpenJDK 25, 21, 17 и 11, с включённой функцией по временному освобождению памяти в G1-коллекционере. Доступны исходные коды на GitHub, а также контейнеры OpenJDK 8 для Azure и Ubuntu.

  • В OpenJDK 25 включена функция временного освобождения выделенной памяти (time-based heap uncommit), включённая по умолчанию через флаг G1UseTimeBasedHeapSizing.
  • Для OpenJDK 21, 17 и 11 — отсутствуют специфичные обновления от Microsoft.
  • Все исправления в версиях OpenJDK включены в обзоры Oracle, доступные по ссылкам в тексте.
  • Microsoft продолжает поддерживать OpenJDK 8 через образы Eclipse Temurin на Azure и Ubuntu.

Когда пригодится:
— При работе с Java-приложениями на OpenJDK 25, где важна эффективность памяти.
— При использовании OpenJDK 8 в средах Azure или в контейнерах.
— При необходимости проверки безопасности через официальные обновления Oracle.
— При планировании обновлений в средах, где используются старые версии OpenJDK.

# Пример команды для загрузки образа OpenJDK 8 на Ubuntu
docker pull mcr.microsoft.com/azure-openjdk:8-jdk

System Design

AWS Architecture Blog

How a global payment processor preserved AWS RAM shares and Lake Formation permissions during an AWS Organizations migration

Открыть оригинал ↗ Перевод заголовка: Как глобальный платежный процессор сохранил разрешения на AWS RAM и Lake Formation во время миграции в AWS Organizations

При миграции 382 аккаунтов между организациями в AWS Organizations процессор платежных технологий сохранил доступ к ресурсам, включая разрешения на AWS Lake Formation, используя временные «мостовые» ресурсы. Вместо полной потери доступа к контролю при перемещении аккаунтов, компания внедрила паттерн с использованием временных ресурсных шаров (bridge shares), которые сохраняют доступ до миграции, а затем восстанавливают оригинальные шары.

Ключевые практические тезисы:

  1. Временные шары (bridge shares) создают внешние связи, которые не зависят от принадлежности к организации и сохраняют доступ во время миграции.
  2. Оригинальные шары должны быть восстановлены после миграции — только они остаются авторитетным источником разрешений.
  3. Паттерн требует предварительной инвентаризации всех ресурсов, прав и аккаунтов, а также проверки на соответствие границам производства.
  4. Важно мониторить события в AWS RAM и CloudTrail, чтобы выявить устаревшие или неактивные шары.
  5. Для безопасной миграции необходимо настроить ограничения в сервисных политиках (SOP) и провести тесты в средах, идентичных производственным.

Когда пригодится:
При миграции аккаунтов между организациями в AWS, когда доступ к ресурсам (например, AWS Lake Formation или AWS Glue) должен сохраняться без прерывания работы сервисов, особенно в производственной среде.

Cloudflare Blog

The Cloudflare Blog – Brought to you by EmDash

Открыть оригинал ↗ Перевод заголовка: Cloudflare Blog использует EmDash

Cloudflare переехал с старой системы управления контентом на EmDash — платформу, разработанную специально для работы с Astro и Cloudflare. В ходе миграции компания проверила, насколько EmDash соответствует требованиям масштабируемости, производительности и удобства использования, особенно в условиях высоких нагрузок.

Ключевые практические тезисы:

  • EmDash успешно справляется с основными операциями: публикация, редактирование, планирование постов, добавление медиа.
  • Платформа прошла тесты на масштабируемость: выдержала пиковые нагрузки до 7 000 запросов в секунду без сбоев.
  • Внедрённая архитектура включает кэширование на уровне Cloudflare Workers и Workers KV, что обеспечивает скорость и стабильность.
  • В интерфейсе реализованы темы светлого и темного режимов, а также улучшены элементы навигации и взаимодействия с агентами.
  • Платформа предоставляет встроенные API (например, search_posts, get_post) и MCP-серверы, доступные бесплатно для пользователей и авторов.

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

DesignGurus

Stop Just Naming PostgreSQL: How to Explain Database Choices in System Design Interviews

Открыть оригинал ↗ Перевод заголовка: Прекрати просто называть PostgreSQL: как объяснять выбор базы данных в собеседованиях по системному дизайну

Ключ к сильному ответу — не в выборе базы данных, а в структуре объяснения. Сильные ответы начинаются с описания структуры данных, затем указывают на требования к транзакциям, описывают доступ к данным, делают рекомендацию с прямой ссылкой на предыдущие пункты и завершают упоминанием компромисса.

  • Опишите данные: структурированные, документы или события?
  • Укажите, нужна ли ACID-транзакция (и почему).
  • Опишите реальные паттерны запросов (по ключу, по диапазону, с фильтрами).
  • Рекомендуйте базу, подкрепляя её выбор аргументами из предыдущих пунктов.
  • Укажите, что вы отказались от и как это повлияло на систему.

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

SQL, NoSQL, Vector, Time-Series, and Graph Databases Explained for System Design Interviews

Открыть оригинал ↗ Перевод заголовка: SQL, NoSQL, Vector, Time-Series и Graph-базы данных объясняются для собеседований по системному дизайну

В крупных системах редко используется одна база данных для всех задач. Каждый тип данных выбирается на основе его структуры, паттерна доступа и требуемых гарантий. Например, PostgreSQL подходит для транзакционных данных с сложными запросами, Redis — для сессий, Cassandra — для логов, Elasticsearch — для поиска, векторные базы — для embeddings, а графовые — для социальных связей.

Практические тезисы:

  • Используйте SQL, когда данные структурированы и требуют сложных JOIN-запросов.
  • Выбирайте key-value при простых поисках по ключу (например, сессии, лимиты).
  • Document-базы идеальны для неоднородных объектов (например, профили, товары разных категорий).
  • Векторные базы нужны для хранения и поиска векторов embeddings (например, в рекомендациях).
  • Time-series базы оптимальны для хранения метрик с временной меткой.

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

-- Пример запроса в SQL для сложного анализа
SELECT u.name, o.total, p.name 
FROM users u 
JOIN orders o ON u.id = o.user_id 
JOIN products p ON o.product_id = p.id 
WHERE o.created_at > '2024-01-01';
{
  "user_id": "123",
  "preferences": {
    "theme": "dark",
    "notifications": true
  },
  "last_login": "2024-05-15T10:30:00Z"
}

[Week 6] Detailed System Design: How to Go Deep, Find Bottlenecks, and Discuss Trade-offs

Открыть оригинал ↗ Перевод заголовка: Детальный системный дизайн: как углубиться, найти узкие места и обсудить компромиссы

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

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

Когда пригодится: при интервью по системному дизайну в FAANG-компаниях, когда требуется продемонстрировать глубокое понимание работы системы, а не просто навык рисования диаграмм.

Hands-on System Design with Java Spring Boot

Week 6: Building a Resilient Scheduler (Days 26–30)

Открыть оригинал ↗ Перевод заголовка: Неделя 6: Создание устойчивого планировщика (дни 26–30)

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

Практические тезисы:

  • Внедрить dead-letter queue для хранения задач, которые не могут быть выполнены, чтобы операторы могли проанализировать их.
  • Использовать circuit breaker для защиты от нестабильных внешних сервисов, останавливая вызовы при обнаружении сбоев.
  • Переместить выполнение задач с основного потока на worker pools, чтобы избежать блокировки основной логики.
  • Ввести timeout cancellation, чтобы прерывать зависшие задачи и предотвращать "запуск" без конца.
  • Обеспечить чистое завершение при остановке приложения, сохраняя состояние и не теряя данные.

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

InfoQ Architecture

Presentation: Prompt to Prod: Engineering an Autonomous SDLC at Scale

Открыть оригинал ↗ Перевод заголовка: Промпт к производству: инженерия автономного жизненного цикла разработки на масштабе

Роблокс внедрил систему «Промпт к Производству», позволяющую идти от идеи в промпте до выпуска в продакшен без участия человека. Ключевыми элементами стали безопасные песочницы, извлечение институционального знания из код-ревью и пересмотр метрик продуктивности. Основные достижения — рост принятия AI-рекомендаций до 70%, что превышает эффективность человеческих ревью, и создание системы, где AI-агенты работают как "наиболее опытные инженеры" компании.

  • Внедрены песочницы с жёсткими политиками доступа, включая временные разрешения и отдельные аудиты агентов, чтобы предотвратить утечки и атаки вроде промптового инъекции.
  • Система «эксплореров» автоматически извлекает лучшие практики из код-ревью и форматирует их в проверяемые, масштабируемые правила (YAML-файлы), которые затем используются AI для анализа PR.
  • Внедрены новые метрики продуктивности: «интенсивность использования AI» и «скорость ввода фич», что позволяет оценить эффективность индивидуальных разработчиков.
  • Построена инфраструктура для автономного запуска экспериментов на главной странице платформы, включая CLI-интеграции, тестирование и автоматическое откаты.
  • Осуществлен пересмотр политики: отмена обязательного человеческого ревью в определённых сценариях, при условии, что AI-рекомендации превосходят человеческие.

Когда пригодится:
— При масштабировании разработки с использованием AI-агентов, где требуется безопасность, доверие к коду и автоматизация от идеи до выпуска.
— В компаниях, где институциональное знание хранится в коде, и где важна автоматизация проверок и ревью.
— При планировании перехода к автономным системам разработки, где нужно сбалансировать скорость и безопасность.

Javarevisited Newsletter

The 8 YouTube Channels That Will Actually Help You Crack System Design Interviews

Открыть оригинал ↗ Перевод заголовка: 8 YouTube-каналов, которые действительно помогут вам сдать интервью по системному проектированию

Для подготовки к интервью по системному проектированию рекомендуются 8 проверенных YouTube-каналов, охватывающих ключевые темы: масштабируемость, отказоустойчивость, репликацию и реальные кейсы (например, как Twitter обрабатывает миллиарды сообщений). Каналы предлагают практические видео, пошаговые объяснения и примеры из реальных собеседований.

  • ByteByteGo — наиболее полный ресурс, включая YouTube-канал с более чем 700 тыс. подписчиков; идеален для системного проектирования и код-интервью.
  • Exponent — предлагает решения на популярные задачи (например, про парковку) и курс с 36 лекциями, включая реальные примеры интервью.
  • CodeKarle — канал бывшего инженера из Facebook, с простыми и понятными уроками, подходящими для новичков.
  • DesignGuru — ключевые видео по различию read- и write-heavy систем, а также популярные курсы "Grokking System Design".
  • Tech Dummies Narendra L — доступные объяснения сложных тем, включая проектирование веб-краблера.
  • Gaurav Sen — один из первых каналов в этой области, с глубоким анализом и примерами из Google.
  • System Design Interview Channel — специализированный канал с подробными объяснениями типовых вопросов.
  • Success in Tech — практические советы по карьере и системному проектированию, включая темы высокой доступности.

Когда пригодится: при подготовке к собеседованиям в FAANG-компаниях, для системного проектирования на позициях инженера-архитектора или для углублённого изучения архитектурных паттернов.

Microservices.io

Microservices Platforms: When Team Topologies Meets Microservices Patterns - QCONSF 2025 video

Открыть оригинал ↗ Перевод заголовка: Микросервис-платформы: когда структура команд встречается с паттернами микросервисов — видео QCONSF 2025

При работе над сложными приложениями с участием множества команд микросервисная архитектура позволяет им работать независимо и вносить изменения непрерывно. Однако команды часто тратят время на реализацию инфраструктурных паттернов, а не на доменную логику, что замедляет разработку. Решением становится концепция платформы из Team Topologies, которая снижает нагрузку на команды и освобождает их от "пломбирования" кода.

  • Платформа устраняет необходимость в повторном применении паттернов микросервисов, предоставляя готовые решения для сервисов, безопасности, инфраструктуры и мониторинга.
  • Разные типы платформ (например, платформа построения, деплоя, наблюдаемости) решают конкретные задачи, позволяя командам сосредоточиться на бизнес-логике.
  • Платформа становится частью социотехнической архитектуры, где команды работают в рамках единых стандартов и инструментов.
  • Важно выделять границы между платформой и командами — платформа не заменяет команды, а поддерживает их эффективность.
  • Платформы могут быть построены на основе шаблонов сервисов и "сервис-чейсов", что упрощает начало разработки микросервисов.

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

ScyllaDB

How Sprig Replaced Postgres, ClickHouse & Redis…with 4-8x Better Latency

Открыть оригинал ↗ Перевод заголовка: Как Sprig заменил Postgres, ClickHouse и Redis с улучнением задержки в 4–8 раз

Небольшой технический коллектив Sprig столкнулся с серьёзными ограничениями при работе с Postgres, ClickHouse и Redis из-за высокой нагрузки и роста объёмов данных. В ходе экспериментов было выявлено, что Postgres не справляется с высоким потоком записей, а ClickHouse не оптимален для быстрых запросов, что приводит к высоким задержкам (P99 до 50 мс).

  • Sprig перешёл на ScyllaDB Cloud, где 90–95% запросов кэшируются, обеспечивая низкую задержку (средняя — 500 мкс, P90 — 1–2 мс).
  • Благодаря Materialized Views ScyllaDB эффективно индексирует большие таблицы по нескольким полям, что критично для анализа пользовательских данных.
  • Миграция прошла без перебоев: данные переносились через Kafka-контроллер и bulk-лоадер, с проверкой согласованности через Prometheus.
  • Система стала масштабируемой и стабильной, с уменьшением алертов и операционных усилий.

Когда пригодится:
— При работе с высокой частотой событий и большими объёмами данных (например, в AI-рекомендациях, аналитике поведения пользователей).
— Когда требуется низкая задержка при обработке тысяч запросов в секунду с минимальными задержками в P90–P99.
— При необходимости отказаться от сложных настроек и операционного управления базами данных.

# Пример конфигурации Kafka-контроллера для миграции
kafka-connect \
  --bootstrap-server kafka:9092 \
  --topic events \
  --connector-name sprig-to-scylla \
  --tasks.max 10 \
  --properties "key.converter=org.apache.kafka.connect.storage.StringConverter"
# Проверка согласованности через Prometheus
curl -s "http://prometheus:9090/api/v1/query?query=rate(sprig_data_consistency_diffs[5m])"

Coding / Algorithms

Javarevisited Newsletter

15 Books Every Programmer Should Read

Открыть оригинал ↗ Перевод заголовка: 15 книг, которые должен прочитать каждый программист

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

Ключевые практические тезисы:

  • Clean Code (2-е издание) и Clean Architecture — фундаментальные книги для понимания качества кода и его структуры.
  • The Pragmatic Programmer и Refactoring помогают формировать профессиональные привычки и навыки рефакторинга.
  • Design Patterns (Gang of Four) и Effective Java дают понимание принципов проектирования и API-дизайна.
  • AI Engineering (Chip Huyen) — актуальная книга для понимания интеграции ИИ в разработку.
  • The Mythical Man-Month — обязательная для тех, кто работает с управлением проектами и оценками.

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