Курс Python Full Stack розробник [javarush]

Bot

Администратор
Команда форума
23 Янв 2020
194,813
3,117
113
269049.jpg

Складчина: Курс Python Full Stack розробник [javarush]​

Онлайн курс з нуля до працевлаштування за 12 місяців
Курс Python Full Stack розробник
Навчаючись на курсі з ментором, опануй розробку на Python — від основ до технологій рівня Middle-фахівця, і створи 5 крутих проєктів для свого портфоліо.
Скрытая ссылка Онлайн-заняття з менторами
Відеолекції з розбором нових тем двічі на тиждень, відеозаписи надаються.
Скрытая ссылкаВід “бази” до просунутих технологій
5 модулів навчання: лекції, задачі, практичні проєкти.
Тривалість курсу –⁠ рік. Вартість курсу вказана за 1 місяць.

Скрытая ссылка Диплом JavaRush, що підтверджує знання
Сертифікат про завершення курсу, який можна додати до резюме
Скрытая ссылкаПосилена підготовка до першої роботи в IT
Консультація з HR-експертом щодо резюме, відеолекції про підготовку до співбесід

Твої кар’єрні перспективи як Python‑розробника
Скрытая ссылка

Детальна програма навчання
Online навчання на Python‑розробника включає в себе 5 модулів з лекціями, практикою і підсумковими проєктами (від новачка до рівня Middle‑розробника), а також фінальний проєкт.

МОДУЛЬ 1. PYTHON CORE.

  • Знайомство з ІТ-індустрією. Будова ІТ-компаній та розробка продукту.
  • Налаштування середовища розробки. Встановлення та робота в PyCharm. Створення першого проєкту. Знайомство з Python та основи Scrum.
  • Основи синтаксису Python. Змінні, оператори та введення даних. Умовні конструкції if/else. Цикли for та while.
  • Типи даних у Python: числові, дійсні, логічні. Перетворення типів. Створення функцій, параметри, return та області видимості змінних.
  • Колекції: списки (List) та кортежі (Tuple). Робота з елементами: додавання, видалення, зрізи. Цикли та генератори списків.
  • Колекції: множини (Set). Операції над множинами. Просунута робота з рядками, зрізи та escape-символи.
  • Колекції: словники (Dictionary) та незмінні множини (frozenset). Робота з парами ключ-значення. Цикли та генератори словників.
  • Розширені можливості функцій: лямбди, замикання, генератори та декоратори. Робота з вбудованими бібліотеками. Модуль datetime.
  • Основи ООП. Класи та об'єкти, ініціалізатори. Успадкування, поліморфізм, множинне успадкування та порядок розв'язання методів (MRO).
  • Помилки та винятки. Обробка винятків за допомогою try-except. Створення власних винятків. Налагодження програм у PyCharm.
  • Модулі та пакети. Імпорт та створення власних модулів. Пакетні менеджери. Ітератори та перевантаження операторів.
  • Робота з файлами: читання, запис, оператор with. Робота з файловою системою та директоріями. Серіалізація об'єктів за допомогою модуля pickle.
  • Формат JSON та його застосування. Робота з мережею: HttpClient, Proxy, сокети. Взаємодія з публічними та AI API.
  • Основи асинхронного програмування. Багатопотоковість та модуль threading. Бібліотека asyncio: Event Loop, завдання (Task) та Future.
  • Робота з системою контролю версій Git та GitHub. Практичне освоєння GUI в PyCharm: Commit, Push, Branch. Налаштування файлу .gitignore.
Підсумковий проєкт
  • Створення багатофункціонального Telegram-бота з інтеграцією ChatGPT
МОДУЛЬ 2. FULLSTAXCK.
Робота з мережею

  • Основи будови мережі: модель OSI, принципи роботи підмереж, DNS, NAT та VPN.
  • Вивчення протоколу HTTP: клієнт-серверна архітектура, структура URL, HTTP-методи, коди відповідей, заголовки та введення в REST.
