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

Moderator
Команда форума
29 Мар 2020
305,517
1,645,676
113
#1
Курс Python Full Stack розробник [javarush]



Курс 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
Методи розв'язання задач. Наївні методи, метод двох вказівників, метод ковзного вікна тощо.


Скачать:
Для просмотра содержимого вам необходимо авторизоваться