📅 Формат: технічний live-стрім
⏱ Тривалість: ~2 години
🎯 Рівень: Middle / Senior Python Engineers
Про подію
Ви користуєтесь Django, FastAPI або будь-яким declarative API щодня.
Але чи замислювались ви, що реально відбувається під час створення класу?
Як Python перетворює:
class User(Model):
email = EmailField(unique=True)
на повноцінну ORM-модель?
Де саме перехоплюється логіка?
Коли викликається __new__?
Як працює descriptor protocol?
І чому type — це одночасно клас і фабрика класів?
На цьому стрімі ми розкладемо метапрограмування на рівні object model Python — без спрощень і без «для новачків».
Що будемо розбирати
🧠 Mental Model
- Як влаштована модель об’єктів Python
- Життєвий цикл створення класу
- Де закінчується Python і починається «магія»
⚙️ Глибокий розбір механік
type()як metaclass__new__vs__init____init_subclass__- descriptor protocol
__getattribute__- MRO та C3 linearization
- конфлікти multiple inheritance
- пріоритет data descriptor
🚀 Production use-case
- Створимо mini-ORM з нуля
- Реалізуємо declarative API
- Покажемо, як саме працює механіка моделей у Django
🧨 Чорна магія
- dynamic class creation
- monkey patching
- runtime mutation класів
🚫 Anti-patterns
- Коли metaclass — це архітектурна помилка
- Коли достатньо декоратора
- Як не перетворити код на технічний борг
Формат
- Частина — архітектурні слайди
- Частина — live coding (PyCharm)
- Частина — reverse engineering механік Django
- Інтерактивні питання
- Пауза на «подумати»
Без теоретичної води.
Без «метапрограмування — це складно».
З глибоким розумінням того, як Python працює всередині.
Для кого
- Python backend engineers
- Django / FastAPI розробники
- Ті, хто хоче мислити як автор фреймворку
- Ті, хто більше не хоче боятися metaclass
Після стріму ви:
- зрозумієте внутрішню архітектуру Python
- перестанете сприймати Django як магію
- зможете реалізувати declarative API самостійно
- почнете читати framework-код на іншому рівні
Це не вступ до метапрограмування.
Це глибоке занурення в механіку мови.
Початок о 19:00 04.03.26 року
youtube.com/live/GxtDu7×1Nfo
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів