Содержание курса
1. Введение в асинхронное программирование на Python
15 уроков
477
418
65м
3
Открытый
1.1
различия синхронного и асинхронного подходов
↗
74
15
5м 10с
2
Открытый
1.2
где применяется асинхронный подход
↗
39
39
1м 29с
0
Закрытый
1.3
как связаны понятия параллелизма, поточности и асинхронности
↗
34
34
6м 13с
1
Закрытый
1.4
погружаемся в параллелизм, поточность и асинхронность
↗
32
32
8м 8с
0
Закрытый
1.5
как организуются конкурентные вычисления в python
↗
30
30
2м 1с
0
Закрытый
1.6
многопоточность в python
↗
29
29
5м 9с
0
Закрытый
1.7
асинхронность в python
↗
27
27
8м 49с
0
Закрытый
1.8
параллелизм в python
↗
27
27
3м 2с
0
Закрытый
1.9
как определить подходящий механизм конкурентного выполнения кода
↗
26
26
5м 35с
0
Закрытый
1.10
для закрепления о мнопоточности, асинхронности и параллелизме
↗
27
27
4м 30с
0
Закрытый
1.11
сопрограмма («корутина»)
↗
27
27
4м 55с
0
Закрытый
1.12
задача («таск»)
↗
27
27
2м 57с
0
Закрытый
1.13
цикл событий
↗
26
26
4м 4с
0
Закрытый
1.14
еще раз про цикл событий
↗
26
26
3м 46с
0
Закрытый
1.15
в чем разница между корутинами и задачами
↗
26
26
4м 20с
0
2. Создаем виртуальное окружение и шаблон проекта
4 урока
111
88
25м
1
Закрытый
2.1
создаем виртуальное окружение ч1
↗
30
7
6м 47с
0
Закрытый
2.2
создаем виртуальное окружение ч2
↗
27
27
3м 38с
0
Закрытый
2.3
устанавливаем служебные плагины
↗
28
28
14м 58с
0
Закрытый
2.4
создаем начальную структуру проекта
↗
26
26
2м 25с
1
3. Создаем начальный функционал серверной части приложения
14 уроков
273
253
83м
1
Закрытый
3.1
реализуем модели ч1
↗
29
9
7м 33с
0
Закрытый
3.2
реализуем модели ч2
↗
25
25
3м 12с
0
Закрытый
3.3
реализуем класс-коннектор для работы с базой данных
↗
22
22
5м 15с
0
Закрытый
3.4
реализуем класс-контроллер для операций с базой данных
↗
21
21
9м 26с
0
Закрытый
3.5
реализуем миксины для операций с базой данных
↗
20
20
7м 46с
0
Закрытый
3.6
реализуем миксины для операций с сообщениями
↗
21
21
7м 20с
1
Закрытый
3.7
создаем конструктор сообщений
↗
20
20
2м 28с
0
Закрытый
3.8
создаем главный серверный класс
↗
18
18
6м 50с
0
Закрытый
3.9
переопределяем метод установления соединения
↗
17
17
2м 42с
0
Закрытый
3.10
реализуем метод для аутентификации клиента
↗
17
17
4м 20с
0
Закрытый
3.11
переопределяем метод получения данных
↗
16
16
11м 13с
0
Закрытый
3.12
создаем запускаемый модуль для сервера. настраиваем импорты
↗
16
16
3м 26с
0
Закрытый
3.13
настраиваем главный метод серверного класса
↗
15
15
11м 47с
0
Закрытый
3.14
настраиваем функцию парсинга аргументов сервера
↗
16
16
5м 59с
0
4. Создаем начальный функционал клиентской части приложения
15 уроков
198
183
62м
0
Закрытый
4.1
реализуем модели
↗
17
2
3м 15с
0
Закрытый
4.2
реализуем класс-коннектор для операций с базой данных
↗
15
15
1м 1с
0
Закрытый
4.3
реализуем класс-контроллер для операций с базой данных
↗
14
14
2м 11с
0
Закрытый
4.4
реализуем миксины для операций с базой данных и сообщениями
↗
13
13
4м 56с
0
Закрытый
4.5
создаем конструктор сообщений
↗
14
14
1м 58с
0
Закрытый
4.6
создаем главный клиентский класс ч1
↗
13
13
5м 33с
0
Закрытый
4.7
создаем главный клиентский класс ч2
↗
13
13
5м 1с
0
Закрытый
4.8
создаем главный клиентский класс ч3
↗
13
13
7м 17с
0
Закрытый
4.9
создаем главный клиентский класс ч4
↗
11
11
8м 51с
0
Закрытый
4.10
создаем класс для аутентификации клиента
↗
12
12
5м 6с
0
Закрытый
4.11
создаем запускаемый модуль для клиента
↗
12
12
1м 21с
0
Закрытый
4.12
настраиваем главный метод клиентского класса ч1
↗
12
12
3м 49с
0
Закрытый
4.13
настраиваем главный метод клиентского класса ч2
↗
13
13
6м 38с
0
Закрытый
4.14
выполняем тестовый запуск проекта ч1
↗
13
13
2м 29с
0
Закрытый
4.15
выполняем тестовый запуск проекта ч2
↗
13
13
8м 12с
0
5. Создаем основу графического интерфейса сервера и клиента
11 уроков
123
108
44м
0
Закрытый
5.1
устанавливаем библиотеку pyqt5 ч1
↗
17
2
4м 17с
0
Закрытый
5.2
устанавливаем библиотеку pyqt5 ч2
↗
12
12
1м 54с
0
Закрытый
5.3
создаем главное окно серверного приложения
↗
14
14
15м 53с
0
Закрытый
5.4
подключаем главное окно сервера к запускаемому файлу
↗
11
11
6м 37с
0
Закрытый
5.5
проверяем работу графического интерфейса сервера
↗
11
11
2м 7с
0
Закрытый
5.6
создаем форму для отправки сообщений
↗
11
11
5м 43с
0
Закрытый
5.7
создаем форму для аутентификации
↗
10
10
3м 38с
0
Закрытый
5.8
создаем форму для работы с контактами
↗
10
10
1м 11с
0
Закрытый
5.9
создаем главное окно клиентского приложения
↗
9
9
2м 51с
0
Закрытый
5.10
подключаем главное окно клиента к запускаемому файлу
↗
9
9
5м 15с
0
Закрытый
5.11
проверяем работу приложения
↗
9
9
1м 59с
0
6. Реализуем основную логику серверного и клиентского приложений
15 уроков
136
123
31м
0
Закрытый
6.1
создаем класс-модель для таблицы с контактами
↗
14
1
5м 39с
0
Закрытый
6.2
создаем класс-модель для таблицы с сообщениями
↗
9
9
2м 46с
0
Закрытый
6.3
создаем класс-модель для таблицы с сообщениями для клиента
↗
9
9
1м 18с
0
Закрытый
6.4
реализуем метод для добавления контакта
↗
7
7
3м 9с
0
Закрытый
6.5
реализуем метод для удаления контакта
↗
9
9
2м 27с
0
Закрытый
6.6
реализуем метод для получения списка контактов для пользователя
↗
9
9
1м 16с
0
Закрытый
6.7
реализуем метод для получения зарегистрированных пользователей
↗
8
8
1м 39с
0
Закрытый
6.8
реализуем метод для получения истории входов пользователя
↗
9
9
1м 51с
0
Закрытый
6.9
реализуем метод для перевода клиента в статус «оффлайн»
↗
9
9
1м 3с
0
Закрытый
6.10
реализуем метод для получения статуса пользователя
↗
8
8
1м 41с
0
Закрытый
6.11
реализуем метод для сохранения указанного сообщения
↗
8
8
2м 5с
0
Закрытый
6.12
реализуем метод для получения сообщений пользователя
↗
9
9
1м 42с
0
Закрытый
6.13
дополняем клиентский класс-контроллер методами для операций с БД
↗
9
9
4м 11с
0
Закрытый
6.14
дополняем серверный и клиентский классы-миксины
↗
10
10
2м 52с
0
Закрытый
6.15
дополняем конструктор сообщений клиентского приложения
↗
9
9
4м 19с
0
7. Настраиваем взаимодействие сервера и клиента через интерфейс
17 уроков
126
115
78м
0
Закрытый
7.1
дорабатываем окно авторизации
↗
12
1
7м 18с
0
Закрытый
7.2
дорабатываем модуль run.py клиента
↗
9
9
5м 58с
0
Закрытый
7.3
дорабатываем окно с контактами
↗
7
7
3м 11с
0
Закрытый
7.4
проверяем работу приложения 1
↗
7
7
5м 39с
0
Закрытый
7.5
дорабатываем главное окно серверного приложения
↗
7
7
5м 58с
0
Закрытый
7.6
проверяем работу приложения 2
↗
6
6
1м 17с
0
Закрытый
7.7
реализуем отображение окна с контактами
↗
6
6
6м 23с
0
Закрытый
7.8
проверяем работу приложения 3
↗
6
6
2м 21с
0
Закрытый
7.9
дорабатываем окно с чатом
↗
6
6
9м 21с
0
Закрытый
7.10
дорабатываем модуль client_proto.py
↗
6
6
4м 14с
0
Закрытый
7.11
корректируем главное окно серверного приложения
↗
7
7
3м 12с
0
Закрытый
7.12
проверяем работу приложения 4
↗
7
7
1м 0с
0
Закрытый
7.13
выполняем доработку серверного приложения
↗
8
8
10м 59с
0
Закрытый
7.14
устраняем ошибки перед проверкой
↗
6
6
3м 28с
0
Закрытый
7.15
проверяем работу приложения 5
↗
8
8
3м 40с
0
Закрытый
7.16
выполняем итоговую доработку
↗
8
8
7м 50с
0
Закрытый
7.17
проверяем работу приложения 6
↗
10
10
2м 18с
0
8. Создаем лаунчер для запуска проекта
2 урока
26
12
6м
0
Закрытый
8.1
реализуем первый способ запуска
↗
14
0
3м 49с
0
Закрытый
8.2
реализуем второй способ запуска
↗
12
12
3м 22с
0