[Python] [Дмитрий Читалов] [Udemy] Создаем мессенджер на базе Python asyncio (2022)

[Дмитрий Читалов] [Udemy] Создаем мессенджер на ба_0.png


[Дмитрий Читалов] [Udemy] Создаем мессенджер на базе Python asyncio (2022)

Вы научитесь создавать асинхронные проекты средствами Python asyncio.

Чему вы научитесь:

1. Возможности библиотеки Python asyncio

2. Возможности библиотеки PyQt

3. Особенности реализации клиент-серверных приложений

4. Возможности библиотеки SQLAlchemy

Асинхронный механизм работы приложений все чаще реализуется разработчиками.

Он позволяет, не дожидаясь завершения выполнения одних задач, создавать и запускать новые задачи. Благодаря такому подходу обеспечивается быстродействие приложения, что является важным критерием при разработке программ. В Python нам доступна замечательная библиотека asyncio. Несмотря, на то, что она сравнительно новая, ее возможности уже широки применяются Python-разработчиками. Мы сможем применить ее в рамках работы над клиент-серверным приложением. Это будет мессенджер с графическим интерфейсом и базой данных. Конечно мы не сможем за один курс реализовать полноценный «боевой» мессенджер. Мы создадим упрощенную копию известных мессенджеров, но с необходимым базовым функционалом и привычным оконным интерфейсом.

Помимо изучения непосредственно библиотеки Python asyncio мы уделим большое внимание работе с ORM-библиотекой SQLAlchemy, через которую настроим взаимодействие с базой данных.

Также мы поработаем с библиотекой PyQt для создания привлекательной графической оболочки мессенджера. Работа над созданием мессенджера будет проходить в несколько этапов, начиная с освоения самой библиотеки Python asyncio и создания шаблона проекта, заканчивая сложной логикой взаимодействия серверного и клиентского приложения в части регистрации клиентов, выбора ими контактов для общения, удаления контактов, отправки сообщений. Мы научимся запускать одновременно несколько программ для отладки, а также создадим специальный запускаемый файл для тестирования работу приложения. Мы обязательно столкнемся со множеством ошибок, но успешно их преодолеем и получим благодаря ошибкам ценнейший опыт.

Содержание:

Модуль 1 - Введение в асинхронное программирование на Python

* Введение в курс

* Различия синхронного и асинхронного подходов

* Где применяется асинхронный подход

* Как связаны между собой понятия параллелизма, поточности и асинхронности

* Погружаемся в параллелизм, поточность и асинхронность

* Как организуются конкурентные вычисления в Python

* Многопоточность в Python

* Асинхронность в Python

* Параллелизм в Python

* Как определить подходящий механизм конкурентного выполнения кода в Python

* Для закрепления о многопоточности, асинхронности и параллелизме

* сопрограмма («корутина»)

* задача («таск»)

* цикл событий

* еще раз про цикл событий

* в чем разница корутинами и задачами

Модуль 2 - Создаём виртуальное окружение и шаблон проекта

* Создаем виртуальное окружение. Часть 1

* Создаем виртуальное окружение. Часть 2

* Устанавливаем служебные плагины

* Создаем начальную структуру проекта

Модуль 3 - Создаём начальный функционал серверной части приложения

* Реализуем модели. Часть 1

* Реализуем модели. Часть 2

* Реализуем класс-коннектор для работы с базой данных

* Реализуем класс-контроллер для операций с базой данных

* Реализуем миксины для операций с базой данных

* Реализуем миксины для операций с сообщениями

* Создаем конструктор сообщений

* Создаем главный серверный класс

* Переопределяем метод установления соединения

* Реализуем метод для аутентификации клиента

* Переопределяем метод получения данных

* Создаем запускаемый модуль для сервера

* Настраиваем главный метод серверного класса

* Настраиваем функцию парсинга аргументов сервера

Модуль 4 - Создаём начальный функционал клиентской части приложения

* Реализуем модели

* Реализуем класс-коннектор для операций с базой данных

* Реализуем класс-контроллер для операций с базой данных

* Реализуем миксины для операций с базой данных и сообщениями

* Создаем конструктор сообщений

* Создаем главный клиентский класс. Часть 1

* Создаем главный клиентский класс. Часть 2

* Создаем главный клиентский класс. Часть 3

* Создаем главный клиентский класс. Часть 4

* Создаем класс для аутентификации клиента

* Создаем запускаемый модуль для клиента

* Настраиваем главный метод класса. Часть 1

* Настраиваем главный метод класса. Часть 2

* Выполняем тестовый запуск проекта. Часть 1

* Выполняем тестовый запуск проекта. Часть 2

Модуль 5 - Создаём основу графического интерфейса сервера и клиента

* Устанавливаем библиотеку pyqt5. Часть 1

* Устанавливаем библиотеку pyqt5. Часть 2

* Создаем главное окно приложения

* Подключаем главное окно сервера к запускаемому файлу

* Проверяем работу графического интерфейса сервера

* Создаем форму для отправки сообщений

* Создаем форму для аутентификации

* Создаем форму для работы с контактам

* Создаем главное окно клиентского приложения

* Подключаем главное окно клиента к запускаемому файлу

* Проверяем работу приложения

Модуль 6 - Реализуем основную логику серверного и клиентского приложений

* Создаем класс-модель для таблицы с контактами

* Создаем класс-модель для таблицы с сообщениями

* Создаем классы-модели для клиента

* Реализуем метод для добавления контакта

* Реализуем метод для удаления контакта

* Реализуем метод для получения списка контактов для пользователя

* Реализуем метод для получения зарегистрированных пользователей

* Реализуем метод для получения истории входов пользователя

* Реализуем метод для перевода клиента в статус «оффлайн»

* Реализуем метод для получения статуса пользователя

* Реализуем метод для сохранения указанного сообщения

* Реализуем метод для получения сообщений пользователя

* Дополняем клиентский класс-контроллер методами для операций с базой данных

* Дополняем серверный и клиентский классы-миксины

* Дополняем конструктор сообщений клиентского приложения

Модуль 7 - Настраиваем взаимодействие сервера и клиента через графический интерфейс

* Дорабатываем окно авторизации

* Дорабатываем модуль run.py клиента

* Дорабатываем окно с контактами

* Проверяем работу приложения 1

* Дорабатываем главное окно серверного приложения

* Проверяем работу приложения 2

* Реализуем отображение окна с контактами

* Проверяем работу приложения 3

* Дорабатываем окно с чатом

* Дорабатываем модуль client_proto.py

* Корректируем главное окно серверного приложения

* Проверяем работу приложения 4

* Выполняем доработку серверного приложения

* Устраняем ошибки перед проверкой 5

* Проверяем работу приложения 5

* Выполняем итоговую доработку

* Проверяем работу приложения 6

Модуль 8 - Создаём лаунчер для запуска проекта

* Реализуем первый способ запуска

* Реализуем второй способ запуска

* Итоги курса



—————————————————————————

🔗 Продажник:
Доступно пользователям: Зарегистрированный


📥 СКАЧАТЬ КУРС:
🔐 Хотите получить доступ?

Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.

💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал
 

Похожие курсы

Назад
Верх