Карта курса → Модуль 3 → Урок 3.6

Оптимизация — почему лагает сервер

Уменьшаем время/память и убираем узкие места.

Оптимизация — почему лагает сервер

🎣 Hook

Когда сервер лагает, проблема не в «магии», а в конкретных горячих местах: лишние циклы, тяжёлые операции, лишние сущности.

🧠 Concept

Термины: list, dictionary, loop, function — пишем по-английски, объясняем по-русски.

Оптимизация начинается с измерения.

Подход:
1) замеряем (где медленно);
2) ищем узкое место;
3) меняем алгоритм/структуру;
4) снова замеряем.

Без замеров легко «оптимизировать» не то.

🧩 Квиз +10 XP
Оптимизация без профилирования часто приводит к…
A точному улучшению
B случайным и бесполезным правкам
C автоматическому ускорению
D уменьшению багов везде

🔧 Практика

Задание 1: укажи первый шаг оптимизации.

step1 = "замер"
print(step1)

Заполни пропуски в коде в своей тетради/редакторе. Ключевые ответы: замер.

Задание 2: выбери более быстрый поиск по id.

storage = "dict"  # вместо списка для прямого доступа

Проверь себя: dict.

🧩 Квиз +10 XP
Что обычно быстрее для доступа по ключу?
A list с линейным поиском
B dict
C bubble sort
D while True

🏗️ Сборка: мини-проект

Возьми старый поиск предметов в списке и перепиши под словарь index_by_id. Сравни количество операций.

👹 Мини-босс +120 XP

Комбинируем текущую тему с предыдущими навыками.

A Сделать без структуры, потом чинить
B Сначала план, затем реализация и проверка
C Копировать решение без понимания
D Пропустить тесты ради скорости

💭 Reflection

Ты научился думать как инженер: сначала данные, потом изменения, потом проверка результата.