Программа курса
«Программирование на Python. Профессиональный уровень»

1. Введение в web
  • Изучение socket.
  • TCP/UDP.
  • Изучение HTTP запросов.
  • Протоколы: GET, POST, PUT, PATCH, DELETE.
  • Осуществление GET запроса к web ресурсу, используя telnet.
2. Запросы
  • Реализация своего web-сервера, используя библиотеку socket.
  • Парсинг HTTP заголовков.
  • MVC паттерн.
  • Понимание работы web фрэймворка на нижнем уровне.
  • Изучение OS Linux.
3. Настройка сервера
  • Бесплатная аренда сервера Google.
  • Настройка окружение.
  • Запуск web сервера, используя Google сервис.
  • Tmux, Supervisor, Gunicorn и прочие вспомогательные инструменты.
  • Использование Django в окружение Google сервера.
4. MVC
  • Основы html.
  • Основы css.
  • Основы bootstrap.
  • Json.
  • Postgresql
  • Концепция mvc, реализуемая django.
  • Назначение view и url файлов.
5. Настройка проекта
  • Запуск девелоперского сервера.
  • Структура проекта.
  • Настройка проекта.
  • Templates.
  • Models.
  • Панель администрирования.
  • Работа с командной строкой.
  • Создание собственных команд.
6. Модели, Rest
  • Технология REST.
  • Модуль rest framework.
  • Метаинформация.
  • Индексы.
  • Миграции.
  • Построение запросов.
  • Использование библиотеки requests для работы с rest.
7. Основы DB
  • Менеджеры моделей.
  • Транзакции особенности разных СУБД.
  • Принцип ACID.
  • Принцип CAP.
  • Принцип BASE.
  • Документирование.
8. Тестирование
  • Модульное тестирование. Модуль unittest.
  • Работа с Selenium.
  • Активация моделей (installed_apps).
  • Установка дополнительных пакетов из открытых источников.
  • Работа с зависимыми моделями.
9. Взаимодействие с шаблонами
  • Многие к одному, многие ко многим. Отношения.
  • Фильтрация, сортировка.
  • Кастомные функции orm.
  • Html (теги и атрибуты).
  • Отправка формы (front-end).
  • Язык шаблонов Django-templates.
  • Язык шаблонов jinja2.
10. Celery
  • Celery.
  • Постановка задач в очередь.
  • Параллельное вычисление, используя очереди задач.
  • Workers.
  • Binders.
11. Docker
  • Контейнеризация проекта.
  • Docker.
  • Настройка проекта в контейнере.
  • Развертывание проекта, используя Docker.
12. Сессии
  • Работа с Сессиями Django.
  • Авторизация.
13. Jquery
  • Создание динамической страницы.
  • Загрузка данных пользователю.
  • Введение в JS.
  • Валидация данных.
14. Организация
  • Загрузка данных на сервер из сторонних источников.
  • Организация серверов.
  • RabbitMQ.
  • Amazon WEB Services.
15. Заключение
  • Вывод.
  • Ответы на вопросы.