Научим с нуля разработке web-приложений на Python за 4 месяца.
Кем ты станешь
Язык программирования Python – один из лучших для обучения с нуля. Простой синтаксис и высокая скорость разработки – все, что нужно для разработки широкого спектра web-приложений.
Курс Python с нуля в школе TeachMeSkills – возможность изучить экосистему Python, научиться разрабатывать приложения на фреймворке Django, работать с базами данных и серверами.
1. Изучишь экосистемы Python и фундаментальные принципы программирования.
2. Разработаешь web-приложение на Django.
3. Научишься работать с файлами и базами данных.
4. Разберешься в процедурном и объектно-ориентированном программировании.
5. Будешь знать концепции тестирования и работы с Docker.
6. Станешь востребованным Python разработчиком.
1. Введение в алгоритмизацию и экосистему Python
- Алгоритмизация, Python
- Инструменты разработки
- Virtualenv
- Консоль, python, pip
- Создание окружения, цель, использование, удаление
- PEP 8, PEP 20
2. Репозитории - Git
- Git Flow
- Работа с командами Git
- Github
3. Основы Python (Часть 1) - Переменные
- Типы данных
- Операторы
- Преобразование типов
- Функции ввода и вывода
- Представление переменных в памяти
- Комментарии
4. Основы Python (Часть 2) - Формы операторов присваивания
- Форматирование строк
- Операторы сравнения
- Операторы ветвления
- Вложенные условия
- Циклы, виды циклов
5. Встроенные функции и модули - Функции для обработки и анализа данных
- Использование модулей
- Работа с датой и временем
- Random
6. Функциональное программирование (Часть 1) - Функции и аргументы
- Область видимости
- Аннотации
- Генераторы списков
7. Функциональное программирование (Часть 2) - Документирование кода
- Lambda функции
- Функции высшего порядка
- Декораторы
8. Работа с текстом, сериализация и файловая система - Кодировки
- Работа с файлами
- Работа с внешними данными: JSON, CSV, Excel
9. ООП (Часть 1) - Классы
- Инкапсуляция, наследование и полиморфизм
- Перегрузка операторов
- MRO
10. ООП (Часть 2) - Статические методы, методы класса, property
- Метаклассы
- Классы данных
11. Итераторы и генераторы, деббагер - Итераторы, генераторы
- Создание скриптов
- Использование деббагера
- Взаимодействие с файловой системой
- Регулярные выражения
12. Базы данных и SQL - Базы данных
- SQLite
- SQL запросы
- ORM
13. PostgreSQL и SQLAlchemy - Сложные запросы
- PostgreSQL
- SQLAlchemy
- Функции и триггеры
- ORM
14. Тестирование - Тестирование без использования библиотек
- Тестирование при помощи pytest
- Тестирование с помощью unittest
15. Обработка данных и сетевые приложения - numpy, scipy и pandas
- протоколы
- requests
16. Введение в Django, Flask - Паттерны проектирования, MTV
- обзор Flask
- Django
- Панель администратора
- Роутинг
17. Django - Представления - Manage команды
- Представления
- Обработка запросов
- STATIC и MEDIA файлы
18. Django - Шаблоны - Шаблоны
- Теги и фильтры
- Загрузка файлов
19. Клиентская сторона веб-приложения - Обзор основных технологий, используемых на клиентской стороне веб-приложений (HTML, CSS, JS)
- Введение в HTML. Основные компоненты HTML-документа
- Обзор ключевых HTML-тегов и примеры их использования
- Введение в CSS. Структура CSS-правил, использование селекторов CSS и их взаимодействие с элементами HTML страницы
- Обзор основных свойств CSS
20. Django - Модели - Django ORM
- Модели
- QuerySet
- Миграции
21. Django - Формы - Формы
- Валидация
- Формы в представлениях-классах
22. Django REST - Django REST
- Сериализаторы
- Обработка запросов
23. Распределенные вычисления - Потоки и их синхронизация
- GIL
- Процессы и их синхронизация
- Асинхронное программирование
- Фреймворк Scrapy
24. Docker + подготовка к дипломному проекту - Docker контейнеры
- Выбор дипломного проекта
25. Хакатон
26. Тренинг 'Трудоустройство в IT' - Составление резюме (теория + практика)
- Составление профиля на LinkedIn (теория + практика)
- Прохождение интервью
- Soft skills, которые важны в рамках интервью
- Проведение пробного интервью
Автор: Александр Сидоров - TeachMeSkills