homme.io
Чисто.Точно.Быстро.
..
SAKURA
PLATO
Фотография
Философия
Искусство
История
DevOps
C/C++
DBMS
Oracle
Спорт
Linux
Rust
Lua
IT

Infinitum.Aeterna
2025.Тайланд
2025.08.Турция
2025.Зубовка
2025.Дивеево
2025.Суздаль-Плес
2025.Рязань
2024.Зубовка
2024.Египет
2024.Эмираты
2024.01.Зоопарк
2024.Китай
Иран в лицах
2023.Иран
2023.09.Египет
2023.07.Царицыно
2023.06.Москва
2023.06.Египет
2023.05.Москва
2023.Стамбул
2023.02.Царицыно
2023.01.Зубовка
2023.ЧИА
2023.ЗИМА
2022.11.Турция
2022.Аносино
2022.ОСЕНЬ
2022.08.Зубовка
2022.07.Турция
2022.Раменское
2022.ЛЕТО
2022.Архангельское
2022.Парк
2022.Петербург
2022.Ярославль
2022.03.Зубовка
2022.Кокошкино
2022.Сочи
2022.ВЕСНА
2022.02.Царицыно
2022.Стамбул
2022.02.Коломенское
2022.ЗИМА
2021.Зубовка
2021.ОСЕНЬ
2021.Египет
2021.Раменское
2021.ЛЕТО
2021.Дивеево
2021.Азов
2021.02.Зоопарк
2021.Карелия
2020.Петербург
2020.Турция
2020.Аносино
2020.Азов
2020.Верея
2020.Арктика
2020.Греция
2019.Турция
2019.Зубовка
2019.Дагестан
2019.Дагестан+
2019.Египет
2019.Италия
2019.Куликово поле
2019.Калуга
2019.02.Танцы
2019.Байкал
2018.Переславль
2018.Плес
2018.Березка
2018.Крым
2018.Азов
2018.Калининград
2018.Петербург
2018.Эльбрус
2017.Турция
2015.Египет
2013.Египет
2013.Рим
Разное

Сжатая архитектура системы (2026)

Связка Tauri + SolidJS + AG Grid + Go + Postgres — это золотое сечение современной инженерии. Она дает максимальную скорость работы интерфейса (за счет SolidJS и AG Grid), злую производительность сервера (за счет Go) и абсолютную надежность данных (за счет Postgres), оставаясь при этом ремонтопригодной по кадрам на рынке РФ.

=====================================================================================================
                              СХЕМА АРХИТЕКТУРЫ СИСТЕМЫ (2026)
=====================================================================================================

[ СЛОЙ ДОСТАВКИ И UI-РЕНДЕРИНГА: TAURI ДЕСКТОР-КЛИЕНТ ]

│  Физика: Изолированное нативное окно ОС macOS (через системный движок WebKit/Safari).
│  Оверхед по оперативной памяти: ~30-40 МБ (в отличие от 150+ МБ у Electron).

├── [ Слой интерфейса: SolidJS ]
│     └── Назначение: Управление состоянием (стейтом) через сигналы (Signals).
│     └── Физика процесса: Нет виртуального DOM. Компилятор превращает код в прямые мутации 
│         конкретных текстовых нод в DOM-дереве. Обновление ячейки не вызывает перерисовок соседа.

└── [ Движок таблиц: AG Grid (Обертка под SolidJS) ]
      └── Назначение: Замена Oracle Forms для операторов интенсивного ввода данных.
      └── Физика процесса: Строгая виртуализация строк и колонок. Если в памяти 100 000 строк, 
          в DOM-дереве физически существуют только 30 строк, которые видны на экране. 
          Обеспечивает скроллинг и горячие клавиши (Excel-style) на частоте 60-120 FPS.

       │
       │ Протокол связи: Постоянный двусторонний асинхронный канал (WebSockets / gRPC-Web)
       │ Трафик: Компактный JSON (минимум оверхеда на заголовки, в отличие от REST HTTP)
       ▼

[ СЛОЙ БИЗНЕС-ЛОГИКИ И ОРКЕСТРАЦИИ: GO (GOLANG) БЭКЕНД ]

│  Физика: Единый скомпилированный статический бинарник под Linux/Unix. 
│  Управление памятью: Высокопроизводительный Garbage Collector с микропаузами <1 мс.

├── [ Сетевой роутер / Ядро: Chi / Fiber ]
│     └── Назначение: Прием WebSocket-соединений от операторов и директоров, парсинг JSON.

├── [ Модуль мягких распределенных блокировок: In-Memory Storage / sync.Map / Redis ]
│     └── Назначение: Воспроизведение механизма «SELECT FOR UPDATE» из Oracle Forms без насилия над БД.
│     └── Физика процесса: При старте редактирования ячейки оператором, ID строки падает в кэш 
│         памяти бэкенда на 60 секунд. Другие операторы мгновенно получают по WS статус «занято» 
│         и строка в их AG Grid блокируется (сереет). Диск и СУБД при этом вообще не трогаются.

└── [ Драйвер СУБД: pgx (Нативный пуллер для Postgres) ]
      └── Назначение: Управление пулом долгоживущих соединений к БД (Connection Pool).
      └── Физика процесса: Забудь про ORM-магию (типа Hibernate). Используется кодогенератор `sqlc`.
          Запросы пишутся на чистом, злом SQL. На этапе компиляции они превращаются в прямые, 
          типобезопасные вызовы к Postgres без рантайм-рефлексии.

       │
       │ Протокол связи: Нативный бинарный протокол PostgreSQL (v3) через Unix-сокет / TCP
       │ Транзакционность: Короткие, изолированные транзакции (Read Committed / Serializable)
       ▼

[ СЛОЙ ХРАНЕНИЯ ДАННЫХ И ЦЕЛОСТНОСТИ: POSTGRESQL ]

│  Физика: Реляционная СУБД. Вся бизнес-логика вынесена в Go-код (Postgres плох в процедурах 
│  по сравнению с Oracle PL/SQL). База занимается только ACID, диском и индексами.

├── [ Оптимистичное версионирование (OCC) ]
│     └── Механика: Каждая таблица имеет поле `version INT`. При фиксации изменений от Go, 
│         запрос делает `SET version = version + 1 WHERE id = X AND version = current_version`.
│         Защищает от коллизий, если два оператора смогли обойти мягкую блокировку в памяти.

└── [ Индексы и Секционирование ]
      └── Механика: Тяжелые биллинговые таблицы бьются физически на диске по датам (Partitioning).
          Поиск идет по индексам `B-Tree` (для точечных данных) и `BRIN` (для тяжелых хронологических логов).

=====================================================================================================
 

sdmrnv [2.05ms]