Skip to content

Latest commit

 

History

History
200 lines (133 loc) · 13.9 KB

30_final.md

File metadata and controls

200 lines (133 loc) · 13.9 KB

Продолжение обучения после курса


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

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

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


Идея для финального проекта

Сбор информации о статусе портов, изменения в статусе Задача собрать информацию о статусе портов на оборудовании (up/down/admin down для Cisco IOS):

  • На первом этапе собирается информация о всех портах (Loopback/физические/Tunnel/...) и их статусе.
  • На втором этапе из собранной информации надо отобрать только физические порты.
  • На третьем сохранять информацию о статусе портов в определенный день в файлы и добавить возможность сравнивать изменения в статусе портов (текущий статус с последним записанным).

Бонусные лекции

На курсе добавятся

  • scrapli, pexpect
  • python package

Полезно знать


Бонусные лекции. Продвинутые темы

Другое


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

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

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

Подборка ресурсов в которой можно найти и другие материалы.


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

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


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

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

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


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


Курсы

Nicholas Russo:

John McGovern:


Книги


Проекты:

  • CiscoConfParse - библиотека, которая парсит конфигурации типа Cisco IOS. С ее помощью можно: проверять существующие конфигурации маршрутизаторов/коммутаторов, получать определенную часть конфигурации, изменять конфигурацию
  • NAPALM - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) это библиотека, которая позволяет работать с сетевым оборудованием разных вендоров, используя унифицированный API
  • Scapy - сетевая утилита, которая позволяет манипулировать сетевыми пакетами
  • Nornir
  • eNMS
  • netutils

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


Книги. Основы


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

Practices of the Python Pro:

  • когда использовать наследование, а когда композицию
  • о чем надо помнить при написании функций, классов и их взаимодействия
  • как писать код, чтобы его было легко масштабировать
  • "сколько" кода писать в функции/методе

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

  • Python Tricks - отличный вариант для 2-3 книги по Python. В книге описываются различные аспекты Python и то как правильно использовать. Книга достаточно новая (конец 2017 года), в ней рассматривается Python 3.
  • Effective Python - книга полезных советов как лучше писать код
  • Dive Into Python 3 - коротко рассматриваются основы Python, а затем более продвинутые темы: closure, генераторы, тесты и так далее. Книга 2009 года, но рассматриваюется Python 3 и 99% тем остались без изменений.
  • Architecture Patterns with Python

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


Курсы

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

Платные курсы:


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

  • Bites of Py - очень хороший сайт на котором много заданий разного уровня сложности. На нем вполне можно набить руку и на базовых вещах, но в то же время есть куда расти
  • HackerRank - на этом сайте задачи разбиты по областям: алгоритмы, реглярные выражения, базы данных и другие
  • CheckIO - online game for Python and JavaScript coders

Полезные ресурсы


Подкасты

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


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


automate