Свържете се с нас

Съдържание и теми, включени в курса

Ден 1 — Стабилни основи и инструменти на Python

Съвременни функции и типизация на Python

  • Основи на типизацията, генерични типове, Protocols и TypeGuard
  • Класове от данни, фиксирани класове от данни и общ преглед на attrs
  • Съпоставяне на шаблони (PEP 634+) и идиоматична употреба

Качество на кода и инструменти

  • Форматери и линтери на код: black, isort, flake8, ruff
  • Статична проверка на типове с MyPy и pyright
  • Pre-commit куки и работни процеси за разработчици

Управление на проекти и пакетиране

  • Управление на зависимости с Poetry и виртуални среди
  • Структура на пакет, входни точки и добри практики за версиониране
  • Изграждане и публикуване на пакети в PyPI и частни регистри

Ден 2 — Шаблони за проектиране и архитектурни практики

Шаблони за проектиране в Python

  • Създаващи шаблони: Factory, Builder, Singleton (Pythonic варианти)
  • Структурни шаблони: Adapter, Facade, Decorator, Proxy
  • Поведенчески шаблони: Strategy, Observer, Command

Архитектурни принципи

  • SOLID принципи, приложени към Python кодови бази
  • Шестоъгълна/Чиста архитектура и граници
  • Шаблони за инжектиране на зависимости и управление на конфигурацията

Модулност и повторна употреба

  • Проектиране на библиотечен срещу приложен код
  • API, стабилни интерфейси и семантично версиониране
  • Обработка на конфигурация, тайни и настройки за конкретни среди

Ден 3 — Конкурентност, Async IO и производителност

Конкурентност и паралелизъм

  • Основи на многопоточността и последици от GIL
  • Многопроцесорност и пулове от процеси за CPU-интензивни задачи
  • Кога да използваме concurrent.futures срещу multiprocessing

Асинхронно програмиране с asyncio

  • Async/await модели, цикъл на събития и прекъсване
  • Проектиране на асинхронни библиотеки и оперативна съвместимост със синхронен код
  • IO-интензивни модели, противоналягане и ограничаване на скоростта

Профилиране и оптимизация

  • Инструменти за профилиране: cProfile, pyinstrument, perf, memory_profiler
  • Оптимизиране на горещи пътища и използване на C-разширения/Numba, където е подходящо
  • Измерване на латентност, пропускателна способност и използване на ресурси

Ден 4 — Тестване, CI/CD, наблюдаемост и внедряване

Стратегии за тестване и автоматизация

  • Модулно тестване и фикстури с pytest; организация на тестовете
  • Тестване на свойства с Hypothesis и договорно тестване
  • Мокинг, monkeypatching и тестване на асинхронен код

CI/CD, издания и наблюдение

  • Интегриране на тестове и качествени контроли в GitHub Actions/GitLab CI
  • Изграждане на възпроизводими контейнери с Docker и многоетапни компилации
  • Наблюдаемост на приложения: структурирано логване, Prometheus метрики и проследяване

Сигурност, защита и добри практики

  • Одит на зависимости, основи на SBOM и сканиране за уязвимости
  • Практики за сигурно кодиране при валидация на входни данни и управление на тайни
  • Защита по време на изпълнение: ограничения на ресурси, потребителски права и сигурност на контейнери

Обобщаващ проект и преглед

  • Екипна лабораторна работа: проектиране и реализация на малка услуга, използвайки модели от курса
  • Тестване, проверка на типове, пакетиране и CI пайплайн за проекта
  • Финален преглед, критичен анализ на кода и план за оперативно подобрение

Обобщение и следващи стъпки

Изисквания

  • Силен опит в програмирането на Python на средно ниво
  • Запознатост с обектно-ориентирано програмиране и базово тестване
  • Опит в използването на команден ред и Git

Аудитория

  • Старши Python разработчици
  • Софтуерни инженери, отговорни за качеството и архитектурата на Python код
  • Технически ръководители и MLOps/DevOps инженери, работещи с Python кодови бази
 28 Часа

Брой участници


Цена за участник

Отзиви от участници (2)

Предстоящи Курсове

Свързани Kатегории