top of page

Python Advanced

Master Python from the inside out

350 $/місяць

пн / пт, 18:30 (UTC+3)

старт:

17 серп. 2026 р.

16 занять, 2 місяці

350 $/місяць

пн / пт, 18:30 (UTC+3)

про курс

Python швидкий настільки, наскільки добре ви розумієте, що відбувається під капотом. На цьому курсі ми відкриємо те, що зазвичай приховано: модель памʼяті CPython, PyObject, алокації та фрагментацію, GIL і конкурентність потоків, multiprocessing, async та zero-copy підходи. Ви навчитеся не «припускати», а міряти, профілювати й оптимізувати. Ви переконаєтесь, що робота з пам’яттю чи потоками — це не дрібниці, а фундамент, що визначає швидкість, стійкість та вартість вашої системи.

Цей курс переводить розробника у категорію those who understand Python beneath Python — інженерів, що контролюють поведінку інтерпретатора, вміють будувати scalable-рішення, зменшувати latency та споживання RAM, писати код стійкий до високих навантажень. Результат — відчутний приріст продуктивності програм і повний контроль над тим, як вони працюють зсередини.

Програма не для пасивного перегляду, а для глибокої роботи: дослідження, експерименти, оптимізація й, можливо, переписування того, що здавалося правильним роками.

Навчальний план

буде гаряче

ДЛЯ ІНЖЕНЕРІВ

Як Python керує памʼяттю

Як влаштована памʼять в CPython і чому це має значення для продуктивності

• Внутрішня обʼєктна модель CPython: PyObject, reference counting, роль GC 
• Рівні керування памʼяттю: heap, arenas, pools, blocks та логіка роботи pymalloc
• Типові патерни надлишкових алокацій і фрагментації памʼяті в Python-коді
• Інструменти вимірювання та діагностики: tracemalloc, gc, sys.getsizeof, практичні техніки аналізу

Практика:  
Написання коду без зайвих алокацій

Копіювання та фрагментація памʼяті

Як непомітні копії та алокації впливають на споживання памʼяті та стабільність програм

• Поверхневе, глибоке та приховане копіювання: де Python створює нові обʼєкти
• Фрагментація памʼяті: причини виникнення та накопичення
• Вплив копіювання та фрагментації на споживання памʼяті та стабільність системи
• Що використовувати замість копій: робота з посиланнями та view-підходи (генератори, слабкі посилання, слоти, іменовані кортежі, датакласи) 

Практика:  
Реалізація Copy-On-Write масиву, аналіз прихованих алокацій, профілювання памʼяті

Швидкодія за межами Python

Коли інтерпретатора вже недостатньо і які підходи дозволяють масштабувати продуктивність

• Векторизація та відмова від Python-циклів NumPy і альтернативи: PyArrow, JAX — сценарії використання
• Zero-copy підхід: buffer protocol, memoryview, mmap — робота з даними без копій
• Компіляція та JIT-оптимізація: Cython, Numba. Коли це виправдано, а коли ні  

Практика: 
Робота з байтовими даними без копій, вибір оптимального підходу обробки даних під конкретну задачу

Стратегії кешування

Від локального кешу до багаторівневих стратегій з Redis

• Локальні та зовнішні кеші (in-memory vs Redis): коли який підхід доречний
• Типові помилки кешування: застарілі дані, cache stampede, неконтрольоване зростання 
• Політики cache-eviction (LRU, LFU, TTL) і їх вплив на памʼять та hit-rate
• Підходи до вибору розміру кешу: компроміс між споживанням памʼяті, швидкодією та стабільністю 

Практика:  
Вибір підходу під задачу, реалізація LRU-кешу, аналіз впливу кешу на продуктивність і поведінку алгоритму

GIL та багатопоточність

Як Global Interpreter Lock визначає межі паралельності в CPython

• Роль GIL у CPython та його вплив на продуктивність
• Перемикання потоків: як Python поводиться з I/O-bound та CPU-bound задачами
• Взаємодія GIL з планувальником потоків і сигналами
• Реалізація GIL: мʼютекси, семафори, умовні змінні pthreads  

Практика:  
Вибір стратегії виконання та пояснення результатів з урахуванням впливу GIL

Синхронізація та безпечна робота з потоками

Як уникати гонок, блокувань і нестабільної поведінки у багатопоточному коді

• Як та чому виникають гонки потоків
• Примітиви синхронізації: mutex, lock і їхній вплив на продуктивність
• Потокобезпечна взаємодія через черги та обмін даними
• Координація потоків: Semaphore, Event, Condition
• Вибір кількості потоків: компроміс між паралельністю та накладними витратами

Практика:  
Реалізація багатопоточного log collector, реалізація thread-safe структур

Багатопроцесність

Як обходити обмеження GIL і масштабувати CPU-bound задачі через процеси

• Моделі запуску процесів: fork, spawn
• Обмін даними між процесами: черги, пайпи, shared memory
• IPC та координація процесів
• Вибір кількості процесів: баланс між продуктивністю та можливостями процесора  

Практика:  
Централізація логування, паралельні обчислення та спільний доступ до даних із використанням IPC і shared memory

Асинхронність

Як працює асинхронна модель виконання і де вона ламається в реальних системах

• Корутинна модель та event loop: як досягається конкурентність 
• Очікування та координація задач: await, gather, task groups
• Типові помилки асинхронного коду: блокування loop, race conditions, витоки памʼяті
• Зелені потоки та інші альтернативи

Практика:  
Оркестрація задач з використанням семафору, вибір стратегії паралельності/конкурентності для різних типів задач

читає

буде гаряче

ДЛЯ ІНЖЕНЕРІВ

Світлана Сумець

Senior Python Software Engineer @N-iX

Експертка з високонавантажених систем та сертифікована AWS-архітекторка.

Проєктує масштабовані low-latency рішення та складні інтеграції для глобальних корпорацій

Реєстрація. Перший крок за вами

реєстрація
перший крок за вами

Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.

відгуки

що говорять випускники

ДЛЯ ІНЖЕНЕРІВ

відгуки
що говорять випускники

інтенсивний режим

Зустрічаємось у Zoom двічі на тиждень — щопонеділка і щопʼятниці о 18:30. Щотижня — нова домашка.

Усі лекції — це живі зустрічі з викладачем під запис (щоб повернутися до матеріалу пізніше). Регулярно проводимо додаткові Q&A-сесії з викладачем та тримаємо з вами звʼязок в Slack.

Мова викладання — українська.
Додаткові матеріали — англійською.

спільнота крутих людей

Проводимо відбір на курс, щоб ви навчалися поряд із сильними та вмотивованими. Навіть відраховуємо за незараховані домашки.

Викладач готовий працювати з вами, поки все не стане на свої місця. Іноді це третя ітерація code review, іноді — додатковий 1-1 на 15 хвилин. Ми тут, щоб вчитись і ставати сильнішими.

А ще щоб жартувати про своє в Slack та обмінюватися рефералами в круті компанії.

результат, який має сенс

Тут не буде поверхневих слайдів та довгих вступів: тільки глибокий розбір цікавих задач із реального продакшену.

Сертифікат видаємо не за відвідування, а за результати — виконані домашки, участь у дискусіях, відчутний рух та прогрес.

Що на вас чекає

have fun and deep dive

ДЛЯ ІНЖЕНЕРІВ

bottom of page