Проходил 3 апреля в 20:00

Открытый вебинар
Правила хорошего кода на Python

Открытый вебинар онлайн

На открытом уроке мы поговорим о том, как писать хороший код на Python так, чтобы его было не больно поддерживать. Поговорим о приёмах декомпозиции программы, о чистых и грязных функциях, цикломатической сложности и статическом анализе.
Знания универсальны и будут полезны при работе над проектом любого размера.
Чтобы понять, что будет происходить на уроке, достаточно знать синтаксис Python и иметь опыт написания и доработки скриптов на нём.
Преподаватель
Илья Лебедев

Запись

О курсе

Web-разработчик на Python
50 000 ₽
Начало в марте 2019 года
  • Освоение разработки современной фронтенд-части с нуля.
  • Способность решать рядовые задачи бекенд-разработки.
  • Умение деплоить с помощью Fabric, заворачивать приложения в Docker-контейнеры, писать тесты и ботов
  • Владение NodeJS и ReactJS, ознакомление с другими платформами, фреймворками, библиотеками, приложениями.
15 работодателей
Высокая практическая направленность (освоение каждой технологии закрепляется путем выполнения задания)
Программа курса
Модуль 1
Модуль
Модуль 2
модуль
Модуль 3
модуль
Модуль 4
модуль
Модуль 5
модуль
Модуль
Технические детали курса; декомпозиция; чистые функции; цикломатическая сложность; читаемость; фичеризм; поддерживаемость; статический анализ кода.
Домашние задания: 1
ДЗ
Рефакторинг существующего кода.. Отрефакторить и оформить в виде библиотеки на Гитхабе следующий код: https://gist.github.com/Melevir/5754a1b553eb11839238e43734d0eb79
Объекты и переменные; структуры данных под капотом основных типов; list vs tuple; профилирование памяти; как работает сборщик мусора.
Принципы ООП; mixins; class/instance variables; MRO; dict; slots; name mangling.
Домашние задания: 1
ДЗ
Добавление фич в скрипт для статического анализа кода..
IP, TCP, HTTP; [u]WSGI.
Домашние задания: 1
ДЗ
Написать свой wsgi-совместимый веб-фреймворк..
werkzeug; Flask.
Домашние задания: 1
ДЗ
Сделать демо интернет-магазина на Flask..
ORM – зачем нужно; описание схемы данных; сессии; добавление/удаление/апдейт данных
Домашние задания: 1
ДЗ
Написать свою ORM для sqlite..
Django apps; Django ORM; Django Class Based Views; Django common tools.
Домашние задания: 1
ДЗ
Сделать демо интернет-магазина на Django..
Семинар. Реализуем свой WSGI-совместимый фреймворк.
модуль
Django REST Framework. Django Configurations.
Домашние задания: 1
ДЗ
Реализуем базовый бекенд для сайта с курсами..
API. GraphQL и его реализация в Python. GraphQL и Django.
Домашние задания: 1
ДЗ
Добавляем сущности и фичи для API сайта с курсами..
Fabric. Развертывание проекта на сервере.
Софтскилз для разработчика
Знакомство с Front-end частью курса. Основы HTML, CSS, методологии вёрстки. Немного Bootstrap 4.
Домашние задания: 1
ДЗ
Сделать вёрстку (HTML + CSS) главной страницы сайта для обучения..
Django m2m, select_related/prefetch_related, django debug toolbar, factory_boy, faker.
Основы JS: типы данных, операторы, объекты, работа с DOM и браузером
Домашние задания: 1
ДЗ
Добавление поведения к главной странице, страница курсов.
Django ORM, оптимизация работы с БД
модуль
Продвинутый JS: ООП в JS, прототипирование, асинхронность.
Домашние задания: 1
ДЗ
Страница расписания занятий.
ES6, NodeJS окружение, babel + webpack, транспайлинг, CSS препроцессоры
Домашние задания: 1
ДЗ
Сборка UI с помощью webpack, форма логина и регистрации, проксирование вызовов на back-end.
Азы работы с очередями задач.
Домашние задания: 1
ДЗ
Добаляем асинхронную отправку электронной почты.
fetch || axios || $.ajax для REST запросов, модульность
Домашние задания: 1
ДЗ
Загрузка списка курсов с сервера, логин страница, REST API для работы.
Пишем свой менеджер очередей.
Code review
Домашние задания: 1
ДЗ
Исправление недостатков в соответствии с code review.
Введение в автотесты.
Домашние задания: 1
ДЗ
Покрыть проект приёмочными тестами на 60%.
модуль
Основы React, JSX, компоненты React
Домашние задания: 1
ДЗ
Главная страница на React.
Введение в TDD.
state и props, data-flow в React-компонентах
Домашние задания: 1
ДЗ
Страница логина, регистрации на React.
Введение в pytest.
Домашние задания: 1
ДЗ
Переписать тесты на pytest и factory_boy.
Жизненный цикл React-компонент
Домашние задания: 1
ДЗ
Страница личного кабинета, отправка решения на сервер.
InfluxDB, Grafana.
Состояние приложения. Flux & Redux
Домашние задания: 1
ДЗ
Блок успеваемости в личном кабинете, ведомость в кабинете преподавателя.
Jenkins, Sentry.
Домашние задания: 1
ДЗ
Настроить логирование ошибок в Sentry..
модуль
Code review
Домашние задания: 1
ДЗ
Исправление недостатков в соответствии с code review.
python-telegram-bot
Routing в React. SPA
Домашние задания: 1
ДЗ
Организация всего приложения в виде SPA..
threading, multiprocessing, queue.
Тестирование JS приложений
Домашние задания: 1
ДЗ
Написание unit-тестов для UI и back-end.
Введение в docker, docker-compose.
Домашние задания: 1
ДЗ
Завернуть проект в докер-контейнеры.
Обзор Vue2
Домашние задания: 1
ДЗ
Landing page на Vue.
asyncio
QnA

Преподаватель

Илья Лебедев
Эксперт, консультант по архитектуре приложений. Специалист по разработке серверных решений на Python. Автор курсов по веб-разработке в МГТУ им. Баумана, ВШЭ. Соорганизатор курсов Learn Python и devman.org. Старший разработчик в Itcanfy и Ngenix.
9 лет опыта программирования на C++, Python, PHP и JavaScript. Участвовал в проектах разной сложности: от разработки небольших корпоративных сайтов до планирования и реализации высоконагруженных сервисов и использованием микросервисной архитектуры.
Преподаватель курсов:
Web-разработчик на Python