RU

Ты не найдёшь эту ошибку. Потому что её нет в твоём коде. Как Self-describing API спасает от чужих рефакторингов

О том, как динамическая документация (Self-describing API) помогает синхронизировать фронт и бэк без ручного контроля, экономит 25 часов команды в нед…

javascripttypescriptrestapiapiopenapiархитектурафронтендbackendклиент-серверная архитектура
Habr
RU

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

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

highloadbackendgolanggoпроектирование системпрограммированиевысоконагруженные системыozon tech
Habr
RU

Query‑first подход или как из SQL запросов или MongoDB контрактов получить готовое REST API

Я давно хотел убрать из backend‑разработки одну особенно липкую рутину: когда для каждой новой сущности снова и снова приходится собира…

GoREST APIbackendгенерация кодаSQLCPostgreSQLMongoDBOpenAPIquery-firstCLI
Habr
RU

Где заканчивается вызов LLM и начинается backend система: локальный RAG на FastAPI и Ollama

Хотел разобраться где заканчивается простой вызов локальной LLM и начинается backend система. Сначала всё выглядело просто: frontend отправляет вопрос…

ragllmfastapiollamapythonbackendembeddingsvector storerequest_idлокальная llm
Habr
RU

Миграция на Spring Boot 4 и Java 25: пошаговый план, чтобы обновиться и не уронить прод

Мажорное обновление редко ломает сервис сразу и красиво. Чаще оно оставляет тихую регрессию в сериализации, безопасности, тестах или рантайме — и вспл…

Spring Boot 4Java 25миграция сервисовJava-разработкавиртуальные потокиbackendproductionOpenRewriteSpring SecurityDocker
Habr
RU

pg-smart-search: Путь от 8 секунд до 40 мс — Часть 2. Масштабирование до миллиона строк и производственная архитектура

Привет, Хабр! В первой части мы разобрали архитектуру pg-smart-search изнутри: параллельный Promise.race , механизм Zombie Prevention через AbortSigna…

postgresnode.jstypescriptgistopensoursehighloadbackend
Habr
RU

[Перевод] System Design: проектируем Rate Limiter, ограничитель запросов

В задаче проектирования Rate Limiter важны сразу несколько вещей: выбор алгоритма лимитирования, централизованное хранение состояния, работа через API…

system designbackendhighloadподготовка к собеседованиюраспределенные системыархитектурапроектирование системсистемный дизайнпаттерны проектированиясобеседования задачи
Habr
RU

Не давайте ИИ-агенту прямой доступ к базе. Как я проектировал безопасный контур действий на FastAPI и PostgreSQL

Последнее время я всё чаще встречаю одну и ту же мысль: бизнес никогда не даст ИИ‑агенту доступ к базе клиентов, заявкам, платежам, CRM…

ai-агентыaiai agentfastapipostgresqlpostgresbackendsecurityauditopinion
Habr
RU

Kafka в проде: как встроенное сжатие спасло кластер, когда retention не успевал чистить диск

Привет, Хабр! Меня зовут Павел, я ведущий разработчик. В этой статье расскажу про Kafka, consumer groups, lag, offset commit и встроенное сжатие сообщ…

kafkacsharp.net.net coreconsumer groupretentioncompressionbackenddistributed systems
Habr
RU

KODE.market: Как я написал первый в мире поисковик по GitHub и GitLab + P2P-раздатчик open-source кода

KODE.market: Как я написал первый в мире поисковик по GitHub и GitLab + P2P-раздатчик open-source кода + Антивирус. Без модерации, комиссий и SEO-мусо…

поисковикразработкаразработка приложенийгитхабгитлабtauribackendfrontendsearchcodeторрент
Habr
RU

Смотрим в будущее на Go — Theta прогнозирование финансового модуля ERP

Зачем предприятия ведут учёт? Отчётность перед ФНС? Или может воронка клиентов? Сотни ответов российского рынка учётных систем на этот простой вопрос.…

gothetaпрогнозированиепрогнозыerpфинансыфинансы и автоматизацияnext.jsbackendpostgres
Habr
RU

Топ-10 вопросов на собеседовании по FastAPI

FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency I…

fastapipythonсобеседование pythonвопросы на собеседованииpydanticасинхронностьbackendмикросервисыбэкендподготовка к собеседованию
Habr
RU

SLA как инструмент, а не отчёт

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

аналитикаbackendинцидент-менеджментslaуправление рискамимониторингдашбордынадежность сервисоврасчет потерьбизнес-аналитика
Habr
RU

Как избежать 7 критических ошибок при переходе на микросервисы

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

микросервисыархитектураbackenddistributed-systemsdesign-patternsjava-kotlinмасштабирование
Habr
RU

InSales без пушей: как бесплатно перенести уведомления о заказах в Telegram на Yandex Cloud Serverless

Если ваша CMS или CRM умеет отправлять email‑копию о новом заказе на произвольный адрес — этот гайд для вас. InSales, RetailC…

InSalesYandex CloudServerlessTelegram botNode.jsYDBYMQавтоматизацияуведомленияbackend
Habr
RU

Разработчики не экстрасенсы: как мы перестали приносить туман вместо ТЗ

Разработчики не экстрасенсы: как мы перестали приносить им туман вместо ТЗ Кейс про вагоны, Claude и то, зачем аналитику иногда полезно «потрогать» бу…

системный анализaiclaudeclaude codeтребования заказчикапроектирование системmvpинтеграцииbackendpostgresql
Habr
RU

SLA как инструмент, а не отчёт. Часть 1. Как подружить бизнес и инженеров через общие цифры

Наш прежний SLA формально выглядел корректно: была формула, «четыре девятки» и отчёты. Но в моменты сбоев это не помогало ответить бизнесу на вопросы:…

инцидент-менеджментslabackendуправление рискамианалитикамониторингвременные рядыдашбордынадежность сервисоврасчет потерь
Habr