Темы, которые необходимо проработать
Изучить возможности стандартной библиотеки https://docs.python.org/3.7/tutorial/stdlib.html встроенные типы, их методы и как их эффективно применять именование переменных, классов, модулей структура модулей и грамотное их проектирование (init.py) настройка и использование среды (линтер, форматирование кода, ворнингы - локальное отключение) компрехешн выражения для конструирования контейнеров методы форматирования строк работа с типами объектов. как грамотно проверять какой тип нам нужен + конструирование объектов “на лету” (int, str, float, etc) определение и использование выражений генераторов (yield) обработка ошибок, использование исключений, определение пользовательских исключений (https://docs.python.org/3.7/tutorial/errors.html) декораторы: понимание области применения, какие декораторы бывают, создание декораторов функций модули os/sys, что предоставляют, управление переменными среды map, filter, str.split, str.join, etc string itertrools functools operator collections работа с файлами (чтение-запись, обработка ошибок) стандартные механизмы логирования (logging), настройка классы, создание-проектирование-использование (https://docs.python.org/3.7/tutorial/classes.html) работа с асинхронщиной REST API какие методы используются для создания/изменения/удаления объектов и т.п. как передавать параметры (path/query/body params) стандартные коды возврата как тестировать API (postman, PyCharm http-files, curl) эффективная работа с PyCharm навигация работа с отладчиком работа с системой контроля версий (git) эффективная работа в Unix shell утилиты: ps, ls, pwd, awk, sort, uniq, ping, telnet, curl, etc построение pipe настройка ssh-авторизации работа с pip, virtualenv, pyenv работа c tornado написание обработчиков обработка ошибок применение декораторов requests marshmellow описание схем валидация / сериализация работа с базами данных
- SQL DML/DDL
- транзакции
- немного проектирование (связи, ограничения, выбор типов, индексы)
- работа с SQLAlchemy Темы есть теоретические и по которым нужно писать примеры. Примеры есть в web и очень желательно самому придумывать, как и где можно применить ту или иную функцию/конструкцию/фичу.
Два раза в неделю (среда, пятница) по пройденным темам будем фиксировать погресс и решать задачки. При изучении новой темы, делаем дочерний тикет для нее и пишем релевантную информацию (что изучено, какие проблемы, что непонятно, задачки/примеры, какие источники в web использовались для изучения - ссылки), таким образом получаем навык коммуникации и работы с Джирой.