python internals
Master Python from the inside out.
старт:
23 бер. 2026 р.
16 занять
350 $/міс
про курс
Python швидкий настільки, наскільки ви розумієте, що відбувається під капотом. На цьому курсі ми відкриємо те, що зазвичай приховано: модель памʼяті CPython, PyObject, алокації та фрагментацію, GIL і конкуренцію потоків, multiprocessing, async та zero-copy підходи. Ви навчитеся не «припускати», а міряти, профілювати й оптимізувати. Ви переконаєтесь, що рішення на рівні пам’яті чи паралельності ніколи не є дрібницями — вони визначають швидкість, стійкість і вартість системи.
Цей курс переводить розробника у категорію those who understand Python beneath Python — інженерів, що контролюють поведінку інтерпретатора, вміють будувати scalable рішення, зменшувати latency та RAM, писати код, який тримається під трафіком. Результат — відчутний приріст продуктивності ваших програм і впевненість у тому, що відбувається всередині інтерпретатора.
Програма не для пасивного перегляду, а для глибокої роботи: дослідження, експерименти, оптимізацію й, можливо, переписування того, що здавалося правильним роками.
навчальний план
буде гаряче
Внутрішня обʼєктна модель CPython: PyObject, reference counting, роль GC
Рівні керування памʼяттю: heap, arenas, pools, blocks та логіка роботи pymalloc
Типові патерни надлишкових алокацій і фрагментації памʼяті в Python-коді
Інструменти вимірювання та діагностики: tracemalloc, gc, sys.getsizeof, практичні техніки аналізу
Практика:
Написання коду без зайвих алокацій
Як Python керує памʼяттю
Як влаштована памʼять в CPython і чому це має значення для продуктивності
Поверхневе, глибоке та приховане копіювання: де Python створює нові обʼєкти
Фрагментація памʼяті: причини виникнення та накопичення
Вплив копіювання та фрагментації на споживання памʼяті та стабільність системи
Що використовувати замість копій: робота з посиланнями та view-підходи (генератори, слабкі посилання, слоти, іменовані кортежі, датакласи)
Практика:
Реалізація Copy-On-Write масиву, аналіз прихованих алокацій, профілювання памʼяті
Копіювання та фрагментація памʼяті
Як непомітні копії та алокац ії впливають на споживання памʼяті та стабільність програм
Векторизація та відмова від Python-циклів NumPy і альтернативи: PyArrow, JAX — сценарії використання
Zero-copy підхід: buffer protocol, memoryview, mmap — робота з даними без копій
Компіляція та JIT-оптимізація: Cython, Numba. Коли це виправдано, а коли ні
Практика:
Робота з байтовими даними без копій, вибір оптимального підходу обробки даних під конкретну задачу
Швидкодія за межами Python
Коли інтерпретатора вже недостатньо і які підходи дозволяють масштабувати продуктивність
Локальні та зовнішні кеші (in-memory vs Redis): коли який підхід доречний
Типові помилки кешування: застарілі дані, cache stampede, неконтрольоване зростання
Політики cache-eviction (LRU, LFU, TTL) і їх вплив на памʼять та hit-rate
Підходи до вибору розміру кешу: компроміс між споживанням памʼяті, швидкодією та стабільністю
Практика:
Вибір підходу під задачу, реалізація LRU-кешу, аналіз впливу кешу на продуктивність і поведінку алгоритму
Стратегії кешування
Від локального кешу до багаторівневих стра тегій з Redis
Роль GIL у CPython та його вплив на продуктивність
Перемикання потоків: як Python поводиться з I/O-bound та CPU-bound задачами
Взаємодія GIL з планувальником потоків і сигналами
Реалізація GIL: мʼютекси, семафори, умовні змінні pthreads
Практика:
Вибір стратегії виконання та пояснення результатів з урахуванням впливу GIL
GIL та багатопоточність
Як Global Interpreter Lock визначає межі паралельності в CPython
Як та чому виникають гонки потоків
Примітиви блокування: mutex, lock і їх вплив на продуктивність
Потокобезпечна взаємодія через черги та обмін даними
Координація потоків: Semaphore, Event, Condition
Вибір кількості потоків: компроміс між паралельністю та накладними витратами
Практика:
Реалізація багатопоточного log collector, реалізація thread-safe структур
Синхронізація та безпечна робота з потоками
Як уникати гонок, бл окувань і нестабільної поведінки у багатопоточному коді
Моделі запуску процесів: fork, spawn
Обмін даними між процесами: черги, пайпи, shared memory
IPC та координація процесів
Вибір кількості процесів: баланс між продуктивністю та можливостями процесора
Практика:
Централізація логування, паралельні обчислення та спільний доступ до даних із використанням IPC і shared memory
Багатопроцесність
Як обходити обмеження GIL і масштабувати CPU-bound задачі через процеси
Корутинна модель та event loop: як досягається конкурентність
Очікування та координація задач: await, gather, task groups
Типові помилки асинхронного коду: блокування loop, race conditions, витоки памʼяті
Зелені потоки та інші альтернативи
Практика:
Оркестрація задач з використанням семафору, вибір стратегії паралельності/конкурентності для різних типів задач
Асинхронність
Як працює асинхронна модель виконання і де вона л амається в реальних системах
читає

Світлана Сумець
Python Software Engineer @N-iX.
Former: @NIX Ukraine
Реєстрація. Перший крок за вами
реєстрація
перший крок за вами
Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональни х даних відповідно до Політики конфіденційності.
відгуки
що говорять випускники
що на вас чекає
have fun and dive deep
спільнота крутих людей
Проводимо відбір на курс, щоб ви навчалися поряд із сильними та вмотивованими. Навіть відраховуємо за незараховані домашки.
Викладач готовий працювати з вами, поки все не стане на свої місця. Іноді це третя ітерація code review, іноді — додатковий 1-1 на 15 хвилин. Ми тут, щоб вчитись і ставати сильнішими.
А ще щоб жартувати про своє в Slack-у та обмінюватися рефералами в круті компанії.
результат, який має сенс
Тут не буде поверхневих слайдів та довгих вступів: тільки глибокий розбір цікавих задач із реального продакшену.
Сертифікат видаємо не за відвідування, а за результати — виконані домашки, участь у дискусіях, відчутний рух та прогрес.
інтенсивний режим
Зустрічаємось у Zoom двічі на тиждень — щопонеділка і щопʼятниці о 18:30. Щотижня — нова домашка.
Усі лекції — це живі зустрічі з викладачем під запис (щоб повернутися до матеріалу пізніше). Регулярно проводимо додаткові Q&A-сесії із виклада чем та тримаємо з вами звʼязок в Slack.
Мова викладання — українська.
Додаткові матеріали — англійською.