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

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

Вендор:
Авторский курс
Направление:
Программирование
Продукт:
Python
Код курса:
Python-CS
Длительность:
5 дней | 40 ак. часов
Стоимость:

1800 BYN с НДС 20%

Основная цель и задача курса - изучить как осуществлять обработка данных предприятия с помощью языка Python. 

Основные вопросы курса включают: объектно-ориентированное программирование в Python, работа с механизмами обмена информацией - XML, JSON, SOAP, REST, клиентские приложения - PyQt.

Данный курс проводится преимущественно в корпоративном формате.

Предварительные требования

Курс предназначен для слушателей, владеющих знаниями SQL, принципами и механизмами работы баз данных Oracle и/или PostgreSQL. Желательно: базовые знания какого-либо из обьектно-ориентированных языков программирования. 

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

  1. Как выполняется приложение на языке Python, распределение областей памяти. Где Объекты и где Классы. Типы данных языка и переменные - все есть объект.
  2. Профилирование приложения, распределение памяти в куче, наблюдение и управление сборкой мусора, принудительное освобождение памяти, неизменяемые объекты и контейнеры.
  3. Объектная опция в Python - Инкапсуляция - Полиморфизм - Наследование - Абстракция, пакет Статические и динамические методы, анатомия множественного наследования, базовые классы и интроспекция. Утиная нотация.
  4. Создание собственных классов, область видимости , атрибуты и методы классов, конструкторы и деструкторы. Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python. Перегрузка методов, множественное наследование, инкапсуляция локальных переменных класса - классика и особенности языка Python. Определение свойств классов (@property).
  5. Функциональный подход в языке Python, функции модуля, область видимости - паеременые глобальные и локальные. Замыкания в языке Python, Лямбда выражения, функции в качестве параметров функций .  Type функция и альтернативные механизмы описания объектов.
  6. Типы данных - контейнеры. Три вида контейнеров - списки , словари и кортеджи. Функциональность контейнера - изменяемость и постоянство. Ключевые методы классов, определяющие размещение объектов в контейнерах, сортировки объектов в контейнере. Строка - это так же контейнер, но с добавленным функционалом, функциональные строки, строки байт. Почему кодировка UTF-8, регулярные выражения. Коллекции, модуль abc, словари по умолчанию, стеки и очереди
  7. Работа с основными модулями интерпретатора Python. Модуль работы с операционной системой. Доступ и навигация по каталогам операционной системы. Управление файлами ОС. Определение Процесса OC. Доступ к трем стандартным потокам операционной системы. Вызов процесса OC и получение из него результата  и процесса выполнения, в виде потока.
  8. Ожидание завершения внешнего процесса и получение результата. Процедура открытия файла в различных режимах. Усечение файла, добавление данных в файл и множество других операций.
  9. Дополнительные модули расширения языка Python. Взаимодействие с базой данных Oracle и Postgresql. Подключение модулей к песочнице Python.
  10. Соединение с базой данных из Python. Строка соединения, конфигурация сессии серверного процесса базы данных. Основные классы взаимодействия с базой данных - Connection и Cursor. Транзакционные механизмы взаимодействия с базой данных - особенности выполнения операций DDL, DCL, DML, SELECT и блоков кода в базе данных. Получение информации из курсоров в базе данных о выполнении операций SQL (число обработанных строк). Выполнение хранимых процедур в базе данных, передача параметров и возврат значений из хранимых процедур, особенности получения результатов ссылочных курсоров, описание полей возвращаемое курсоров, связь метаданных курсора и собственно данных. Разработка конкретного примера использования распределенных транзакций в базе данных.
  11. Управление блокировками записей в базе данных, взаимные блокировки и как их не допустить в приложении Python. Управление исключительными ситуациями, которые были возбуждены базой данных.
  12. Многопоточное и многопроцессорное программирование , Lock и Rlock, опасность взаимных блокировок, аналог Java — CountDownLatch, пул потоков, обмен информации между потоками. Пакет multiprocessing, логирование процессов, Fork-Join , различные способы запуска процессов в пуле, обмен информацией между процессами — Queue, Pipe
  13. 15 Работа из Python с хранимыми процедурами и пакетными процедурами базы данных. Передача параметров и возврат значений в виде ссылочных курсоров. Доступ к потоку Oreacle dbms_pipe из Python приложения. Работа с большими (BLOB, LOB, XMLTYPE) типами данных. Организация потоков обмена байтовыми данными.
  14. XML документ в Python. Загрузка и выгрузка XML в,из базы данных, парсирование XML документов, SAX и DOM механизмы в модулях Python (xml, lxml), форматирование XML, XPATH запросы в Python.
  15. Доступ к серверу приложений по HTTP протоколу. Пример на основе сервера Wildfly (бывшее JBoss). Очень краткое введение в технологию распределенных вычислений, понятие  Сервер приложений, многопоточность, сервис имен, пул соединений, безопасность, механизмы объектно-реляционного мапинга (русский - отдыхает), сервис обработки асинхронных сообщений, сервис заданий и другие полезные механизмы сервера приложений .  (20 минут, см  мои курсы по Java технологиям) .
  16. Организация доступа из Python к сервисам REST сервера приложений. POST, GET, DELETE и прочие запросы. Особенности выполнения транзакционных запросов  через REST сервисы. Модуль requests. Выполнение транзакций через REST сервисы. Извлечение данных, и их публикация в отчетах, с использованием REST технологий. Простой микросервис на Python с доступомв базу данных и отправкой сообщений клиенту.
Онлайн формат обучения

Онлайн обучение - это курс, который проходит в режиме реального времени под руководством преподавателя по такому же графику как и очное обучение. Наш учебный центр может организовывать курсы только в онлайн формате или в смешанном, когда часть слушателей находится в классе очно, а часть подключается онлайн.

Занятия на большинстве наших курсов занимают 8 академических часов в день (с 10:00 до 17:00), также есть отдельные программы вечернего онлайн обучения. Чтобы наши студенты не уставали в процессе учебы, мы делаем небольшие перерывы на чай/кофе, при полнодневном обучении также есть время на полноценный обеденный перерыв.

В процессе обучения вы сможете задавать вопросы и общаться с преподавателем и остальными участниками как с помощью чата, так и голосом при наличии микрофона.

В зависимости от выбранной программы обучения, каждому участнику будет предоставлен доступ к заренее настроенной виртуальной машине с лабораторными заданиями. Для удобства мы рекомендуем слушателям подключить 2 монитора, на одном из которых будет учебный материал/трансляция преподавателя, а на другом открыт стенд для выполнения практических заданий. На части из курсов (не всех) предусмотрена запись тренинга, которую слушатели могут просмотреть, если по какой-то причине пропустили часть занятия.

Документы об окончании курса

  • Сертификат Учебного центра iqData
  • Cертификат об обучении установленного образцая

сертификат iqData об обучении на курсеСертификат установленного образца

Учились на этом курсе?

Другие курсы Базовые курсы Python