Поглиблений курс Python

Старт навчання
Берестейська 27.09.2019
Позняки Старт курсу запитуйте в адміністрації
ВДНГ 11.09.2019
54 год. по 2-3 рази в тиждень

Опис курсу

Цей курс призначений для програмістів, які хочуть освоїти техніку програмування на мові Python. Программа також буде корисною вже кваліфікованим користувачам. Курс побудований за принципом: 20% лекційного матеріалу, 80% -лабораторні роботи.

Після курсу Ви зможете:

  • Розробляти програми на мові Python

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

  • Функції.
    • Типи даних
    • Вбудовані контейнери
    • Оператори контролю виконання
    • Обробка помилок (try ... except ...)
    • Оператори циклів
    • Comprehensions (list, dict, set)
    • Створення функції і процедур
    • Аргументи функцій
    • Рекурсивні функції
    • Functors, Currying
    • Декоратори
    • Lambda-функції
    • PEP8
  • Об'єктно-орієнтований підхід
    • Оголошення класу та створення екземпляру
    • Принципи ООП (наслідування, інкапсуляція, поліморфізм) в Python
    • Область видимості (Namespaces, Scope, правило LEGB)
    • Method Resolution Order (MRO)
    • Магічні методи
    • Визначення математичних  операцій для об’єктів Python
    • Визначення операцій порівняння для об’єктів Python
    • Визначення операцій хешування для об’єктів Python
    • Створення копії екземпляру класу, deep copy, shallow copy
    • Інкапсуляція (Setters and getters)
  • Управління створенням екземплярів класу
    • Doc strings
    • Meta класи
    • Abstract Bases класи
    • __new__
    • __init__
    • Context-managers
    • Використанням декораторів з класами
    • Контейнери, створені шляхом успадкування (UserList, UserDict, UserString)
    • Контейнери, створені шляхом агрегації
    • Методи доступу до елементів контейнера
    • Iterators, Generators
  • Прийоми об'єктно-орієнтованого програмування
    • Software Engineering як процес
    • Мова UML
    • Принципи SOLID
    • Метрики якості коду
    • Design Patterns (категорії, приклади використання)
    • Singletone
    • Facade
    • Interface
    • Proxy
    • Abstract Factory
    • Factory Method
    • Command
    • Observer
  • Модулі та пакети
    • Розробка модулів (визначення та запуск)
    • Система імпортування
    • Розробка повторно використовуваних пакетів
    • Менеджер пакетів pip і віртуальні середовища virtualenv
    • Setup.py
    • Написання документації до пакету, модуля
    • Створення додатків на основі пакетів
  • Робота з файлами
    • Робота з системою контролю версій Git
    • Форматування рядків
    • Context-managers
    • Робота з файловою системою (os, os.path, shutil)
    • Серіалізація за допомогою pickle
    • Управління порядком серіалізації/десеріалізації об’єктів Python
    • Серіалізація даних в json
    • Серіалізація даних в xml
  • Вбудовані пакети Python.
    • Робота з datetime та calendar
    • Робота з collections (черги, іменовані кортежі, вкладені словники)
    • Робота з heapq, array, enum
    • Робота з числовими даними (numbers, math, decimal, random)
    • Робота з contextlib
    • Робота з functools
    • Logging
    • Unittest
  • Networking
    • Sockets (основи роботи, приклади серверів)
    • Socket server
    • Socket Client
    • HTTP
    • HTML, парсинг HTML-файлів
    • XML
  • Багатопотчність в Python
    • Global Interpreter Loc (GIL)
    • Створення потоків в Python
    • Контроль доступу до ресурсів
    • Синхронізація потоків
    • Створення потоків за допомогою пакету concurent
    • Пул потоків
  • Процеси в Python
    • Пакет multiprocessing
    • Interprocess communication
    • Черги завдань
    • Створення процесів за допомогою пакету concurent
    • Пул процесів
    • Відтермінування задач за допомогою пакету sched
  • Асинхронне програмування
    • Asyncio
    • Пакет Twisted
    • Асинхронний фреймворк Aiohttp
    • Збір даних за допомогою фреймворку Scrapy
  • SQL
    • Основи реляційних баз даних
    • 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
  • Object Relational Mapping
    • Основи роботи з SQLAlchemy
    • Механізм сессій в SQLAlchemy
    • Створення бази даних за допомогою моделей SQLAlchemy
    • Міграції баз даних за допомогою Alembic
  • NoSQL Бази даних
    • CAP теорема
    • Типи NoSQL баз даних
    • Робота з Redis
    • Робота з Memcached
    • Робота з MongoDB
    • Брокер повідомлень RabbitMQ
    • Основи роботи з Celery
  • Web розробка
    • Класифікація web frameworks
    • Мова шаблонів Jinja2
    • Основи API
    • Стандарти API (REST, XML-RPC, Swagger, JSON API)
    • Архітектурний підхід API First
    • Основи роботи з Flask

Мінімальні вимоги:

  • Наявність власного ноутбуку для занять в аудиторіях
  • Базові знання мови Python

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

spinner-it