Python используется много где: от веб-разработки до машинного обучения и научных исследований. Наш курс посвящён созданию бэкенда сайтов и веб-приложений.
Бэкенд — это внутренняя часть программы, которая отвечает за логику работы веб-сервиса. Бэкенд-разработчик на Python пишет код, благодаря которому выполняется основной функционал программы.
Программа курса
Модуль 1 — Основы Python: бесплатный курс
- Знакомство с Python
- Циклы и ветвления
- Функции
- Словари и множества
Модуль 2 — Углубленный Python
- Знакомство с Python
- Простые типы данных. Приложение «Холодильник»
- Ветвления
- Импортируемые типы данных
- Коллекции
- Итерации и циклы
- Система регистрации и отслеживания продуктов в холодильнике
- Настройка рабочего окружения
- Система контроля и управления версиями
- Требования к коду
- Отладка программ
- Проект: игра «Змейка»
- Объекты и классы
- Знакомство с ООП
- Python: новый уровень
- Расширенные возможности Python
Модуль 3 — Алгоритмы и структуры данных
- Введение в алгоритмы
- Сложность алгоритмов
- Структуры данных
- Методы решения задач
- Рекурсия
- Сортировки
- Графы и деревья
- Жадные алгоритмы
- Динамическое программирование
Спринт 1 — Введение в алгоритмы
- Сложность алгоритмов
- Структуры данных
- Методы решения задач
- Финальное задание спринта: «Служба доставки»
Спринт 2 — Рекурсия
- Сортировки
- Графы и деревья
- Жадные алгоритмы
- Динамическое программирование
- Финальное задание спринта
Модуль 4 — Бэкенд на Django
- Создание проекта
- PyDjango view-функции
- Вёрстка для бэкенд-разработчика
- HTML и шаблоны Django
- Введение в базы данных. Язык запросов SQL
- Отношения между таблицами
- Django ORM. Модели
- Админ-зона Django
- Django ORM. Получение информации из БД
- Работа с формами
- Представления: расширенные возможности
- Пользователи в Django
- Декораторы
- Тестирование
- Библиотека Unittest
- Unittest в Django
- Библиотека Pytest
- Pytest для Django
Проект: Блогикьюм
- Часть 1 — создание проекта
- Аутентификация и view-функции
- Вёрстка для бэкенд-разработчика
- HTML и шаблоны Django
- Развёртывание и настройка веб-приложения
- Введение в базы данных. Язык запросов SQL
- Отношения между таблицами
- Django ORM. Модели
- Админ-зона Django
- Настройка панели администратора и работа с публикациями
- Получение информации из БД
- Работа с формами
- Представления: расширенные возможности
- Пользователи в Django
- Самостоятельная регистрация пользователей
- Публикация постов через форму и их комментирование
- Тестирование проекта
- Библиотека Unittest
- Unittest в Django
- Библиотека Pytest
- Pytest для Django
Модуль 5 — API: интерфейс взаимодействия программ
- Что такое API
- JSON: формат передачи данных
- API First. Архитектура REST
- Правила именования ресурсов
- Исследование запросов
- Механизмы авторизации. Протокол OAuth 2.0
- Client API в Telegram
- Bot API в Telegram
- Django REST Framework
- REST API: проектирование
- CRUD API
- Сериализаторы
- View-функции API
- View-классы API
- Вьюсеты и роутеры
- Регулярные выражения
- Проверка прав: Permissions
- Throttling: ограничение количества запросов
- Фильтрация, сортировка и поиск
- CORS: политика единого источника
- Документирование API
- Взаимодействие фронтенда и бэкенда через API
- Командная работа над проектом
Спринт 1
- Что такое API
- JSON: формат передачи данных
- API First. Архитектура REST
- Правила именования ресурсов
- Исследование запросов
- Механизмы авторизации. Протокол OAuth 2.0
- Client API в Telegram
- Bot API в Telegram
- Проект: Bot-ассистент
Спринт 2
- Django REST Framework
- REST API: проектирование CRUD API для сервиса YaTube
- Сериализаторы
- View-функции API
- View-классы API
- Вьюсеты и роутеры
- Регулярные выражения
Спринт 3
- Проверка прав: Permissions
- Throttling: ограничение количества запросов
- Фильтрация, сортировка и поиск
- CORS: политика единого источника
- Документирование API
- Взаимодействие фронтенда и бэкенда через API
Спринт 4
- Командная работа над проектом
- Итоговый проект модуля: полноценный API для сервиса YaTube
Итоговый проект — YaMDb
- Создание REST API для сервиса YaMDb — базы отзывов о фильмах, книгах и музыке
- Проект выполняется в команде с другими студентами
Модуль 6 — Управление проектом на удалённом сервере
- Работа на сервере, настройка окружения
- Доменное имя и SSL-сертификат для сайта
- Мониторинг работы веб-приложения
- Запуск приложения в Docker-контейнерах
- Упаковка проекта в Docker-образ
- Архитектура приложения в Docker
- Docker Compose
- Автоматизация цепочки CI/CD
- GitHub Actions
Итоговый проект — Foodgram
- Проект: Kittygram. Часть 1
- Классический деплой проекта на удалённый сервер
- Проект: Kittygram. Часть 2
- Деплой проекта в контейнерах
- Автоматизация цепочки приложения CI/CD
- Самостоятельное написание веб-приложения Foodgram — сайта, на котором пользователи публикуют собственные рецепты, добавляют чужие рецепты в избранное и подписываются на публикации других авторов
- Сервис «Список покупок» для создания списка продуктов, необходимых для приготовления выбранных блюд
Модуль 7 — Карьерный трек: трудоустройство
- Процесс и целеполагание
- Поиск работы
- Рынок труда
- Работа мечты
- Подготовка резюме
- Хорошее портфолио
- Неформальный поиск работы
- Сопроводительное письмо
- Коммуникация с HR
- Анализ собственных результатов
- Подготовка к собеседованию
- Soft- и hard-навыки
- Лендинг
- Собеседование в Яндексе
- Выбор компании
- Офис, удалёнка или фриланс?
- Как не ошибиться при выборе компании
- Испытательный срок
Карьерный трек: акселерация
- Групповые и индивидуальные консультации по стратегии поиска работы
- Обсуждение вакансий и тестовых заданий
- Разбор сложных кейсов







