Система управления задачами с аналитикой
SPA для команд: роли, канбан, графики продуктивности в реальном времени
Каталог, корзина, оплата и блок «вам может понравиться»
Интернет-магазин с фильтрами по каталогу, корзиной, оформлением заказа и персональными рекомендациями товаров на основе поведения пользователя.
Каталог на несколько тысяч позиций с фильтрами по 6 параметрам открывался секундами: классический N+1 и отсутствие индексов. Рекомендации нельзя было считать в момент запроса — это блокировало ответ страницы.
Разобрал запросы через django-debug-toolbar и EXPLAIN: добавил select_related / prefetch_related, составные индексы под реальные фильтры, кэширование выдачи в Redis с инвалидацией по сигналу сохранения товара. Расчёт рекомендаций (совместные покупки + просмотры) вынес в Celery-задачу по расписанию, страница читает готовый результат.
Время ответа каталога сократилось с ~1.8 с до ~180 мс, количество SQL-запросов на странице — с 90+ до 6. Блок рекомендаций заметно поднял глубину просмотра в тестовых сценариях.
Это был мой главный урок по производительности: узкое место почти никогда не там, где кажется. Научился сначала измерять, потом оптимизировать — и полюбил фоновые задачи.
SPA для команд: роли, канбан, графики продуктивности в реальном времени
Совместное рисование и заметки на Canvas через WebSocket
Тот самый сайт, который вы сейчас читаете
Комментарии доступны зарегистрированным пользователям.