🚀
Профи
ОпытнымAsync, тестирование, архитектура, производительность, типизация.
1
Comprehensions и генераторы
Питоничный способ преобразовать данные за одну строку.
2
Декораторы
Функции-обёртки, оборачивающие другую функцию в дополнительное поведение.
3
Контекстные менеджеры
with-блоки и contextlib для управления ресурсами.
4
asyncio
Кооперативная многозадачность: тысячи "одновременных" задач в одном потоке.
5
dataclasses
Меньше boilerplate для классов-данных.
6
Protocol и Generics
Структурная типизация и параметризованные типы.
7
Тестирование (pytest стиль)
Уверенность в коде через автотесты.
8
Шаблоны проектирования
Strategy и Factory на Python — но через функции, а не классы-обёртки.
9
Производительность и профилирование
Не угадывай — измеряй: timeit, cProfile, BigO.
10
Проект: LRU-кеш
Реализуй простой LRU без `functools.lru_cache`.
11
Метаклассы
Класс класса. Управляем созданием классов.
12
Дескрипторы
__get__/__set__ — основа property, methods, ORM полей.
13
__slots__
Меньше памяти, быстрее доступ.
14
MRO и C3
Порядок поиска методов в множественном наследовании.
15
Mixins и кооперативный super
Кооперативное множественное наследование.
16
typing.Protocol — структурная типизация
Duck typing с типами.
17
Generic[T]
Типизированные контейнеры.
18
TypeVar bound и Self
Ограничения типов и возврат self.
19
NewType и TypeGuard
Различаем UserId от int. Сужаем типы.
20
Async context managers
async with — для async-ресурсов.
21
asyncio.Queue
Producer/consumer без блокировок.
22
asyncio.Semaphore
Ограничение параллельности.
23
Отмена в asyncio
task.cancel(), CancelledError.
24
Async генераторы
async for, yield в корутине.
25
Модели конкурентности
Threads, processes, asyncio — чем отличаются.
26
multiprocessing.Pool (концепт)
CPU-параллелизм через процессы.
27
Threading: locks
Lock, RLock, race conditions.
28
queue.Queue — потокобезопасная
Безопасный обмен между потоками.
29
memoryview и буферы
Срезы без копий.
30
weakref
Слабые ссылки — без удержания объекта.
31
GC: refcount + cycles
Как Python собирает мусор.
32
cProfile
Где тормозит код.
33
timeit
Микро-бенчмарки правильно.
34
Cython / mypyc (концепт)
Компилируем горячий код в C.
35
numpy (концепт)
Векторизация: операции над массивами без циклов.
36
pandas (концепт)
DataFrame — табличные данные в памяти.
37
pyproject.toml
Современная упаковка пакетов.
38
Wheels и публикация
sdist, wheel, PyPI.
39
Структурированное логирование
JSON-логи и контекст.
40
Event-driven архитектура
События вместо команд.
41
Observability: метрики, трейсы
OpenTelemetry, Prometheus.
42
Celery / RQ (концепт)
Очереди задач для фона.
43
Connection pool (концепт)
Не открывай новое соединение на каждый запрос.
44
WebSockets (концепт)
Двухстороннее соединение, real-time.
45
GraphQL (концепт)
Один эндпоинт, гибкий запрос данных.
46
CI/CD (концепт)
GitHub Actions: тесты на каждый push.
47
Docker (концепт)
Контейнер = воспроизводимое окружение.
48
Security: best practices
OWASP Top 10 для Python.
49
Rate limiter (token bucket)
Ограничение запросов.
50
Финал: async pub/sub
Брокер с темами и подписчиками.