RU

Сверка таблиц в PostgreSQL, или О том, нужны ли для этого специальные утилиты

Лет десять назад я делал инструмент сверки таблиц для мультимастера — крайне неэффективным способом: брал снапшот и под ним просто шёл по таблице, м…

postgresqlсравнение таблицконсистентность данныхлогическая репликацияpg_comparatorpgcompareacepgedgeхэшированиебенчмарк
Habr
RU

Переписали платформу для создания игр: какие решения мы считали крутыми раньше и почему отказались от них потом

Создать игру без знаний в IT практически невозможно, но мы нашли решение и разработали платформу, на которой пользователи могут сделать свои аналоги…

разработка игрc#postgresqlwordle
Habr
RU

Импорт ТОРГ-12 из Excel в складскую программу StoreHouse 5

Все вокруг кричат про тотальную цифровую трансформацию, маркировку и ЭДО. Наш ресторан купил красивое готовое решение для импорта документ…

storehouseimportpythonразработка приложенийавтоматизация бухгалтерииии-ассистентetl-процессыpostgresqlstreamlit
Habr
RU

Настройка HAProxy для автоматического определения ролей экземпляров PostgreSQL и защиты от split brain

HAProxy должен выполнять проверки, чтобы определить роль экземпляров PostgreSQL: мастер или реплика, чтобы направлять соединения на подходящие серве…

haproxypgbouncerpostgresqlpostgresпостгресhighavailability
Habr
RU

Бэкап был, восстановить было нечего: как pg_dump молча собирал битые дампы из-за row-level security

Если у вас PostgreSQL с включённым row-level security и ночной pg_dump по таймеру, откройте каталог с бэкапами и сравните размеры вчерашнего и позав…

postgresqlpg_dumprow level securityбэкапsystemdpg_restoreBYPASSRLSадминистрирование
Habr
RU

Сотни Telegram‑ботов в одном процессе Node.js: общий webhook, очередь в PostgreSQL и Mini App на 5 КБ

Каждому пользователю моего конструктора нужен свой Telegram‑бот. Рассказываю, как держать сотни ботов в одном процессе Node.js: общий webh…

боттелеграмминиприложениеwebhookpostgresqlnode.jsочередиtelegram bot api
Habr
RU

Практический GitHub Actions: полноценный CI/CD для FastAPI + PostgreSQL

В этой статье будет разбираться написание GitHub Actions пайплайна на основе моего стенда cicd-practice на GitHub (подробно все можно посмотреть там…

devopsfastapigithub actionspythontimeweb_статьиdockerpostgresqlавтоматизациявею-разработкасервер
Habr
RU

DATAREON Platform под нагрузкой: настройка высоконагруженной интеграции DATAREON + PostgreSQL + REST

Всем привет! Я Дмитрий Пономарев, разработчик ESB ИТ-интегратора «Белый код»! Сначала всё выглядело довольно просто: забираем данные по REST API, об…

DATAREONdatareon platformRESTrest apipostgresqlвысоконагруженная системачестный знак
Habr
RU

Как я делаю ИИ-память из переписки в Telegram: десятки тысяч сообщений, тысячи фактов, сотни людей

Ночью, около двух по московскому времени, сервер просыпается и запускает конвейер. Сначала сервис идёт в Telegram и скачивает новые сообщения из чат…

llmragии-агентыдолговременная памятьпамятьpythoncelerypostgresqltelegramпромпт-инжиниринг
Habr
RU

Долговременная память для ИИ-ассистента: как превратить переписку в Telegram в структурированную базу знаний

У больших языковых моделей нет памяти. сть контекстное окно: сегодня это десятки-сотни тысяч токенов, но как только диалог выходит за его пределы, м…

llmragии-агентыдолговременная памятьпамятьpythoncelerypostgresqltelegramпромпт-инжиниринг
Habr
RU

Свои книжные метаданные: Pivot-архитектура, Spring Boot и бесплатный API для Obsidian

Как я собрал бесплатный сервис метаданных книг на Java и Spring Boot — с EAV/Pivot-схемой БД вместо ALTER TABLE на каждое новое поле, агрегацией нес…

javaspring bootpostgresqlpivot architecturebook metadataisbnopen libraryobsidianmultitenancyмикросервисы
Habr
RU

Каскад из одной аварии: как схлопнуть шторм алертов в одну карточку инцидента

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

мониторингалертингинцидентыobservabilityэскалацияself-hostedgolangpostgresqlsre
Habr
RU

Свежий взгляд на бронирование тайм‑слотов, или как я это сделал на Spring boot, используя пессимистические блокировки

Здравствуйте, Хабровчане! Меня зовут Дмитрий, я бэкенд разработчик Java. Недавно я наткнулся на задачу, которая сначала показалась мне копеечной, а…

javaspring bootpostgresqlbackendarchitectureslots apib2bsaas
Habr
RU

Все пять safety-свойств Raft прошли. Две реплики разошлись

Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать…

raftконсенсусдетерминированное тестированиемутационное тестированиеmodel checkingлинеаризуемостьизоляция транзакцийpostgresqltypescript.
Habr
RU

River OSS и Kafka: почему transactional outbox не гарантирует порядок событий агрегата

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

transactional outboxriverevent-drivendistributed systemsgolangpostgresql
Habr
RU

Часть 1. Как я делаю backend для браузерной игры три в ряд: server-driven контент, транзакции и идемпотентность

Часть 1. Как я делаю backend для браузерной игры три в ряд: server-driven персонажи и способности, общий контракт клиента и сервера, версионирование…

backendfrontendprismapostgresqltypescriptяндекс.игрыgamedevgame developmentgame engine
Habr