- Регистрация
 - 27 Авг 2018
 
- Сообщения
 - 47,045
 
- Реакции
 - 947,502
 
- Тема Автор Вы автор данного материала? |
 - #1
 
		
		
		
			Голосов: 0
		
	
			
				
					
	ОПИСАНИЕ:
Вы научитесь создавать асинхронные проекты средствами 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
 
- Реализуем первый способ запуска
 - Реализуем второй способ запуска
 - Итоги курса
 
СКАЧАТЬ: