[Engineering Lab]
Внутри систем.
Как всё связано: код, который показывает подход, архитектура за ним и путь одного события через production-систему.
Мышление кодом.
Иллюстративные инженерные примеры, написанные для этой страницы, чтобы показать подход. Это не дословный production-код.
from dataclasses import dataclass
@dataclass
class TradingSignal:
symbol: str
direction: str
entry: float
stop_loss: float
def validate_signal(signal: TradingSignal) -> bool:
if not signal.symbol:
return False
if signal.direction not in {"LONG", "SHORT"}:
return False
if signal.entry <= 0 or signal.stop_loss <= 0:
return False
if signal.direction == "LONG":
return signal.stop_loss < signal.entry
return signal.stop_loss > signal.entryИллюстрация Иллюстративный пример
CREATE TABLE processed_events (
event_id TEXT PRIMARY KEY,
source TEXT NOT NULL,
event_type TEXT NOT NULL,
processed_at TEXT NOT NULL
);Иллюстрация Иллюстративный пример
async function loadSystemOverview() {
const response = await fetch("/api/overview");
if (!response.ok) {
throw new Error("Failed to load system overview");
}
const data = await response.json();
return {
status: data.status,
updatedAt: data.updated_at,
metrics: data.metrics
};
}Иллюстрация Иллюстративный пример
Почему примеры устроены именно так
- Валидация до побочных эффектов. Сигналы, события и ответы AI проверяются до того, как что-либо сохраняется или выполняется.
- Идемпотентность на уровне хранилища. Уникальный ключ делает повторную доставку безвредной, вместо надежды на «так не бывает».
- Тонкие интерфейсы, явные ошибки. UI запрашивает состояние и явно сообщает, если не смог его получить, — никаких молча устаревших данных.
- Полноценной системе нужно больше. Транзакции, ограниченные повторы, восстановление состояния и мониторинг превращают эти фрагменты в поведение production-системы.
Выберите слой. Посмотрите, с чем он связан.
Выберите часть системы, чтобы увидеть её связи и кейсы, где она важнее всего.
Языковые модели для интерпретации и черновиков — всегда за проверкой.
Связан с
Бэкенд · База данных · Интерфейс
Где это важнее всего
Асинхронные Python-сервисы, которые координируют всё остальное.
Связан с
AI · База данных · API · Мониторинг · Интерфейс
Где это важнее всего
Состояние в SQL, история событий и данные для отчётов.
Связан с
Бэкенд · Мониторинг
Где это важнее всего
Биржи, Telegram, AI-провайдеры, вебхуки.
Связан с
Бэкенд
Где это важнее всего
Логи, диагностика и проверки после деплоя.
Связан с
Бэкенд · База данных
Где это важнее всего
Mini Apps и дашборды поверх состояния бэкенда.
Связан с
Бэкенд · AI
Где это важнее всего
Одно событие, пять шагов.
Не список технологий, а последовательность инженерных действий, через которую проходит каждое событие.
- 01
Вход
Приходит событие: вебхук, срабатывание расписания, действие пользователя.
- 02
Проверка
До любой работы проверяются форма, обязательные поля и дубли.
- 03
Обработка
Бизнес-логика выполняется над текущим состоянием.
- 04
Сохранение
Состояние и история событий записываются в одной транзакции.
- 05
Уведомление
Интерфейсы и пользователи получают результат.