Продолжение обучения#

Как правило, информацию тяжело усвоить с первого раза. Особенно, новую информацию.

Если делать практические задания и пометки, в ходе изучения, то усвоится намного больше информации, чем, если просто читать книгу. Но, скорее всего, в каком-то виде, надо будет читать о той же информации несколько раз.

Книга дает лишь основы Python и поэтому надо обязательно продолжать учиться и повторять уже пройденные темы и изучать новое. И тут есть множество вариантов:

  • автоматизировать что-то в работе

  • изучать дальше Python для автоматизации работы с сетью

  • изучать Python без привязки к сетевому оборудованию

    Тут ресурсы перечислены выборочно, с учетом того, что вы уже прочитали книгу. Но, кроме этого, я сделала подборку ресурсов в которой можно найти и другие материалы.

Написание скриптов для автоматизации рабочих процессов#

Скорее всего, после прочтения книги, появятся идеи, что можно автоматизировать на работе. Это отличный вариант, так как на реальной задаче всегда проще учиться и изучать новое. Но лучше не ограничиваться только рабочими задачами и изучать Python дальше.

Python позволяет делать достаточно многое обладая только базовыми знаниями. Поэтому не всегда рабочие задачи позволят принципиально повысить уровень знаний или подтолкнуть к этому, но зная Python лучше, те же задачи можно решать, как правило, намного проще. Поэтому лучше не останавливаться и учиться дальше.

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

Python для автоматизации работы с сетевым оборудованием#

Книги:

Блоги - позволят быть в курсе новостей в этой сфере:

У Packet Pushers достаточно часто выходят подкасты об автоматизации:

Проекты:

  • CiscoConfParse - библиотека, которая парсит конфигурации типа Cisco IOS. С ее помощью можно: проверять существующие конфигурации маршрутизаторов/коммутаторов, получать определенную часть конфигурации, изменять конфигурацию

  • NAPALM - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) это библиотека, которая позволяет работать с сетевым оборудованием разных вендоров, используя унифицированный API

  • NOC Project - NOC is the scalable, high-performance and open-source OSS system for ISP, service and content providers

  • Requests - библиотека для работы с HTTP

  • SaltStack - аналог Ansible

  • Scapy - сетевая утилита, которая позволяет манипулировать сетевыми пакетами

  • StackStorm - StackStorm is event-driven automation commonly used for auto-remediation, security responses, facilitated troubleshooting, complex deployments, and more

  • netdev

  • Nornir

  • eNMS

Python без привязки к сетевому оборудованию#

Книги#

Основы:

  • Think Python - хорошая книга по основам Python. В книге есть задания.

  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming - книга по основам Python. Половина книги посвящена «стандартному» описанию основ Python, а во второй половине эти основы используются для проектов. В книге есть задания.

  • Automate the Boring Stuff with Python. На русском - в этой книге можно найти много идей по автоматизации ежедневной работы. Тут рассматриваются такие темы: работа с файлами PDF, Excel, Word, отправка писем, работа с картинками, работа в веб

Среднего/продвинутого уровня:

  • Python Tricks - отличный вариант для 2-3 книги по Python. В книге описываются различные аспекты Python и то как правильно использовать. Книга достаточно новая (конец 2017 года), в ней рассматривается Python 3.

  • Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series) - книга полезных советов как лучше писать код. В конце 2019 года планируется выход второго издания книги.

  • Dive Into Python 3 - коротко рассматриваются основы Python, а затем более продвинутые темы: closure, генераторы, тесты и так далее. Книга 2009 года, но рассматриваюется Python 3 и 99% тем остались без изменений.

  • Problem Solving with Algorithms and Data Structures using Python - отличная книга по структурам данных и алгоритмам. Много примеров и домашних заданий. На русском

  • Fluent Python - отличная книга по более продвинутым темам. Даже те темы, которые устарели в текущей версии Python (asyncio) стоит прочитать ради прекрасного объяснения темы.

  • Python Cookbook - отличная книга рецептов. Рассматривается огромное количество сценариев с решениями и пояснением.

Курсы#

  • MITx - 6.00.1x Introduction to Computer Science and Programming Using Python - очень хороший курс по Python. Отличный вариант для продолжения обучения после книги. В нём вы и повторите пройденный материал по основам Python, но под другим углом и узнаете много нового. В курсе много практических заданий и он достаточно интенсивный.

  • Python от Computer Science Center - отличные видеолекции по Python. Тут есть и немного основ и более продвинутые темы

  • Курсы от Talk Python

Сайты с задачами#

Подкасты#

Подкасты позволят в целом расширить кругозор и получить представление о разных проектах, модулях и библиотеках Python:

Документация#