RU

Неожиданный антивайб разработки через ИИ-агентов

Менеджеры считают, что ИИ-агенты ускорят разработку в десять раз. Математика говорит, что ускорится только написание. Проверять смысл по-прежнему бу…

еорема РайсавайбкодингИИ-агентыcode reviewлегасиDatalogтьюринг-полнотаPostgreSQLформальная верификациядекларативное программирование.
Habr
RU

Платёж списывается дважды. Найдите причину в коде, который прошёл ревью

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

идемпотентностьдвойное списаниеплатёжный сервисраспределённые системыSpring BootJavaPostgreSQLретраиконкурентные запросымикросервисная архитектура
Habr
RU

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

Через год после закрытия проекта я открыл его код и устроил себе code review. Это был автомобильный маркетплейс объявлений, который я в од…

архитектураcode-reviewNestJSSocket.IOKubernetesPostgreSQLlost-updateидемпотентностьoutboxCronJob
Habr
RU

Неделя до INFOSTART TECH EVENT 2026: практики 1С в мире темного фэнтези

8 октября в Санкт-Петербурге начнется INFOSTART TECH EVENT 2026. В этом году крупнейшая конференция Инфостарта пройдет в атмосфере темного фэнтези.…

1СИнфостартINFOSTART TECH EVENT 2026разработка 1Сискусственный интеллектHighLoadPostgreSQLDevOpsтестированиеинтеграция данных.
Habr
RU

МойСклад после переезда с InSales: где ломается связка сайта с учётом

Разбираем интеграцию интернет-магазина с МойСкладом на собственном движке, Next.js и PostgreSQL, после переезда с InSales. Если ваш магазин живёт в…

МойСкладинтеграция с учётной системойInSalesпереезд интернет-магазинаAPIидемпотентностьобработка ошибокrate limitNext.jsPostgreSQL
Habr
RU

Собрал платный API для ИИ‑агентов на x402. Рынка не нашёл — зато нашёл четыре бага

Собрал платный API для проверки кода на протоколе x402 — агент получает HTTP 402, платит в USDC, получает подписанный сертификат…

x402HTTP 402AI-агентыFastAPIDockerPostgreSQLed25519Claude CodeDevSecOps
Habr
RU

Собираем приватный RAG-стек на pgvector

Собираем приватный RAG-стек на pgvector, где документы, поиск и генерация ответа остаются внутри вашего VPS. Разберём схему стенда, embeddings, pgve…

RAGpgvectorPostgreSQLвекторный поискembeddingsлокальная LLMself-hosted RAGOllamaHNSWинформационная безопасность
Habr
RU

Миграции от ИИ агента: почему я бы не пускал их в прод без отдельного firewall

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

AI-агентыPostgreSQLDjangoмиграцииdatabase migrationsbackendcode review
Habr
RU

Кнопка нажата, а ответа нет: как не потерять действие пользователя и не наделать дублей

Пользователь нажал кнопку, сеть пропала, а браузер не знает, дошёл ли запрос до сервера. Повторите запрос — можно получить дубль. Не повторяйте — по…

офлайн-очередьService WorkerидемпотентностьIndexedDBBackground Syncповторные запросыFastAPIPostgreSQLhtmxPlaywright
Habr
RU

Данные построчно правильные, а итог неверный: ошибки JOIN и гранулярности в аналитике

Ошибки в аналитических витринах часто скрываются за корректным числом строк и успешно выполненным SQL‑запросом. Разберём, как неправи…

SQLбазы данныханалитика данныхJOINPostgreSQLвитрины данныхкачество данныхETLDWHData Warehouse
Habr
RU

Баги, которые не ловятся тестами: три расследования и общая методика

Три расследования редких дефектов: гонка в SQLite, потеря сообщений в TCP и гонки в биллинге. Разбираем общую методику поиска невоспроизводимых баго…

ТестированиеСетевые протоколыОтладкаБазы данныхБаги и ошибкиPostgreSQLСтатьи
Tproger
RU

Найти ПДн, замаскировать, развернуть копию: большой разбор открытого pg_anon

