Блог
FAQ

Использование эффективных средств языка Python в реальных приложениях

5 дней (40 академических часов).
Длительность:
г. Москва, Ленинградский просп., 68/24;
Место проведения:
28 ноября 2022
Дата проведения:
60 000 руб.
Стоимость:
Необходимые для зачисления в группу документы: паспорт, СНИЛС, диплом о высшем или среднем специальном образовании, заключенный договор об образовании.
На этом курсе слушатели разберут языковые средства Python, возможно, по-другому взглянут на некоторые известные приемы: от консольных скриптов, которые одновременно играют роль микросервисов благодаря точкам входа, до эффективного использования модуля asyncio для объединения данных из различных источников. Рассмотрят проверку соблюдения стандартов кодирования с помощью аннотаций типов, тестирование с низкими накладными расходами и другие автоматизированные проверки качества кода, применяемые на практике для организации процесса разработки надежного ПО.

Некоторые мощные возможности Python, современные практики и методы позволяют создавать ясный и удобный для сопровождения код, а также интеграцию, в процессе разработки различных частей программы, в более крупные системы.

Описание курса
Целевая аудитория
Программисты и разработчики Python, которые хотят разобраться, когда уместно использовать новые прогрессивные средства языка.
Расписание открытых форматов курса
Стоимость обучения одного слушателя
28.11.2022
Очный формат — 60 000 ₽.
Дистанционный формат — 60 000 ₽.
В результате освоения курса вы:
прототипировать в Python с помощью различных сред;
тестировать Python-код;
использовать скрипты для создания пакетов;
разрабатывать плагин датчика;
расширять программное обеспечения третьей стороной;
создавать пакеты агрегирования;
тестировать асинхронный код программы;
оптимизировать функции и потоки управления для повышения быстродействия;
обрабатывать вызовы и анализировать данные
как построить интерфейс командной строки;
что такое аннотация типов;
стандарты кодирования;
что такое декларативные конфигурации и как их использовать;
специальные серверы каталогов;
веб-микросервисы;
как организовать асинхронную работу с базами данных;
отказоустойчивость программы и метод ее достижения
Научитесь
Узнаете
Основная информация
28 ноября 2022
пн–чт 10:00–17:00
60 000руб.
м. Аэропорт,
Ленинградский проспект 68/24
Верхотуров Марк Валерьевич
Беляев Александр Владимирович
Порядок записи на курс
Консультация
Выбор курса
Заключение договора
Оплата обучения.
Подробная программа курса
1 Прототипирование и разработка среды

1.1. Прототипирование в Python

1.1.1. Прототипирование с помощью REPL
1.1.2. Прототипирование с помощью Python-скрипта
1.1.3. Прототипирование с помощью скриптов и pdb
1.1.4. Прототипирование с помощью Jupyter

1.2. Подготовка окружения
1.3. Подготовка нового проекта
1.4. Экспорт в py-файл
1.5. Построение лицевой стороны командной строки

1.5.1. Модуль sys и переменная argv
1.5.2. анализ
1.5.3. нажмите

1.6. Расширение границ возможного

1.6.1. Удаленные ядра
1.6.2. Код разработки, который невозможен для реализации

1.7. Окончательный скрипт

2 Тестирование, проверка типов, стандартов кодирования

2.1. Тестирование

2.1.1. Необходимость тестирования
2.1.2. Создание функций форматирования для горечи тестапригодности
2.1.3. тест
2.1.4. Автономное, интеграционное и функциональное тестирование
2.1.5. Фикстуры Pytest
2.1.6. Покрытие

2.2. Проверка типов

2.2.1. мой
2.2.2. аннотации
2.2.3. Подклассы и исследования
2.2.4. Обобщенные типы
2.2.5. Типизация, отладка и назначение
2.2.6. Нахождение аннотаций отдельно типов от кода

2.3. Стандарты кодирования

2.3.1. flake8 и черный
2.3.2. Исправление Существующего кода
2.3.3. Автопрогон
2.3.4. Запросы на включение изменений

3 Скрипты для создания пакетов

3.1. Терминология
3.2. Структура каталога
3.3. Скрипты настройки и метаданные
3.4. Зависимость
3.5. Декларативные планы

