- Регистрация
- 27 Авг 2018
- Сообщения
- 37,653
- Реакции
- 538,388
- Тема Автор Вы автор данного материала? |
- #1
Голосов: 0
ОПИСАНИЕ:
Вам на интенсив, если:
1. Не знаете, как заложить в приложение сопровождаемость с первых этапов его создания
2. Пишете скрипты, но не знаете модули и фреймворки, чтобы начать создавать сервисы
3. Устали писать бойлерплейт код, но не знаете, какой готовый модуль решает ваши проблемы
4. Возникают проблемы при интеграции с СУБД
Чему Вы научитесь:
1. Разберетесь с тем, как стандартные конструкции (декораторы, датаклассы) могут использоваться во фреймворках
2. Начнете создавать расширяемые и поддерживаемые by design веб-сервисы
3. Научитесь интегрироваться с СУБД, запускать и отслеживать выполнение отложенных задач
4. Станете использовать Python как API к другим системам
Для кого интенсив:
1. Для инженеров
Которые знакомы с Python, но хотят больше погрузиться в программирование, чтобы применять свои знания на стыке dev и ops.
2. Для разработчиков
Которые уже знают Python, но хотят лучше освоить этот язык, чтобы получить большую самостоятельность и реализовывать новые практики в компании собственными силами.
Что Вы получите на интенсиве:
1. Навыки разработки веб-сервисов и софтскилы для эффективного взаимодействия внутри команды
Вы выйдите за рамки скриптового программирования на Python и научитесь разбираться в конструкциях, типах данных и объектно-ориентированном программировании.
2. Профессиональный рост
Сможете решать более широкий пул задач, оптимизировав собственные силы и время. Инженеры усилят экспертизу на стыке администрирования и программирования. Разработчики станут самостоятельнее в работе и смогут решать более изолированные задачи.
3. Реальный опыт разработки
По окончании интенсива вы создадите не просто программу на Python, а полноценный цифровой проект коммерческого уровня.
4. Карьерные перспективы
Станете ценным сотрудником: сможете эффективнее коммуницировать с командой и менеджерами, будете привносить улучшения в проекты компании собственными силами, экономя ее ресурсы и время. Повышение грейда или работа в компании мечты станут на шаг ближе.
Онлайн-интенсив для инженеров и разработчиков с опытом в Python, которые хотят поднять свои навыки и использовать этот язык со смежными системами.
Научим создавать скелет веб-сервиса с фреймворком FastAPI, разберемся в видах тестирования, научимся писать под Ansible.
Программа:
День 1
Теория
- Почему инженеры все чаще сталкиваются с необходимостью писать веб-сервисы, в чем анатомия веб-
- сервисов, синхронность и асинхронность, стандарты проектирования API
- Лучшие практики проектирования API по REST, частые ошибки при проектировании API,
- версионирование API
- Разбираемся в отличиях синхронности/многопоточности и асинхронности в Python на конкретных примерах
- Создание скелета веб-сервиса с фреймворком FastAPI: хендлеры, обработка path/query params, headers и body, валидация при помощи typing + FastAPI
- Упрощаем обработку body при помощи моделей данных Pydantic. Модели запроса, вложенные модели, модели ответа, Pydantic + Dataclasses
- Паттерн Middleware и его реализация в FastAPI
- Разбираемся с CORS, загружаем файлы и multipart
- Подключаем к приложению базу данных, создаем миграции при помощи Alembic
- Комбинируем SQLAlchemy и Pydantic для персистирования моделей в СУБД
- Комбинируем SQLAlchemy и Pydantic для персистирования моделей в NOSQL СУБД
- Немного о startup и shutdown event’ах и необходимости их обработки, заворачиваем все в контейнер и выгружаем документацию OpenAPI
Теория
- Отложенные задачи, область их применения и кейсы
- Виды тестирования, почему тестировать приложение важнее, чем его разрабатывать и какие тесты должен уметь писать разработчик
- Устанавливаем Celery и Flower, настраиваем executor’ы и разбираемся в интерфейсе Flower
- Запускаем отложенную задачу из хендлера
- Подключаем авторизацию через OAuth для сервисных интеграций
- Пишем тесты на API при помощи FastHTTP + pytest + pyhamcrest
- Тестируем продакшеном - делаем интеграцию с Sentry
Теория
- Применение изученного в жизни - как анализировали много конфигов Zabbix
- СОФТСКИЛЫ - Взаимодействие внутри команды
- Пишем под Ansible создание модуля
- Пишем под Ansible создание и тестирование модуля
- Пишем под Ansible создание плагина
- Пишем под Ansible создание и тестирование плагина
СКАЧАТЬ: