Чему вы научитесь
- ✅ Разбираться в протоколе WebSocket
- * Поймёте принцип работы, отличия от HTTP, преимущества и ограничения
- * Освоите процесс установления соединения (handshake)
- * Изучите структуру фреймов, коды закрытия и состояния соединения
- ✅ Разрабатывать серверы и клиенты на Python
- * Напишете полнофункциональный WebSocket-сервер с использованием современной библиотеки websockets 16.x
- * Создадите клиентские приложения с автоматическим переподключением
- * Реализуете маршрутизацию сообщений и broadcast-рассылки
- ✅ Автоматизировать тестирование с помощью pytest
- * Напишете тесты подключения, обмена сообщениями и обработки ошибок
- * Освоите параметризованные тесты и мокирование
- * Проведёте нагрузочное тестирование множественных подключений
- ✅ Применять знания на практике
- * Создадите чат-приложение с поддержкой множественных пользователей
- * Разработаете систему мониторинга в реальном времени
- * Реализуете пулы соединений и балансировку нагрузки
- ✅ Обеспечивать безопасность
- * Настроите WSS (WebSocket Secure) с SSL/TLS
- * Реализуете проверку Origin и авторизацию через токены
- * Защитите приложение от DoS-атак с помощью rate limiting
О курсе
Для кого этот курс
Начальные требования
📌 Обязательно:
- Базовые знания Python (синтаксис, функции, классы, работа с исключениями)
- Понимание модели клиент-сервер и протокола HTTP
- Установленный Python 3.10+ и среда разработки (рекомендуется PyCharm или VS Code)
📌 Желательно:
- Опыт работы с
asyncioи асинхронным программированием - Знание основ тестирования и фреймворка
pytest - Понимание работы с JSON и сетевыми протоколами
📌 Не требуется:
- Опыт работы с WebSocket (курс начинается с основ)
- Знание других языков программирования
- Опыт настройки серверов и деплоя
Преподаватели курса
Как проходит обучение
🗂️ Структура курса
Курс состоит из 8 глав с теоретическим материалом, примерами кода:
- Введение в WebSocket — теория протокола, преимущества, процесс соединения
- Серверная реализация — создание серверов на Python
- Клиентская реализация — разработка клиентских приложений
- Автоматизированное тестирование — тесты с использованием pytest
- Практические примеры — чат-приложение, система мониторинга
- Оптимизация производительности — пулы соединений, балансировка
- Безопасность WebSocket — WSS, авторизация, защита от атак
- Заключение — итоги и рекомендации
Далее идут практические задания на тестирование:
- Tесты на EndPoint-ы
- Базовое соединение
- Доступные действия
- Несколько ответов на запрос через действие
- Соединение с 2-мя клиентами
- Запросы без параметра действия, несуществующее действие
- Проверка меток времени
- Стресс-тесты
🛠 Формат обучения
📖 Теоретические уроки с объяснением концепций;
💻 Практические примеры кода на Python (библиотека websockets 16.x);
🔬 Задания на автоматизированное тестирование с использованием pytest;
📊 Диаграммы и таблицы для лучшего понимания протокола
✅ Итоговые задания для закрепления знаний;
🎓 Подход к обучению
Каждая тема сопровождается рабочими примерами кода, которые можно запустить локально. Используется библиотека websockets 16.x с новым asyncio API.
Курс делает акцент на практике автоматизированного тестирования: вы не просто изучите теорию, а научитесь писать тесты для WebSocket-приложений, проверять производительность, безопасность и обработку ошибок.
Что вы получите
- 🎁 Практические навыки:
- * Разработка серверов и клиентов WebSocket на Python
- * Автоматизированное тестирование с использованием pytest
- * Оптимизация производительности и масштабирование
- * Обеспечение безопасности real-time приложений
- 🎁 Портфолио проектов:
- * Полнофункциональный WebSocket-сервер
- * Клиентское приложение с автоматическим переподключением
- * Набор автоматизированных тестов (подключение, обмен, нагрузка, безопасность)
- * Чат-приложение с поддержкой множественных пользователей
- * Система мониторинга в реальном времени
- 🎁 Современный стек инструментов:
- * Python 3.10+ с асинхронным программированием
- * Библиотека websockets 16.x
- * Фреймворк pytest для автоматизированного тестирования
- 🎁 Знания для профессионального роста:
- * Глубокое понимание протокола WebSocket и его отличий от HTTP
- * Навыки диагностики и отладки через DevTools
- * Понимание паттернов Pub/Sub, Request/Response, Broadcasting
- * Знание кодов закрытия и состояний соединения для корректной обработки ошибок
- 🎁 Готовность к реальным задачам:
- * После завершения курса вы сможете:
- * Писать тесты для существующих WebSocket-приложений
- * Разрабатывать новые real-time сервисы на Python
- * Оптимизировать производительность высоконагруженных систем