Перейти к содержанию

Введение в WEB от идеи до седых волос#

Здесь будет разобран подробно путь от не знания и половины питона, до уровня выкладывания своего "хорошего" кода на vps заказчика пачками.

В целом для получения знаний решения большинства задач на пути к микросервису который может всё предстоит пройти по большому списку тем, начиная от базового устройства сети вроде что такое http и почему у GET запроса нет body, заканчивая запуском пачки сервисов в докере и всё это ещё с nginx на котором ещё и https настроен и поверх домен на него ссылается.

  1. Основы веб-разработки

    • HTTP/HTTPS протоколы
    • Что такое RESTful API и принципы REST
    • Основы HTML и CSS (для фронтенда)
  2. Python для веб-разработки

    • Основы работы с виртуальным окружением
    • Управление зависимостями с помощью pip
  3. Основы асинхронного программирования

    • Понимание асинхронности в Python: async и await
    • Когда и зачем использовать асинхронное программирование
  4. Введение в FastAPI

    • Создание простого веб-приложения с FastAPI
    • Маршрутизация и обработка запросов
    • Валидация входных данных с помощью Pydantic
  5. Основы работы с базами данных

    • Понимание реляционных баз данных
    • Основы SQL и работы с PostgreSQL
    • Моделирование данных и создание схем БД
  6. Интеграция баз данных в FastAPI

    • Асинхронные операции с базой данных
    • Использование SQLAlchemy для взаимодействия с PostgreSQL
    • Работа с миграциями базы данных
  7. Аутентификация и авторизация

    • Понятие и механизмы аутентификации
    • Использование JWT для управления сессиями
    • Реализация системы регистрации и входа пользователей
  8. Развертывание приложения

    • Введение в Docker и Docker Compose
    • Контейнеризация приложения и базы данных
    • Развертывание на сервере (например, использование Nginx как reverse proxy)
  9. Безопасность приложения

    • Основы веб-безопасности
    • Защита от основных видов атак (например, XSS, CSRF)
    • HTTPS и управление сертификатами
  10. Тестирование и отладка

    • Написание тестов для FastAPI приложений
    • Отладка асинхронного кода
    • Использование логгирования для отслеживания ошибок
  11. Расширенные темы FastAPI

    • Работа с фоновыми задачами и Celery
    • Интеграция с внешними API
    • Реализация расширенных функций API с помощью зависимостей :(Depends)