Язык Python в технологиях клиент-сервер и распределенных вычислениях

 

Код курса: Python.

Продолжительность обучения: 40 уч. часов/5 дней.

Сроки проведения: 24.06 - 28.06.

Время проведения курса:  очная дневная .

 

Центр повышения квалификации руководящих работников и специалистов в области ИТ предлагает повышение квалификации по тематике «Язык Python в технологиях клиент-сервер и распределенных вычислениях». Программа предназначена для программистов, разработчиков приложений с использованием языка Python; специалистов, сопровождающих корпоративные приложения сервера базы данных. В курсе изучаются вопросы ООП в Python, работа с механизмами обмена информацией - XML, JSON, SOAP, REST, клиентские приложения - PyQt.

Цель программы: сформировать знания, умения и навыки применения языка Python для разработки приложений в среде сервера Oracle/PostgeSQL.

Для успешного освоения материала необходима предварительная подготовка:

  • Знания и опыт работы с sql
  • Принципы и механизмы работы с базами данных Oracle/PostgreSQL
  • Базовые знания одного из объектно-ориентированных языков программирования желательны

Занятия проходят в учебном классе учреждения образования. После успешной сдачи зачета в форме итогового тестирования выдается свидетельство о повышении квалификации установленного образца, утвержденного Министерством образования Республики Беларусь.

Программа курса:

1. Области применения и история развития языка Python
1.1. Почему стоит выбрать Python
1.2. История развития языка
1.3. Как Java «перепрыгнула» Python
1.4. Python - интерпретатор и скорость выполнения приложения - низкая - так ведь это совсем не так!
1.5. Где используется Python
1.6. Python и Java - конкуренты и сотрудники
2. Установка интерпретатора Python в Windows и Linux
2.1. Установка интерпретатора Python в Windows и нормальной операционной системе Linux
2.2. Обновление установки
2.3. Механизм PIP
2.4. Создание песочницы для выполнения кода приложения, конфигурация
2.5. Добавление в песочницу дополнительных пакетов и модулей Python - а зачем все это нужно
2.6. Активация и деактивация песочницы
3. Механизмы работы приложения на языке Python
3.1. Как выполняется приложение на языке Python, распределение областей памяти
3.2. Где Объекты и где Классы
3.3. Типы данных языка и переменные
4. Первое приложение на языке Python
4.1. «Привет, мир» – первое приложение, созданное и запущенное в песочнице интерпретатора
4.2. Что распределилось в стеке и что в куче интерпретатора
5. Типы данных языка Python
5.1. Типы данных языка, встроенные типы данных, как обнаружить, сколько места требует 1 (единичка)
5.2. Основные встроенные типы данных языка Python и ПРАВИЛА PEP8 - которые не соблюдают, но соблюдать нужно.
6. Среда разработки для приложений Python
6.1. Выбор среды разработки
6.2. Idea и Eclipse (по наследству из Java)
6.3. Установка и настройка среды PyCharm – Idea. Создание песочницы в среде. PIP - утилита и конфигурация песочницы, настройка песочницы под конкретное окружение операционной системы, где будет выполняться код Python. Ввод новых переменных в окружение песочницы, механизмы добавления новых пакетов, модулей в песочницу. Глобальный и пакеты взятые с сайтов интернета, в песочнице.
7. Основы ООП и абстракций в языке Python
7.1. Объектная опция в Python. Инкапсуляция - Полиморфизм - Наследование – Абстракция
7.2. Введение в ООП и абстракции Python
8. Создание собственных классов в языке Python
8.1. Создание собственных классов, область видимости, атрибуты и методы классов, конструкторы и деструкторы
8.2. Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python
8.3. Перегрузка методов, множественное наследование, статические методы, инкапсуляция локальных переменных класса - классика и особенности языка Python
8.4. Определение свойств классов (@property).
9. Функциональный подход в языке Python
9.1. Функциональный подход в языке Python, функции модуля, область видимости - переменные глобальные и локальные
9.2. Замыкания в языке Python
9.3. Передача параметров в функции и методы классов
9.4. Именованные и позиционные параметры, когда использовать * (звездочку), а когда использовать ** (две звездочки)
9.5. Лямбда выражения, функции в качестве параметров функций
10. Типы данных - контейнеры
10.1. Три вида контейнеров – списки, словари и кортеджи
10.2. Функциональность контейнера – изменяемость и постоянство. 
10.3. Ключевые методы классов, определяющие размещение объектов в контейнерах, сортировки объектов в контейнере
10.4. Строка – это так же контейнер, но с добавленным функционалом, функциональные строки, строки байт. Почему кодировка UTF-8
11. Работа с основными модулями интерпретатора Python
11.1. Модуль работы с операционной системой. Доступ и навигация по каталогам операционной системы. Управление файлами операционной системы (ОС). 
11.2. Определение процесса OC
11.3. Доступ к трем стандартным потокам операционной системы
11.4. Вызов процесса OC и получение из него результата и процесса выполнения, в виде потока
11.5. Ожидание завершения внешнего процесса и получение результата. Процедура открытия файла в различных режимах
11.6. Усечение файла, добавление данных в файл и множество других операций
12. Дополнительные модули расширения языка Python
12.1. Взаимодействие с базой данных Oracle и PostgreSQL
12.2. Подключение модулей к песочнице Python
13. Соединение с базой данных из Python
13.1. Строка соединения, конфигурация сессии серверного процесса базы данных
13.2. Основные классы взаимодействия с базой данных – Connection и Cursor
13.3. Транзакционные механизмы взаимодействия с базой данных – особенности выполнения операций DDL, DCL, DML, SELECT и блоков кода в базе данных
13.4. Получение информации из курсоров в базе данных о выполнении операций SQL (число обработанных строк)
13.5. Выполнение хранимых процедур в базе данных, передача параметров и возврат значений из хранимых процедур, особенности получения результатов ссылочных курсоров, описание полей, возвращаемое курсором, связь метаданных курсора и собственно данных. Разработка приложения-примера использования распределенных транзакций в базе данных. 
14. Управление блокировками записей в базе данных
14.1. Взаимные блокировки и как их не допустить в приложении Python
14.2. Управление исключительными ситуациями, которые были возбуждены базой данных
15. Работа с хранимыми процедурами и пакетными процедурами базы данных в языке Python
15.1. Передача параметров и возврат значений в виде ссылочных курсоров
15.2. Доступ к потоку Oreacle dbms_pipe из Python приложения
15.3. Работа с большими (BLOB, LOB, XMLTYPE) типами данных
15.4. Организация потоков обмена байтовыми данными
16. XML документ в Python
16.1. Загрузка и выгрузка XML в/из базы данных
16.2. Парсирование XML документов, SAX и DOM механизмы в модулях Python (xml, lxml)
16.3. Форматирование XML, XPATH запросы в Python
17. Многопоточное программирование
17.1. Создание потока двумя способами
17.2. Синхронизация потоков, проблемы обмена переменными между потоками,   класс Queue
17.3. Управление потоками через класс Event
18. Пакет PyQt5 для разработки пользовательского интерфейса
18.1. Главный поток приложения
18.2. Использование утилиты disigner для создания прототипа окна пользовательского интерфейса
18.3. Преобразование прототипа в файл Python
18.4. Использование сигналов и слотов для создания событийного управления в приложении
19. Установка рабочего модуля PyQt5, клиентское место и место разработчика
19.1. Утилита designer
19.2. Классическое создание пользовательского приложения с использованием утилиты и механизмов множественного наследования
19.3. Реализация приложения с многооконным интерфейсом, диалоговыми окнами
20. Доступ к серверу приложений по HTTP протоколу
20.1. Пример на основе сервера Wildfly (бывшее JBoss)
20.2. Введение в технологию распределенных вычислений, понятия сервера приложений, многопоточности, сервиса имен, пула соединений, безопасности, механизмов объектно-реляционного мапинга
20.3. Сервис обработки асинхронных сообщений, сервис заданий и другие полезные механизмы сервера приложений
21. Организация доступа из Python к сервисам REST сервера приложений
21.1. POST, GET, DELETE и прочие запросы
21.2. Особенности выполнения транзакционных запросов через REST сервисы
21.3. Модуль requests
21.4. Извлечение данных и их публикация в отчетах с использованием REST технологий
21.5. Простой микросервис на языке Python с доступом к базе данных и отправкой сообщений клиенту

Поиск курса

Бронирование курса

Если у Вас не получается отправить форму - напишите нам на почту education@it-training.by.