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

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

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

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

  • взять подготовленную виртуалку 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 для сетевых инженеров, где можно найти много полезных статей, книг, видео курсов и подкастов.