Видеокурс «Git для начинающих» (установочная встреча)
Необходимый минимум теории (3 академ. ч) и 67 практических заданий (32 академ. ч):
- Философия командной разработки.
- Популярные хостинги разработки ПО.
- Основы Git.
- Практики использования Git в командах.
- Личная конфигурация Git для удобной работы.
Введение
- Знакомство с курсом
- Доступ к репозиторию курса
Перед тем, как начать
Цель: настроенный Git, знание альтернатив и понимание основных терминов
Теория (0,8 академ. ч):
- Создание аккаунта и настройка Github.
- Настройка SSH.
- Базовые знания про память и процессор.
- Рассказ про компиляторы и интерпретаторы.
Практика (1 академ. ч):
- Создать новый репозиторий.
- Описать в READ.ME его цель.
- Запушить на Github.
- Сделать настройки видимости репозитория.
Основы
Цель: полностью настроенная инфраструктура (управление зависимостями, управление версиями, виртуальные среды).
Теория (0,7 академ. ч):
- Первые программы из IDE или из файла.
- IDE: Visual Studio Code, преимущества и настройка, альтернативы.
- PyCharm — Idea.
- PEP8.
- linter стандарты кода.
Практика (14 академ. ч):
- Скачать с Github проект.
- Сделать VE через PIPENV.
- Установить зависимости и запустить.
- Воспользоваться Poetry вместо PIPENV, использовать внутри IDE.
- Автоматическая проверка линтерами.
Язык программирования Python
Цель: научиться писать простейшие программы, решать элементарные задачи, правильно применять типы данных.
Теория (1,6 академ. ч):
- Переменные и встроенные типы.
- Структуры данных.
- Строки и форматирование.
- Словари и множества.
- Comprehensions, lambda, filter, map, collections.
Практика (12 академ. ч):
- Модифицировать примеры.
- Работа с библиотеками: подключить, задействовать функции.
- Рекурсивный обход словарей и обход графов сложные фильтрации, вложенные сomprehensions.
- Валидатор скобок.
Тестирование
Цель: разобраться в терминах, научиться писать юнит-тесты и полностью покрывать тестами свои решения.
Теория (0,6 академ. ч):
- Основы тестирования: unittest, pytest, сoverage.
Практика (14 академ. ч):
- Покрыть тестами предыдущие задания, которые запушены на Github, и проверить через Coverage.
- Настроить Github actions на тесты и Coverage.
Взаимодействие с ОС
Цель: разобраться в стандартных вопросах и общих принципах работы с сетью.
Теория (1,5 академ. ч):
- Что такое ОС, процесс и поток, GIL, Linux\POSIX, файловая система.
- Работа с сетью в ОС.
Практика (14 академ. ч):
- Повторить и модифицировать примеры использования.
- Работа с генератором случайных строк в файл.
- Чтение файла, сортировка строк, написание файла.
- Ускорение генератора строк с помощью multiprocessing.
Десктоп – PyQt
Цель: разобраться в стандартных вопросах, научиться пользоваться наследованием и написать простейшую программу на Qt.
Теория (3,4 академ. ч):
- Основы ООП: наследование, полиорфизм, MRO.
- ООП в Python.
- PyQt widgets.
- Обзор технологии QML: сравнение с JavaScript, обсуждение MVC, разделения frontend и backend.
Практика (20 академ. ч):
- Повторить и модифицировать примеры использования.
- Написать простейшее приложение в 6-10 элементов.
- Переписать предыдущий пример с widgets на QML.
Десктоп PyGame
Цель: научиться использовать pygame и закрепить предыдущие знания.
Теория (0,7 академ. ч):
- Поиск примеров на Github.
- Запуск, демонстрация без разбора кода.
Практика (3 академ. ч):
- Расширить функциональность того, что написали.
- Написать меню с кнопками и своим курсором.
Базы данных
Цель: разобраться, что такое SQL, какие бывают типы хранилищ и инструменты.
Теория (0,9 академ. ч):
- Основы SQL.
- Виды хранилищ и баз данных.
- Обзор самых популярных инструментов.
- ORM общие сведения, CRUD.
- Active Record vs Data Mapper.
Практика (2 академ. ч):
- Доработать код из урока.
- Соединить результат практики из этого модуля и из урока про работу с сетью.
Пишем бота
Цель: разобраться, как работают боты и что такое API.
Теория (0,5 академ. ч):
- Что такое API, читаем документацию.
- Качаем библиотеку, пробуем простой пример.
- Пишем своего простого бота, типа запрос с Ютуба или из Википедии.
Практика (15 академ. ч):
- Соединить результат предыдущей практики с ботом.
- Написать своего бота с кнопками в Telegram.
WEB-основы
Цель: разобраться, как пишутся сайты и веб-сервисы, какие есть протоколы и инструменты проектирования API.
Теория (0,8 академ. ч):
- Что такое web и с чем его едят.
- Место Python в web, обзор фреймворков.
- Как проектировать: ApiFirst, стили проектирования, OpenAPI.
- SOAP, RPC.
Практика (6 академ. ч):
- Работа над итоговым проектом.
Django
Цель: научиться писать бэкенд на Django.
Теория (0,9 академ. ч):
- Основы Django: подключение БД, настройка Hello World.
- Проектируем API для бэкенда.
- Подключаем DRF.
- Создаем контроллер для постов.
Практика (15 академ. ч):
- Написать контроллер для комментариев и тесты для контроллеров.
- Дописать систему диалогов (ответов) в комментариях.
- Добавить авторизацию.
Дальнейшее развитие
Курс «Git для начинающих» — только на тарифе «Переподготовка»
Необходимый минимум теории (3 академ. ч) и 67 практических заданий (32 академ. ч):
- Философия командной разработки.
- Популярные хостинги разработки ПО.
- Основы Git.
- Практики использования Git в командах.
- Личная конфигурация Git для удобной работы.
Курс «Базовое администрирование Linux-серверов» — только на тарифе «Переподготовка»
Знания и навыки, которые необходимы, чтобы научиться обращаться с операционной системой Linux (7 академ. ч теории и 40 академ. ч практики):
- Введение.
- Как подключиться к серверу по SSH.
- Основы работы с ОС (права, команды). Как работать с сервером. Как копировать файлы, папки.
- Разбор системных служб. Как функционирует Linux.
- Основы работы сети.
- Как установить необходимое ПО на сервер.
- Как вручную развернуть свой сайт.
- Виртуализация, виртуальные машины и их особенности.
- Возможные проблемы сервера, их диагностика и методы устранения.
- Оптимизация сервера.
- Основное о Docker-контейнеризации.
- Работа с Git.
Курс «Docker: from zero to hero» — только на тарифе «Переподготовка»
Максимум практических знаний о Docker. От основ до запуска приложения в Docker и работы с образами на продвинутом уровне (15 академ. ч. теории и 88 академ. ч. практики):
- Введение в Docker.
- Основные команды и абстракции Docker. CLI. Общая схема работы Docker.
- Docker и хранение данных.
- Docker-compose файл.
- Docker и CI/CD.
- Сеть в Docker.
- Docker под капотом.
- Особенности использования Docker с различными языками программирования, в том числе с компилируемыми языками.
- Логирование и мониторинг Docker контейнеров.
- Продвинутая работа с образами. Настройка собственного Registry.
- Безопасность в Docker.
- Аналоги Docker.
- Оркестрация Docker. Kubernetes, Docker SWARM. Различия, фичи, для чего оно нужно.