ви навчитеся створювати асинхронні проекти засобами Python asyncio
Чому ви навчитеся:
- Можливості бібліотеки Python asyncio
- Можливості бібліотеки PyQt
- Особливості реалізації клієнт-серверних додатків
- Можливості бібліотеки SQLAlchemy
крім вивчення безпосередньо бібліотеки 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
- реалізуємо перший спосіб запуску
- реалізуємо другий спосіб запуску
- підсумки курсу
https://privatelink.de/?https://www.udemy.com/course/python-asyncio/