RU

Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика

Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, л…

DiscordPythonFastAPIPostgreSQLruBERTNLPмодерацияDiscord Activityaiai moderation
Habr
RU

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

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

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

Интеграция CGM в Django: Libre, Medtrum, Home Assistant и собственное хранилище данных

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

DjangoPythonAPIHome AssistantPostgreSQLREST APILibreLinkUpMedtrumдиабетмониторинг глюкозы
Habr
RU

С самого начала у нас был четкий план восстановления, и мы его придерживались: как рассчитать честные RTO и RPO

Классическая ловушка при проектировании отказоустойчивости — разрыв между ожиданиями бизнеса и возможностями инфраструктуры. На бумаге в SLA может быт…

RTORPODisaster RecoveryDRaaSPostgreSQLотказоустойчивостьбэкапрепликацияSLAХайстекс Акура
Habr
RU

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

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

E2EEend-to-end encryptionDouble RatchetX3DHWebCryptoSpring BootReactElectronPostgreSQLRedis
Habr
RU

Как закрыть пробелы в Linux, Docker, Kubernetes, CI/CD и сетевой безопасности

Инфраструктура обычно ломается не в одном месте. За «просто поправить деплой» быстро подтягиваются лимиты Linux, настройки контейнеров, CI/CD, безопас…

linuxdockerkubernetesPostgreSQLсетевые технологиибезопасность контейнеровSREинфраструктураподборка материаловпрофессиональное развитие
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

Системные дашборды для Sigla Vision

В менеджерской среде есть изречение: «Управлять можно только тем, что можно измерить». Рискнем его дополнить — данных сейчас генерируется так много, ч…

BIадминистрированиеBusiness IntelligenceFineBISigla Visionдашбордыбизнес-аналитикаSQLPostgreSQL
Habr
RU

PostgreSQL 19 Beta: неблокирующий REPACK — перепаковка раздутых таблиц без окна простоя (и графовые запросы в придачу)

4 июня 2026 вышла PostgreSQL 19 Beta 1. Все пишут про графовые запросы SQL/PGQ, но главная операционная новость в другом: в ядро завезли команду REPAC…

PostgreSQLPostgreSQL 19REPACKSQL-PGQбазы данныхDBADevOps
Habr
RU

Хватит дублировать валидацию в Django: как я подружил Pydantic с ORM и перестал страдать

Представь: ты пишешь научный сервис. Есть модель исследователя, у которой  h_index  не может быть отрицательным. Ты, как добросовестный разр…

DjangoPythonDjango NovaFastAPIPydanticасинхронное программированиеASGIPostgreSQLORMвеб-разработка
Habr
RU

Как мы перевезли свой интернет-магазин с InSales на собственный движок на Next.js

IWANT - наш собственный fashion-магазин. Несколько лет он жил на InSales: на старте это правильный выбор: быстро, без разработки, всё из коробки. Но в…

Next.jsInSalesмиграция интернет-магазинаe-commerceETLTypeScriptPostgreSQLSEO миграцияself-hosted152-ФЗ
Habr
RU

Chrome-расширение для Upwork: архитектура, метрики и опыт разработки с помощью ИИ

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

ChromeExtensionUpworkLLMAIAssistedDevelopmentTypeScriptRustPostgreSQLEmbeddingsSystemArchitecture
Habr
RU

SEO-админка для большого каталога: sitemap, robots, мета-превью и тревоги поисковиков в одном месте

Рассказываю, как мы собрали SEO-панель для динамического каталога: sitemap, robots.txt, мета-превью, RSS, диагностика и переобход в одном интерфейсе. …

SEOsitemaprobots.txtIndexNowNext.jsFastAPIPostgreSQLадминкапоисковые системытехническое SEO
Habr
RU

Семь ошибок индексации БД, которые убивают производительность SaaS на корню

Разбираем 7 типичных ошибок индексации в PostgreSQL и MySQL: переиндексация, низкая селективность, раздутие индексов, мультитенантность и внешние ключ…

Алгоритмы и структуры данныхМасштабируемость и ограничения памятиОптимизацияПроизводительностьMySQLSQLPostgreSQLСтатьи
Tproger
RU

Использование триггеров в БД по решению задач администрирования Sigla Vision

Продолжаем серию «Адаптивное администрирование Sigla Vision» . Разберем кейсы, где триггеры в базе FineDB помогают решать задачи администрирования Sig…

sigla visionадминистрированиеBusiness IntelligenceBIFineBIдашбордыбизнес-аналитикаSQLPostgreSQL
Habr
RU

5 ошибок при миграции с PostgreSQL на ClickHouse: как не убить производительность индексами

В этой статье разбираем пять конкретных ошибок при миграции индексов, которые мы совершали сами на реальных проектах. Почему B‑tree не&…

ClickHousePostgreSQLиндексымиграция баз данныхпроизводительность БДMergeTreeархитектура данных
Habr
RU

redb — типизированное хранилище для .NET поверх Postgres/MSSQL: без миграций, без Include, с полным LINQ

Типизированное хранилище для .NET поверх Postgres и MSSQL. C#-класс как схема — без миграций, без Include, с полным LINQ. Работает в проде. LoadAsync …

LINQмиграцииEF Coreobject storeredbopen-sourcePostgreSQLMSSQL.NET
Habr
RU

Cache is hard — почему инвалидация кэша — это проблема согласованности, а не производительности

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

кэшированиеинвалидация кэшасогласованность данныхраспределённые системыRedisPostgreSQLCDCKafkaTTLвысоконагруженные системы
Habr
RU

WHERE превращает ваш LEFT JOIN в INNER JOIN. И никто вам об этом не скажет

LEFT JOIN считается одной из самых безопасных конструкций в SQL — пока один фильтр в WHERE тихо не превращает его в INNER JOIN . О…

LEFT JOININNER JOINSQLPostgreSQLNULLWHEREONантиджойноптимизация запросовбазы данных
Habr
RU

Версионирование таблиц репозитория метаданных Sigla Vision

Продолжаем серию публикаций «Адаптивное администрирование Sigla Vision» .   В предыдущей статье мы изложили основную концепцию построения об…

Системное администрированиевизуализация данныхsqlанализ и проектирование системBusiness IntelligenceFineBISigla Visionдашбордыбизнес-аналитикаPostgreSQL
Habr