Обучение длится 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

Темы

Другие курсы

-43%
Инженер по тестированию
Инженер по тестированию
Авторы: Группа авторов
Подробнее
98 600
173 000
2 883
/мес
Kotlin Multiplatform шаг за шагом
Kotlin Multiplatform шаг за шагом
Автор: Максим Казанцев
Подробнее
9 500
Тестирование GraphQL API
Тестирование GraphQL API
Автор: Ольга Назина
Подробнее
7 000
Charles Proxy как инструмент тестировщика
Charles Proxy как инструмент тестировщика
Автор: Ольга Назина
Подробнее
5 500
Python. Микросервисы. Backend на FastAPI
Python. Микросервисы. Backend на FastAPI
Автор: Саид Магомедов
Подробнее
5 890
1 473
/мес
JavaScript: от теории к практике
JavaScript: от теории к практике
Автор: Мария Ажгихина
Подробнее
3 200
Web-технологии: практический курс CSS
Web-технологии: практический курс CSS
Автор: Мария Ажгихина
Подробнее
1 699
Фронтенд-разработчик
Фронтенд-разработчик
Авторы: Группа авторов
Аналитик 1С. Основные инструменты и ввод в профессию
Аналитик 1С. Основные инструменты и ввод в профессию
Автор: Василий Еремин
Подробнее
1 490
Назад
Смотреть дальше