Web разработчик на Python, программирование на Python современной фронтенд-части и рядовые задачи бекенд-разработки
Новогодняя распродажа!
Все курсы со скидкой 30%. Торопитесь!
Подробнее

Курсы

Курсы в разработке Подготовительные курсы
+7 499 110-61-65

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

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

Длительность

5 месяцев

Начало занятий

16 февраля 2020 года

Продолжительность
5 месяцев, 4 академ. часа в неделю
Начало занятий
16 февраля 2020 года
Что даст вам этот курс


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

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

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

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


24 работодателя-партнёра OTUS пригласят на собеседования лучших выпускников после обучения

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

Преподаватели
Сергей Нагаев
Backend-разработчик в FunBox
Леонид Орлов
Николай Барышников
Евгений Ревняков
Юрий Дворжецкий
Luxoft Training Center
Сурен Хоренян
Программист приложений в AdCombo
Михаил Кузнецов
ING Group
Владимир Филонов
Основатель и CTO компании Itcanfly
5 лет опыта коммерческой разработки на Python.

Опыт реализации проектов различной сложности как самостоятельно (фриланс), так и в составе больших команд. Есть опыт в области QA и автоматизации тестирования.

В качестве Python-разработчика работал над такими проектами как подсистема автоматизированного тестирования BSS-решений, CRM-системы, системы резервного копирования.

В качестве разработчика в тестировании работал над системами автоматизации тестирования приложений для SMART TV. Занимал должность Python-разработчика в компании SimbirSoft, сейчас является Backend-разработчиком в компании FunBox.

Выпускник кафедры информационных технологий физического факультета ПГНИУ.
Начал карьеру в крупной международной компании Prognoz, создавал проекты для правительства РФ в течение 2 лет.
Работал программистом биллинга на oracle pl/sql в компании «Эр-Телеком Холдинг».
С 2014 года стал преподавателем направления python-разработки.
Главный разработчик zval.ru.
Продолжает работать удаленно и заниматься собственными проектами на Python и Django.

Разработчик со стажем 8 лет. Закончил РГГУ / Защита информации. На данный момент, большая часть моего времени посвящена дисциплине Data Engineering. Работаю Backend разработчиком в РБК. Пишу на Python/Java/Go/Lua

Общий стек:
Ubuntu/Debian/CentOS
Docker/Kubernetes/helm
Nginx/gRPC/HTTP
Clickhouse/postgresql/mongodb
Kafka/rmq/zmq/redis
Python3/Java/Go/Lua/pytest

Начинал в школе с паяльником в руках. Потом был ZX Spectrum. В университет пошел на техническую специальность. В механике много интересного, но в 2008 интерес к ИТ взял верх: компьютерные сети -> Delphi -> PHP -> Python.
Были эксперименты с другими языками, но хочется писать именно на нем. Участвовал в проектах по автоматизации бизнес-процессов при помощи нейросетей (сервис заказа такси "Максим"), разработке информационных систем в медицине. Работал с GIS-системами и процессингом изображений при помощи Python.
В преподавании позиция: "Если кто-то не может объяснить сложное простыми словами, — значит он в этом еще не очень хорошо разбирается".

Образование:
Курганский университет, кафедра "Безопасность информационных и автоматизированных систем", к.т.н.
в 2002 окончил Курганский государственный университет по специальности "Многоцелевые гусеничные и колесные машины"
в 2005 защитил диссертацию по бесступенчатым передачам.
с тех пор официальное трудоустройство в университете (КГУ).

Тренер в Luxoft Training Center, ведущий разработчик, кандидат физико-математических наук.
Программирует с начальных классов.

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

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

Сейчас разрабатывает web-приложения c UI на React и Angular.

Начинал свою карьеру системным администратором в «АНТИвор», занимался оптимизацией рабочих процессов, сбором статистики и визуализацией аналитики, затем перешел на должность full-stack программиста на Python и разрабатывал инструменты внутреннего пользования и web-интерфейсы для продукции компании. В настоящий момент занимает должность Back-end разработчика на Python 3.6 в компании AdCombo, стек используемых технологией включает Flask, SQLAlchemy, PostgreSQL, Redis, Docker и многое другое.

Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже около 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Разработчик широкого профиля и один из организаторов сообщества Moscow Python. Более 15 лет опыта разработки. Любит Python, Erlang/Elixir, асинхронность и TDD. Любит копаться во внутренностях библиотек, а потом рассказывать об этом.

