Введение в WEB от идеи до седых волос#
Здесь будет разобран подробно путь от не знания и половины питона, до уровня выкладывания своего "хорошего" кода на vps заказчика пачками.
В целом для получения знаний решения большинства задач на пути к микросервису который может всё предстоит пройти по большому списку тем, начиная от базового устройства сети вроде что такое http и почему у GET запроса нет body, заканчивая запуском пачки сервисов в докере и всё это ещё с nginx на котором ещё и https настроен и поверх домен на него ссылается.
-
Основы веб-разработки
- HTTP/HTTPS протоколы
- Что такое RESTful API и принципы REST
- Основы HTML и CSS (для фронтенда)
-
Python для веб-разработки
- Основы работы с виртуальным окружением
- Управление зависимостями с помощью pip
-
Основы асинхронного программирования
- Понимание асинхронности в Python:
async
иawait
- Когда и зачем использовать асинхронное программирование
- Понимание асинхронности в Python:
-
Введение в FastAPI
- Создание простого веб-приложения с FastAPI
- Маршрутизация и обработка запросов
- Валидация входных данных с помощью Pydantic
-
Основы работы с базами данных
- Понимание реляционных баз данных
- Основы SQL и работы с PostgreSQL
- Моделирование данных и создание схем БД
-
Интеграция баз данных в FastAPI
- Асинхронные операции с базой данных
- Использование SQLAlchemy для взаимодействия с PostgreSQL
- Работа с миграциями базы данных
-
Аутентификация и авторизация
- Понятие и механизмы аутентификации
- Использование JWT для управления сессиями
- Реализация системы регистрации и входа пользователей
-
Развертывание приложения
- Введение в Docker и Docker Compose
- Контейнеризация приложения и базы данных
- Развертывание на сервере (например, использование Nginx как reverse proxy)
-
Безопасность приложения
- Основы веб-безопасности
- Защита от основных видов атак (например, XSS, CSRF)
- HTTPS и управление сертификатами
-
Тестирование и отладка
- Написание тестов для FastAPI приложений
- Отладка асинхронного кода
- Использование логгирования для отслеживания ошибок
-
Расширенные темы FastAPI
- Работа с фоновыми задачами и Celery
- Интеграция с внешними API
- Реализация расширенных функций API с помощью зависимостей :(
Depends
)