[Дмитрий Читалов] [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 asyncio
Скачать:
Вы научитесь создавать асинхронные проекты средствами 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 Для закрепления о многопоточности, асинхронности и параллелизме сопрограмма («корутина») задача («таск») цикл событий еще раз про цикл событий в чем разница корутинами и задачами
- Создаем виртуальное окружение. Часть 1 Создаем виртуальное окружение. Часть 2 Устанавливаем служебные плагины Создаем начальную структуру проекта
- Реализуем модели. Часть 1 Реализуем модели. Часть 2 Реализуем класс-коннектор для работы с базой данных Реализуем класс-контроллер для операций с базой данных Реализуем миксины для операций с базой данных Реализуем миксины для операций с сообщениями Создаем конструктор сообщений Создаем главный серверный класс Переопределяем метод установления соединения Реализуем метод для аутентификации клиента Переопределяем метод получения данных Создаем запускаемый модуль для сервера Настраиваем главный метод серверного класса Настраиваем функцию парсинга аргументов сервера
- Реализуем модели Реализуем класс-коннектор для операций с базой данных Реализуем класс-контроллер для операций с базой данных Реализуем миксины для операций с базой данных и сообщениями Создаем конструктор сообщений Создаем главный клиентский класс. Часть 1 Создаем главный клиентский класс. Часть 2 Создаем главный клиентский класс. Часть 3 Создаем главный клиентский класс. Часть 4 Создаем класс для аутентификации клиента Создаем запускаемый модуль для клиента Настраиваем главный метод класса. Часть 1 Настраиваем главный метод класса. Часть 2 Выполняем тестовый запуск проекта. Часть 1 Выполняем тестовый запуск проекта. Часть 2
- Устанавливаем библиотеку pyqt5. Часть 1 Устанавливаем библиотеку pyqt5. Часть 2 Создаем главное окно приложения Подключаем главное окно сервера к запускаемому файлу Проверяем работу графического интерфейса сервера Создаем форму для отправки сообщений Создаем форму для аутентификации Создаем форму для работы с контактам Создаем главное окно клиентского приложения Подключаем главное окно клиента к запускаемому файлу Проверяем работу приложения
- Создаем класс-модель для таблицы с контактами Создаем класс-модель для таблицы с сообщениями Создаем классы-модели для клиента Реализуем метод для добавления контакта Реализуем метод для удаления контакта Реализуем метод для получения списка контактов для пользователя Реализуем метод для получения зарегистрированных пользователей Реализуем метод для получения истории входов пользователя Реализуем метод для перевода клиента в статус «оффлайн» Реализуем метод для получения статуса пользователя Реализуем метод для сохранения указанного сообщения Реализуем метод для получения сообщений пользователя Дополняем клиентский класс-контроллер методами для операций с базой данных Дополняем серверный и клиентский классы-миксины Дополняем конструктор сообщений клиентского приложения
- Дорабатываем окно авторизации Дорабатываем модуль run.py клиента Дорабатываем окно с контактами Проверяем работу приложения 1 Дорабатываем главное окно серверного приложения Проверяем работу приложения 2 Реализуем отображение окна с контактами Проверяем работу приложения 3 Дорабатываем окно с чатом Дорабатываем модуль client_proto.py Корректируем главное окно серверного приложения Проверяем работу приложения 4 Выполняем доработку серверного приложения Устраняем ошибки перед проверкой 5 Проверяем работу приложения 5 Выполняем итоговую доработку Проверяем работу приложения 6
- Реализуем первый способ запуска Реализуем второй способ запуска Итоги курса
Создаем мессенджер на базе Python asyncio
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.