pg_anon — полностью открытый инструмент для PostgreSQL, который ищет персональные данные по заданным правилам и выгружает копию базы уже замаскирова…

pg_anonPostgreSQLанонимизация данныхмаскирование данныхперсональные данныеПДнпоиск персональных данныхтестовые данныетестовый стендtantor postgres
Habr
RU

Один контракт данных, разные адаптеры: как перестать писать миграцию магазина заново

Первый файл, который я получил при переезде своего магазина с InSales, парсер прочитал как одну длинную строку мусора. Выгрузка заказ…

миграция данныхETLадаптерыидемпотентностьимпорт данныхInSalesPostgreSQLNext.jsинтернет-магазинblue-green
Habr
RU

HTTP API для разработчика: практический гайд по проверке конфликтов при изменении одной сущности

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

APIHTTP APIREST APIконкурентные запросыгонки данныхблокировкитестирование ПОETagPostgreSQLавтоматизация тестирования
Habr
RU

Что изучить в начале осени: 34 открытых урока для тех, кто развивает карьеру в IT

Новые инструменты появляются быстрее, чем успеваешь их изучать: LLM, инфраструктура, фреймворки, подходы к разработке. Как выбрать то…

искусственный интеллектмашинное обучениеразработкапрограммированиеDevOpsbackendPostgreSQLLLMтестированиеаналитика
Habr
RU

NVMe выдаёт 600 000 записей в секунду, а база коммитит 180

NVMe показывает сотни тысяч IOPS, а база упирается в пару сотен коммитов в секунду — знакомая ситуация, если ориентироваться на&…

NVMePostgreSQLSSDfsyncfdatasyncдисковый ввод-выводпроизводительность базы данныхгрупповой коммитфайловая системазадержка записи
Habr
RU

Django ORM ломается не там, где вы смотрели: шесть ошибок

Django ORM умеет долго скрывать проблемы: лишние запросы, гонки при save() , затянувшиеся транзакции и выборки, которые незаметно съедают памят…

Django ORMQuerySetоптимизация запросовPostgreSQLтранзакциииндексыN+1блокировкимассовые операциипроизводительность.
Habr
RU

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

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

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

Два месяца спустя. Что я понял, пока пытался сделать E2EE-мессенджер

Два месяца назад я опубликовал статью про свой pet-проект — E2EE-мессенджер. Честно говоря, я не ожидал, что она вызовет такой интерес. Прилетели ко…

E2EEend-to-end encryptionDouble RatchetX3DHWebCryptoSpring BootReactElectronPostgreSQLRedis
Habr
RU

Как приручить legacy-код: безопасная модернизация без заморозки фич

Как модернизировать legacy-код без остановки продукта: Strangler Fig Pattern, feature flags, shadow testing и безопасная миграция данных. Практика и…

ИнтернетAPIJavaGitОпросPythonRubyMySQLПрактикаSQLРефакторингРаботаTorGitHubБотыHRMITФинтехICORedisQAБэкендTwitterИграПриложениеСерверKubernetesБиблиотекианалитикOpenTelemetryPostgreSQLDeFiGrafanaБизнесLegacyТехникаСтатьи
Tproger
RU

[Перевод] Что делать, если HTTP‑запрос прошёл, а транзакция в БД откатилась?

Если ваш сервис одновременно пишет в БД и дёргает внешние API, прямо сейчас у вас есть как минимум один из этих сценариев: – деньги списаны, заказа…

Transactional OutboxSaga PatternSaga CompensationDual-Write ProblemScalaPlay FrameworkSlickPostgreSQLархитектура ПОtimeweb_статьи_перевод
Habr
RU

ASOC на коленке: как я навайбкодил замену DefectDojo для своих задач с обогащением из БДУ ФСТЭК

Когда я начал разбираться, чем в open source можно закрыть задачу ASOC / Vulnerability Management, выбор оказался довольно грустным. По сути единств…

ASOCAppSecDevSecOpsDefectDojovulnerability managementБДУ ФСТЭКon-premiseair-gappedGoPostgreSQL
Habr
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реа…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи