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

Схожі курси:

Інші курси:

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

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

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