skip to Main Content

Introduction to Python for Network Engineers

Bu eğitimde; Ağ Mühendislerine Python Programming eğitimi canlı cihaz örnekleri ile birlikte gösterilmektedir.

8 Kişi

11.02 - 14.02.2025

4 Gün

09:30-16:30

Altunizade Eğitim Merkezi + Online

Introduction to Programming (Programlamaya Giriş)

  • Why Learn to Program (Neden Programlama Öğrenmeli?)
    • Operational Efficiency (Operasyonel Verimlilik)
    • Human Error (İnsan Hatası)
    • How Bad? (Ne Kadar Kötü?)
    • What to do? (Ne Yapmalı?)
    • Your Career will thank you (Kariyeriniz Size Minnettar Olacak)
    • Fear (Korku)
    • The Future (Gelecek)
  • Why Python (Neden Python?)
    • TIOBE Programming Community Index (TIOBE Programlama Topluluğu Endeksi)
    • Which language to start with? (Hangi Dille Başlanmalı?)
    • Why Python? (Neden Python?)
    • History of Python (Python’un Tarihi)
    • Everything is an object (Her Şey Bir Nesnedir)
    • Around here for a long time (Uzun Süredir Burada)
    • Portability (Taşınabilirlik)
    • Readability (Okunabilirlik)
    • Batteries Included (Dahili Araçlarla Gelir)
    • Software examples with Python (Python ile Yazılım Örnekleri)
  • Programming Paradigms (Programlama Paradigmaları)
    • Procedural Programming (Prosedürel Programlama)
      • First do this, then do that. (Önce bunu yap, sonra şunu yap.)
      • Organizing steps, modules, submodules etc. (Adımları, modülleri ve alt modülleri organize etme.)
    • Object Oriented Programming (Nesne Tabanlı Programlama)
    • Functional Programming (Fonksiyonel Programlama)

The Software Development Lifecycle at Bird View (Kuş Bakışıyla Yazılım Geliştirme Yaşam Döngüsü)

  • Gathering Information (Bilgi Toplama)
  • Initial Design (İlk Tasarım)
  • Implementation (Uygulama)
  • Testing (Test Etme)
  • Debugging & Maintenance & Feature Requests (Hata Ayıklama, Bakım ve Özellik Talepleri)
  • Does any of these matter? (Bunların herhangi biri önemli mi?)

A History of Interacting with Network Devices (Ağ Cihazlarıyla Etkileşim Tarihi)

  • TCL and Expect (TCL ve Expect)
    • TCL - 1988 Tool Command Language (TCL - 1988 Araç Komut Dili)
    • Expect - TCL Extension (Expect - TCL Uzantısı)
  • Telnet & SSH
  • SNMP

