Разработка реального проекта на языке Python. Продвинутый уровень

Курс посвящен применению языка Python в разработке реальных back-end программных продуктов.
Курс: SCRIPT-007
Длительность: 30 ч.

Описание

Python - мощный динамический язык программирования, который используется в разнообразных прикладных областях, включая телекоммуникации. Python часто сравнивают с Tcl, Perl, Ruby, Scheme или Java. На курсе вы получите продвинутые навыки программирования на языке Python, приняв участие в разработке полноценного back-end программного продукта. Вы рассмотрите темы взаимодействия с файловой системой, объектно-ориентированного программирования, криптографии, асинхронного программирования, разработки серверного программного обеспечения, взаимодействия с базами данных, многопоточности, пакетной сборки.

Разбираемые темы

1. Вступление. Краткое введение в курс (теория + практика).
  1. Теория
    • Основные особенности языка Python
    • Системы контроля версий. Git
    • Модель Gitflow
    • Виртуальные окружения
  2. Практика
    • Развертывание виртуальных окружений

2. Файловый сервер. Описание проекта (теория).
  1. Теория
    • Описание проекта и требования к нему
    • Архитектура проекта

3. Первый прототип. Работа с файловой системой (теория + практика).
  1. Теория
    • Работа с файловой системой, контекстный менеджер
    • Модули и импорты
    • Переменные окружения
    • Архитектура первого прототипа
  2. Практика
    • Разработка первого прототипа файлового сервера

4. Тестирование и сопровождение (теория + практика).
  1. Теория
    • Основные принципы сопровождения кода на Python
    • Стандарты оформления и документирования кода
    • Тестирование кода. Фреймворк Pytest
    • Логирование
  2. Практика
    • Поддержка Docstrings
    • Разработка тестов с использованием фреймворка Pytest
    • Добавление логирования

5. Защита ресурсов. Криптография. Объектно-ориентированное программирование (теория + практика).
  1. Теория
    • Объектно-ориентированное программирование
    • Статический класс, singleton, метаклассы
    • Инкапсуляция в Python
    • Криптография в Python, цифровые подписи
    • Хэш-функции
    • Симметричное и асимметричное шифрование, гибридное шифрование
  2. Практика
    • Внедрение ООП в проект
    • Реализация статических классов и singleton
    • Разработка функционала цифровых подписей файлов
    • Шифрование файлов

6. Перенос кода с Python 2 на Python 3 (теория + практика).
  1. Теория
    • Различия между Python 2 и 3
    • Пакет future, алгоритм переноса кода с Python 2 на Python 3
  2. Практика
    • Перенос кода с Python 2 на Python 3

7. Разработка асинхронного веб-сервера (теория + практика).
  1. Теория
    • GIL
    • Асинхронное программирование в Python, asyncio
    • Корутины и awaitable-объекты, event loop
    • Сервер aiohttp
  2. Практика
    • Написание собственных корутин
    • Разработка веб-сервера aiohttp
    • Тестирование разработанного веб-сервера

8. Авторизация. Аутентификация. Работа с базой данных (теория + практика).
  1. Теория
    • Структура базы данных
    • СУБД PostgreSQL
    • Взаимодействие с базой данных в Python
    • Построение SQL-запросов в Python
  2. Практика
    • Поддержка учетных записей пользователей
    • Аутентификация пользователей и авторизация запросов
    • Взаимодействие приложения с базой данных

9. Сборка Python-пакетов (теория + практика).
  1. Теория
    • Пакеты Python, структура пакета
    • Сборка и установка пакета
  2. Практика
    • Сборка и установка собственного Python пакета/li>

ДОПОЛНИТЕЛЬНАЯ ЧАСТЬ (при должном уровне подготовки аудитории)
10. Реализация ролевой модели доступа (теория + практика).
  1. Теория
    • Ролевая модель доступа
    • ORM, SQLAlchemy
  2. Практика
    • Реализация ролевой модели ограничения доступа
    • Внедрение ORM

11. Многопоточный загрузчик файлов (теория + практика).
  1. Теория
    • Потоки, демоны, очереди
  2. Практика
    • Разработка многопоточного загрузчика файлов

