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

serafim

Житель Разулы
Команда форума
Разула в сердце
Регистрация
25 Апр 2016
Сообщения
78.857
Реакции
174.487
Ra
243.327
[Дмитрий Читалов] [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 - Создаём лаунчер для запуска проекта
  • Реализуем первый способ запуска Реализуем второй способ запуска Итоги курса
Продажник:
Создаем мессенджер на базе Python asyncio
Скачать:
 

Похожие темы

Сверху