Содержание курса
Введение в асинхронное программирование на Python
15 уроков
1.
различия синхронного и асинхронного подходов
↗
2.
где применяется асинхронный подход
↗
3.
как связаны понятия параллелизма, поточности и асинхронности
↗
4.
погружаемся в параллелизм, поточность и асинхронность
↗
5.
как организуются конкурентные вычисления в python
↗
6.
многопоточность в python
↗
7.
асинхронность в python
↗
8.
параллелизм в python
↗
9.
как определить подходящий механизм конкурентного выполнения кода
↗
10.
для закрепления о мнопоточности, асинхронности и параллелизме
↗
11.
сопрограмма («корутина»)
↗
12.
задача («таск»)
↗
13.
цикл событий
↗
14.
еще раз про цикл событий
↗
15.
в чем разница между корутинами и задачами
↗
Создаем виртуальное окружение и шаблон проекта
4 урока
1.
создаем виртуальное окружение ч1
↗
2.
создаем виртуальное окружение ч2
↗
3.
устанавливаем служебные плагины
↗
4.
создаем начальную структуру проекта
↗
Создаем начальный функционал серверной части приложения
14 уроков
1.
реализуем модели ч1
↗
2.
реализуем модели ч2
↗
3.
реализуем класс-коннектор для работы с базой данных
↗
4.
реализуем класс-контроллер для операций с базой данных
↗
5.
реализуем миксины для операций с базой данных
↗
6.
реализуем миксины для операций с сообщениями
↗
7.
создаем конструктор сообщений
↗
8.
создаем главный серверный класс
↗
9.
переопределяем метод установления соединения
↗
10.
реализуем метод для аутентификации клиента
↗
11.
переопределяем метод получения данных
↗
12.
создаем запускаемый модуль для сервера. настраиваем импорты
↗
13.
настраиваем главный метод серверного класса
↗
14.
настраиваем функцию парсинга аргументов сервера
↗
Создаем начальный функционал клиентской части приложения
15 уроков
1.
реализуем модели
↗
2.
реализуем класс-коннектор для операций с базой данных
↗
3.
реализуем класс-контроллер для операций с базой данных
↗
4.
реализуем миксины для операций с базой данных и сообщениями
↗
5.
создаем конструктор сообщений
↗
6.
создаем главный клиентский класс ч1
↗
7.
создаем главный клиентский класс ч2
↗
8.
создаем главный клиентский класс ч3
↗
9.
создаем главный клиентский класс ч4
↗
10.
создаем класс для аутентификации клиента
↗
11.
создаем запускаемый модуль для клиента
↗
12.
настраиваем главный метод клиентского класса ч1
↗
13.
настраиваем главный метод клиентского класса ч2
↗
14.
выполняем тестовый запуск проекта ч1
↗
15.
выполняем тестовый запуск проекта ч2
↗
Создаем основу графического интерфейса сервера и клиента
11 уроков
1.
устанавливаем библиотеку pyqt5 ч1
↗
2.
устанавливаем библиотеку pyqt5 ч2
↗
3.
создаем главное окно серверного приложения
↗
4.
подключаем главное окно сервера к запускаемому файлу
↗
5.
проверяем работу графического интерфейса сервера
↗
6.
создаем форму для отправки сообщений
↗
7.
создаем форму для аутентификации
↗
8.
создаем форму для работы с контактами
↗
9.
создаем главное окно клиентского приложения
↗
10.
подключаем главное окно клиента к запускаемому файлу
↗
11.
проверяем работу приложения
↗
Реализуем основную логику серверного и клиентского приложений
15 уроков
1.
создаем класс-модель для таблицы с контактами
↗
2.
создаем класс-модель для таблицы с сообщениями
↗
3.
создаем класс-модель для таблицы с сообщениями для клиента
↗
4.
реализуем метод для добавления контакта
↗
5.
реализуем метод для удаления контакта
↗
6.
реализуем метод для получения списка контактов для пользователя
↗
7.
реализуем метод для получения зарегистрированных пользователей
↗
8.
реализуем метод для получения истории входов пользователя
↗
9.
реализуем метод для перевода клиента в статус «оффлайн»
↗
10.
реализуем метод для получения статуса пользователя
↗
11.
реализуем метод для сохранения указанного сообщения
↗
12.
реализуем метод для получения сообщений пользователя
↗
13.
дополняем клиентский класс-контроллер методами для операций с БД
↗
14.
дополняем серверный и клиентский классы-миксины
↗
15.
дополняем конструктор сообщений клиентского приложения
↗
Настраиваем взаимодействие сервера и клиента через интерфейс
17 уроков
1.
дорабатываем окно авторизации
↗
2.
дорабатываем модуль run.py клиента
↗
3.
дорабатываем окно с контактами
↗
4.
проверяем работу приложения 1
↗
5.
дорабатываем главное окно серверного приложения
↗
6.
проверяем работу приложения 2
↗
7.
реализуем отображение окна с контактами
↗
8.
проверяем работу приложения 3
↗
9.
дорабатываем окно с чатом
↗
10.
дорабатываем модуль client_proto.py
↗
11.
корректируем главное окно серверного приложения
↗
12.
проверяем работу приложения 4
↗
13.
выполняем доработку серверного приложения
↗
14.
устраняем ошибки перед проверкой
↗
15.
проверяем работу приложения 5
↗
16.
выполняем итоговую доработку
↗
17.
проверяем работу приложения 6
↗
Создаем лаунчер для запуска проекта
2 урока
1.
реализуем первый способ запуска
↗
2.
реализуем второй способ запуска
↗