Beyond Screen Scraping (Screen Scraping'in Ötesinde)

  • What is NETCONF? (NETCONF Nedir?)
  • Comparing NETCONF and Other Methods (NETCONF ve Diğer Yöntemlerin Karşılaştırılması)
    • NETCONF vs Screen Scraping (NETCONF ve Screen Scraping Karşılaştırması)
    • NETCONF vs SNMP (NETCONF ve SNMP Karşılaştırması)
  • What is YANG? (YANG Nedir?)
  • Python Embedded in the OS (İşletim Sistemine Gömülü Python)

 

Python Programming Environment (Python Programlama Ortamı)

  • Choosing an Operating System (Bir İşletim Sistemi Seçme)
    • Why choose Linux? (Neden Linux Seçilmeli?)
    • virtualenv & virtualenvwrapper (virtualenv & virtualenvwrapper)
      • LAB 1
  • Configuring your Text Editor (Metin Düzenleyicinizi Yapılandırma)
    • Indentation (Girintileme)
    • Spaces over tabs (Sekme Yerine Boşluk Kullanma)
    • Source File Encoding (Kaynak Dosya Kodlaması)
    • Comments (Yorumlar)
  • Python Interactive Interpreter (Python Etkileşimli Yorumlayıcı)
    • Running the Interpreter (Yorumlayıcıyı Çalıştırma)
    • Running code Inside the Interpreter (Yorumlayıcıda Kod Çalıştırma)
    • Learning with the Interpreter (Yorumlayıcı ile Öğrenme)
  • Running your Python Scripts (Python Scriptlerinizi Çalıştırma)
    • Saving your Source Files (Kaynak Dosyalarınızı Kaydetme)
    • Executing your Source Files (Kaynak Dosyalarınızı Çalıştırma)
    • What does the Shebang #! Line do? (Shebang #! Satırı Ne Yapar?)

 

Python Fundamentals (Python Temelleri)

  • Object/Execution Model (Nesne/Çalıştırma Modeli)
    • Everything is an Object (Her Şey Bir Nesnedir)
    • Two types of Objects (İki Tür Nesne)
      • Mutable (Değiştirilebilir)
      • Immutable (Değiştirilemez)
    • Statements and Expressions (İfadeler ve Deyimler)
  • Variables (Değişkenler)
    • Traditional Variable Types (Geleneksel Değişken Türleri)
    • Variables in Python (Python’daki Değişkenler)
  • Data Types (Veri Türleri)
    • Strings (Metinler)
    • Integers (Tam Sayılar)
    • Floats (Ondalıklı Sayılar)
    • Lists (Listeler)
    • Dictionaries (Sözlükler)
    • Tuples (Demetler)
  • Control Structures (Kontrol Yapıları)
    • If/Else/Elif
    • For Loop (For Döngüsü)
    • While Loop (While Döngüsü)
    • Breaking Out of Loops (Döngülerden Çıkma)
    • The pass Statement (Pass İfadesi)
  • Functions (Fonksiyonlar)
    • What is Scope? (Kapsam Nedir?)
    • Functions & Arguments (Fonksiyonlar ve Argümanlar)
      • Positional Arguments (Konumsal Argümanlar)
      • Keyword Arguments (Anahtar Argümanlar)

 

More Advanced Python (Daha İleri Python)

  • Exceptions (İstisnalar)
    • What are Exceptions? (İstisnalar Nedir?)
    • Catching Exceptions (İstisnaları Yakalama)
    • Try/Finally Statement (Try/Finally İfadesi)
  • Working with Files and Directories (Dosyalar ve Dizinlerle Çalışma)
    • Open (Açmak)
    • Modes (Modlar)
    • With Statement (With İfadesi)
  • Complex Data Structures (Karmaşık Veri Yapıları)
    • How to think about Data (Veri Hakkında Nasıl Düşünülür?)
    • Examples (Örnekler):
      • A list of Lists (Liste Listesi)
      • A List of Dictionaries (Sözlük Listesi)
      • A Dictionary of Dictionaries (Sözlükler Sözlüğü)
  • Maintaining State (Durumun Korunması)
    • Data Serialization (Veri Serileştirme)
      • XML (Mid 90s) (XML - 90'ların Ortası)
      • YAML (2001)
      • JSON (early 2000s) (JSON - 2000'lerin Başı)
      • Pickle (Pickle)
      • Database (Veritabanı)
  • Modules (Modüller)
    • Finding and Using Modules (Modülleri Bulma ve Kullanma)
    • Creating your own Modules (Kendi Modüllerinizi Oluşturma)
    • Namespaces :: Cautionary Tale (Ad Alanları :: Uyarıcı Bir Hikaye)

 

Labs (Laboratuvarlar)

  • Lab 1
    • Virtual Env & Packet Manager (Sanal Ortam ve Paket Yöneticisi)
  • Lab 2
    • VS Code Remote Development Environment (VS Code Uzaktan Geliştirme Ortamı)
  • Lab 3
    • Ping to multiple hosts with subprocess call (Subprocess ile Birden Fazla Host’a Ping Atma)
  • NETMIKO
    • Lab 4 - Basic Connections (Temel Bağlantılar)
      • Clock Output (Saat Çıktısı)
      • Show interface brief (Kısa Arayüz Bilgisi Göster)
    • Lab 5 - Netmiko send configs (Netmiko ile Konfigürasyon Gönderme)
      • Option 1 - Send Commands to single device (Seçenek 1 - Tek Cihaza Komut Gönderme)
      • Option 2 - Getpass (Seçenek 2 - Getpass)
      • Option 3 - Send Command Sets to single device (Seçenek 3 - Tek Cihaza Komut Seti Gönderme)
      • Option 4 - Time Library (Seçenek 4 - Time Kütüphanesi)
      • Option 5 - Connect to multiple devices and assign unique IP address to VLAN 10 (Seçenek 5 - Birden Fazla Cihaza Bağlan ve VLAN 10’a Benzersiz IP Adresi Ata)
      • Option 6 - Netmiko Exception Handling (Seçenek 6 - Netmiko İstisna Yönetimi)
    • Lab 6
      • Json (Json)
    • Lab 7
      • Config Backup (Yedekleme Konfigürasyonu)

 

Bu kursu tamamladıktan sonra aşağıdaki konulara hakim olacaksınız.  

 

Python ile program yazma  

Sık yapılan işlemleri otomatikleştirme  

Sistem mühendisleri ve kendisini Python konusunda geliştirmek isteyen herkes katılım sağlamalıdır.  

Temel Linux bilgisi  

    Bilgi için bize ulaşın!

    HAZIR MISIN?

    Bu kursa ihtiyacınız varsa formu doldurabilir veya bizimle iletişime geçebilirsiniz.

      Bilgi için bize ulaşın!

      Back To Top