Сергей
Нагаев
Леонид
Орлов
Николай
Барышников
Евгений
Ревняков
Юрий
Дворжецкий
Сурен
Хоренян
Михаил
Кузнецов
Владимир
Филонов
Преподаватели
Сергей Нагаев
Backend-разработчик в FunBox
5 лет опыта коммерческой разработки на Python.

Опыт реализации проектов различной сложности как самостоятельно (фриланс), так и в составе больших команд. Есть опыт в области QA и автоматизации тестирования.

В качестве Python-разработчика работал над такими проектами как подсистема автоматизированного тестирования BSS-решений, CRM-системы, системы резервного копирования.

В качестве разработчика в тестировании работал над системами автоматизации тестирования приложений для SMART TV. Занимал должность Python-разработчика в компании SimbirSoft, сейчас является Backend-разработчиком в компании FunBox.

Леонид Орлов
Выпускник кафедры информационных технологий физического факультета ПГНИУ.
Начал карьеру в крупной международной компании Prognoz, создавал проекты для правительства РФ в течение 2 лет.
Работал программистом биллинга на oracle pl/sql в компании «Эр-Телеком Холдинг».
С 2014 года стал преподавателем направления python-разработки.
Главный разработчик zval.ru.
Продолжает работать удаленно и заниматься собственными проектами на Python и Django.

Николай Барышников
Разработчик со стажем 8 лет. Закончил РГГУ / Защита информации. На данный момент, большая часть моего времени посвящена дисциплине Data Engineering. Работаю Backend разработчиком в РБК. Пишу на Python/Java/Go/Lua

Общий стек:
Ubuntu/Debian/CentOS
Docker/Kubernetes/helm
Nginx/gRPC/HTTP
Clickhouse/postgresql/mongodb
Kafka/rmq/zmq/redis
Python3/Java/Go/Lua/pytest

Евгений Ревняков
Начинал в школе с паяльником в руках. Потом был ZX Spectrum. В университет пошел на техническую специальность. В механике много интересного, но в 2008 интерес к ИТ взял верх: компьютерные сети -> Delphi -> PHP -> Python.
Были эксперименты с другими языками, но хочется писать именно на нем. Участвовал в проектах по автоматизации бизнес-процессов при помощи нейросетей (сервис заказа такси "Максим"), разработке информационных систем в медицине. Работал с GIS-системами и процессингом изображений при помощи Python.
В преподавании позиция: "Если кто-то не может объяснить сложное простыми словами, — значит он в этом еще не очень хорошо разбирается".

Образование:
Курганский университет, кафедра "Безопасность информационных и автоматизированных систем", к.т.н.
в 2002 окончил Курганский государственный университет по специальности "Многоцелевые гусеничные и колесные машины"
в 2005 защитил диссертацию по бесступенчатым передачам.
с тех пор официальное трудоустройство в университете (КГУ).

Юрий Дворжецкий
Luxoft Training Center
Тренер в Luxoft Training Center, ведущий разработчик, кандидат физико-математических наук.
Программирует с начальных классов.

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

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

Сейчас разрабатывает web-приложения c UI на React и Angular.

Сурен Хоренян
Программист приложений в AdCombo
Начинал свою карьеру системным администратором в «АНТИвор», занимался оптимизацией рабочих процессов, сбором статистики и визуализацией аналитики, затем перешел на должность full-stack программиста на Python и разрабатывал инструменты внутреннего пользования и web-интерфейсы для продукции компании. В настоящий момент занимает должность Back-end разработчика на Python 3.6 в компании AdCombo, стек используемых технологией включает Flask, SQLAlchemy, PostgreSQL, Redis, Docker и многое другое.

Михаил Кузнецов
ING Group
Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

Программирует на JavaScript уже около 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

Владимир Филонов
Основатель и CTO компании Itcanfly
Разработчик широкого профиля и один из организаторов сообщества Moscow Python. Более 15 лет опыта разработки. Любит Python, Erlang/Elixir, асинхронность и TDD. Любит копаться во внутренностях библиотек, а потом рассказывать об этом.

Необходимые знания
  • Основы синтаксиса Python 3.
  • Основные модули стандартной библиотеки.
  • Основы написания поддерживаемого кода.
  • Основы SQL, html, css, JavaScript.
  • Умение работать в консоли и с git.
