Описание
[Дмитрий Читалов] Создаем мессенджер на базе Python asyncio (2022) [Udemy]
![[Дмитрий Читалов] Создаем мессенджер на базе Python asyncio (2022) [Udemy]](https://freekurses.site/wp-content/uploads/dmitrij-chitalov-sozdaem-messendzher-na-baze-python-asyncio-2022-udemy-1-1.png)
Вы научитесь создавать асинхронные проекты средствами Python asyncio.
Чему вы научитесь:
1. Возможности библиотеки Python asyncio
2. Возможности библиотеки PyQt
3. Особенности реализации клиент-серверных приложений
4. Возможности библиотеки SQLAlchemy
Асинхронный механизм работы приложений все чаще реализуется разработчиками. Он позволяет, не дожидаясь завершения выполнения одних задач, создавать и запускать новые задачи. Благодаря такому подходу обеспечивается быстродействие приложения, что является важным критерием при разработке программ. В Python нам доступна замечательная библиотека asyncio. Несмотря, на то, что она сравнительно новая, ее возможности уже широки применяются Python-разработчиками. Мы сможем применить ее в рамках работы над клиент-серверным приложением. Это будет мессенджер с графическим интерфейсом и базой данных. Конечно мы не сможем за один курс реализовать полноценный «боевой» мессенджер. Мы создадим упрощенную копию известных мессенджеров, но с необходимым базовым функционалом и привычным оконным интерфейсом.
Помимо изучения непосредственно библиотеки Python asyncio мы уделим большое внимание работе с ORM-библиотекой SQLAlchemy, через которую настроим взаимодействие с базой данных. Также мы поработаем с библиотекой PyQt для создания привлекательной графической оболочки мессенджера. Работа над созданием мессенджера будет проходить в несколько этапов, начиная с освоения самой библиотеки Python asyncio и создания шаблона проекта, заканчивая сложной логикой взаимодействия серверного и клиентского приложения в части регистрации клиентов, выбора ими контактов для общения, удаления контактов, отправки сообщений. Мы научимся запускать одновременно несколько программ для отладки, а также создадим специальный запускаемый файл для тестирования работу приложения. Мы обязательно столкнемся со множеством ошибок, но успешно их преодолеем и получим благодаря ошибкам ценнейший опыт.
Содержание курса:
- Введение в курс
- Различия синхронного и асинхронного подходов
- Где применяется асинхронный подход
- Как связаны между собой понятия параллелизма, поточности и асинхронности
- Погружаемся в параллелизм, поточность и асинхронность
- Как организуются конкурентные вычисления в 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 — Создаём лаунчер для запуска проекта
- Реализуем первый способ запуска
- Реализуем второй способ запуска
- Итоги курса
Примечание: язык курса Русский.
Автор курса: Дмитрий Читалов
Сайт продажника: https://www.udemy.com/course/python-asyncio/
Цена с продажника: 2990 руб.
У нас Вы можете приобрести всего за 200 руб.

![[Дмитрий Читалов] Создаем мессенджер на базе Python asyncio (2022) [Udemy]](https://infoshopik.com/wp-content/uploads/2022/08/dmitrij-chitalov-sozdaem-messendzher-na-baze-python-asyncio-2022-udemy-.png)
![[fANDROID] Продвинутый курс по разработке android-приложения «ТОП-100 криптовалют» на Котлин (2019)](https://infoshopik.com/wp-content/uploads/2021/12/fandroid-prodvinutyj-kurs-po-razrabotke-android-prilozhenija-top-100-kriptovaljut-na-kotlin-2019-324x324.jpg)
![[Макс Зарев] Автоматизация Python+ADS+Web3 (2025) [Coin Metrika]](https://infoshopik.com/wp-content/uploads/2025/10/maks-zarev-avtomatizatsiya-pythonadsweb3-2025-coin-metrika-324x324.png)
![[Monsterlessons] Vue и Vuex - пишем реальный проект с нуля (2020)](https://infoshopik.com/wp-content/uploads/2021/12/monsterlessons-vue-i-vuex-pishem-realnyj-proekt-s-nulja-2020-324x324.png)
![[GeekBrains] Факультет веб-разработки (2021)](https://infoshopik.com/wp-content/uploads/2021/12/geekbrains-fakultet-veb-razrabotki-2021-324x324.png)
![[HTML academy] Навык «Вёрстка многослойных элементов интерфейса» (2020) [Тариф «Полный комплект»]](https://infoshopik.com/wp-content/uploads/2021/12/html-academy-navyk-vjorstka-mnogoslojnyh-jelementov-interfejsa-2020-tarif-polnyj-komplekt-324x324.png)
![[Яндекс.Практикум] Инженер данных (Data Engineer) (2022) часть 1/6](https://infoshopik.com/wp-content/uploads/2022/11/jandeks.praktikum-inzhener-dannyh-data-engineer-2022-chast-16-324x324.png)
![[Бауыржан Абдигалин] Создание многостраничного сайта на Wordpress с нуля (2024) [Udemy]](https://infoshopik.com/wp-content/uploads/2024/12/bauyrzhan-abdigalin-sozdanie-mnogostranichnogo-sayta-na-wordpress-s-nulya-2024-udemy--324x324.png)
![[HTML Academy] Проект на JavaScript «Сайт объявлений» (2022)](https://infoshopik.com/wp-content/uploads/2022/12/html-academy-proekt-na-javascript-sajt-objavlenij-2022-324x324.png)
![[Ismail] Подсказки ChatGPT для разработчиков (2023)](https://infoshopik.com/wp-content/uploads/2023/03/ismail-podskazki-chatgpt-dlja-razrabotchikov-2023-324x324.jpg)
![[HTML Academy] Онлайн-курс «Webpack» (2023)](https://infoshopik.com/wp-content/uploads/2023/05/html-academy-onlajn-kurs-webpack-2023-324x324.png)
![[Яндекс.Практикум] Инженер данных. Data Engineer. Весь курс](https://infoshopik.com/wp-content/uploads/2023/09/jandeks.praktikum-inzhener-dannyh.-data-engineer.-ves-kurs-324x324.png)
![[Евдокимов Сергей] React JS 2020 С нуля до профи, лучшие практики (2020)](https://infoshopik.com/wp-content/uploads/2021/12/evdokimov-sergej-react-js-2020-s-nulja-do-profi-luchshie-praktiki-2020-324x324.png)
![[Udemy] Squid-проксирование веб-трафика (2019)](https://infoshopik.com/wp-content/uploads/2021/12/udemy-squid-proksirovanie-veb-trafika-2019-324x324.jpg)
![[Udemy] Windows Server 2016 (70-740) полный видеокурс (Elchin Jamalov) (2019)](https://infoshopik.com/wp-content/uploads/2021/12/udemy-elchin-jamalov-windows-server-2016-70-740-polnyj-videokurs-2019-324x324.jpg)
![[Илья Низамов] Telegram Web App 1C (2024)](https://infoshopik.com/wp-content/uploads/2024/05/ilja-nizamov-telegram-web-app-1c-2024-324x324.png)
![[Serge Bobrovsky] Как успешно проходить собеседования с живым кодингом (2025)](https://infoshopik.com/wp-content/uploads/2025/08/serge-bobrovsky-kak-uspeshno-prohodit-sobesedovaniya-s-zhivym-kodingom-2025-324x324.png)
![[Александр Чумилин] Основы этичного хакинга (2024) [Stepik]](https://infoshopik.com/wp-content/uploads/2024/08/aleksandr-chumilin-osnovy-jetichnogo-hakinga-2024-stepik--324x324.jpg)
![[Михаил Непомнящий] Тестирование JavaScript и React приложений (2024)](https://infoshopik.com/wp-content/uploads/2024/04/mihail-nepomnjashhij-testirovanie-javascript-i-react-prilozhenij-2024-324x324.png)
![[Дмитрий Лаврик] PHP – базовый курс (2019)](https://infoshopik.com/wp-content/uploads/2021/12/dmitrij-lavrik-php-bazovyj-kurs-2019-324x324.jpg)
![[Evgeniy Lestopadov] Регулярные выражения на примерах (2023) [Stepik]](https://infoshopik.com/wp-content/uploads/2023/07/evgeniy-lestopadov-reguljarnye-vyrazhenija-na-primerah-2023-stepik--324x324.png)
Отзывы
Отзывов пока нет.