November 27, 2019

[TDD] Python. Пишем свой фреймворк (2019)

Узнайте, как создать свой собственный веб-фреймворк Python!

«Не изобретай велосипед» — это обычная мантра программирования, которую мы слышим почти каждый день. Но что, если вы хотите узнать больше о колесе? Что, если вы хотите узнать, как создать чертово колесо, чтобы сделать следующую итерацию лучше, быстрее или сильнее? Часто это хорошая идея, чтобы заново изобрести колесо, особенно когда дело доходит до обучения — именно об этом и идет этот курс!

В этом курсе вы узнаете, как разработать свою собственную веб-среду Python, чтобы увидеть, как все работает под поверхностью Flask, Django и других основанных на Python веб-сред.

Сначала вы узнаете, как создать синхронную веб-инфраструктуру на основе WSGI, как Django и Flask. После того, как основные функциональные возможности будут созданы, вы создадите тестовый клиент, и с этого момента мы будем следовать базовой тестовой разработке. Как только фреймворк будет завершен, вы упакуете его и загрузите в PyPI (индекс пакетов Python). Затем вы разработаете небольшое веб-приложение с только что созданной платформой и развернете его в Heroku.

Самое главное, что вы, как разработчик, будете создавать что-то для других разработчиков, что может немного отличаться от того, что вы делаете в своей повседневной работе, и, таким образом, вы многому научитесь.

Цели обучения К концу этого курса вы сможете:

  1. Объясните, что такое WSGI и зачем он нужен
  2. Создайте базовую веб-инфраструктуру и запустите ее с Gunicorn, WSGI-совместимым сервером
  3. Разработка основных обработчиков запросов, маршрутов и шаблонов
  4. Реализовать основанные на классах обработчики маршрутов
  5. Протестируйте свой фреймворк с помощью модульных тестов и попробуйте разработку на основе тестирования
  6. Создайте тестовый клиент для тестирования API без необходимости раскручивать сервер
  7. Реализуйте пользовательские обработчики исключений, чтобы обеспечить корректную обработку ошибок 404 (не найдено) и 500 (внутренняя ошибка сервера)
  8. Разрабатывать решения для управления статическими файлами и промежуточным программным обеспечением в рамках
  9. Управляйте разрешенными методами для ваших обработчиков запросов
  10. Создайте собственный класс ответа, чтобы упростить создание ответа
  11. Создайте пакет Python и загрузите его в PyPI
  12. Разработайте веб-приложение, используя созданную вами инфраструктуру, и разверните его в Heroku.

Инструменты и Технологии

  1. питон
  2. WSGI
  3. Gunicorn
  4. Pytest
  5. PyPI
  6. Heroku

Предпосылки
Чтобы получить максимальную отдачу от этого курса, вы должны иметь хорошие знания Python 3.

Вы также должны иметь четкое представление о следующих основах Интернета и Интернета:

  1. IP-адреса, структуры URL и DNS
  2. Веб-браузеры и веб-серверы
  3. HTTP-запросы и ответы

Скачать: https://cloud.mail.ru/public/4sj1/4mpkWLbJb