Обучение длится 4 месяца
Автор: Сурен Хоренян
16 490
21 990
1 374
/мес
Курс на Merion academy
Python Advanced. Продвинутый курс [2024]

Освойте асинхронное и метапрограммирование, изучите аннотацию типов, профилирование и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.

Кому подойдет курс:

1. Python-разработчик

  • Узнайте, что у Python под капотом: метаклассы, генераторы, декораторы, потоки (threading) и многопоточность (multiprocessing) для быстрого продвижения к уровню middle.​

2. Data Scientist

  • Python отлично подходит для дата-сайентистов благодаря обширной экосистеме библиотек и фреймворков.
  • FastAPI и SQLAlchemy будут особенно полезны для создания API и работы с базами данных в ваших проектах.​

3. Сменить профессию

  • Для Frontend разработчика - повышение рыночной стоимости, Backend разработчика - расширение скиллсета и кругозора, а для QA-инженеры - отличный шанс перейти в автоматизаторы.​

Содержание:

Блок 1 - Углубленная работа с декораторами

  • Вводное занятие: Сравнение multithreading и multiprocessing
  • Вложенные декораторы
  • Классы-декораторы и декораторы классов

Блок 2 - Сложные простые типы

  • Строки и байты - в чем разница. Кодировки.
  • Числа с плавающей точкой и проблемы, которые они приносят
  • Тестирование по блоку 1 и 2

Блок 3 - Функциональное программирование в Python и его минусы

  • Сравнение помощников map, filter с comprehensions. Лямбда функции
  • Рекурсия, стек, переполнение стека, хвостовая рекурсия

Блок 4 - Генераторы и итераторы

  • Как связаны итераторы и генераторы
  • Создание генератора
  • Создание итератора
  • Генераторы в обратную сторону (передача данных в генератор), корутины

Блок 5 - Знакомство с асинхронной работой (asyncio)

  • Введение в асинхронное программирование. Зачем нужно асинхронное программирование. Группы задач
  • Асинхронные запросы в сеть
  • Цикл событий альтернативный (сторонний) цикл
  • Асинхронное взаимодействие с файлами
  • Тестирование по блоку 3, 4 и 5

Блок 6 - Классы изнутри

  • Метаклассы
  • "Протоколы. Абстрактные классы
  • Дескрипторы
  • Слоты в классах
  • Как работает super
  • Сокрытие имени (name mangling)

Блок 7 - Работа с ссылками, внимание к памяти

  • Как работает сборщик мусора
  • Сильные и слабые ссылки

Блок 8 - Аннотации типов. Системы контроля зависимостей. Интроспекция

  • Как описывать аннотации типов, зачем они нужны
  • Работа с mypy
  • Системы контроля зависимостей
  • Интроспекция, генерация новой сигнатуры
  • Тестирование по блоку 6, 7 и 8

Блок 9 - Тестирование

  • Unittest
  • Покрытие кода (coverage)
  • Pytest, плагины
  • Фикстуры
  • Параметризация и метки
  • Конфигурация тестов

Блок 10 - Очереди задач

  • Встроенные очереди задач
  • Асинхронные очереди задач
  • Сервисы для очередей задач. Celery. RabbitMQ
  • Интроспекция, генерация новой сигнатуры
  • Тестирование по блоку 9 и 10

Блок 11 - Профилирование

  • Что такое профилирование и зачем нужно. Инструменты для профилирования
  • Блок 12 - Ускорение обработки задач
  • Threading, GIL
  • Multiprocessing

Блок 12 - Ускорение обработки задач

  • Threading, GIL
  • Multiprocessing

Блок 13 - Низкий уровень

  • Компиляция кусков кода. Чтение и анализ байт-кода. Как работает виртуальная машина Python
  • Тестирование по блоку 11, 12 и 13

Блок 14 - Работа с базой данных через SQLAlchemy

  • Знакомство с SQLAlchemy 2.0Лекция
  • Асинхронная работа с базой данных на SQLAlchemy

Блок 15 - Веб-разработка на FastAPI

  • Знакомство с FastAPI
  • FastAPI настройки git: commit, remote, push
  • Работа с базой данных через SQLAlchemy в веб-приложении
  • Развитие приложения на FastAPI
  • Взаимодействие между приложениями
  • Тестирование по блоку 14 и 15

Финальное тестирование

  • Финальное тестирование
Дата последнего обновления: 9 апреля 2024

Темы

Другие курсы

Javascript. Часть 1
Javascript. Часть 1
Автор: Hayk Inants
Введение в АСУ ТП. Основы ПЛК
Введение в АСУ ТП. Основы ПЛК
Автор: Виталий Олейников
Оптимизация бизнес-процессов. Реинжиниринг
Оптимизация бизнес-процессов. Реинжиниринг
Автор: Максим Дуплей
Повышение производительности труда с помощью Python
Повышение производительности труда с помощью Python
Автор: Дмитрий Должик
Основы этичного хакинга
Основы этичного хакинга
Автор: Александр Чумилин
-25%
SQL для всех: от начинающих до продвинутых
SQL для всех: от начинающих до продвинутых
Автор: Алексей Андросов
Подробнее
1 500
2 000
Профессия Python-разработчик
Профессия Python-разработчик
Автор: Илья Фофанов
-33%
Автоматизация тестирования веб-приложений с помощью Selenium
Автоматизация тестирования веб-приложений с помощью Selenium
Автор: Александр Кузнецов
-25%
Основы программирования на C#. Начальный уровень
Основы программирования на C#. Начальный уровень
Автор: Антон Новик
Подробнее
990
1 290
Назад
Смотреть дальше