Описание курса: "Web-программирование"
Этот курс разработан для студентов, желающих получить глубокие знания и навыки в области веб-программирования. В рамках курса рассматриваются ключевые технологии веб-разработки, включая работу с клиентской и серверной частями приложений. Особое внимание уделяется основам сетевого программирования, взаимодействию через сокеты, а также созданию полноценных веб-приложений с использованием современных фреймворков.
Основные цели курса:
- Изучить базовые концепции веб-программирования, такие как клиент-серверная архитектура и сетевые протоколы (HTTP, TCP, UDP).
- Овладеть навыками создания клиентской и серверной части веб-приложений.
- Научиться работать с популярными веб-фреймворками, такими как Django, для разработки серверной логики.
- Освоить основы фронтенд-разработки и работу с Vue.js для создания интерактивных веб-интерфейсов.
- Развить навыки документирования API и взаимодействия с REST-сервисами.
Основные разделы курса:
Введение в веб-программирование:
- Основы клиент-серверной архитектуры.
- Основные протоколы сетевого взаимодействия (HTTP, TCP, UDP).
Работа с сокетами:
- Основы сетевого взаимодействия через сокеты.
- Реализация простых приложений для обмена сообщениями через UDP и TCP.
Создание серверной части:
- Разработка серверных приложений на Python с использованием Django.
- Работа с базами данных и ORM (Django ORM).
- Реализация REST API с помощью Django REST Framework.
Фронтенд-разработка:
- Основы JavaScript и работа с Vue.js для создания динамических веб-интерфейсов.
- Настройка взаимодействия между клиентом и сервером через API.
Многопользовательские системы:
- Реализация многопользовательских чатов с использованием потоков и сетевого взаимодействия.
- Работа с сокетами и потоками для обработки нескольких соединений.
Документирование API:
- Принципы документирования API.
- Инструменты для создания технической документации (MkDocs, Read the Docs).
Этот курс подходит как для начинающих веб-разработчиков, так и для студентов, имеющих базовые знания и стремящихся углубить свои навыки в разработке полноценных веб-приложений.