top of page

python advanced

Master Python from the inside out

старт:

23 бер. 2026 р.

16 занять

350 $/міс

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

350 $/міс

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

про курс

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, витоки памʼяті
  • Зелені потоки та інші альтернативи

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

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

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

читає

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

Senior Python Software Engineer @N-iX

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

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

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

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

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

що на вас чекає
have fun and dive deep

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

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

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

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

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

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

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

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

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

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

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

bottom of page