Разработка реального проекта на языке Python. Продвинутый уровень
Длительность
30 ак.ч.
Локация
Онлайн
Код
SCRIPT-007
31 000 руб.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей
Закажите корпоративное обучение с учетом ваших потребностей
Описание
Python - мощный динамический язык программирования, который используется в разнообразных прикладных областях, включая телекоммуникации. Python часто сравнивают с Tcl, Perl, Ruby, Scheme или Java. На курсе вы получите продвинутые навыки программирования на языке Python, приняв участие в разработке полноценного back-end программного продукта. Вы рассмотрите темы взаимодействия с файловой системой, объектно-ориентированного программирования, криптографии, асинхронного программирования, разработки серверного программного обеспечения, взаимодействия с базами данных, многопоточности, пакетной сборки.
После прохождения курса выдается
сертификат на бланке IBS Training Center
сертификат на бланке IBS Training Center
Цели
В рамках курса вы:
- на практике рассмотрите парадигму объектно-ориентированного программирования
- рассмотрите проблему переноса программного кода с Python 2 на Python 3
- исследуете концепцию асинхронного программирования в Python
- исследуете возможности языка Python для работы с базами данных
- напишите многопоточный загрузчик файлов
- соберете свой собственный устанавливаемый Python-пакет
- создадите свой собственный программный продукт
- использовать Python для взаимодействия с файловой системой
- грамотно поддерживать код
- писать автоматизированные тесты на базе фреймворка Pytest
- использовать Python для решения криптографических задач
- разрабатывать веб-сервер
- управлять доступом к ресурсам своего приложения
Целевая аудитория
Курс предназначен для разработчиков, системных администраторов и инженеров QA, которые хотят научиться разрабатывать, автоматизировать и тестировать приложения и системы, используя один из самых мощных языков программирования, доступных сегодня.
Участник тренинга должен в обязательном порядке пройти тренинги SCRIPT-002 и SCRIPT-003. Необходимо знать следующие базовые темы:
Участник тренинга должен в обязательном порядке пройти тренинги SCRIPT-002 и SCRIPT-003. Необходимо знать следующие базовые темы:
- Структуры данных (списки, кортежи, словари)
- Функции и работу с параметрами
- Основы объектно-ориентированного подхода, включая наследование, инкапсуляцию и полиморфизм. Понятие исключения и механизм обработки исключений
- Лямбда-функции, замыкание
- Декораторы
- Магические методы __init__( ) , __new__( ),
- Понятие итератора
- Оператор yield
Предварительная подготовка
- Средние общие знания в области программирования. Средние знания скриптовых языков. Понимание принципов парадигмы объектно-ориентированного программирования
- Базовые знания реляционных баз данных
- Понимание принципа работы протокола HTTP
- Прохождение курсов SCRIPT-002, SCRIPT-003
- Способность понимать логические потоки кода.
Разбираемые темы
1. Вступление. Краткое введение в курс (теория + практика).
2. Файловый сервер. Описание проекта (теория).
3. Первый прототип. Работа с файловой системой (теория + практика).
4. Тестирование и сопровождение (теория + практика).
5. Защита ресурсов. Криптография. Объектно-ориентированное программирование (теория + практика).
6. Перенос кода с Python 2 на Python 3 (теория + практика).
7. Разработка асинхронного веб-сервера (теория + практика).
8. Авторизация. Аутентификация. Работа с базой данных (теория + практика).
9. Сборка Python-пакетов (теория + практика).
ДОПОЛНИТЕЛЬНАЯ ЧАСТЬ (при должном уровне подготовки аудитории)
10. Реализация ролевой модели доступа (теория + практика).
11. Многопоточный загрузчик файлов (теория + практика).
- Теория
- Основные особенности языка Python
- Системы контроля версий. Git
- Модель Gitflow
- Виртуальные окружения
- Практика
- Развертывание виртуальных окружений
2. Файловый сервер. Описание проекта (теория).
- Теория
- Описание проекта и требования к нему
- Архитектура проекта
3. Первый прототип. Работа с файловой системой (теория + практика).
- Теория
- Работа с файловой системой, контекстный менеджер
- Модули и импорты
- Переменные окружения
- Архитектура первого прототипа
- Практика
- Разработка первого прототипа файлового сервера
4. Тестирование и сопровождение (теория + практика).
- Теория
- Основные принципы сопровождения кода на Python
- Стандарты оформления и документирования кода
- Тестирование кода. Фреймворк Pytest
- Логирование
- Практика
- Поддержка Docstrings
- Разработка тестов с использованием фреймворка Pytest
- Добавление логирования
5. Защита ресурсов. Криптография. Объектно-ориентированное программирование (теория + практика).
- Теория
- Объектно-ориентированное программирование
- Статический класс, singleton, метаклассы
- Инкапсуляция в Python
- Криптография в Python, цифровые подписи
- Хэш-функции
- Симметричное и асимметричное шифрование, гибридное шифрование
- Практика
- Внедрение ООП в проект
- Реализация статических классов и singleton
- Разработка функционала цифровых подписей файлов
- Шифрование файлов
6. Перенос кода с Python 2 на Python 3 (теория + практика).
- Теория
- Различия между Python 2 и 3
- Пакет future, алгоритм переноса кода с Python 2 на Python 3
- Практика
- Перенос кода с Python 2 на Python 3
7. Разработка асинхронного веб-сервера (теория + практика).
- Теория
- GIL
- Асинхронное программирование в Python, asyncio
- Корутины и awaitable-объекты, event loop
- Сервер aiohttp
- Практика
- Написание собственных корутин
- Разработка веб-сервера aiohttp
- Тестирование разработанного веб-сервера
8. Авторизация. Аутентификация. Работа с базой данных (теория + практика).
- Теория
- Структура базы данных
- СУБД PostgreSQL
- Взаимодействие с базой данных в Python
- Построение SQL-запросов в Python
- Практика
- Поддержка учетных записей пользователей
- Аутентификация пользователей и авторизация запросов
- Взаимодействие приложения с базой данных
9. Сборка Python-пакетов (теория + практика).
- Теория
- Пакеты Python, структура пакета
- Сборка и установка пакета
- Практика
- Сборка и установка собственного Python пакета/li>
ДОПОЛНИТЕЛЬНАЯ ЧАСТЬ (при должном уровне подготовки аудитории)
10. Реализация ролевой модели доступа (теория + практика).
- Теория
- Ролевая модель доступа
- ORM, SQLAlchemy
- Практика
- Реализация ролевой модели ограничения доступа
- Внедрение ORM
11. Многопоточный загрузчик файлов (теория + практика).
- Теория
- Потоки, демоны, очереди
- Практика
- Разработка многопоточного загрузчика файлов
Раcписание курсов
Вид:
Регистрируйтесь на следующий курс
Предварительная регистрация гарантирует участие в обучении. Мы обязательно оповестим вас, когда курс будет запланирован
Отзывы (5)
Мне понравилась подача, я получил стартовые навыки работы в гите, написании тестов (никогда не писал было интересно как это происходит), понимание основ работы с некоторыми вещами, от которых можно отталкиваться в развитии. Отдельное спасибо преподавателю - Максиму. Было интересно слушать, чувствовался колоссальный опыт в данной теме. Кроме того, преподаватель всегда охотно отвечал на интересующие вопросы и был готов помочь, в случае трудностей.
Очень хорошие темы и интересная практика. Много материала, новых для меня концепций и методов программирования. Тренер помимо основной информации дает много полезной дополнительной информации и ресурсов для дальнейшего самообучения.
Курс собрал в себе кучу советов по передовой практике для опытных разработчиков, где до 1/3 времени было посвящено домашней работе. Не было информации о том, как правильно организовать проект с нуля, тем не менее, я вывел для себя много интересных идей, которые точно буду применять. В целом все так, как я ожидал.
Тренинг довольное объемный, информации много. Мы изучили, как работать с модулями ведения журналов, тестами и веб-микросервисами. Понравилась подача материала, особенно демо файлы и компетентность тренера - на все вопросы немедленно дается исчерпывающий ответ, все проблемы решаются. Самыми полезными для меня были разделы Data Science и REST API т. к. я работаю в проекте, где применяются эти инструменты 😊 в общем, все понравилось, спасибо!
Я был недостаточно квалифицирован для прохождения этого курса, поэтому часть информации ускользнула от моего понимания. Обучение охватывает основные моменты, необходимые при тестировании и дает основу для дальнейшего самостоятельного изучения. Понравилось, что мы рассмотрели использование Pytest для разных типов тестирования на реальных примерах.
Связанные курсы
Основы языка Python
В курсе рассматриваются основы программирования на языке Python.
Python. Продвинутый курс
Курс посвящен применению объектно-ориентированного подхода в языке Python. Рассматриваются все аспекты, от инкапсуляции до полиморфизма, от простейшего пользовательского типа данных до сложного класса, глубоко интегрированного в Python.