Інструменти для даних: робота з Excel та веб-скрейпінгом
  • Автоматизація роботи з даними в Excel за допомогою Python та pandas. Вивчення читання, запису, фільтрації, сортування та групування даних. Об'єднання, очищення таблиць, створення зведених звітів та їх експорт.
  • Вивчення основ HTML: структура документа, базові теги, списки, таблиці та форми. Введення в CSS: способи підключення, основні, комбіновані та атрибутні селектори для стилізації елементів.
  • Введення у веб-скрейпінг: встановлення requests та BeautifulSoup, парсинг HTML. Вивчення методів пошуку (find, find_all, select) за тегами, атрибутами та CSS-селекторами. Вилучення тексту та атрибутів з таблиць та списків.
  • Просунуті техніки веб-скрейпінгу: обхід обмежень за допомогою user-agent, cookies, проксі та обхід CAPTCHA. Робота з динамічним JavaScript-контентом, пагінацією та складними HTML-структурами. Використання API, налаштування повторних спроб, тайм-аутів та кешування для створення стійких та продуктивних скрейперів.
  • Освоєння Selenium для автоматизації браузера: налаштування драйвера, пошук елементів за ID, class, XPath та CSS. Взаємодія з формами, кнопками та динамічними елементами, вилучення даних, прокручування та навігація.
  • Розробка та оптимізація стійких скриптів: планування, структурування коду, логування, обробка помилок, обхід пагінації та тестування.
Docker
  • Основи Linux. Вивчення командного рядка, навігація файловою системою, робота з файлами та директоріями.
  • Адміністрування Linux. Управління користувачами та групами, налаштування прав доступу до файлів, моніторинг та управління системними процесами.
  • Введення у Docker. Порівняння контейнерів та віртуальних машин. Встановлення, основні команди та знайомство з Docker Hub.
  • Основи роботи з Docker. Створення та управління контейнерами, робота з логами, перенаправлення портів та монтування томів для постійного зберігання даних.
  • Робота з Docker-образами. Створення образів за допомогою Dockerfile, вивчення основних інструкцій, управління образами, їх оптимізація та публікація в Docker Hub.
  • Docker Compose. Введення в оркестрацію контейнерів. Створення docker-compose.yml для управління багатоконтейнерними застосунками, налаштування мереж, томів та масштабування сервісів.
Проєкт: сервер зображень 1.0
  • Розробити простий та ефективний сервіс для хостингу зображень. Користувачі можуть завантажувати свої зображення через веб-інтерфейс, а натомість отримувати пряме посилання для їх перегляду або публікації в інтернеті. Технології: Python, Nginx, Docker.
Основи SQL та PostgreSQL
  • Вивчення реляційної моделі даних та синтаксису SELECT. Фільтрація даних за допомогою WHERE, сортування з ORDER BY, обмеження виведення через LIMIT та OFFSET для пагінації, а також вилучення унікальних значень з DISTINCT.
  • Агрегування та групування даних. Застосування агрегатних функцій (COUNT, SUM, AVG, MIN, MAX), групування результатів з GROUP BY та фільтрація груп з HAVING. Огляд основних числових та часових типів даних.
  • Розуміння та обробка NULL значень за допомогою IS NULL, COALESCE та CASE WHEN. Використання підзапитів для складної фільтрації даних з операторами IN та EXISTS.
  • Об'єднання таблиць: освоєння INNER JOIN та LEFT JOIN для зв'язування даних з кількох таблиць. Вивчення концепції зовнішніх ключів та моделювання зв'язків ONE-TO-MANY та MANY-TO-MANY.
  • Створення та зміна таблиць за допомогою CREATE та ALTER TABLE з використанням обмежень. Вставка, оновлення та видалення даних командами INSERT, UPDATE, DELETE.
Проєкт: сервер зображень 2.0
  • Це розвиток та ускладнення початкової версії сервісу. Ключове нововведення — інтеграція з базою даних PostgreSQL. Вся архітектура, як і раніше, будується на Docker та Docker Compose, але тепер включає три взаємопов'язані сервіси: бекенд на Python, веб-сервер Nginx та базу даних PostgreSQL.
