[TeachMeSkills] Python разработчик 2021 [Александр Сидоров]

500

Научим с нуля разработке 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