3.5.1. Файл setup.py
3.5.2. Условные зависимости
3.5.3. Файл Readme
3.5.4. Нумерация версий
3.5.5. Файл setup.cfg

3.6. Специальные серверы каталогов

3.6.1. пиписервер
3.6.2. Устойчивость к боям
3.6.3. Конфиденциальность
3.6.4. Целостность
3.6.5. Формат и создание колеса

3.7. Установка консольного скрипта с помощью точек доступа
3.8. Файлы README, DEVELOP и CHANGES

3.8.1. Формат Markdown
3.8.2. Формат реструктурирован
3.8.3. Файл README
3.8.4. Файл CHANGES.md и версия версии
3.8.5. Семантическое версионирование
3.8.6. Календарное версионирование

3.9. Закрепление зависимостей
3.10. Загрузка версии на сервер, шпагат

4 От скрипта к каркасу

4.1. Разработка приложения датчика
4.2. Добавление новой настройки командной строки

4.2.1. Подкоманды
4.2.2. Опции командной строки
4.2.3. Обработка ошибок
4.2.4. Разбор аргументов Click
4.2.5. Встроенные параметры

4.3. Разрешение внешних дублирующих датчиков

5 Альтернативные интерфейсы

5.1. Веб-микросервисы

5.1.1. WSGI
5.1.2. Проектирование API
5.1.3. Аутентификация
5.1.4. Колба
5.1.5. Декораторы в Python
5.1.6. Тестирование функций представления
5.1.7. Развертывание

5.2. Расширение береговой линии

5.2.1. Согласование ситуативной сигнатуры с равноправными пользователями
5.2.2. Абстрактные базовые классы
5.2.3. Запасные стратегии
5.2.4. Паттерн Адаптер
5.2.5. Динамическое генерирование класса
5.2.6. Форматы сериализации

5.3. Исправление ошибок сериализации в нашем коде
5.4. Версионирование API и тестопригодность

6 Процесс агрегирования

6.1. Форма для печенья
6.1.1. Создание нового шаблона

6.2. Создание пакета агрегирования

6.2.1. Типы баз данных
6.2.2. Объектно-реляционные отображения
6.2.3. Версионирование базы данных
6.2.4. Команды перегонный куб
6.2.5. Загрузка данных

6.3. Новые технологии

6.3.1. Базы данных
6.3.2. Поведение атрибутов
6.3.3. Генераторы

7 Асинхронный ввод-вывод

7.1. Тестирование асинхронного кода

7.1.1. Тестирование нашей программы
7.1.2. Тестовые серверы и фикстуры pytest с очисткой
7.1.3. Область раскрытия фикстур
7.1.4. Использование подставных объектов для упрощения автономного тестирования
7.1.5. Подставные объекты с ветвящейся логикой
7.1.6. Классы данных
7.1.7. Тестовые методы

7.2. Асинхронная работа с базами данных

7.2.1. Классический стиль SQLAlchemy
7.2.2. Примеры задания стандартных интерполируемых измерений в различных SQL
7.2.3. Использование метода run_in_executor
7.2.4. Запросы данных и сложные запросы
7.2.5. Альтернативы, асинхронные ORM

7.3. Глобальные переменные в асинхронном коде

8 Повышение быстродействия

8.1. Функции оптимизации

8.1.1. Профилирование и потоки
8.1.2. время
8.1.3. линия_профлер
8.1.4. яппи
8.1.5. Трацемаллок
8.1.6. Новая реликвия

8.2. Оптимизация управления потоком

8.2.1. Сложность
8.2.2. Визуализация данных профилирования
8.2.3. Кеширование

9 Отказоустойчивость

9.1. Обработка ошибок

9.1.1. Получение элементов из контейнера
9.1.2. Абстрактные базовые классы
9.1.3. Типы исключений
9.1.4. Пользовательские исключения
9.1.5. Создание новых типов исключений
9.1.6. Наличие нескольких исключений
9.1.7. Отключение в блоке кроме или окончательно
9.1.8. поднять с
9.1.9. Тестирование обработки исключений

9.2. Фильтры предупреждений
9.3. Протоколирование

9.3.1. Вложенные регистраторы
9.3.2. Пользовательские действия
9.3.3. Конфигурация протокола
9.3.4. Другие обработчики

