Курс надає комплексні знання та навички роботи з популярною мовою програмування 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
- Структура проекту
- Передача даних з програми в шаблони
- Використання циклів та вибору в шаблонах
- Спеціальні засоби створення форм
- Перевірка параметрів форм
- Відділяння статичного контенту від динамічного
- Відправлення поштових повідомлень