Цели

В рамках курса вы:
  • на практике рассмотрите парадигму объектно-ориентированного программирования
  • рассмотрите проблему переноса программного кода с Python 2 на Python 3
  • исследуете концепцию асинхронного программирования в Python
  • исследуете возможности языка Python для работы с базами данных
  • напишите многопоточный загрузчик файлов
  • соберете свой собственный устанавливаемый Python-пакет
  • создадите свой собственный программный продукт
После прохождения курса вы начнете:
  • использовать Python для взаимодействия с файловой системой
  • грамотно поддерживать код
  • писать автоматизированные тесты на базе фреймворка Pytest
  • использовать Python для решения криптографических задач
  • разрабатывать веб-сервер
  • управлять доступом к ресурсам своего приложения

Целевая аудитория

Курс предназначен для разработчиков, системных администраторов и инженеров QA, которые хотят научиться разрабатывать, автоматизировать и тестировать приложения и системы, используя один из самых мощных языков программирования, доступных сегодня.
Участник тренинга должен в обязательном порядке пройти тренинги SCRIPT-002 и SCRIPT-003. Необходимо знать следующие базовые темы:
  • Структуры данных (списки, кортежи, словари)
  • Функции и работу с параметрами
  • Основы объектно-ориентированного подхода, включая наследование, инкапсуляцию и полиморфизм. Понятие исключения и механизм обработки исключений
  • Лямбда-функции, замыкание
  • Декораторы
  • Магические методы __init__( ) , __new__( ),
  • Понятие итератора
  • Оператор yield

Предварительная подготовка

  • Средние общие знания в области программирования. Средние знания скриптовых языков. Понимание принципов парадигмы объектно-ориентированного программирования
  • Базовые знания реляционных баз данных
  • Понимание принципа работы протокола HTTP
  • Прохождение курсов SCRIPT-002, SCRIPT-003
  • Способность понимать логические потоки кода.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Тренер в Онлайн
Суслов Максим Эксперт в области разработки ПО и администрирования

Максим более 20 лет занимается разработкой программного обеспечения и администрированием информационных систем.

За это время он разрабатывал самые разные системы: от встраиваемых в микроконтроллеры до больших корпоративных систем, администрировал информационные системы и сети на железе и в облаке, а также получил опыт управления проектами.

Он использует разные технологии и инструменты, постоянно стремясь обновлять свои навыки и умения со временем. Сейчас Максим осваивает облачные технологии.

Проекты:

  • разрабатывал самые разные системы: от встраиваемых в микроконтроллеры до больших корпоративных систем

  • разработка драйверов для устройств комплексной аэрогеофизической станции и портирование программного обеспечения для измерительно-регистрирующего комплекса с ОС Windows и MS-DOS на RTAI Linux

  • разработка медицинской информационной системы для военных лечащих учреждений Министерства обороны РФ

  • разработка программного обеспечения для датчиков пожарной сигнализации. Датчик пожарной безопасности ИДЭ-2М прошёл контрольные испытания, и в данный момент функционирует на МКС

  • проектирование и разработка измерительно-вычислительного комплекса опытового бассейна

  • проектирование и разработка системы человеко-машинного взаимодействия для автомобилей

  • администрировал информационные системы и сети на железе и в облаке

Раcписание курса в Цены
Данный курс запланирован в городах: Онлайн
22.11.2021 - 01.12.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Суслов Максим
Эксперт в области разработки ПО и администрирования
28 200 руб.
8 400 грн.

22.11.2021

22.11.2021 - 01.12.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Суслов Максим
Эксперт в области разработки ПО и администрирования
28 200 руб.
8 400 грн.
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 28 200 руб.
8 400 грн.
array (
  0 => 
  array (
    'NAME' => 'Разработка реального проекта на языке Python. Продвинутый уровень',
    'CODE' => 'SCRIPT-007',
    'DATE' => '22.11.2021 - 01.12.2021',
    'DATE_BEGIN' => '22.11.2021',
    'EVENT_CITY' => 'Онлайн',
    'ID_TIME' => '113405',
  ),
)

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.