МОДУЛЬ 3. DJANGO.
Бекенд на Django

  • Знайомство з Django, архітектура проєкту та базові компоненти
  • Налаштування оточення: віртуальні середовища, встановлення залежностей, файли налаштувань, конфігурація БД, статичні файли.
  • Робота з представленнями (Views) та маршрутизацією (URLConf): створення функцій-представлень, зв'язування URL, динамічні URL, обробка параметрів.
  • Класові представлення (Class-Based Views): відмінності від FBV, базові CBV, TemplateView, ListView, DetailView, перевизначення методів.
  • HTML та шаблони Django: контекст, успадкування (base.html), теги (include, extends, block), фільтри, статичні файли.
  • Створення застосунків (Apps): структура, реєстрація, маршрутизація на рівні застосунків, організація коду в застосунку.
  • Основи Django ORM: моделі, типи полів, міграції, робота з БД через shell, CRUD-операції.
  • QuerySets та CRUD: створення, читання, фільтрація, оновлення та видалення даних. Ледаче завантаження, пагінація.
  • Зв'язки між моделями: OneToOne, ForeignKey, ManyToMany, робота з пов'язаними об'єктами, оптимізація запитів.
  • Агрегації, анотації та фільтрація даних: aggregate(), annotate(), Sum, Avg, Count, Q-об'єкти, F-об'єкти.
  • Django Admin: реєстрація моделей, кастомізація відображення, ModelAdmin, фільтри, пошук, дії.
  • Django Forms: створення, обробка та валідація форм, вбудовані валідатори, віджети, відображення помилок.
  • ModelForms: створення форм на основі моделей, збереження даних, кастомізація полів та методів.
  • Message Framework: сповіщення користувача, типи повідомлень (success, error, info), відображення в шаблонах.
  • Аутентифікація в Django: User модель, сторінки реєстрації, входу та виходу, обмеження доступу.
  • Введення в Django REST Framework: встановлення, налаштування, серіалізатори, маршрутизація API, обробка HTTP-методів.
  • Серіалізація даних з DRF: Serializers, ModelSerializers, налаштування полів, вкладені та пов'язані серіалізатори, валідація.
  • Аутентифікація та дозволи в DRF: токени, JWT, налаштування, використання дозволів.
  • Пагінація та фільтрація даних в API: базові налаштування, DjangoFilterBackend, пошук, упорядкування даних.
  • ViewSets та Routers: ViewSets, ModelViewSet, GenericViewSet, SimpleRouter, DefaultRouter, кастомізація маршрутів.
  • Кастомізація дозволів та безпека API: IsAuthenticated, IsAdminUser, створення кастомних дозволів, CORS, HTTPS.
  • Тестування API: pytest-django, DRF тест-клієнт, тестування серіалізаторів, представлень, Mock-тестування.
  • Документування API: drf-yasg для Swagger та Redoc, генерація документації, Swagger UI.
  • Введення в GraphQL з Django: Graphene-Django, створення API, визначення схеми, запити, мутації, Apollo Client.
  • Складні GraphQL запити та оптимізація: вкладені запити, DataLoader, пагінація, фільтрація, обробка помилок.
Керування проєктом на віддаленому сервері
  • Робота з сервером. Налаштування підключення, робота в терміналі linux, встановлення та налаштування веб- та проксі-сервера, налаштування SGI
  • Деплой веб-застосунку на сервер. Моніторинг роботи застосунків
  • Робота з контейнерами. Автоматизація деплою. CI/CD
  • Додаткові інструменти. PostgreSQL, Docker Hub, GitHub Actions
  • Робота з хмарами. Налаштування та конфігурація віртуальних машин
  • Робота з AWS. Робота з Azure. Google Cloud
Підсумковий проєкт: Інтернет-магазин на Django/DRF
  • Створення повноцінного інтернет-магазину, який трансформує готовий статичний дизайн у динамічний веб-застосунок.
  • Розробка буде вестися з акцентом на створення двох основних інтерфейсів: традиційного веб-інтерфейсу для користувачів (з сесійною аутентифікацією) та REST API для зовнішніх клієнтів (з JWT-авторизацією). Вся інфраструктура буде контейнеризована з використанням Docker Compose та PostgreSQL.
МОДУЛЬ 4. АСИНХРОННІ API, FASTAPI TA ІНТЕГРАЦІЯ З ФРОНТЕДОМ.
Основи FastAPI та створення API

  • Введення у FastAPI: порівняння з іншими фреймворками, встановлення, створення першого API, маршрутизація, параметри запитів, відповіді JSON, вбудована документація Swagger.
  • Створення асинхронного REST API з FastAPI: async/await, CRUD-операції (GET, POST, PUT, DELETE), параметри шляху та запитів, обробка помилок та винятків.
  • Валідація даних з Pydantic: створення моделей для валідації вхідних та вихідних даних, використання Field, вкладені моделі, кастомізація повідомлень про помилки.
  • Аутентифікація та авторизація з OAuth2 та JWT: концепції OAuth2 та JWT, генерація та перевірка токенів, захист ендпоінтів, налаштування рефреш-токенів.
  • Тестування FastAPI-застосунків з Pytest: встановлення Pytest, тестування GET/POST запитів з TestClient, мокування зовнішніх API, тестування аутентифікації, фікстури.
