Содержание курса
1. Врата метамагии 🌀
5 уроков
61
25
7м
4
Открытый
1.1
Что такое метапрограммирование
↗
33
11
6м 33с
2
Открытый
1.2
Магия introspection в Python
↗
22
8
2м 42с
1
Закрытый
1.3
eval и exec: заклинания исполнения
↗
2
2
-
1
Закрытый
1.4
Практика: функции, что создают функции
↗
2
2
-
0
Закрытый
1.5
Лабиринт: динамические атрибуты классов
↗
2
2
-
0
2. Древние свитки AST 📜
5 уроков
37
19
0м
0
Открытый
2.1
Введение в абстрактное синтаксическое дерево
↗
16
7
0м 9с
0
Закрытый
2.2
ast.parse: превращение кода в дерево
↗
2
2
-
0
Закрытый
2.3
Обход дерева: поиск узлов функций
↗
2
2
-
0
Закрытый
2.4
Модификация AST и генерация нового кода
↗
2
2
-
0
Открытый
2.5
Практика: трансформация Python-кода
↗
15
6
-
0
3. Алхимия code generation ⚒️
5 уроков
10
10
0м
0
Закрытый
3.1
compile: превращение AST в байткод
↗
2
2
-
0
Закрытый
3.2
Генерация функций на лету
↗
2
2
-
0
Закрытый
3.3
Построение классов динамически
↗
2
2
-
0
Закрытый
3.4
Практика: генератор декораторов
↗
2
2
-
0
Закрытый
3.5
Лабиринт: автоматический генератор API
↗
2
2
-
0
4. Метамагия runtime 🔮
5 уроков
10
10
0м
0
Закрытый
4.1
Monkey patching: тёмное искусство
↗
2
2
-
0
Закрытый
4.2
Магия декораторов и метаклассов
↗
2
2
-
0
Закрытый
4.3
Динамические прокси и адаптеры
↗
2
2
-
0
Закрытый
4.4
Практика: runtime встраивание логов
↗
2
2
-
0
Закрытый
4.5
Лабиринт: гибридные метаклассы
↗
2
2
-
0
5. Артефакты самоизменяющегося кода ✨
5 уроков
10
10
0м
0
Закрытый
5.1
Генерация Python-файлов автоматически
↗
2
2
-
0
Закрытый
5.2
AST как средство оптимизации кода
↗
2
2
-
0
Закрытый
5.3
Генерация DSL на Python
↗
2
2
-
0
Закрытый
5.4
Практика: автогенерация SQL ORM-классов
↗
2
2
-
0
Закрытый
5.5
Лабиринт: мини-компилятор в Python
↗
2
2
-
0
6. Храм Архимага 🏛️
5 уроков
10
10
0м
0
Закрытый
6.1
Реализация мини-интерпретатора Python
↗
2
2
-
0
Закрытый
6.2
Система плагинов через AST
↗
2
2
-
0
Закрытый
6.3
Генератор тестов на основе кода
↗
2
2
-
0
Закрытый
6.4
Практика: самописный transpiler
↗
2
2
-
0
Закрытый
6.5
Финал: Python, пишущий Python
↗
2
2
-
0