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

 

Код курса: Python.

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

Сроки проведения: по мере поступления заявок.

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

 

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

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

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

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

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

1. Механизмы работы приложения на языке Python
1.1. Области применения и история развития языка Python
1.2. Python - интерпретатор и скорость выполнения приложения 
1.3. Установка интерпретатора Python в различных операционных системах
1.4. Механизм PIP. Создание «песочницы» для выполнения кода приложения
1.5. Как выполняется приложение на языке Python, распределение областей памяти
1.6. Где Объекты и где Классы
2. Типы данных в языке Python
2.1. Основные встроенные типы данных языка Python
2.2. Объявление переменных
2.3. Первое приложение на языке Python
2.4. «Привет, мир» – первое приложение, созданное и запущенное в песочнице интерпретатора
2.5. Что распределилось в стеке и что в куче интерпретатора
3. Среда разработки для приложений Python
3.1. Выбор среды разработки
3.2. Idea и Eclipse (по наследству от Java)
3.3. Установка и настройка среды PyCharm – Idea
3.4. Создание «песочницы» в среде. PIP - утилита и конфигурация «песочницы», настройка «песочницы» под конкретное окружение операционной системы, где будет выполняться код Python
3.5. Ввод новых переменных в окружение «песочницы», механизмы добавления новых пакетов, модулей. Глобальный и пакеты, взятые с сайтов интернета, в «песочнице»
4. Объектно-ориентированное программирование в языке Python
4.1. Объектная опция в Python. Инкапсуляция – Полиморфизм – Наследование
4.2. Абстракция в Python: все есть объект
4.3. Динамический механизм создания классов и объектов, декораторы.
5. Создание классов в языке Python
5.1. Создание собственных классов, область видимости, атрибуты и методы классов, конструкторы и деструкторы
5.2. Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python
5.3. Перегрузка методов, множественное наследование, статические методы, инкапсуляция локальных переменных класса - классика и особенности языка Python
5.4. Определение свойств классов (@property).
6. Функциональный подход в языке Python
6.1. Функции модуля, область видимости - переменные глобальные и локальные
6.2. Замыкания в языке Python
6.3. Передача параметров в функции и методы классов
6.4. Именованные и позиционные параметры, когда использовать * (звездочку), а когда использовать ** (две звездочки)
6.5. Лямбда выражения, функции в качестве параметров функций
7. Типы данных - контейнеры
7.1. Три вида контейнеров – списки, словари и кортеджи
7.2. Функциональность контейнера – изменяемость и постоянство. 
7.3. Ключевые методы классов, определяющие размещение объектов в контейнерах, сортировки объектов в контейнере
7.4. Строка – это так же контейнер, но с добавленным функционалом, функциональные строки, строки байт. Почему кодировка UTF-8
8. Работа с основными модулями интерпретатора Python
8.1. Модуль работы с операционной системой. Доступ и навигация по каталогам операционной системы. Управление файлами операционной системы (ОС). 
8.2. Определение процесса OC
8.3. Доступ к трем стандартным потокам операционной системы
8.4. Вызов процесса OC и получение из него результата и процесса выполнения, в виде потока
8.5. Ожидание завершения внешнего процесса и получение результата. Процедура открытия файла в различных режимах
8.6. Усечение файла, добавление данных в файл и множество других операций
9. Соединение с базой данных в языке Python
9.1. Дополнительные модули расширения языка Python. Взаимодействие с базой данных Oracle и PostgreSQL. Подключение модулей к песочнице Python
9.2. Строка соединения, конфигурация сессии серверного процесса базы данных
9.3. Основные классы взаимодействия с базой данных – Connection и Cursor
9.4. Транзакционные механизмы взаимодействия с базой данных – особенности выполнения операций DDL, DCL, DML, SELECT и блоков кода в базе данных
9.5. Получение информации из курсоров в базе данных о выполнении операций SQL (число обработанных строк)
9.6. Выполнение хранимых процедур в базе данных, передача параметров и возврат значений из хранимых процедур, особенности получения результатов ссылочных курсоров, описание полей, возвращаемое курсором, связь метаданных курсора и собственно данных. 
9.7. Разработка приложения-примера использования распределенных транзакций в базе данных
10. Управление блокировками записей в базе данных
10.1. Взаимные блокировки и как их не допустить в приложении Python
10.2. Управление исключительными ситуациями, которые были возбуждены базой данных
11. Работа с процедурами базы данных в языке Python
11.1. Работа с хранимыми и пакетными процедурами
11.2. Передача параметров и возврат значений в виде ссылочных курсоров
11.3. Доступ к потоку Oreacle dbms_pipe из Python приложения
11.4. Работа с данными типов BLOB, LOB, XMLTYPE
11.5. Организация потоков обмена байтовыми данными
12. XML документ в Python
12.1. Загрузка и выгрузка XML в/из базы данных
12.2. Парсирование XML документов, SAX и DOM механизмы в модулях Python (xml, lxml)
12.3. Форматирование XML, XPATH запросы в Python
13. Многопоточное программирование
13.1. Создание потока двумя способами
13.2. Синхронизация потоков, проблемы обмена переменными между потоками, класс Queue
13.3. Управление потоками через класс Event
14. Пакет PyQt5 для разработки пользовательского интерфейса
14.1. Главный поток приложения
14.2. Использование утилиты disigner для создания прототипа окна пользовательского интерфейса
14.3. Преобразование прототипа в файл Python
14.4. Использование сигналов и слотов для создания событийного управления в приложении
14.5. Установка рабочего модуля PyQt5, клиентское место и место разработчика
14.6. Утилита designer
14.7. Классическое создание пользовательского приложения с использованием утилиты и механизмов множественного наследования
14.8. Реализация приложения с многооконным интерфейсом, диалоговыми окнами
15. Доступ к серверу приложений по HTTP протоколу
15.1. Введение в технологию распределенных вычислений, понятия сервера приложений, многопоточности, сервиса имен, пула соединений, безопасности, механизмов объектно-реляционного мапинга
15.2. Сервис обработки асинхронных сообщений, сервис заданий и другие полезные механизмы сервера приложений
15.3. Пример на основе сервера Wildfly (ранее JBoss)
16. Организация в языке Python доступа к сервисам REST сервера приложений
16.1. POST, GET, DELETE и другие запросы
16.2. Особенности выполнения транзакционных запросов через REST сервисы
16.3. Модуль requests
16.4. Извлечение данных и их публикация в отчетах с использованием REST технологий
16.5. Простой микросервис на языке Python с доступом к базе данных и отправкой сообщений клиенту

Поиск курса

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

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