Несколько дней новогоднего волшебства:
Успейте начать обучение в 2018-ом году со скидкой до 30%!
Выбрать курс

Web-разработчик на Python

Курс предназначен для подготовки специалиста, который сможет не только решать рядовые задачи бекенд-разработки, но и сделать с нуля современную фронтенд часть.
Начало занятий
В марте 2019 года
Что даст вам этот курс


  • Освоение разработки современной фронтенд-части с нуля.

  • Способность решать рядовые задачи бекенд-разработки.

  • Умение деплоить с помощью Fabric, заворачивать приложения в Docker-контейнеры, писать тесты и ботов

  • Владение NodeJS и ReactJS, ознакомление с другими платформами, фреймворками, библиотеками, приложениями.


15 работодателей

Высокая практическая направленность (освоение каждой технологии закрепляется путем выполнения задания)

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

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
Разработчик интерфейса Яндекс.Почты.

До этого делал интерфейсы для системы управления суперкомпьютером и ситуационного центра МЧС Сахалина.

Работа в маленькой команде научила создавать дизайн, раскатывать докер, настраивать DNS-сервера и заниматься другими вещами, которых обычно не ожидают от фронтендера.

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

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
Владимир Клепов
Yandex
Разработчик интерфейса Яндекс.Почты.

До этого делал интерфейсы для системы управления суперкомпьютером и ситуационного центра МЧС Сахалина.

Работа в маленькой команде научила создавать дизайн, раскатывать докер, настраивать DNS-сервера и заниматься другими вещами, которых обычно не ожидают от фронтендера.

Специализируется на интерактивных визуализациях.
Закончил факультет компьютерных наук ВШЭ, так что всегда может обсудить машинное обучение и P = NP.
Отзывы
2
Дмитрий
Вологдин
Отличный курс.
Хотел подтянуть знания по django, и ожидания мои оправдались.

Илья Лебедев отличный лектор и наставник. Очень здорово, что кроме прочего в ходе учёбы делает акцент на "софтскилз", важность умения искать информацию, вдумчивого чтения документации, умения задавать правильные вопросы. Особенно понравилось, что на некоторые вопросы Илья не даёт прямого ответа, а даёт направление, в котором надо подумать. Это сильно помогает разобраться в вопросе.

Не оправдались мои ожидания по фронтовой части курса. Думал, что эта тема мне будет совершенно неинтересна, однако Юра Дворжецкий открыл для меня целый мир... Это очень круто! Я в восторге от препроцессоров css, webpack и react.

Из недостатков могу отметить очень не быстрое ревью кода. С момента отправки домашнего задания до его проверки вполне мог пройти месяц. Особенно это заметно, когда ты в течении месяца страдаешь и развиваешь "неправильное" архитектурное решение.
Но при этом я расцениваю это и как фичу курса.
- Это отражает действительность. Я много раз в своей жизни сталкивался со своими разработками/решениями, о которых уже успел 3 раза позабыть. Надо нести ответственность за то, что натворил ранее :)
- Очень полезно читать свой код спустя какое-то продолжительное время. Это один из элементов обучения. То что казало очевидным и правильным, при втором чтении таким уже не кажется. Есть мнение, что если ты прочитал код, который ты написал пол года назад и он тебе не показался отвратительным, значит ты остановился в развитии...
Читать целиком
Николай
Никонов
Долго смотрел на этот курс, пропустил один или 2 потока, на 3й решился пойти. И не пожалел, что подождал, т.к. в курсе обновился очень важный блок, посвященный frontend.

Я шел на курс, чтобы получить практический опыт создания веб-приложений. Как все работает в теории я представлял, хотелось попробовать сделать что-нибудь своими руками и получить обратную связь. В целом, считаю, приобрел то, что хотел.

Программа курса достаточно обширная и охватывает все главные аспекты существования веб-приложения, начиная с написания кода, сборки проекта и заканчивая его развертыванием и мониторингом работоспособности. Конечно, в рамках курса нельзя получить исчерпывающие знания по каждому из направлений, но представление о правильном подходе вполне. Некоторые важные для веб-разработки, на мой взгляд, темы не были рассмотрены, но Илье я передал все пожелания, с некоторыми из которых он согласился. Отдельно надо сказать про front-end. Мне показалось, что это была наиболее сложная и насыщенная часть курса. Причем информация очень актуальная, рассматривали React в связке с Redux, что сейчас прям в тренде. Про полноту и глубину материала могу сказать, что рассматривались базовые вещи. Но это, на мой взгляд, вполне нормальная практика для обучения. Если рассматривать дополнительные библиотеки или какие-то специальные случаи, то нужно увеличивать длительность курса, что нельзя считать хорошим решением. 5 месяцев и так приличный срок.

Одной из важных составляющих курса являются домашние задания и их проверка. ДЗ, надо сказать, достаточно объемные и связаны друг с другом. Это не какие-то абстрактные задачки, а звенья одной цепи, на конце которой должно получиться готовое веб-приложение. Причем в 2х вариантах - с использованием шаблонов Django в первом случае; SPA на React с api на Django во втором. Но в этой части в курсе был большой косяк. Задания очень долго проверялись, проверяющие менялись. Психологически это очень демотивирует. Запилил ДЗ, хочется как можно скорее получить обратную связь, сделать правки, а тут засада. Но обзоры ДЗ, когда они выполнялись, были очень развернутыми и по делу. Больше всего меня впечатлили комментарии Владимира Клепова, который ну очень развернуто отвечал на мои многочисленные вопросы. Анна Смешная давала много практических советов.

Если подводить итог, то можно сказать, что курс оказался полезен для меня. Я пересмотрел свое отношение к разработке frontend части (мне понравилось), научился делать backend и сейчас с небольшой командой в свободное время веду разработку собственного проекта.

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

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, презентации, примеры кодов);

  • повысите свои знания в области бекенд- и фронтенд-разработки на Python;

  • получите сертификат о прохождении курса;

  • улучшите навыки в технологиях Python, JavaScript, Django ORM, SQLALchemy, Werkzeug, Flask, GraphQL, InfluxDB, Grafana, Jenkins, Sentry, NodeJS, ReactJS, VueJS и других;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения).

Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Web-разработчик на Python»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Web-разработчик на Python»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001