Ресурсы для обучения по книге

Ресурсы, которые пригодятся в процессе обучения:

Подготовка рабочего окружения

Для выполнения заданий книги можно использовать несколько вариантов:

  • взять подготовленную виртуалку vmware или vagrant (virtualbox)
  • подготовить виртуалку самостоятельно
  • использовать вм или какой-то сервис в облаке
  • работать без создания виртуальной машины

Подробнее о подготовке рабочего окружения Подготовка рабочего окружения.

Задания

Все задания и вспомогательные файлы можно скачать в репозитории. Задания продублированы в книге исключительно для удобного обзора всех заданий раздела. Так как все вспомогательные файлы, код и тесты находятся в репозитории заданий, лучше делать задания в копии репозитория. Как сделать копию описано во втором разделе.

Иногда, какой-то раздел может оказаться особенно сложным, в этом случае, можно остановиться на минимуме заданий. Это позволит двигаться дальше и не забрасывать учебу. А позже можно вернуться и доделать задания. В целом, конечно лучше делать все задания, так как практика это единственный способ нормально разобраться с темой, но иногда лучше сделать меньше заданий и продолжать учебу, чем застрять на одной теме и забросить все.

Раздел Минимум заданий Все задания
04_data_structures 4.1, 4.2, 4.3, 4.6 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8
05_basic_scripts 5.1, 5.1a, 5.2, 5.2a 5.1, 5.1a, 5.1b, 5.1c, 5.1d, 5.2, 5.2a, 5.3, 5.3a
06_control_structures 6.1, 6.2, 6.3 6.1, 6.2, 6.2a, 6.2b, 6.3
07_files 7.1, 7.2, 7.3 7.1, 7.2, 7.2a, 7.2b, 7.2c, 7.3, 7.3a, 7.3b
09_functions 9.1, 9.1a, 9.2, 9.2a, 9.3 9.1, 9.1a, 9.2, 9.2a, 9.3, 9.3a, 9.4
11_modules 11.1, 11.2 11.1, 11.2
12_useful_modules 12.1, 12.2 12.1, 12.2, 12.3
15_module_re 15.1, 15.2, 15.3, 15.4 15.1, 15.1a, 15.1b, 15.2, 15.2a, 15.3, 15.4, 15.5
17_serialization 17.1, 17.2, 17.3 17.1, 17.2, 17.3, 17.3a, 17.3b, 17.4
18_ssh_telnet 18.1, 18.1a, 18.2, 18.2a, 18.2b, 18.3 18.1, 18.1a, 18.1b, 18.2, 18.2a, 18.2b, 18.2c, 18.3
19_concurrent_connections 19.1, 19.2, 19.3 19.1, 19.2, 19.3, 19.3a, 19.4
20_jinja2 20.1, 20.2, 20.3 20.1, 20.2, 20.3, 20.4, 20.5, 20.5a
21_textfsm 21.1, 21.1a, 21.2, 21.3, 21.4 21.1, 21.1a, 21.2, 21.3, 21.4, 21.5
22_oop_basics 22.1, 22.1a, 22.1b, 22.2, 22.2a 22.1, 22.1a, 22.1b, 22.1c, 22.1d, 22.2, 22.2a, 22.2b, 22.2c
23_oop_special_methods 23.1, 23.1a, 23.2 23.1, 23.1a, 23.2, 23.3, 23.3a
24_oop_inheritance 24.1, 24.2, 24.2a 24.1, 24.1a, 24.2, 24.2a, 24.2b, 24.2c, 24.2d
25_db 25.1, 25.2, 25.3 25.1, 25.2, 25.3, 25.4, 25.5, 25.5a, 25.6

Тесты

В репозитории заданий для проверки заданий есть автоматические тесты. Они помогают проверить все ли соответствует поставленной задаче, а также дают обратный отклик по тому, что не соответствует задаче. Как правило, после первого периода адаптации к тестам, становится проще делать задания с тестами.

Как работать с тестами.

Дополнительные материалы

Почти в каждой части книги есть глава «Дополнительные материалы», в которой находятся полезные материалы и ссылки по теме, а также ссылки на документацию. Кроме того, я сделала подборку ресурсов по Python для сетевых инженеров, где можно найти много полезных статей, книг, видео курсов и подкастов.