Углубленный Python

Цель курса — изучить тонкости языка, асинхронное программирование и некоторую черную магию.

- Познание тонкостей работы языка Python.
- Умение распараллеливать вычисления для повышения скорости работы приложения.
- Погружение в мир асинхронной веб-разработки на Python и взгляд изнутри.
- Становление настоящим Python-гуру.

Подробнее

Python — один из самых популярных языков программирования в мире, который применяется во многих областях. Глубокое понимание языка является необходимым для каждого разработчика, чтобы писать эффективный код. 

Целевая аудитория курса — люди, которые уже знакомы с Python, знают основы синтаксиса, структуры данных и умеют применять их для решения задач. Материалы и домашние задания основываются на реальных задачах, с которыми сталкиваются разработчики при написании нагруженных и требовательных к производительности систем.

При наличии вакансий лучшим выпускникам предлагается стажировка в Mail.Ru Group.

Подробнее

Преподаватели

Александр Опрышко Александр Опрышко

Выпускник Технопарка, ведущий разработчик KTS Studio

Игорь Латкин Игорь Латкин

Ведущий разработчик KTS Studio

Программа

занятие Часы в ауд. + сам. работа

Лекция №1: Объектная модель  

Объектная модель, MRO, наследование, слоты, дескрипторы данных, проперти, декораторы, класс-декораторы.
4 часа

Лекция №2: Метаклассы   + ДЗ №1

Метаклассы, магические методы, abc
Домашнее задание №1: Написать ORM
Написать ORM
4 часа

Лекция №3: Работа с памятью  

GC, memory model, устройство cpython
4 часа

Лекция №4: Потоки   + ДЗ №2

GIL, Threads, multiprocessing, IPC
Домашнее задание №2: Создание коллажей фотографий
Создание коллажей фотографий.
4 часа

Лекция №5: Асинхронное программирование  

asyncio, yield, yield from, event loop
4 часа

Лекция №6: aiohttp, sanic   + ДЗ №3

aiohttp, sanic
Домашнее задание №3: Написать event-loop на async/await
Написать event-loop на async/await.
4 часа

Лекция №7: c-extensions   + ДЗ №4

c-extensions, cython, ffi, pypy. Старт интерпретатора из C. go-extensions.
Домашнее задание №4: Работа с матрицами
Работа с матрицами
4 часа

Лекция №8: Профилирование, Тестирование  

Профилирование, Тестирование
4 часа

Лекция №9: Дополнительные темы   + ДЗ №5

packaging, deploy. wheel, eggs, CI.
работа с датами, logging, unicode, decimal, typing
Домашнее задание №5: Ultimate
Написать коннектор к БД (на выбор: mongodb, redis, memcached)
4 часа