Python. Просунутий курс (SCRIPT-003)

Мета: опанувати просунуті вміння та навички програмування на Python.

Курс призначений для тих, хто вже має основи розробки на Python.

Тривалість курсу: 5 днів (40 годин).

Форма навчання: вечірня група онлайн / очно.

Спеціальна навчальна програма побудована за правилом «80/20», тобто 20% часу прийдеться на лекційний матеріал, а 80% — на лабораторні роботи.

ЗМІСТ ПРОГРАМИ

Модуль 1. Опції

  • Типи даних
  • Вбудовані контейнери
  • Оператори контролю виконання
  • Обробка помилок (try...except...)
  • Оператори циклів
  • Comprehensions (list, dict, set)
  • Створення функції та процедур
  • Аргументи функцій
  • Рекурсивні функції
  • Functors, Currying
  • Декоратори
  • Lambda-функції
  • PEP8

Модуль 2. Об'єктно-орієнтований підхід

  • Оголошення класу та створення екземпляра
  • Принципи ООП (наслідування, інкапсуляція, поліморфізм) у Python
  • Область видимості (Namespaces, Scope, правило LEGB)
  • Method Resolution Order (MRO)
  • Магічні методи
  • Визначення математичних операцій для об'єктів Python
  • Визначення операцій порівняння для об'єктів Python
  • Визначення операцій хешування для об'єктів Python
  • Створення копії екземпляра класу, deep copy, shallow copy
  • Інкапсуляція (Setters and getters)

Модуль 3. Управління створенням екземплярів класу Doc strings

  • Meta-класи
  • Abstract Bases-класи, __new__, __init__
  • Context-managers
  • Використання декораторів з класами
  • Контейнери, створені шляхом наслідування (UserList, UserDict, UserString)
  • Контейнери створені шляхом агрегації
  • Методи доступу до елементів контейнера
  • Iterators, Generators


Модуль 4. Прийоми об'єктно-орієнтованого програмування

  • Software Engineering як процес
  • Мова UML
  • Принципи SOLID
  • Метрики якості коду
  • Design Patterns (категорії, приклади використання)
  • Singletone
  • Facade
  • Interface
  • Proxy
  • Abstract Factory
  • Factory Method
  • Command
  • Observer

Модуль 5. Модулі та пакети

  • Розробка модулів (визначення та запуск)
  • Система імпорту
  • Розробка повторно використовуваних пакетів
  • Менеджер пакетів pip та віртуальні середовища virtualenv
  • py
  • Написання документації до пакета, модуля
  • Створення програм на основі пакетів

Модуль 6. Робота з файлами

  • Робота із системою контролю версій Git
  • Форматування рядків
  • Context-managers
  • Робота з файловою системою (os, os.path, shutil)
  • Серіалізація за допомогою pickle
  • Управління порядком серіалізації/десеріалізації об'єктів Python
  • Серіалізація даних у json
  • Серіалізація даних у xml

Модуль 7. Інтегровані пакети Python

  • Робота з datetime та calendar
  • Робота з collections (черги, іменовані кортежі, вкладені словники)
  • Робота з heapq, array, enum
  • Робота з числовими даними (numbers, math, decimal, random)
  • Робота з contextlib
  • Робота з functools
  • Logging
  • Unittest

Модуль 8. Networking

  • Sockets (основи роботи, приклади серверів)
  • Socket server
  • Socket Client
  • HTTP
  • HTML, парсинг HTML-файлів
  • XML

Модуль 9. Багатопоточність у Python Global Interpreter Loc (GIL)

  • Створення потоків у Python
  • Контроль доступу до ресурсів
  • Синхронізація потоків
  • Створення потоків за допомогою пакета concurent
  • Пул потоків

Модуль 10. Процеси в Python

  • Пакет multiprocessing
  • Interprocess communication
  • Черги завдань
  • Створення процесів за допомогою пакета concurent
  • Пул процесів
  • Відстрочення завдань за допомогою пакета sched

Модуль 11.  Асинхронне програмування Asyncio

  • Пакет Twisted
  • Асинхронний фреймворк Aiohttp
  • Збір даних за допомогою фреймворку Scrapy

Модуль 12SQL

  • Основи реляційних баз даних
  • ER-діаграми
  • Стандарт PEP249
  • Робота з СУБД SQLite, PostgreSQL
  • Основи мови SQL (SELECT, LIKE, ORDER BY, LIMIT)
  • INSERT
  • UPDATE
  • DELETE
  • JOIN (INNER, LEFT, OUTER)
  • GROUP BY
  • Функції SQL (mean, min, max, avg, count)
  • Subqueries

Модуль 13.  Object Relational Mapping

  • Основи роботи з SQLAlchemy
  • Механізм сесій в SQLAlchemy
  • Створення бази даних за допомогою моделей SQLAlchemy
  • Міграції баз даних за допомогою Alembic

Модуль 14.  NoSQL бази даних

  • CAP теорема
  • Типи NoSQL баз даних
  • Робота з Redis
  • Робота з Memcached
  • Робота з MongoDB
  • Брокер повідомлень RabbitMQ
  • Основи роботи з Celery

Модуль 15.  Web-розробка

  • Класифікація web frameworks
  • Мова шаблонів Jinja2
  • Основи API
  • Стандарти API (REST, XML-RPC, Swagger, JSON API)
  • Архітектурний підхід API First
  • Основи роботи з Flask

Схожі курси:

Інші курси:

  • Планування мережі GPON

    Планування – невід’ємна складова процесу побудови мережі. Це один з основних етапів, завдяки якому в подальшому можливий стрімкий розвиток компанії. Адже при...

  • Тренінг «Конфігурація та управління IP трафіком за допомогою MPLS протоколу в ПЗ Juniper JUNOS»

    Тренінг призначений для підвищення кваліфікації фахівців  галузі телекомунікації, інформатизації та зв’язку, розрахований на фахівців з комп’ютерних мереж.

  • Організація відомчої АТС на базі Asterisk

    Даний курс забезпечить слухача інформацією про основні елементи мереж для передачі голосових даних, ознайомить з методами забезпечення якості...

  • Адміністрування Linux. Basic

    Тривалість: 32 академічних години (4 дні). Курс призначений для тих, хто не має досвіду роботи з операційним середовищем Linux або UNIX і бажає отримати...

  • MTВ – MIKROTIK BASIC

    Навчальний центр DEPS запрошує до захоплюючого світу мережевих технологій, де ви зможете поглибити свої знання щодо маршрутизації, комутації та...

Ми приєдналися до бойкоту російської та білоруської продукції. Слава Україні!

We joined the boycott of russian and belarusian products. Glory to Ukraine!!

прапор України