Online навчання на Python‑розробника включає в себе 5 модулів з лекціями, практикою і підсумковими проєктами (від новачка до рівня Middle‑розробника), а також фінальний груповий проєкт.
Основи програмування на Python
- Встановлення PyCharm та Python. Створення проєкту. Структура проєкту
- Знайомство з Python. Змінні та типи даних. Введення даних. Цикли та розгалуження
- Змінні та типи даних. Перетворення типів. Конкатенація
- Створення функцій. Локальні змінні. return
- Колекції. Упорядковані та неупорядковані колекції, змінювані та незмінювані типи даних, робота зі словниками
- Ітерації та цикли. Ітератори, цикл for і цикл while, спискові та словникові включення, робота з вкладеними циклами
- Модулі та пакети. Налаштування оточення. import
- Налагодження програм
- Об'єкти та класи. Конструктори
- Успадкування. Множинне успадкування
- Розширені можливості. Ітератори та генератори, лямбда-функції, декоратори
- Винятки. raise. with
- Робота з файлами
- Робота з мережею. Серіалізація в Python
- Date. Math. JSON
- Багатопотоковість у Python
Алгоритми та структури даних
- Знайомство з алгоритмами. Лінійний і бінарний пошук. Алгоритмічні задачі
- Структури даних. Графи. Оперативна пам'ять і подання даних, масиви постійного розміру, динамічні масиви, зв'язані списки, хеш‑функції та інші структури даних
- Рекурсія та сортування. Рекурсивний і базовий випадки, рекурсивний бінарний пошук, алгоритми сортування, вибір алгоритму сортування та їх порівняння
- Складність алгоритмів. Часова та просторова складність алгоритмів, нотація Big O
- Методи розв'язання задач. Наївні методи, метод двох вказівників, метод ковзного вікна тощо
- Домашній проєкт
Підсумковий проєкт
Робота з мережею
- Влаштування мережі
- Протокол HTTP
Основи Web
- Основи HTML. Теги та атрибути. Семантика
- Основи CSS. Селектори. Колір
- Основи JavaScript. Змінні та типи. Розгалуження. Цикли
- Масиви. Функції. Колекції. ООП
- Асинхронність та Date. Проміси
- Взаємодія з бекендом
Docker
- Вступ до контейнеризації та Docker
- Встановлення та налаштування Docker
- Основи роботи з Docker
- Робота з Docker Images
- Docker Compose та оркестрація
- Просунуті теми та найкращі практики
Основи SQL
- Знайомство з SQL (SQLite, PostgreSQL). Таблиці, рядки та типи даних. Запит
SELECT
WHERE
. Агрегування. ФункціїCOUNT
,SUM
,MIN
,MAX
.JOIN
,LEFT JOIN
,RIGHT JOIN
.- Ключі. Зовнішні ключі. Зв'язування таблиць. Обмеження (Constraints)
- Підзапити.
WITH
. Практичні приклади - Зміна даних у таблицях:
INSERT
,UPDATE
,DELETE
.ALTER TABLE
.
Підсумковий проєкт
Бекенд на Django
- Знайомство з Django. Створення проєкту. Аналіз проєкту
- Шляхи та view-функції. Планування адрес і конвертери шляхів, розподіл адрес додатками, view-функції
- HTML та шаблони Django. Теги include, extends, block, словник контексту, розгалуження, цикли, посилання та фільтри в шаблонах, підключення стилів, зображень та скриптів
- Додатки в Django
- Django ORM. Опис таблиць і зв'язків, Django Shell, CRUD-операції в Django ORM, Django Debug Toolbar
- Адмінзона Django. Створення суперкористувача, реєстрація моделей в адмінці, локалізація та переклад, налаштування адмінзони
- Робота з формами. Форми в HTML і в Django, обробка даних, підключення стилів Bootstrap до HTML-форми
- Middleware. Робота із запитами та відповідями
- Бібліотека Pytest. Вибірковий запуск тестів, запуск тестів, що впали, налагодження тестів, маркери, фікстури, файл конфігурацій, Pytest для Django
- Бібліотека Unittest. Метод subTest, параметризація тестів, фікстури, Unittest у Django
- Перенесення даних і міграції
- Розгортання Django-проєктів
- Робота з API у Django
- Оптимізація продуктивності
- Міжнародна підтримка
- Безпека додатків Django
- Домашній проєкт
Управління проєктом на віддаленому сервері
- Робота з сервером. Налаштування підключення, робота в терміналі linux, встановлення і налаштування веб- та проксі-сервера, налаштування SGI
- Деплой веб-додатка на сервер. Моніторинг роботи додатків
- Робота з контейнерами. Автоматизація деплоя. CI/CD
- Додаткові інструменти. PostgreSQL, Docker Hub, GitHub Actions
- Робота з хмарами. Налаштування та конфігурація віртуальних машин
- Робота з AWS. Робота з Azure. Google Cloud
Підсумковий проєкт
Architect Skills (ч.1)
- Архітектура ПЗ, клієнт-серверна архітектура, MVC
- Методології розробки
- Шаблони проєктування
- Шаблони проєктування 2
API та REST
- Що таке API. Взаємодія програм мережею, API First, REST
- Робота з зовнішніми API. Client API в Telegram, Bot API в Telegram, обробка вхідних повідомлень
- Django REST Framework. REST API, інструменти для тестування API, серіалізатори, view-функції API, view-класи
- Django REST Framework. API viewsets та роутери, аутентифікація за токеном, JWT + Djoser
- Взаємодія фронтенду та бекенду. Multi Page Application vs Single Page Application
- Документація для API, CORS та політика єдиного джерела. PyDoc
- Ліміти запитів та фільтрація відповідей. Перевірка прав: Permissions
- Throttling: обмеження кількості запитів, пагінація в API, фільтрація, сортування та пошук
- Домашній проєкт
Парсинг сайтів
- Вступ до парсингу. Beautiful Soup
- Робота з браузером. Selenium
- Фреймворк Scrapy
Підсумковий проєкт
Альтернативні фреймворки
- Фреймворк Flask
- Фреймворк Flask. Створення свого проєкту
- Фреймворк FastAPI
- Фреймворк FastAPI. Створення свого проєкту
- Міграції: бібліотека Alembic
- SQLAlchemy
Python & Enterprise
- WebSockets, Aiohttp
- RabbitMQ
- noSQL (Redis, MongoDB)
- Сервіси Google. Google API
- Проєкт. Інтеграція додатку на FastAPI з сервісами Google Sheets API та Google Drive API
Architect Skills (ч.2)
- Проєктування баз даних
- Підвищення швидкості бази даних
- Транзакції, ACID, CAD
- Додаткове заняття (NoSQL, Кластер і Cassandra)
- Додаткове заняття (Шардінг, BigData, MapReduce)
Підсумковий проєкт