Курс Python разработчик [2020] [Дмитрий Ермилов] [Университет Искусственного Интеллекта]
Цели курса:
1. Нучиться писать на Python с нуля - В течение курса вы изучите Python и популярные фреймворки, так что сможете решать широкий спектр задач с помощью данного языка
2. Создать портфолио проектов - В процессе курса вы создадите несколько проектов, которые можно будет показать потенциальным работодателям / клиентам.
3. Получить диплом - По итогам курса вы получите профильный диплом, который будет очень весомым аргументом для работодателя.
4. Трудоустроиться - По завершению курса вы сможете устроиться на middle или junior разработчика на Python
Цели курса:
1. Нучиться писать на Python с нуля - В течение курса вы изучите Python и популярные фреймворки, так что сможете решать широкий спектр задач с помощью данного языка
2. Создать портфолио проектов - В процессе курса вы создадите несколько проектов, которые можно будет показать потенциальным работодателям / клиентам.
3. Получить диплом - По итогам курса вы получите профильный диплом, который будет очень весомым аргументом для работодателя.
4. Трудоустроиться - По завершению курса вы сможете устроиться на middle или junior разработчика на Python
1. Введение в курс. Настройка рабочей среды, знакомство с популярными библиотеками
Содержание занятия:
Содержание занятия:
Содержание занятия:
Содержание занятия:
Содержание занятия:
Содержание занятия: Автотесты давно стали стандартом профессионального программирования
Содержание занятия: Формат json является основным стандартом передачи данных. Сохранение данных в файл применяется практически во всех крупных программах
Содержание занятия: С помощью тернарных операторов и генераторов можно писать более читаемый и быстрый код. Исключения позволяют обрабатывать возможные ошибки в процессе выполнения программы. Декораторы позволяют быстро добавить новые возможности в функцию
Задание для отработки:
Содержание занятия: Все в python является объектом
Содержание занятия: Библиотека unittest является классической и используется как основа для тестирования в Django
Содержание занятия: Использование магических методов в python позволяет сделать код более читаемым и удобным, а так же задействовать утиную типизацию
Содержание занятия:
Содержание занятия: Знание html / css позволит понимать работу frontend-части веб-приложения. Знание bootstrap позволит быстро создать адаптивный дизайн для сайта
Содержание занятия: Не у всех сайтов есть удобный api, поэтому часто приходится парсить разметку html. Парсим html с beautifulsoup
Задание для отработки:
Содержание занятия: Написание ботов на python является популярной темой, как для сотрудников фирм так и для фрилансеров. Разбираем как писать бота на примере бота для Telegram
Задание для отработки:
Содержание занятия:
Содержание занятия: Реляционные базы данных являются основным инструментом для хранения данных на веб-сайте
Содержание занятия: Технология ORM позволяет разработчику забыть про sql и "говорить" с СУБД на python, а так же переходить с одной базы данных на другую без изменения кода запросов
Содержание занятия: Множественное наследование часто используется в Django проектах, так же как дескрипторы и метаклассы. Вопросы на эти темы часто задают на собеседованиях. Разбираем теорию и варианты использования
Задание для отработки:
Содержание занятия: Django является самым популярным веб-фреймворком, благодаря функциям "из коробки" и множеству сторонних библиотек. По структуре Django похож на Flask, поэтому изучение его основ теперь не составит труда
Содержание занятия:
Содержание занятия: Слой view в Django обычно реализуют на классах, а не на функциях. Это позволяет задействовать все преимущества ООП. CBV, наследование моделей
Задание для отработки:
Содержание занятия: Практически во всех современных сайтах есть возможность авторизации и регистрации, а так же личные кабинеты и разграничения доступа
Содержание занятия: В тестировании веб-приложений есть своя специфика
Содержание занятия: Разбираем инструменты Django для решения небольших повторяющихся задач
Содержание занятия: При первом варианте реализации, часто сайт работает не оптимально. В самом худшем случае страницы грузятся слишком долго и сервер не может обрабатывать запросы от нужного количества пользователей
Содержание занятия:
Содержание занятия:
Содержание занятия:
Содержание занятия: Docker позволяет создать контейнер для веб-приложения, для его быстрой доставки в production. Мы создадим контейнер для нашего веб-сервиса
Задание для отработки:
Содержание занятия:
- Введение в курс
- Установка python
- Выбор и установка ide
- Варианты запуска программы
- Использование pip для установки необходимых библиотек
- Работа в виртуальном окружении
- Демонстрация работы requests, Flask, pytest
- Настройка среды разработки
- Изменение демонстрационных примеров
Содержание занятия:
- Основы любого языка программирования
- Переменные, типы данных, приведение типов
- Ввод, вывод в терминал. Условия, цикл
- Решение заданий на использование переменных, цикла while, условий, ввода / вывода
Содержание занятия:
- Работа с высокоуровневыми типами данных
- Строки, списки, словари, множества
- Цикл for, функция range
- Документация
- Решение заданий на использование строк, списков, множеств, словарей
Содержание занятия:
- Работа с функциями
- Объявление, виды параметров, возвращаемое значение
- Области видимости, локальные и глобальные переменные
- Lambda-функции
- Создание функций для проекта "Консольный файловый менеджер"
Содержание занятия:
- Использование сторонних библиотек и создание своих собственных
- Импорт данных
- Система контроля версий git и github, pull requests
- Создание модулей в файловом менеджере
Содержание занятия: Автотесты давно стали стандартом профессионального программирования
- Варианты тестирования
- Плюсы и минусы библиотеки pytest
- Написание тестов для функций
- Написание тестов для функций в файловом менеджере
Содержание занятия: Формат json является основным стандартом передачи данных. Сохранение данных в файл применяется практически во всех крупных программах
- Чтение и запись в текстовый файл
- Сериализация
- Формат json
- Сохранение и чтение данных в файловом менеджере
Содержание занятия: С помощью тернарных операторов и генераторов можно писать более читаемый и быстрый код. Исключения позволяют обрабатывать возможные ошибки в процессе выполнения программы. Декораторы позволяют быстро добавить новые возможности в функцию
Задание для отработки:
- Использование генераторов, тернарных операторов, исключений в файловом менеджере
Содержание занятия: Все в python является объектом
- Введение в ООП, основные понятия
- Принципы ООП
- Методы доступа
- Создание классов для игры в лото
Содержание занятия: Библиотека unittest является классической и используется как основа для тестирования в Django
- Написание тестов для классов с pytest, unittest
- Создание начальных данных
- Создание тестов для игры в лото
Содержание занятия: Использование магических методов в python позволяет сделать код более читаемым и удобным, а так же задействовать утиную типизацию
- Основные магические методы
- Утиная типизация
- Статический метод и метод класса
- Использование магических методов и утиной типизации в игре лото
Содержание занятия:
- Начало работы с API с помощью библиотеки requests
- Http и REST-запросы
- Разбор темы на примере api для github и hh
- Создание API-парсера для github / hh
Содержание занятия: Знание html / css позволит понимать работу frontend-части веб-приложения. Знание bootstrap позволит быстро создать адаптивный дизайн для сайта
- Основные элементы html / css
- Использование bootstrap
- Создание интерфейса для нашего API-парсера
- Создание интерфейса для сайта на Flask
Содержание занятия: Не у всех сайтов есть удобный api, поэтому часто приходится парсить разметку html. Парсим html с beautifulsoup
Задание для отработки:
- html-парсер для сайта новостей
Содержание занятия: Написание ботов на python является популярной темой, как для сотрудников фирм так и для фрилансеров. Разбираем как писать бота на примере бота для Telegram
Задание для отработки:
- Cоздание чат-бота для Telegram
Содержание занятия:
- Введение в написание веб-приложений
- Паттерн MVC как стандарт для веб-приложения
- Flask, view и templates, передача данных в шаблон, рендеринг шаблонов
- Создание веб-сайта на Flask (интеграция с api-парсером)
Содержание занятия: Реляционные базы данных являются основным инструментом для хранения данных на веб-сайте
- Введение в базы данных
- Связанные таблицы, нормальные формы, запросы
- Разбор темы на sqlite и PostgreSql
- Создание базы для хранения данных от api-парсера
Содержание занятия: Технология ORM позволяет разработчику забыть про sql и "говорить" с СУБД на python, а так же переходить с одной базы данных на другую без изменения кода запросов
- Введение в ORM
- Библиотека SQLAlchemy
- Модели данных, запросы
- Создание базы для хранения данных от API-парсера с помощью ORM
Содержание занятия: Множественное наследование часто используется в Django проектах, так же как дескрипторы и метаклассы. Вопросы на эти темы часто задают на собеседованиях. Разбираем теорию и варианты использования
Задание для отработки:
- Прохождение теста для собеседования, завершение проекта на Flask
Содержание занятия: Django является самым популярным веб-фреймворком, благодаря функциям "из коробки" и множеству сторонних библиотек. По структуре Django похож на Flask, поэтому изучение его основ теперь не составит труда
- Установка и настройка Django
- Django ORM, миграции
- Создание моделей данных для сайта на Django (интеграция с html-парсером / Telegram-ботом)
Содержание занятия:
- Взаимодействие с пользователем на сайте
- Передача данных из view в template
- Django Forms
- Создание страниц для взаимодействия с пользователем
Содержание занятия: Слой view в Django обычно реализуют на классах, а не на функциях. Это позволяет задействовать все преимущества ООП. CBV, наследование моделей
Задание для отработки:
- Изменение слоев models и view на классы
- Избавление от дублирования кода с помощью mixins
Содержание занятия: Практически во всех современных сайтах есть возможность авторизации и регистрации, а так же личные кабинеты и разграничения доступа
- Использование и расширение стандартной модели пользователя
- Регистрация и авторизация
- Права пользователей и групп
- Добавление на сайт управления пользователями и ограничения прав
Содержание занятия: В тестировании веб-приложений есть своя специфика
- Тестирование приложений на Django и Flask
- Тесты для методов моделей и view
- Покрытие проекта тестами
Содержание занятия: Разбираем инструменты Django для решения небольших повторяющихся задач
- Постраничный вывод
- Фильтрация данных в шаблоне
- Общие данные на страницах
- Одинаковые запросы к базе данных и др.
- Доработка проекта
Содержание занятия: При первом варианте реализации, часто сайт работает не оптимально. В самом худшем случае страницы грузятся слишком долго и сервер не может обрабатывать запросы от нужного количества пользователей
- Профилирование сайта с django-debug-toolbar
- Основные инструменты оптимизации, кэширование
- Основные команды linux
- Оптимизация проекта
Содержание занятия:
- Размещение сайта в интернете
- Развертывание сайтов на Flask, Django
- Wsgi, gunicorn, nginx
- Безопасность
- Размещение проекта на vps / виртуальной машине
Содержание занятия:
- Микросервисная архитектура
- Отличие веб-сервиса от веб-сайта
- Создание веб-сервисов с django-rest-framework
- Авторизация, получение данных
- Создание rest-api для проекта на Django
Содержание занятия:
- Как проектировать качественное API для взаимодействия
- Обработка всех rest-запросов
- Доработка веб-сервиса
- Доработка rest-api
Содержание занятия: Docker позволяет создать контейнер для веб-приложения, для его быстрой доставки в production. Мы создадим контейнер для нашего веб-сервиса
Задание для отработки:
- Создание контейнера для проекта на Django
- Размещение на vps / виртуальной машине
Продажник