Подготовительный курс
Курс «JavaScript для начинающих» рассчитан на тех, кто делает первые шаги в веб-разработке.
Курс будет полезен вам, если вы:
- изучили вёрстку и хотите дальше развиваться как фронтенд-разработчик;
- хотите научиться программировать, но не знаете с чего начать;
- хотите освежить знания перед поступлением на курс «Разработчик JavaScript».

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

После курса вы будете знать синтаксис языка JavaScript, сможете писать простые программы и использовать базовые алгоритмы и подходы к написанию программ.
Записаться
Процесс обучения
Обучение проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек. Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Программа обучения
Модуль 1
Основы python и модульного тестирования
Модуль 2
Создаем свой блог и начинаем создавать обучающий сайт. База данных и ORM, web-фреймворки Flask и Django. MVC, MVT
Модуль 3
Создаем backend для обучающего сайта. REST API, django-rest-framework, GraphQL, оптимизация работы с базой данных
Модуль 4
Начинаем создавать frontend часть обучающего сайта, получаем данные с backend. Основы html, css, js, ES6, node.js, webpack, ajax
Модуль 5
Создаем SPA приложение на React, собираем все воедино. React, Redux, SPA, тестирование в js, docker
Модуль 6
Работа с макетами
Модуль 7
Проект
Основы python и модульного тестирования
Цель: выровнять фундамент знаний
Тема 1: Основы python. Последовательности. Функции, параметры, области видимости. Lambda-функции
использовать основные элементы языка (переменные, типы данных, ввод, вывод, условия, циклы, ...)
Использовать высокоуровневые типы данных (строки, словари, списки, множества)
Запомнить синтаксис основных конструкций в python
Запомнить основные методы последовательностей
Писать функции
Использовать функции
Понять что такое lambda-функции и для чего они используются
Запомнить варианты передачи параметров в функцию и возврата значения
Тема 2: Модули, библиотеки, пакеты
собирать пакет
Понять что такое области видимости, локальные и глобальные переменные
Импортировать данные из модулей и пакетов
Пользоваться конструкцией if __name__ == '__main__'
Объяснять разницу между модулем и пакетом
Запомнить варианты импортов
Домашние задания: 1
1 Создать программу-поисковик
Цель: Создать программу поисковик Пользователь вводит тему, стартовую точку (google.com, yandex.ru, ...), количество, рекурсивный поиск или нет Программа находит в интернете начиная от стартовой точки все ссылки на веб-странице и выводит в терминал Реализовать программу в виде одной или нескольких функций Собрать пакет для последующего использования
Тема 3: Генераторы, тернарные операторы, исключения, декораторы
писать генераторы
Писать тернарные операторы
Понять назначение декораторов
Понять как писать декоратор
Осознать назначение исключений
Понять как обрабатывать исключения
Тема 4: Основы ООП. Принципы ООП
создавать классы
Создавать объекты классов
Создавать свойства и методы класса
Создавать методы доступа
Понять как реализованы принципы ООП в python
Тема 5: ООП. Магические методы, утиная типизация, статические методы, методы класса
писать код с применением основных магических методов и утиной типизации
Понять что такое магические методы и зачем они нужны
Понять для чего нужны статические методы и методы класса и как их писать
16 декабря, 20:00 — 21:30
Лектор: Евгений Ревняков
Домашние задания: 1
1 Написать игру "Лото"
Тема 6: Введение в автотесты. pytest
писать тесты для функций и классов на pytest
Запускать тесты
Понять что такое автоматизированное тестирование
Осознать зачем нужно автоматизированное тестирование
Запомнить плюсы и минусы библиотеки pytest
Понять для чего нужны методы setup, teardown
18 декабря, 20:00 — 21:30
Лектор: Николай Барышников
Домашние задания: 1
1 Покрыть предыдущие дз тестами
Создаем свой блог и начинаем создавать обучающий сайт. База данных и ORM, web-фреймворки Flask и Django. MVC, MVT
Цель: применять во всех веб-приложениях
Тема 1: Основы реляционных БД. Работа с sqlite
подключаться к базе данных с помощью python
Писать select запросы в базу данных из python
Понять назначение реляционных баз данных
Понять как хранятся данные в базе
Осознать зачем нужны нормальные формы
Запомнить типы запросов в базу
23 декабря, 20:00 — 21:30
Тема 2: ORM, SQLAlchemy
создавать модели данных с помощью SQLAlchemy для заданной предметной области
Понять что такое ORM, для чего он используется
Понять как делать основные запросы в базу данных с помощью ORM
25 декабря, 20:00 — 21:30
Лектор: Николай Барышников
Домашние задания: 1
1 Создать модели Post, Tag для сайта "Мой блог" на выбранную тему
Цель: Создать модели Post, Tag для сайта "Мой блог" на тему (ваша тема). Для пользователя можно использовать стандартную модель User. Установить связи между моделями. Добавить некоторые данные. Выбрать все посты конкретного пользователя с 2-мя любыми тегами
Тема 3: Знакомство с Front-end частью курса. Основы HTML, CSS, методологии верстки. Немного Bootstrap 4
писать css селекторы
Запомнить устройство http, web, rest
Осознать назначение кодов ответа
Понять как связаны html, css, js и из чего они состоят
Запомнить какие есть способы разработки css
Понять как пользоваться bootstrap4
13 января, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
1 Сделать верстку для сайта "Мой блог"
Цель: Сделать верстку для сайта Мой блог. Страницы: главная, все посты, 1 пост
Тема 4: Введение в werkzeug; Flask
добавлять новые страницы в проект на Flask
Запускать Flask проект на тестовом сервере
Передавать данные из view в template
Понять что такое шаблонизатор и как он работает
Осознать зачем нужны Blueprint и как их использовать
Понять как создать небольшой проект на Flask
15 января, 20:00 — 21:30
Тема 5: Werkzeug; Flask + SQLAlchemy. Работа с моделями данных
добавлять модели и базу данных в проект на Flask
Понять паттерн MVC и зачем он нужен
Настроить Flask для работы с SQLAlchemy
Понять как сохранять и получать данные
20 января, 20:00 — 21:30
Домашние задания: 1
1 Сделать сайт "Мой блог" на Flask + SQLAlchemy
Цель: Сделать сайт "Мой блог" на Flask + SQLAlchemy. Страницы: главная, посты, 1 пост
Тема 6: Django settings, orm, админка, миграции, superuser
добавлять модели и базу данных в проект на Django
Делать миграции данных
Сохранять данные в базу
Понять как создавать проект на django
Запомнить из чего состоит проект
Осознать что такое миграции и зачем они нужны
Подключить стандартную админку в проект
Запомнить варианты запросов в базу
22 января, 20:00 — 21:30
Лектор: Николай Барышников
Домашние задания: 1
1 Обучающий сайт на выбранную тему
Цель: Обучающий сайт (тема обучения может быть любая). Сделать модели данных для сайта. Примерная работа сайта. На сайте есть список курсов, каждый курс ведет преподаватель, студент может записаться на курс. На курсе есть некоторое количество занятий по расписанию.
Тема 7: Тестирование django приложений. Тестирование моделей. mixer для создания фейковых данных
писать тесты для методов моделей
Запускать тесты
Создавать тестовые данные с помощью mixer
Понять как тестировать django-приложения
Понять для чего нужны setUp и tearDown
27 января, 20:00 — 21:30
Тема 8: Django cbv, шаблоны, наследование шаблонов
разобраться как работает шаблонизатор django
Понять для чего и как использовать наследование шаблонов
Осознать что такое cbv в django
Запомнить какие классы из cbv используются для crud
Разобраться для чего нужны классы View и TemplateView
Осознать для чего нужны Mixins и как они позволяют расширять стандартные классы
29 января, 20:00 — 21:30
Домашние задания: 1
1 Страницы для создания, удаления, редактирования, просмотра 1-го курса и списка курсов
Цель:
Создаем backend для обучающего сайта. REST API, django-rest-framework, GraphQL, оптимизация работы с базой данных
Цель: реализация backend части проекта
Тема 1: Django forms. Наследование моделей. Абстрактные классы и proxy в django
взаимодействовать с пользователем с помощью Django Forms
Запомнить различные варианты форм
Понять как можно настраивать форму
Разобраться с наследованием моделей в Django
Запомнить варианты наследования
3 февраля, 20:00 — 21:30
Тема 2: Азы работы с очередями задач
разобраться зачем нужны очереди задач
Понять как настроить rq и redis
Понять как создавать задачи
Разобраться как создавать задачи по отдельности и по расписанию
Осознать как добавить механизм работы с задачами в django-проект
5 февраля, 20:00 — 21:30
Домашние задания: 1
1 Добавить страницу с контактами
Цель: Добавить страницу с контактами На странице создать форму для отправки сообщения После отправки формы отправлять письмо на почту администратора и второе письмо на почту указанную в форме Отправку писем реализовать через очередь задач
Тема 3: Введение в django-rest-api
создавать crud api для моделей данных
Понять назначение django-rest-framework
Разобраться как работать с APIView
Понять для чего и как используются сериализаторы
10 февраля, 20:00 — 21:30
Лектор: Сурен Хоренян
Тема 4: Django-rest-api авторизация
авторизовывать пользователя на сайте с помощью django-rest-framework
Запомнить различные варианты авторизации
Понять как происходит авторизация с JWT и по OAuth2
12 февраля, 20:00 — 21:30
Домашние задания: 1
1 Создать rest-api для сайта
Цель: Создать rest-api для сайта. Реализовать авторизацию пользователя
Тема 5: Тестирование django приложений. Тестирование views. Тестирование api
писать тесты для страницы с помощью тестового клиента
Понять как тестировать часть view
Разобраться что можно проверять тестовым клиентом
Понять как писать тесты для api
17 февраля, 20:00 — 21:30
Тема 6: API. GraphQL и его реализация в Python. GraphQL и Django
разобраться зачем нужен GraphQL
Понять как он реализован в python
Понять как создавать схему
Запомнить варианты использования GraphQL
Разобраться как фильтровать данные с GraphQL
Понять как изменять (мутировать) данные
19 февраля, 20:00 — 21:30
Домашние задания: 1
1 С помощью GraphQL создать схему
Цель: С помощью GraphQL создать схему, которая позволяет получать одновременно курсы, преподавателей и всех студентов записанных на курс
Тема 7: Django m2m, select_related/prefetch_related, django debug toolbar, faker
понять зачем нужен django-debug-toolbar
Понять как его установить и настроить
Разобраться как настроить админку для manytomany
Запомнить как создавать management commands скрипты
Понять как создавать случайные данные с помощью faker
Разобраться как добавлять many_to_many записи
Осознать зачем нужны prefetch_related и select_related и в чем их разница
26 февраля, 20:00 — 21:30
Тема 8: Django ORM, оптимизация работы с БД
писать запросы с применением F-объектов
Оптимизировать запросы с помощью exists
Оптимизировать запросы с помощью cashed_property
Понять для чего и как использовать bulk update, iterator в queryset, аннотации
2 марта, 20:00 — 21:30
Домашние задания: 1
1 Оптимизировать работу с базой данных. Написать отчет
Цель: Оптимизировать работу с базой данных, используя изученные средства. Написать отчет. Как было до оптимизации, какое средство использовалось, что стало после оптимизации
Начинаем создавать frontend часть обучающего сайта, получаем данные с backend. Основы html, css, js, ES6, node.js, webpack, ajax
Цель: работать со старым и новым js, настраивать окружение для frontend
Тема 1: Code review бэкенд части приложения
делать code review
Понять слабые места своей работы
Запомнить best practice
4 марта, 20:00 — 21:30
Тема 2: Основы JS: типы данных, операторы, объекты, работа с DOM и браузером
разобраться с типами данных и приведением типов в js
Операторами, обработкой ошибок
циклами, условными операторами
Понять DOM и BOM
Разобраться с обработчиками событий
11 марта, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Тема 3: Продвинутый JS: ООП в JS, прототипирование, асинхронность
разобраться с ООП в js
Разобраться с объектами и функциями
Понять разницу конструкторов в es5 и es6
Разобраться с прототипами
Понять разницу методов в es5 и es6
Понять разницу в наследовании в es5 и es6
Разобраться с асинхронностью и моделью памяти
16 марта, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Тема 4: ES6, NodeJS окружение, babel + webpack, транспайлинг
понять разницу кода в ES6
Разобраться с деструкцией и распаковкой
Понять объекты в ES6, getters, setters
Разобраться с import, export
Понять зачем нужен node.js, npm, babel, webpack
Разобраться с настройкой проекта
18 марта, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
1 Сборка UI с помощью webpack, форма логина и регистрации
Цель: Сборка UI с помощью webpack, форма логина и регистрации, проксирование вызовов на back-end
Тема 5: "CSS препроцессоры". "fetch || axios || $.ajax для REST запросов, модульность"
написать код на less
Понять зачем нужны css препроцессоры
Понять как установить less в webpack
Понять зачем нужны ajax, axios, fetch и в чем их разница
23 марта, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Сделать страницу курсов и при ее загрузке получать данные из api с помощью fetch или axios или ajax
Цель: Сделать страницу курсов и при ее загрузке получать данные из api с помощью fetch или axios или ajax и выводить на страницу динамически
Тема 6: Код ревью frontend части
понять слабые места своей работы
Запомнить best practice
25 марта, 20:00 — 21:30
Лектор: Михаил Кузнецов
Тема 7: Основы React, JSX, компоненты React
создавать приложение на react
Создавать react-компоненты
Понять что такое компонентный подходи и зачем он нужен
Разобраться со структурой react-приложения
Понять как работает render
Разобраться с virtual DOM
30 марта, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Сделать главную страницу на react
Создаем SPA приложение на React, собираем все воедино. React, Redux, SPA, тестирование в js, docker
Цель: создание SPA приложений на React, создание docker контейнеров
Тема 1: State и props, data-flow в React-компонентах
менять state компонента по событию
Запомнить варианты использования props
Запомнить какие есть доступные события
Понять что такое обертка на event и зачем она нужна
Понять что такое state и для чего он используется
Понять разницу между state и props
Понять принцип data-flow
8 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Тема 2: Жизненный цикл React-компонент
запомнить этапы жизненного цикла react-компонента
Понять в каком методе лучше делать загрузку данных с сервера и почему
Разобраться с загрузкой данных через fetch
13 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Сделать страницу курсов, одного курса и записи на курс на react
Тема 3: Состояние приложения. Flux & Redux
понять зачем нужны Flux и Redux и в чем их разница
Запомнить роли во Flux
Запомнить реализации Flux
Разобраться с работой Redux и его основными принципами
15 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Перевести все страницы сайта на react
Тема 4: Code review frontend части на react
понять слабые места своей работы
Запомнить best practice
20 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Тема 5: Routing в React. SPA
понять что такое SPA и для чего он используется
Рассмотреть Routing в react
Разобраться как создать SPA приложение
22 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Организация всего приложения в виде SPA
Тема 6: Тестирование JS приложений
запомнить инструменты тестирования в js
Писать тесты
Запускать тесты
27 апреля, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
1 Написание unit-тестов для UI и back-end
Тема 7: Введение в docker, docker-compose
понять что такое docker и для чего он нужен
Запомнить плюсы и минусы docker
Разобраться с примерами настроек docker-контейнера
Понять как собирать docker-контейнер для django проекта
Запомнить основные команды docker, понять как они работают
29 апреля, 20:00 — 21:30
Домашние задания: 1
1 Завернуть проект в докер-контейнеры
Тема 8: Контекстные процессоры и middleware в django. Подведение итогов
писать контекстные процессоры
Понять как устроены middleware в django
Оценить результаты обучения на курсе
6 мая, 20:00 — 21:30
Работа с макетами
Разберем самые типичные ошибки при верстке с макетов от дизайнеров. Знакомство с редактором Figma, познакомимся с панелями программы при работе с макетами от дизайнеров, основные элементы для чтения макетов, как правильно экспортировать графику
Тема 1: Основные ошибки при инспектировании макетов
разберем самые типичные ошибки при верстке с макетов от дизайнеров, как смотреть сетку в макете, инспектировать цвета, размеры текста и элементов
13 мая, 20:00 — 21:30
Тема 2: Рабочая машина под названием Figma
знакомство с редактором Figma
познакомимся с панелями программы при работе с макетами от дизайнеров, основные элементы для чтения макетов, как правильно экспортировать графику
Комментирование в редакторе
Полезные сервисы и плагины при работе с макетами и версткой
18 мая, 20:00 — 21:30
Проект
Тема 1: Выбор проекта
20 мая, 20:00 — 21:30
Домашние задания: 1
1 Выбор проекта и дальнейшая работа с ним
Тема 2: Консультация по выбранному проекту
25 мая, 20:00 — 21:30
Тема 3: Защита проектных работ
27 мая, 20:00 — 21:30
Выпускной проект
В рамках курса предусмотрен проект. Это будет большая работа, которая объединит в себе все знания, полученные во время обучения.
В процессе написания проекта вы можете консультироваться с преподавателями.
Готовый проект станет демонстрацией ваших возможностей и образцом кода, который вы сможете показывать потенциальным работодателям при трудоустройстве.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Трюки Django ORM
Сурен Хоренян
Принципы ООП
Владимир Филонов
После обучения вы

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

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

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

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

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

Дата выдачи сертификата: 20 августа 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Web-разработчик на Python»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Web-разработчик на Python»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.