Управління базами даних (SQL/NoSQL) та кешування
  • Робота з SQLAlchemy: основи ORM, створення моделей даних, виконання CRUD-операцій, реляційні моделі, інтеграція з FastAPI та Django.
  • Міграції з Alembic: роль Alembic, створення та відкат міграцій, управління версіями БД, інтеграція з FastAPI та Django, синхронізація міграцій.
  • Введення в NoSQL бази даних (MongoDB): особливості, встановлення, CRUD-операції, інтеграція з FastAPI (motor), асинхронні запити, робота з колекціями.
  • Кешування з Redis: навіщо потрібне кешування, принципи роботи Redis, встановлення, підключення до FastAPI, кешування запитів та сесій, оптимізація продуктивності.
  • Порівняння SQL та NoSQL баз даних: коли використовувати кожен тип, приклади гібридних рішень, управління даними в різних базах.
  • Оптимізація роботи з SQLAlchemy: транзакції, зв'язки (OneToOne, ManyToMany), оптимізація запитів, індекси, агрегації, підзапити, профілювання.
Асинхронні завдання та черги повідомлень
  • Асинхронна взаємодія з RabbitMQ: черги повідомлень, продюсери, консьюмери, асинхронна робота з FastAPI, постійні черги.
  • Celery для фонових завдань: встановлення, налаштування, виконання фонових завдань, інтеграція з RabbitMQ, відстеження статусу завдань, Celery Beat для планування.
  • Паралельна обробка завдань: налаштування в Celery, використання кількох воркерів, оптимізація черг з Celery та RabbitMQ, балансування навантаження.
  • Обробка помилок та повторне надсилання повідомлень: обробка помилок у RabbitMQ та Celery, retry-механізми, dead-letter queues (DLQ), логування, управління таймаутами.
Інтеграція із зовнішніми сервісами та безпека API
  • Інтеграція FastAPI із зовнішніми API: httpx для асинхронних запитів (GET, POST), валідація даних, обробка помилок, приклади інтеграції (OpenWeatherMap, GraphQL).
  • Робота з Google API: Google Cloud Console, OAuth2, Google Sheets API, Google Drive API, Google Maps API, асинхронна обробка запитів, ліміти.
  • Створення Telegram-бота з FastAPI: основи Telegram-ботів, python-telegram-bot, Webhooks, асинхронна обробка повідомлень, команди, логування, інтеграція із зовнішніми API.
  • Робота з Telethon та Telegram API: Telethon, створення Telegram-клієнта, отримання даних з каналів/чатів, асинхронне читання/надсилання повідомлень, обробка подій, інтеграція з FastAPI.
  • Обробка помилок та винятків у FastAPI: стандартні HTTP-помилки, користувацькі помилки, кастомні обробники, логування, middleware для помилок, глобальний обробник.
  • Налаштування CORS та безпека API: Cross-Origin Resource Sharing (CORS), налаштування у FastAPI, захист API токенами безпеки, SSL, крос-доменні запити.
Підсумковий проєкт
  • Проєкт спрямований на створення автоматизованого сервісу для агрегації та розповсюдження новин. Основне завдання — збирати актуальні новини з різних джерел, фільтрувати їх за заданими критеріями та публікувати у вказаний канал.
  • Сервіс працюватиме за розкладом, використовуватиме фонові завдання для обробки даних та надаватиме програмний інтерфейс для управління налаштуваннями та перегляду останніх оновлень
Модуль 5. ARCHITECTURE & lOGIC.
Породжувальні патерни

  • Singleton
  • Factory Method
  • Abstract Factory
  • Prototype
  • Builder
  • Lazy Initialization
  • Object pool
Структурні патерни
  • Adapter
  • Decorator
  • Proxy
  • Bridge
  • Facade
  • Composite
  • Flyweight
Поведінкові патерни
  • Iterator
  • Command
  • Observer
  • Visitor
  • Mediator
  • State
  • Strategy
  • Template Method
  • Chain of Responsibility
  • Memento
  • Interpreter
Антипатерни
  • Магічні числа та рядки
  • Клас бога
  • Передчасна оптимізація
  • Винаходження велосипеда
Алгоритми та структури даних
  • Знайомство з алгоритмами. Лінійний та бінарний пошук. Алгоритмічні задачі
  • Структури даних. Графи. Оперативна пам'ять та представлення даних, масиви постійного розміру, динамічні масиви, зв'язні списки, хеш-функції та інші структури даних
  • Рекурсія та сортування. Рекурсивний та базовий випадки, рекурсивний бінарний пошук, алгоритми сортування, вибір алгоритму сортування та їх порівняння
  • Складність алгоритмів. Часова та просторова складність алгоритмів, нотація Big O
  • Методи розв'язання задач. Наївні методи, метод двох вказівників, метод ковзного вікна тощо.
Скрытая ссылка