9.4. Проблемы на стадии проектирования

9.4.1. Опрос датчиков по расписанию
9.4.2. API и фильтрация

10 Обратные вызовы и анализ данных

10.1. Поток данных генератора

10.1.1. Генераторы, потребляющие свой собственный выход
10.1.2. Улучшенные генераторы
10.1.3. Использование классов
10.1.4. Рефакторинг функций, возвращающих излишние значения
10.1.5. Очереди
10.1.6. Выбор управления потоком

10.2. Метод передачи данных

10.2.1. Сопрограммы для анализа
10.2.2. Предоставление данных
10.2.3. Выполнение анализа процесса

10.3. Состояния процесса и обратные вызовы
10.4. Расширенный состав действий
очно (до 15 слушателей);
дистанционно в составе группы (без ограничения подключений);
корпоративный формат (для группы от 10 до 15 слушателей).
Возможные форматы обучения и размеры групп
Документы об окончании
Удостоверение о повышении квалификации
Ответы на часто задаваемые вопросы
Какие форматы обучения?
Первый формат — «открытые» курсы. Их слушателем может стать любой, кому это интересно. Приходить нужно в наш офис. Занятия ведутся по расписанию и заранее определенной программе.
Второй формат — курсы, организованные по желанию Заказчика. На них присутствует только его группа. Дату определяет Заказчик. Программа может адаптироваться.
Кто проводит обучение?
Обучающие курсы проводят тренеры, за плечами которых большой опыт в том или ином направлении деятельности. Это признанные эксперты, применяющие действенные методики интенсивной подготовки по реализуемым программам. Под руководством наших тренеров можно получить знания и навыки, которые окажутся полезными в дальнейшей деятельности.
Какой документ выдается после прохождения обучения?
После успешного освоения пройденной программы выдается Удостоверение о повышении квалификации. Это документ государственного образца, который можно предоставлять по требованию. Записи в нем — на русском языке. Данные о документе включаются в федеральную информационную систему ФИС ФРДО.
Можно ли перед заказом корпоративного обучения познакомиться с тренером или увидеть, как он проводит обучение?

Да, это возможно. Более подробное представление о работе тренера можно получить, посетив его занятие в нашем офисе. Все моменты относительно обучения и выбранной программы можно уточнить, связавшись с тренером по телефону или пообщавшись с ним онлайн.
Требуемый уровень предварительной подготовки
Уверенное знание основ языка Python.

Верхотуров Марк Валерьевич

Руководитель IT проектов, Разработчик Python, Data Scientist, ML-engineer
Разработка на Python
Сбор и анализ данных Преобразование "сырых" данных в полезную информацию для бизнеса
Создание и обучение предиктивных моделей с помощью алгоритмов машинного обучения и нейросетей
Помощь бизнесу в нахождении скрытых закономерностей, прогнозировании развития событий и оптимизации ключевых бизнес-процессов
Консалтинг
Коучинг

Специализация
Должность
Дополнительные услуги

Тренер курса

Ведёт 13 курсов в ЦЕСИНКОМ

Беляев Александр Владимирович

Разработчик информационных систем, системный аналитик, аналитик данных
Разработка на Python
Машинное обучение
Математическая оптимизация
Консалтинг

Специализация
Должность
Дополнительные услуги

Тренер курса

Ведёт 19 курсов в ЦЕСИНКОМ
Разработка курса или траектории обучения под вашу задачу
Центр готов взять на себя разработку курсов и траекторий обучения под уже сформированную модель компетенций или просто под список знаний и навыков, которые нужно освоить специалистам организации.
Рекомендуемые курсы
Список курсов, которые дополняют данный курс
Программирование на Python, часть 1;

Программирование на Python, часть 2;

Программирование на Python, часть 3. Numpy для Data Science;

Программирование на Python, часть 4. Pandas для Data Science. Высокопроизводительная обработка и анализ данных в Pandas;

Разработка приложений PyQT 5;

Многопоточность, мультипроцессинг, асинхронное программирование;

Основы UNIX и Linux, использование Python в системном администрировании;

Паттерны разработки на Python

Список категорий каталога, в которые включён курс
Траектории, в которые входит данный курс
Список курсов, требующихся для прохождения данного курса
Не требуется