Разработка реального проекта на языке Python. Продвинутый уровень
Курс посвящен применению языка Python в разработке реальных back-end программных продуктов.
30 ак.ч.
Онлайн
SCRIPT-007
Разработка реального проекта на языке Python. Продвинутый уровень
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
SCRIPT-007
Расписание и цены
13.05.2024 - 31.05.2024
37 500 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Разработка реального проекта на языке Python. Продвинутый уровень
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
SCRIPT-007
Расписание и цены
13.05.2024 - 31.05.2024
37 500 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

Цели

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

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

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

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

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

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

  • 1. Вступление. Краткое введение в курс

    • Основные особенности языка 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 пакета (практика).
                    • 10. Реализация ролевой модели доступа (ДОПОЛНИТЕЛЬНАЯ ЧАСТЬ - при должном уровне подготовки аудитории)

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

                        • Потоки, демоны, очереди;
                        • Разработка многопоточного загрузчика файлов (практика).
                        • Развернуть программу
                        Раcписание курсов
                        Вид:
                        13.05.2024 - 31.05.2024
                        10:30-12:30
                        Локация:Онлайн
                        Длительность:30 ак.ч.
                        Время:10:30-12:30
                        Тренер: Никуличев Станислав
                        Тренер Никуличев Станислав
                        37 500 руб.
                        Записаться
                        Смотреть полное расписание
                        Отзывы (5)
                        Мне понравилась подача, я получил стартовые навыки работы в гите, написании тестов (никогда не писал было интересно как это происходит), понимание основ работы с некоторыми вещами, от которых можно отталкиваться в развитии. Отдельное спасибо преподавателю - Максиму. Было интересно слушать, чувствовался колоссальный опыт в данной теме. Кроме того, преподаватель всегда охотно отвечал на интересующие вопросы и был готов помочь, в случае трудностей.
                        Участник тренинга
                        Очень хорошие темы и интересная практика. Много материала, новых для меня концепций и методов программирования. Тренер помимо основной информации дает много полезной дополнительной информации и ресурсов для дальнейшего самообучения.
                        Участник тренинга
                        Курс собрал в себе кучу советов по передовой практике для опытных разработчиков, где до 1/3 времени было посвящено домашней работе. Не было информации о том, как правильно организовать проект с нуля, тем не менее, я вывел для себя много интересных идей, которые точно буду применять. В целом все так, как я ожидал.
                        Участник тренинга
                        Тренинг довольное объемный, информации много. Мы изучили, как работать с модулями ведения журналов, тестами и веб-микросервисами. Понравилась подача материала, особенно демо файлы и компетентность тренера - на все вопросы немедленно дается исчерпывающий ответ, все проблемы решаются. Самыми полезными для меня были разделы Data Science и REST API т. к. я работаю в проекте, где применяются эти инструменты 😊 в общем, все понравилось, спасибо!
                        Участник тренинга
                        Я был недостаточно квалифицирован для прохождения этого курса, поэтому часть информации ускользнула от моего понимания. Обучение охватывает основные моменты, необходимые при тестировании и дает основу для дальнейшего самостоятельного изучения. Понравилось, что мы рассмотрели использование Pytest для разных типов тестирования на реальных примерах.
                        Участник тренинга
                        Показать все отзывы
                        Связанные курсы
                        Шаблоны проектирования приложений масштаба предприятия
                        Данный учебный курс по разработке корпоративных приложений содержит подробные описания основных архитектурных стилей, а также знакомит с их выбором на основе желаемых атрибутов качества. Рассматриваются конкретные типовые решения (шаблоны) для различных уровней абстракции системы, даются подробные сведения о сфере их использования и о некоторых нюансах реализации.
                        Основы языка Python
                        В курсе рассматриваются основы программирования на языке Python.
                        Объектно-ориентированное программирование на Python
                        Курс посвящен применению объектно-ориентированного подхода в языке Python. Рассматриваются все аспекты, от инкапсуляции до полиморфизма, от простейшего пользовательского типа данных до сложного класса, глубоко интегрированного в Python.
                        Онлайн:
                        12.08.2024 - 21.08.2024
                        Инструменты анализа данных на Python
                        В этом тренинге будут рассмотрены применения Python для анализа данных: регулярных выражений, сбор данных по протоколу HTTP, использование библиотек NumPy и Pandas для анализа данных, а также matplotlib для визуализации. В рамках тренинга вы также научитесь писать полноценные GUI приложения.
                        Смотреть каталог
                        Ваши преимущества
                        Экспертность
                        Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
                        Живое обучение
                        “Живая” коммуникация с тренером даже в онлайн-формате
                        Практика
                        Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
                        Пользователь только что записался на курс ""
                        Спасибо!
                        Форма отправлена успешно.