Продолжение обучения#
Как правило, информацию тяжело усвоить с первого раза. Особенно, новую информацию.
Если делать практические задания и пометки, в ходе изучения, то усвоится намного больше информации, чем, если просто читать книгу. Но, скорее всего, в каком-то виде, надо будет читать о той же информации несколько раз.
Книга дает лишь основы Python и поэтому надо обязательно продолжать учиться и повторять уже пройденные темы и изучать новое. И тут есть множество вариантов:
автоматизировать что-то в работе
изучать дальше Python для автоматизации работы с сетью
изучать Python без привязки к сетевому оборудованию
Тут ресурсы перечислены выборочно, с учетом того, что вы уже прочитали книгу. Но, кроме этого, я сделала подборку ресурсов в которой можно найти и другие материалы.
Написание скриптов для автоматизации рабочих процессов#
Скорее всего, после прочтения книги, появятся идеи, что можно автоматизировать на работе. Это отличный вариант, так как на реальной задаче всегда проще учиться и изучать новое. Но лучше не ограничиваться только рабочими задачами и изучать Python дальше.
Python позволяет делать достаточно многое обладая только базовыми знаниями. Поэтому не всегда рабочие задачи позволят принципиально повысить уровень знаний или подтолкнуть к этому, но зная Python лучше, те же задачи можно решать, как правило, намного проще. Поэтому лучше не останавливаться и учиться дальше.
Ниже описаны ресурсы с привязкой к сетевому оборудованию и в целом по Python. В зависимости от того, по каким материалам вы лучше учитесь, можно выбрать книги или видео курсы из списка
Python для автоматизации работы с сетевым оборудованием#
Книги:
Network Programmability and Automation: Skills for the Next-Generation Network Engineer
Mastering Python Networking (Eric Chou) - отчасти перекликается с тем, что рассматривалось в этой книге, но в ней есть и много новых тем. Плюс, рассматриваются примеры не только на оборудовании Cisco, но Juniper и Arista.
Блоги - позволят быть в курсе новостей в этой сфере:
У Packet Pushers достаточно часто выходят подкасты об автоматизации:
Show 176 – Intro To Python & Automation For Network Engineers
Show 198 – Kirk Byers On Network Automation With Python & Ansible
Show 270: Design & Build 9: Automation With Python And Netmiko
Проекты:
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
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. Тут есть и немного основ и более продвинутые темы
Сайты с задачами#
HackerRank - на этом сайте задачи разбиты по областям: алгоритмы, регулярные выражения, базы данных и другие. Но есть и базовые задачи
Подкасты#
Подкасты позволят в целом расширить кругозор и получить представление о разных проектах, модулях и библиотеках Python:
Документация#
Tiny-Python-3.6-Notebook - Отличная шпаргалка по Python 3.6