Портфолио-сайт: Blazor Server + PostgreSQL
Сайт-портфолио с админкой, PostgreSQL и конвейером обработки медиа
Корпоративные системы недропользования, миграции и оптимизация PostgreSQL, пайплайны обработки медиа, автономные дроны и agentic AI. По каждому проекту — суть задачи, техническое решение и, где возможно, пример кода.
Сайт-портфолио с админкой, PostgreSQL и конвейером обработки медиа
Скрипт PostgreSQL для каскадного удаления месторождения
Собственный MCP-сервер на .NET 8 отдаёт агентам живой DDL, индексы с числом обращений, размеры таблиц и EXPLAIN ANALYZE по read-only роли. Агент перестал придумывать имена колонок и на 70% реже ошибается в SQL.
Семантический поиск по 180 000 страниц документации, ГОСТов и истории коммитов: pgvector + локальные эмбеддинги, гибридный ранкинг и ответы со ссылкой на файл, страницу и дату. Данные не покидают контур.
Отчёт по недропользованию генерировался 47 секунд и ронял соединения. Переписал на CTE + оконные функции, добавил партиционирование и составной индекс: 180 мс на тех же данных — ускорение в 260 раз.
Журнал изменений на триггерах Oracle + конвейер на .NET 8: двоичный COPY в PostgreSQL и LISTEN/NOTIFY. Задержка репликации 200–400 мс при 4 млн изменений в сутки, без GoldenGate и платных лицензий.
412 ГБ, 780 млн записей, 11 лет данных и Firebird 2.5 на пределе возможностей. Перенос на PostgreSQL 16 конвейером на Channels: 6 параллельных потоков, двоичный COPY, контрольные суммы по каждому диапазону ключей.
Каскадные связи «лицензия → участок → дочерние объекты → обременения» считались в коде на 40 000 объектов. Один рекурсивный CTE с защитой от циклов решает задачу на стороне БД за 120 мс.
Пользовательский CSV/Excel/XLSX любого размера: потоковый разбор без загрузки в память, 40 правил валидации, отчёт об ошибках построчно и загрузка через двоичный COPY. 1,5 млн строк — 62 секунды.
Шаблонизируемые протоколы и ведомости: титул, таблицы результатов, оценки экспертов, диаграммы и QR-код на онлайн-версию. 200 страниц формируются за 3 секунды, вёрстка не разъезжается при 900 участниках.
Постоянный хостинг без облачных счетов: Ubuntu Server, Docker Compose, PostgreSQL с партиционированием, Nginx с Let's Encrypt и systemd-юниты для автостарта после света и перезагрузки.
Бэкап, который действительно восстанавливается: pg_dump в custom-формате, копия на внешний носитель, еженедельная проверка через реальный рестор в одноразовую базу и алерт в Telegram при любой ошибке.
Профилирование, проекции вместо Include, compiled query, разделение one-to-many запросов и кэш справочников: отчёт ускорился в 30 раз, а количество SQL-запросов упало с 1 100 до 4.
Минимальный API на ASP.NET Core: access и refresh токены с ротацией, ограничение частоты запросов по ключам и IP, идемпотентность платёжных операций, аккуратные ProblemDetails и живая OpenAPI-документация.
Двухуровневый кэш справочников и агрегатов: 1 час TTL, распределённая инвалидация через Redis-каналы, защита от cache stampede и «мягкий» пересчёт в фоне. Нагрузка на БД упала на 84%.
Заявка с сайта уходит в Telegram за 300 мс: разметка HTML, экранирование пользовательского текста, повторные попытки с backoff, очередь при сбое сети и мгновенный статус для клиента через SignalR.
Лёгкая CRM без лицензий: воронка статусов, история переписки, задачи с напоминаниями, вложения в файловом хранилище и поиск по всей базе. Заменила таблицу в Excel и три мессенджера.