Перейти до змісту

Вступ

Переклад книги йтиме приблизно за розкладом курсу.

Інші переклади книги:

З одного боку, книга досить базова, щоб її міг освоїти будь-який бажаючий, а з іншого боку, у книзі розглядаються всі основні теми, які дозволять зростати самостійно. Книга не ставить за мету глибокого розгляду Python. Завдання книги – пояснити зрозумілою мовою основи Python та дати розуміння необхідних інструментів для його практичного використання. Все, що розглядається в книзі, орієнтоване на мережеве обладнання та роботу з ним. Це дозволяє відразу використовувати у роботі мережевого інженера те, що було вивчено. Всі приклади показуються на прикладі обладнання Cisco, але, звичайно ж, вони застосовні для будь-якого іншого обладнання.

Ресурси для навчання

Якщо вам більше подобається відео формат, чи є бажання комбінувати відео з книгою, тут за розкладом будуть з'являтися відео.

Для кого ця книга

Для мережевих інженерів з досвідом програмування та без. Всі приклади та завдання побудовані навколо роботи з мережевим обладнанням. Ця книга буде корисна мережевим інженерам, які хочуть автоматизувати завдання, з якими стикаються кожен день і хотіли зайнятися програмуванням, але не знали, з якого боку підійти.

Навіщо вчитися програмувати?

Знання програмування для мережевого інженера можна порівняти зі знанням англійської мови. Якщо ви знаєте англійську хоча б на рівні, який дозволяє читати технічну документацію, ви відразу розширюєте свої можливості:

  • доступно у кілька разів більше літератури, форумів та блогів;
  • практично для будь-якого питання або проблеми досить швидко знаходиться рішення, якщо ви ввели запит до Google.

Знання програмування у цьому дуже схоже. Якщо ви знаєте, наприклад Python хоча б на базовому рівні, ви вже відкриваєте масу нових можливостей для себе. Аналогія з англійською підходить ще й тому, що можна працювати мережевим інженером і бути добрим фахівцем без знання англійської. Англійська просто дає додаткові можливості, але вона не є обов'язковою вимогою.

Необхідні версії ОС та Python

Усі приклади та виведення терміналу у книзі відображаються на Debian Linux. Мінімально необхідна версія Python – 3.9, але краще використовувати 3.10 або 3.11.

Приклади

Усі приклади, що використовуються у книзі, знаходяться у репозиторії. Приклади, які показані в розділах книги, є навчальними. Це означає, що вони не обов'язково показують найкращий варіант розв'язання задачі, тому що вони засновані лише на тій інформації, що розглядалась у попередніх розділах книги. Крім того, досить часто приклади, що давалися у розділах, розвиваються у завданнях. Тобто, в завданнях вам потрібно буде зробити більш універсальну, і, загалом, правильнішу версію коду. Якщо є можливість, краще набирати код, який використовується в книзі, самостійно, або, як мінімум, скопіювати приклади та спробувати щось у них змінити – так інформація краще запам'ятовуватиметься. Якщо такої можливості немає, наприклад коли ви читаєте книгу в дорозі, краще повторити приклади самостійно пізніше. У будь-якому випадку обов'язково потрібно виконувати завдання вручну.

Завдання

Всі завдання та допоміжні файли можна отримати в репозиторії, Якщо завдання розділу мають завдання з літерами (наприклад, 5.2a), то потрібно виконати спочатку завдання без літер, а потім з літерами. Завдання з літерами, як правило, трохи складніші за завдання без літер і розвивають ідею у відповідному завданні без літери. Якщо виходить, краще виконувати завдання по порядку.

Для всіх завдань є "відповіді", а точніше варіанти рішень. Для кожного завдання може бути багато правильних варіантів розв'язання. Звичайно, у відповіді краще підглядати поменше, але вони можуть допомогти вийти зі складної ситуації.

Якщо, наприклад, ви вирішили завдання умовно у 20 рядків, а у відповіді воно вирішено у 7 рядків, це не означає, що ви зробили неправильно. Будь-який робочий варіант рішення – правильний. Варіанти розв'язання можна читати після вирішення завдань. Це буде і практика читання коду, і ви зможете подивитися на інші підходи до вирішення задачі.