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

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

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


Продолжительность курса: 40 ак. ч.

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

Аудитория:
Для слушателей, владеющих знаниями SQL, принципами и механизмами работы такими базами данных, как Oracle и PostgreSQL. Язык OOP - не помешает. Обработка данных предприятия с помощью языка Python - основная цель и задача курса.

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

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

Модуль 1. Области применения и история развития языка Python
• Почему стоит выбрать Python
• История развития языка
• Как Java «перепрыгнула» Python
• Python - интерпретатор и скорость выполнения приложения - низкая - так ведь это совсем не так!
• Где используется Python
• Python и Java - конкуренты и сотрудники

Модуль 2. Установка интерпретатора Python в Windows и Linux
• Установка интерпретатора Python в Windows и нормальной операционной системе Linux
• Обновление установки
• Механизм PIP
• Создание песочницы для выполнения кода приложения, конфигурация
• Добавление в песочницу дополнительных пакетов и модулей Python - а зачем все это нужно
• Активация и деактивация песочницы

Модуль 3. Механизмы работы приложения на языке Python
• Как выполняется приложение на языке Python, распределение областей памяти
• Где Объекты и где Классы
• Типы данных языка и переменные

Модуль 4. Первое приложение на языке Python
• «Привет, мир» – первое приложение, созданное и запущенное в песочнице интерпретатора
• Что распределилось в стеке и что в куче интерпретатора

Модуль 5. Типы данных языка Python
• Типы данных языка, встроенные типы данных, как обнаружить, сколько места требует 1 (единичка)
• Основные встроенные типы данных языка Python и ПРАВИЛА PEP8 - которые не соблюдают, но соблюдать нужно.

Модуль 6. Среда разработки для приложений Python
• Выбор среды разработки
• Idea и Eclipse (по наследству из Java)
• Установка и настройка среды PyCharm – Idea. Создание песочницы в среде. PIP - утилита и конфигурация песочницы, настройка песочницы под конкретное окружение операционной системы, где будет выполняться код Python. Ввод новых переменных в окружение песочницы, механизмы добавления новых пакетов, модулей в песочницу.
• Глобальный и пакеты взятые с сайтов интернета, в песочнице.

Модуль 7. Основы ООП и абстракций в языке Python
• Объектная опция в Python. Инкапсуляция - Полиморфизм - Наследование –
• Абстракция
• Введение в ООП и абстракции Python

Модуль 8. Создание собственных классов в языке Python
• Создание собственных классов, область видимости, атрибуты и методы классов, конструкторы и деструкторы
• Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python
• Перегрузка методов, множественное наследование, статические методы, инкапсуляция локальных переменных класса - классика и особенности языка Python
• Определение свойств классов (@property).

Модуль 9. Функциональный подход в языке Python
• Функциональный подход в языке Python, функции модуля, область видимости - переменные глобальные и локальные
• Замыкания в языке Python
• Передача параметров в функции и методы классов
• Именованные и позиционные параметры, когда использовать * (звездочку), а когда использовать ** (две звездочки)
• Лямбда выражения, функции в качестве параметров функций

Модуль 10. Типы данных - контейнеры
• Три вида контейнеров – списки, словари и кортеджи
• Функциональность контейнера – изменяемость и постоянство.
• Ключевые методы классов, определяющие размещение объектов в контейнерах, сортировки объектов в контейнере
• Строка – это так же контейнер, но с добавленным функционалом, функциональные строки, строки байт. Почему кодировка UTF-8

Модуль 11. Работа с основными модулями интерпретатора Python
• Модуль работы с операционной системой. Доступ и навигация по каталогам операционной системы. Управление файлами операционной системы (ОС).
• Определение процесса OC
• Доступ к трем стандартным потокам операционной системы
• Вызов процесса OC и получение из него результата и процесса выполнения, в виде потока
• Ожидание завершения внешнего процесса и получение результата. Процедура открытия файла в различных режимах
• Усечение файла, добавление данных в файл и множество других операций

Модуль 12. Дополнительные модули расширения языка Python
• Взаимодействие с базой данных Oracle и PostgreSQL
• Подключение модулей к песочнице Python

Модуль 13. Соединение с базой данных из Python
• Строка соединения, конфигурация сессии серверного процесса базы данных
• Основные классы взаимодействия с базой данных – Connection и Cursor
• Транзакционные механизмы взаимодействия с базой данных – особенности выполнения операций DDL, DCL, DML, SELECT и блоков кода в базе данных
• Получение информации из курсоров в базе данных о выполнении операций SQL (число обработанных строк)
• Выполнение хранимых процедур в базе данных, передача параметров и возврат значений из хранимых процедур, особенности получения результатов ссылочных курсоров, описание полей, возвращаемое курсором, связь метаданных курсора и собственно данных. Разработка приложения-примера использования распределенных транзакций в базе данных.

Модуль 14. Управление блокировками записей в базе данных
• Взаимные блокировки и как их не допустить в приложении Python
• Управление исключительными ситуациями, которые были возбуждены базой данных

Модуль 15. Работа с хранимыми процедурами и пакетными процедурами базы данных в языке Python
• Передача параметров и возврат значений в виде ссылочных курсоров
• Доступ к потоку Oreacle dbms_pipe из Python приложения
• Работа с большими (BLOB, LOB, XMLTYPE) типами данных
• Организация потоков обмена байтовыми данными

Модуль 16. XML документ в Python
• Загрузка и выгрузка XML в/из базы данных
• Парсирование XML документов, SAX и DOM механизмы в модулях Python (xml, lxml)
• Форматирование XML, XPATH запросы в Python

Модуль 17. Многопоточное программирование
• Создание потока двумя способами
• Синхронизация потоков, проблемы обмена переменными между потоками,   класс Queue
• Управление потоками через класс Event

Модуль 18. Пакет PyQt5 для разработки пользовательского интерфейса
• Главный поток приложения
• Использование утилиты disigner для создания прототипа окна пользовательского интерфейса
• Преобразование прототипа в файл Python
• Использование сигналов и слотов для создания событийного управления в приложении

Модуль 19. Установка рабочего модуля PyQt5, клиентское место и место разработчика
• Утилита designer
• Классическое создание пользовательского приложения с использованием утилиты и механизмов множественного наследования
• Реализация приложения с многооконным интерфейсом, диалоговыми окнами

Модуль 20. Доступ к серверу приложений по HTTP протоколу
• Пример на основе сервера Wildfly (бывшее JBoss)
• Введение в технологию распределенных вычислений, понятия сервера приложений, многопоточности, сервиса имен, пула соединений, безопасности, механизмов объектно-реляционного мапинга
• Сервис обработки асинхронных сообщений, сервис заданий и другие полезные механизмы сервера приложений

Модуль 21. Организация доступа из Python к сервисам REST сервера приложений
• POST, GET, DELETE и прочие запросы
• Особенности выполнения транзакционных запросов через REST сервисы
• Модуль requests
• Извлечение данных и их публикация в отчетах с использованием REST технологий
• Простой микросервис на языке Python с доступом к базе данных и отправкой сообщений клиенту


Характеристики курса

  • Начало: 02 Декабря 2019
  • Окончание: 06 Декабря 2019
  • Вендор: Python
  • Код курса: PTN5
  • Город: Пермь, Челябинск, Самара, Ижевск, Екатеринбург
  • Направление: Python
  • Академических часов: 40
  • Количество мест: 8
  • Очно: 41900 ₽
  • Дистанционно: 41900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

Юридический адрес организации:
614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32

8 800 (600)-66-16

learning@eshift.ru