Курс предоставляет комплексные знания и навыки работы с популярным языком программирования Python. Структурированная программа курса и практические занятия также обеспечивают опыт работы в среде разработки с использованием вспомогательных библиотек. Это помогает быстро усвоить теорию и сразу приступить к разработке web-приложений на Python.
По окончании курса слушатели смогут:
- получить новые знания языка программирования Python;
- инсталлировать интерпретатор Python;
- развернуть и конфигурировать интегрированную среду разработки PyCharm;
- использовать библиотеку и web-фреймворк Django;
- осуществить комплексную разработку web-приложений на языке программирования Python.
Аудитория
Курс предназначен для молодых специалистов и опытных разработчиков, желающих получить знания и навыки создания web-приложений на языке программирования Python в среде разработки PyCharm с использованием библиотеки Django.
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
- знание концепций программирования;
- понимание принципов работы операционных систем;
- знание принципов построения web-приложений.
- Python, история развития языка
- Python-интерпретатор и скорость выполнения приложения
- Где используется Python
- Python и Java - конкуренты и сотрудники
- Инсталляция интерпретатора Python в различных операционных системах
- Механизм PIP, создание песочницы для выполнения кода приложения, конфигурация
- «Привет, мир!», первое приложение, созданное и запущенное в песочнице
- Анатомия приложения
- Подключение и использование библиотек, использование модулей на простейших примерах
- Типы данных языка, встроенные типы данных
- Как обнаружить, сколько места «скушает» 1 (единичка)
- Основные встроенные типы данных языка Python и правила PEP8
- Среды разработки написания приложений
- Разнообразие вариантов, родные Idea и Eclipse, перешедшие из Java
- Инсталляция и конфигурация среды PyCharm, Idea
- Создание песочницы в среде. PIP-утилита и конфигурация песочницы, настройка песочницы под окружение операционной системы, где будет выполняться код Python
- Ввод новых переменных в окружение песочницы, механизмы добавления новых пакетов и модулей в песочницу
- Глобальный пакет и пакеты с интернет-сайтов в песочнице
- Программирование
- Объектная опция в Python: инкапсуляция, полиморфизм, наследование, абстракция
- Введение в ООП и абстракции Python
- Создание собственных классов
- Область видимости
- Атрибуты и методы классов, конструкторы и деструкторы
- Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python
- Перегрузка методов, множественное наследование, статические методы, инкапсуляция локальных переменных класса, классика и особенности языка Python
- Определение свойств классов @property
- Функциональный подход в языке Python
- Функции модуля, область видимости, глобальные и локальные переменные
- Замыкания в языке Python
- Передача параметров в функции и методы классов
- Именованные и позиционные параметры, когда использовать * (звездочку), а когда использовать ** (две звездочки)
- Лямбда-выражения, функции в качестве параметров функций
- Типы данных, контейнеры
- Три вида контейнеров: списки, словари и кортежи
- Функциональность контейнера, изменяемость и постоянство
- Ключевые методы классов, определяющие размещение объектов в контейнерах, сортировки объектов в контейнере
- Строка, функциональные строки, байтовые строки
- Кодировка UTF-8
- Работа с основными модулями интерпретатора Python
- Модуль работы с операционной системой
- Доступ и навигация по каталогам операционной системы
- Управление файлами операционной системы
- Определение процесса операционной системы
- Доступ к трем стандартным потокам операционной системы
- Вызов процесса операционной системы, получение из него результата и процесса выполнения в виде потока
- Ожидание завершения внешнего процесса и получение результата
- Процедура открытия файла в различных режимах
- Усечение файла, добавление данных в файл и другие операции
- Многопоточное программирование
- Создание потока двумя способами
- Синхронизация потоков
- Проблемы обмена переменными между потоками, класс Queue
- Управление потоками через класс Event
- Работа из Python с хранимыми процедурами и пакетными процедурами базы данных
- Передача параметров и возврат значений в виде ссылочных курсоров
- Доступ к потоку Oracle DBMS_PIPE из Python-приложения
- Работа с большими типами данных BLOB, LOB, XMLType
- Организация потоков обмена байтовыми данными
- XML-документ в Python
- Загрузка и выгрузка XML в и из базы данных
- Парсирование XML-документов
- Механизмы SAX и DOM в модулях Python (xml, lxml).
- Форматирование XML
- XPath-запросы в Python
- Доступ к серверу приложений по http-протоколу
- Пример на основе сервера WildFly, ранее известного как JBoss Application Server или JBoss AS
- Краткое введение в технологию распределенных вычислений
- Понятие сервер приложений, многопоточность, сервис имен, пул соединений, безопасность
- Механизмы объектно-реляционного мапинга
- Сервис обработки асинхронных сообщений
- Сервис заданий и другие полезные механизмы сервера приложений
- Организация доступа из Python к сервисам REST-сервера приложений
- POST, GET, DELETE и другие запросы
- Особенности выполнения транзакционных запросов через REST-сервисы
- Модуль requests
- Выполнение транзакций через REST-сервисы
- Извлечение данных и их публикация в отчетах с использованием REST-технологий
- Простой микросервис на Python с доступом в базу данных и отправкой сообщений клиенту
- Обзор современных технологий создания web-приложений
- Приложения MVC и SPA, преимущества и недостатки
- Технологии React, Angular, Flux и Redux, почему сегодня они в тренде
- Разработка web-приложений с использованием библиотек Django
- Установка web-фреймворка Django
- Структура проекта
- Передача данных из приложения в шаблоны
- Использование циклов и выбора в шаблонах
- Специальные средства создания форм
- Проверка параметров форм
- Отделение статического контента от динамического
- Отправка почтовых уведомлений