Kategoria: Automatyzacja

  • (T) Wstęp do DNA Center*

    (T) Wstęp do DNA Center*

    Wstęp do DNA Center

    Czym jest DNA Center

    • DNA Center stanowi graficzny system zarządzania
      siecią, łączący istniejące już komponenty takie jak: ISE, NCP czy NDP, w jeden
      spójny system zarządzania siecią. W przeciwieństwie do starszego rozwiązania (Campus
      Fabric) w którym wymienione powyżej komponenty były niezależne a konfiguracja była
      wykonywana względem każdego urządzenia sieciowego z osobna, DNA center łączy je
      w całość, tworząc jeden punkt konfiguracji. Obecnie jedynie ISE posiada
      oddzielną konsole częściowo zintegrowaną z DNA Center (Np. polisy stworzone za
      pomocą konsoli DNA są przesyłane do ISE).

    Komponenty składowe DNA Center

    Model sieci DNA
    • ISE (Identity Services Engine) –
    • NCP (Network Control Platform) –
    • NDP (Network Data Platform) –
    • Design
    • Policy
    • Provision
    • Assurance

    Cykl wdrażania jak i utrzymania DNA Center

    • Design
      • Global Settings
      • Site Profiles
      • DDI, SWIM, PNP
      • User Access
    • Policy
      • Virtual Networks
      • ISE, AAA, Radius
      • Endpoint Groups
      • Group Policies
    • Provision
      • Fabric Domains
      • CP, Border, edge
      • FEW, OTT WLAN
      • External Connect
    • Assurance
      • Health Dashboard
      • 360O Views
      • Path Traces

    Pozostałe tematy związane z DNA Center

  • (K) Wstęp do zarządzania siecią SD-WAN*

    (K) Wstęp do zarządzania siecią SD-WAN*

    Wstęp do zarządzania siecią SD-WAN

    Budowa menu vManage

    • Monitor
      • Geography
      • Network
      • Alarms
      • Events
      • Audit Log
      • ACL Log
    • Configuration
      • Device
      • Certificates
      • Templates
      • Policies
      • CloudExpress
      • Cloud onRamp
    • Tools
      • SSH Terminal
      • Rediscover Network
      • Operational Commands
    • Administration
      • Settings
      • Manage users
      • Cluster Management
    • vAnalytics

    Pozostałe tematy związane z SD-WAN

  • (T) Licencjonowanie SD-WAN*

    (T) Licencjonowanie SD-WAN*

    Licencjonowanie SD-WAN

    Hardware & Subscription

    • Identify license tier
    • Select bandwidth
    • Pick license term
    • Choose on premises or cloud managed
    • Determine platform for future scale

    Hardware

    • VEDGE Platform
    • ISR Platform
    • ASR Platform
    • ENCS Platform

    Subscription

    • Tier:
      • DNA Essentials
      • DNA Advantage
      • C1 Advantage
    • Bandwidth:
      • 10M10G
    • Term:
      • 3 or 5 Year

    Pozostałe tematy związane z SD-WAN

  • (T) Certyfikacja rozwiązania SD-WAN*

    (T) Certyfikacja rozwiązania SD-WAN*

    Certyfikacja rozwiązania SD-WAN

    Podstawowe założenia certyfikacji

    • Authentication – Umożliwia:
      • Proces identyfikacji nadawcy.
      • Podwójną autentykację (nadawcy i odbiorcy).
    • Integrity – Umożliwia:
      • Weryfikację zawartości, odebranej wiadomości.
      • Potwierdzenie nienaruszalności wiadomości podczas przesyłu.
    • Confidentiality – Potwierdza odczytanie nadanej wiadomości jedynie przez uprawnione do tego urządzenia.
    • Nonrepudiation – Potwierdza że odebrana wiadomość została wysłana przez uprawnione do tego urządzenia.
      • Gotowa do wysłania wiadomość jest oznaczana kluczem prywatnym (Private Key), a następnie na podstawie całej zawartości generowana jest wartość kontrolna (Encrypted Hash).

    vEdge

    • Każdy ruter vEdge posiada własny wlutowany w płytę główną moduł TPM (Tamper-Proof Module), przetrzymujący prywatne jak i publiczne klucze. Moduł TPM ulega samozniszczeniu przy próbie fizycznego dostępu.
    • Klucze zaszyte w module TPM są podpisywane cyfrowo przez firmę Avnet (Trusted Certificate Signing Authority), a domyślnie walidowane przez firmę Symantec (Inny serwer walidacji CA może być podany w procesie ZTP).

    Pozostałe tematy związane z SD-WAN

  • (T) Wdrażanie rozwiązań SD-WAN*

    (T) Wdrażanie rozwiązań SD-WAN*

    Wdrażanie rozwiązań SD-WAN

    Rejestracja komponentów sieci SD-WAN

    1. Moduł vManage jak i moduły vSmart nawiązują bezpieczne połączenie (DTSL) z modułem vBond.
    2. Rutery vEdge nawiązują bezpieczne połączenie (DTSL) z modułem vBond rejestrując się w systemie.
      1. Na tym etapie następuje weryfikacja ruterów brzegowych na podstawie certyfikatów jak i białych list.
        1. Certyfikaty określają czy dany produkt jest urządzeniem wyprodukowanym przez Cisco.
        2. Kombinacja certyfikatów z białymi listami sprawdza czy dane urządzenie przynależy do określonego klienta.
    3. Rutery brzegowe vEdge nawiązują bezpieczne połączenie (DTSL/TSL) z modułami vSmart.

    Automatyczne rejestrowanie ZTP

    • Rutery brzegowe mogą być wdrażane zgodnie z modelem ZTP (Zero Touch Provisioning). W takim przypadku klient musi zarejestrować się w systemie Cisco, tworząc własny profil użytkownika.
    • Wszystkie nowo podłączane do sieci rutery, domyślnie łączą się z serwisem Cisco (ZTP, PNP Server), skąd pobierają informację na temat klienta do którego zostały sprzedane, wraz z danymi umożliwiającymi podłączenie do struktury wewnętrznej sieci klienckiej.
    • Ruter vEdge nawiązuje połączenie z ZTP, PNP Server (Cisco Public vBond) -> Client public vBond -> vSmart.

    Single / Multi-Tenant Orchestration

    • Multi-Tenant Orchestration – Umożliwia stworzenie oddzielnych struktur sieci SD-WAN dla każdego klienta z osobna. Poszczególne struktury będą zawierały oddzielne komponenty bazowe (vManage, vSmart oraz vBond). Model Multi-Tenant może być wdrożony w jeden z następujących sposobów:
      • Dedicated Tenancy –  Zgodnie z powyższą grafiką sieci SD-WAN została rozdzielona na dwie niezależne struktury zwierające własne komponenty (vManage, vSmart oraz vBond), dzięki czemu każdy z klientów może dysponować niezależną strukturą sieci, np. takimi samymi numerami ID sieci VPN. Model ten, cechuje:
        • Dedykowane instancję (Dedicated Tenancy / No Multitenancy).
        • Odseparowanie wszystkich komponentów sieci SD-WAN (vManage, vSmart oraz vBond).
        • Wsparcie dla wszystkich dostępnych rodzajów wdrożeń.
        • Możliwość pełnego odseparowania ruchu sieciowego.
      • VPN as a Tenant – Stanowi częściowe rozwiązanie Multi-Tenant w którym jako poszczególne struktur SD-WAN traktowane są sieci VPN. Rozwiązanie to nie stanowi w pełni modelu Multi-Tenant ponieważ współdzieli on poszczególne komponenty (vManage, vSmart oraz vBond) pomiędzy klientami, co może doprowadzić do przypadkowego np. wdrożenia polisy względem całej infrastruktury zamiast pojedynczego klienta. Model ten, cechuje:
        • Sieć VPN traktowaną jako niezależną instancję (Tenancy).
        • Współdzielenie wszystkich komponentów sieci SD-WAN (vManage, vSmart oraz vBond).
        • Wsparcie dla wszystkich dostępnych rodzajów wdrożeń.
      • Enterprise Tenancy – Wprowadza wirtualny podział struktury sieci SD-WAN, przy jednoczesnym wykorzystaniu tych samych komponentów bazowych (vManage oraz vBond). Wymagając przy tym oddzielnych wdrożeń komponentu vManage dla każdej instancji SD-WAN z osobna. Model ten, cechuje:
        • Pełny podział poszczególnych instancji (Tenancy).
        • Współdzielenie komponentów vManage oraz vBond pomiędzy poszczególnymi instancjami (Tenancy).
        • Odseparowanie instancji vManage pomiędzy poszczególnymi instancjami (Tenancy).
        • Wsparcie dla wszystkich dostępnych rodzajów wdrożeń.
        • Możliwość pełnego odseparowania ruchu sieciowego.
    • Single-Tenant Orchestration

    Service Management

    • Domyślnie konsola vManage współpracuje jedynie z ruterami vEdge stworzonymi przez Viptelę jak i ruterami Cisco działającymi pod kontrolą systemu SD-WAN.
    • Obecnie oprócz domyślnych urządzeń vEdge konsola vManage może współpracować z innymi urządzeniami takimi jak rutery Cisco działające pod kontrolą systemu IOS, maszyny wirtualne czy rutery z serii ENCS/NFVIS za pośrednictwem rozszerzonych narzędzi (Extended SD-WAN Orchestration NSO) komunikującymi się z konsolą vManage za pomocą API.

    Rodzaje wdrożeń SD-WAN

    • Opcję wdrażania rozwiązania Cisco SD-WAN, dotyczą komponentów vManage, vSmart oraz vBond:
      • Cloud Delivered (Cisco) – Poszczególne komponenty nadzorujące strukturę sieci (vManage, vSmart oraz vBond) są hostowane jak i zarządzane poprzez firmę Cisco z poziomu chmury publicznej. Wdrożenie to, cechuje:
        • Dostarczanie usługi w formie serwisu.
        • Hostowanie usługi w chmurze publicznej.
        • Utrzymanie struktury przez specjalistów (Cisco Cloud Ops).
        • Możliwość zarządzania usługą przez klientów bądź partnerów Cisco.
      • Partner Delivered – Poszczególne komponenty nadzorujące strukturę sieci (vManage, vSmart oraz vBond) są zarządzane przez partnerów Cisco, dzięki czemu mogą oni udostępniać rozwiązania SD-Wan dla swoich klientów (Przykładowym zastosowaniem danego rodzaju wdrożenia mogą być dostawcy usług Internetowych (ISP) zapewniający nowoczesne rozwiązania dla swoich klientów). Wdrożenie to, cechuje:
        • Dostarczanie usługi z poziomu infrastruktury partnera Cisco.
        • Utrzymanie struktury przez partnera Cisco.
        • Zarządzanie usługą przez partnera Cisco.
      • Customer On-Prem – Poszczególne komponenty nadzorujące strukturę sieci (vManage, vSmart oraz vBond) są w pełni zarządzane po stronie klienta. Wdrożenie to, cechuje:
        • Pełne wdrożenie po stronie klienta.
        • Dostarczanie usługi z poziomu lokalnej infrastruktury.
        • Utrzymanie struktury po stronie lokalnego zespół IT klienta.
        • Zarządzanie usługą po stronie lokalnego zespół IT klienta.
    Wizualizacja sieci SD-WAN w modelu Dedicated Tenancy (Multi-Tenant Orchestration)

    Model – Cloud Delivered

    Model – Cloud Delivered
    • Wrażanie rozwiązania SD-Wan za pomocą modelu „Cisco Cloud Delivered”, przenosi ciężar
      zarządzania poszczególnymi komponentami sieci SD-WAN takimi jak: vManage,
      vSmart oraz vBond, na barki zespołu Cisco Ops.
    • Rozwiązania oferowane przez Cisco są globalnie
      dostępne z poziomu sieci publicznej (Microsoft Azure).
    • Cisco zapewnia wdrożenie zawansowanych narzędzi
      administracyjnych umożliwiając komunikacją pomiędzy platformą vManage a
      klientem za pomocą API, tym samym umożliwiając wdrażanie automatyzacji.

    Model – Partner Delivered

    • Wrażanie rozwiązania SD-Wan za pomocą modelu „Partner Delivered”, przenosi ciężar
      zarządzania poszczególnymi komponentami sieci SD-WAN takimi jak: vManage,
      vSmart oraz vBond, na barki partnera biznesowego firmy Cisco.
    • Rozwiązanie SD-WAN umożliwia współprace
      zewnętrznych narządzi automatyzujących prace administratora, z platformą
      vManage, za pomocą API, jak i innych produktów firmy Cisco takich jak: NSO czy
      VMS.
    • W przypadku wdrażania modelu Partner Delivered:
      • Partner
        Cisco zapewnia pełne utrzymanie struktury SD-WAN (vManage, vSmart oraz vBond) w
        własnym zakresie, utrzymując maszyny wirtualne na dostępnych witalizatorach: VMware
        ESXi, KVM, AWS bądź też Azure.
      • Wszelką
        odpowiedzialność za wdrażanie, konfigurację czy utrzymanie sieci SD-WAN ponosi
        partner biznesowy.
      • Klient
        końcowy może mieć dostęp do zarządzania własną siecią SD-WAN za pomocą platformy
        GUI (vManage), bądź też innego narzędzia przygotowanego przez partnera, które
        to następnie komunikuje się z vManage za pomocą API.
    • W dużej mierze partnerami korzystającymi z
      powyższego rozwiązania są dostawcy usług Internetowych.

    Model – Customer On-Prem

    • Wrażanie rozwiązania SD-Wan za pomocą modelu „Customer On-Prem”, przenosi ciężar
      zarządzania poszczególnymi komponentami sieci SD-WAN takimi jak: vManage,
      vSmart oraz vBond, na barki klienta.
    • Proces wdrażania, konfiguracji jak i
      zarządzania strukturą SD-WAN zostaje przeniesiony na barki klienta, który
      ponadto musi zadbać o odpowiednią infrastrukturę wirtualizacją mogącą bezpiecznie
      jak i wydajnie hostować dostęp do wszelkich komponentów sieci SD-WAN (vManage,
      vSmart oraz vBond). Obecnie dostępnymi środowiskami witalizacyjnymi umożliwiającymi
      oficjalne wdrożenie sieci SD-WAN są: VMware ESXi, KVM, AWS bądź też Azure.
    • Wszelkie zewnętrzne narzędzia administracyjne
      komunikujące się z konsolą vManage za pomocą API są dostępne dla klienta o ile
      je zakupi bądź też sam je zaprojektuje.
    • W dużej mierze klientami korzystającymi z
      powyższego rozwiązania są firmy bankowe czy też rządzy.

    Pozostałe tematy związane z SD-WAN

  • (T) Wprowadzenie do sieci SD-WAN*

    (T) Wprowadzenie do sieci SD-WAN*

    Wprowadzenie do sieci SD-WAN

    Cisco SD-WAN Architecture

    Zagadnienia związane z SD-WAN

    • Control Plane Module
    • Switch Fabric
    • Data Plane I/O Module
    • vManage – Moduł zarządzający siecią SD-WAN.
    • vBond – Moduł wykrywający, a następnie autentykujący wszystkie komponenty wchodzące w skład sieci SD-WAN.
      • Moduł vBond powinien posiadać dostęp do sieci publicznej aby móc nawiązać kontakt z nowymi komponentami.
      • Każdy z komponentów sieci SD-WAN musi najpierw zarejestrować się w module vBond.
    • vSmart – Moduł dystrybucyjny propagujący trasy, polisy jak i inne informacje do ruterów brzegowych vEdge.
    • vAnalytics – Moduł analityczny sieci SD-WAN.
    • vEdge – Rutery brzegowe stanowiące kraniec sieci lokalnych, oddziałów głównych jak biur zdalnych.
    • cEdge – Rutery brzegowe stworzone przez Cisco (Rutery z serii ISR 1000 / 4000, ASR 1000 oraz ENCS 5100 / 5400).
    • OMP (Overlay Management protocol) –Połączenie umożliwiające bezpośrednią, bezpieczną wymianę danych pomiędzy modułami dystrybucyjnymi. Dzięki czemu wszystkie moduły dystrybucyjne są ze sobą zsynchronizowane.
    • DTLS/TLS Tunnel – Protokół umożliwiający bezpieczną wymianę informacji modułami dystrybucyjnymi.
      • DTLS (UDP) –
      • TLS (TCP)
    • IPsec Tunnel – Jedynie możliwe do nawiązania połączenie pomiędzy ruterami brzegowymi. Urządzenie brzegowe nie wymieniają pomiędzy sobą informacji kontrolnych (Control Plane) a jedynie zwykł ruch sieciowy (Data Plane).
    • VPN (Cisco VRF)
      • VPN 0 (Transport) –
      • VPN 512 (Management)
      • VPN n (Service 1-65535) –

    TLOG

    • Site ID – Określa lokalizacje rutera brzegowego względem oddziału, biura do którego przynależy (Rutery brzegowe należące do tego samego oddziału nie będą nawiązywały łączności pomiędzy sobą).
    • System IP – Określa konkretne urządzenie brzegowe, za pomocą adresu IP (Router-ID).
    • Color – Opisuje medium transmisji danych, łączące rutery brzegowe (Internet, MPLS czy 4G), identyfikuje konkretne połączenie sieciowe pomiędzy ruterami. Wyróżniane zostały dwa rodzaje kolorów: Prywatne (Nie przewidujące wykorzystania translacji NAT) jak i Publiczne (Wykorzystujące translacje NAT).
    • TLOG (System IP + Color + Encapsulation) Transport Location – Unikalna wartość identyfikująca konkretny interfejs sieciowy rutera brzegowego (Endpoint),  (Enkapsulacja IPsec, GRE).
    • TLOG Extenction

    Komponenty fizyczne wirtualne

    • vManage – Moduł występujący jedynie w postaci maszyny wirtualnej.
    • vBond – Moduł występujący jedynie w postaci maszyny wirtualnej.
    • vSmart – Moduł występujący jedynie w postaci maszyny wirtualnej.
    • vEdge – Ruter występujący zarówno w postaci maszyny wirtualnej jak i fizycznego urządzenia.

    Rodzaje topologii biur zdalnych

    • Branch Type 1
    • Branch Type 2

    Pozostałe tematy związane z SD-WAN

  • (A) Ansible Playbook*

    (A) Ansible Playbook*

    T

    • Plik Playbook umożliwia zdefiniowanie procesów automatyzujących pracę urządzeń sieciowych.

    Tworzenie nowego pliku playbook

    linux$ mkdir nazwa-projektu

    Tworzy nowy katalog o wskazanej nazwie.

    linux$ cd nazwa-projektu

    Przechodzi do poziomu nowo stworzonego katalogu.

    linux:~/nazwa-projektu$ nano nazwa-playbooka.yml

    Tworzy nowy plik automatyzujący playbook.

    Podstawowa zawartość pliku ansible.cfg

    ---
    # Komentarz dotyczący zawartości
    
    - hosts: {ALL / nazwa-grupy}
      gather_facts: false
    
      tasks:
       - name: Show running-configuration
         ios_command:
           commands:
             - show running-config
           register: config
    
       - name: Save output
         copy:
           content: "{{config.stdout[0]}}"
           dest: "./backups/{{inventory_hostname}}-config.txt"
      

    linux:~/nazwa-projektu$ ansible-playbook nazwa-playbooka.yml

    Uruchamia

    Pozostałe tematy związane z Ansible

  • (A) Ansible Config*

    (A) Ansible Config*

    Ansible Config

    • /etc/ansible/ansible.cfg – Plik zawierający wszystkie spersonalizowane ustawienia Ansible.

    Tworzenie nowego pliku konfiguracyjnego

    linux$ mkdir nazwa-projektu

    Tworzy nowy katalog o wskazanej nazwie.

    linux$ cd nazwa-projektu

    Przechodzi do poziomu nowo stworzonego katalogu.

    linux:~/nazwa-projektu$ nano ansible.cfg

    Tworzy nowy plik konfiguracyjny ansible.cfg.

    Podstawowa zawartość pliku ansible.cfg

    [defaults]
    inventory = ./hosts

    Pozostałe tematy związane z Ansible

  • (A) Ansible Inventory*

    (A) Ansible Inventory*

    Ansible Inventory

    • /etc/ansible/hosts – Plik zawierający informację o wszystkich urządzeniach, zarządzanych przez Ansible.

    Tworzenie nowego pliku hostów

    linux$ mkdir nazwa-projektu

    Tworzy nowy katalog o wskazanej nazwie.

    linux$ cd nazwa-projektu

    Przechodzi do poziomu nowo stworzonego katalogu.

    linux:~/nazwa-projektu$ nano hosts

    Tworzy nowy plik konfiguracyjny hosts.

    Podstawowa zawartość pliku ansible.cfg

    # Komentarz dotyczący zawartości
    
    [all:vars]
    ansible_user=użytkownik
    ansible_ssh_pass=hasło
    ansible_network_os=ios
    ansible_connection=network_cli
    
    [Nazwa-grupy-1]
    Nazwa-DNS-1 ansible_host=adres-IP-1
    Nazwa-DNS-2 ansible_host=adres-IP-2
    Nazwa-DNS-n ansible_host=adres-IP-n
    
    [Nazwa-grupy-2]
    Nazwa-DNS-1 ansible_host=adres-IP-1
    Nazwa-DNS-2 ansible_host=adres-IP-2
    Nazwa-DNS-n ansible_host=adres-IP-n

    Pozostałe tematy związane z Ansible

  • (A) Ansible instalacja (Ubuntu)*

    (A) Ansible instalacja (Ubuntu)*

    Nagłówek

    linux$ sudo apt-get update

    Aktualizuje pakiety systemu Ubuntu, przygotowując system do instalacji Ansible.

    linux$ sudo apt-get install software-properties-common

    Instaluje dodatkowe biblioteki skryptów, ułatwiających pracę z PPA.

    linux$ sudo apt-add-repository ppa:ansible/ansible

    Pobiera PPA Ansible.

    linux$ sudo apt-get install ansible

    Rozpoczyna proces pobierania oraz instalowania Ansible.

    linux$ ansible – -version

    Wyświetla podstawowe informację, w tym wersję programu Ansible.

    Pozostałe tematy związane z Ansible

  • (Py) Python edycja pliku*

    (Py) Python edycja pliku*

    plik = open('ścieżka/do/pliku.txt')
    print(plik.read())
    • Otwiera wskazany plik, wyświetlając całą jego zawartość (Traktując zawartość pliku jako jeden długi ciąg znaków).
    plik = open('ścieżka/do/pliku.txt')
    for linia in plik:
        print(linia)
    • Wyświetla zawartość pliku linia po lini (Niestety komenda ta, dodaje dodatkowy znak “Enter” po każdym wyświetlonym znaku).
    file = open('ścieżka/do/pliku.txt', 'r').read()
    lines = file.split('\n')
    print(lines)
    • Wyświetla zawartość pliku w formie listy (Każda sekwencja listy zawiera jedną linie pobraną z pliku).

    Pozostałe tematy związane z językiem programowania Python

    Moduły Python

    Podstawowe zagadnienia

  • (Py) Python listy*

    (Py) Python listy*

    Wstęp do list

    • Lista – To uporządkowany pod względem pozycji zbiór obiektów dowolnego typu (Wartości liczbowych, zmiennych czy ciągów znaków).
      • Wzorzec listy wygląda następująco: [nazwa-listy = [wartość-1, wartość-2, wartość-n].

    Operacje na listach

    Pobieranie informacji o liści

    • Len – Zwraca ilość znaków, z których składa się określona lista.
      • Wzorzec funkcji len wygląda następująco: [len(lista)].
    • Lista[numer-sekwencji] – Zwraca wartość zawartą w określonej (Numer) sekwencji danej listy.

    Zmiana zawartości listy

    • Append – Dodaje określoną wartość, na koniec wykazanej listy.
      • Wzorzec funkcji append wygląda następująco: [lista.append(wartość)].
      • Przykładowe wywołanie funkcji append [a.append(“rkkr“)], doda do listy a wartość “rkkr” jako końcową sekwencję.
    • Extend – Dodaje określoną wartość, na koniec wykazanej listy.
      • Wzorzec funkcji pop wygląda następująco: [lista.extend(lista-wartość)].
      • Przykładowe wywołanie funkcji extend [a.extend([‘ala‘])], doda wartość “ala” na koniec listy a, rozdzielając poszczególne litery jako oddzielne sekwencje listy.
    • Insert – Dodaje wskazaną wartość w wskazane miejsce listy.
      • Wzorzec funkcji pop wygląda następująco: [lista.insert(pozycja, wartość)].
      • Przykładowe wywołanie funkcji insert [a.insert(2, ‘pies’)], doda wartość “pies” w sekwencji drugiej listy a.
    • Pop – Usuwa wskazaną sekwencję listy.
      • Wzorzec funkcji pop wygląda następująco: [lista.pop(numer-sekwencji)].
      • Przykładowe wywołanie funkcji pop [a.pop(1)], usunie z listy a drugą sekwencję (Liczenie sekwencji zaczyna się od wartości 0).
    • Del – Usuwa wskazaną sekwencję listy.
      • Wzorzec funkcji pop wygląda następująco: [del lista[sekwencja]].
    • Sort – Rosnąco sortuje zawartość wskazanej listy, względem poszczególnych sekwencji.
      • Wzorzec funkcji pop wygląda następująco: [lista.sort()].
    • Reverse – Malejąco sortuje zawartość wskazanej listy, względem poszczególnych sekwencji.
      • Wzorzec funkcji pop wygląda następująco: [lista.reverse()].

    Przekształcanie listy

    • List – Rozbija wartość zmiennej na poszczególne sekwencje listy.
      • Wzorzec funkcji pop wygląda następująco: [list(wartość)].
      • Przykładowe wywołanie funkcji list [list(‘jagoda’)], zwróci następującą wartość: [‘j’, ‘a’, ‘g’, ‘o’, ‘d’, ‘a’].

    Listy zagnieżdżone

    • Lista zagnieżdżona – To lista zawierająca inną listę, jako wartość jednej z sekwencji.
      • Wzorzec listy zagnieżdżonej wygląda następująco: [nazwa-listy = [[wartość-11, wartość-12, wartość-nn], [wartość-21, wartość-22, wartość-nn]].
    • Lista[numer-sekwencji][numer-sekwencji] – Zwraca wartość zawartą w określonej (Numer) sekwencji danej listy zagnieżdżonej.
    • Row – Zwraca zawartość kolumny listy zagnieżdżonej:
    lista = [[1, 2 ,3], [4, 5, 6], [7, 8, 9]]
    kolumna = [row[1] for row in lista] 
    print(kolumna)

    Powyższa komenda, wydrukuje: [2, 5, 8]

    lista = [[1, 2 ,3], [4, 5, 6], [7, 8, 9]]
    for wiersz in lista:
        for kolumna in wiersz:
            print(kolumna, end=" ")
        print()

    Powyższa komenda, wydrukuje zawartość listy zagnieżdżonej.

    Pozostałe tematy związane z językiem programowania Python

    Pozostałe tematy związane z językiem programowania Python

    Moduły Python

    Podstawowe zagadnienia

  • (Py) Python wyświetlanie “print”*

    (Py) Python wyświetlanie “print”*

    Instrukcja “print”

    • Precyzja – Umożliwia określenie z jaką precyzją (Ilością zer po przecinku) zostanie wyświetlona zmienna.
      • Wzorzec instrukcji wygląda następująco: [print(“%.wartośćf” % zmienna)].
      • Przykładowe wywołanie instrukcji [print(“%.20f” % x)], wyświetli wartość zmiennej x z dokładnością do 20 znaków po przecinku.
    • Łączenie + – Umożliwia połączenie ciągu znaków bądź zmiennych z ciągiem znaków czy innymi zmiennymi.
      • Wzorzec instrukcji wygląda następująco: [print(zmienna1 + ” ” + zmienna2)].
      • Przykładowe wywołanie instrukcji [print(a + ” ” + b)], wyświetli zawartość zmiennej a oraz b ze spacją po środku.
    • Łączenie , – Umożliwia połączenie ciągu znaków bądź zmiennych z ciągiem znaków czy innymi zmiennymi.
      • Wzorzec instrukcji wygląda następująco: [print(zmienna1, ” “, zmienna2)].
      • Przykładowe wywołanie instrukcji [print(a, ” ” , b)], wyświetli zawartość zmiennej a oraz b ze trzema spacjami po środku (Jedna spacja określona za pomocą ciągu znaków (” “), natomiast dwie dodatkowe wstawione przez przecinki(,)).

    Pozostałe tematy związane z językiem programowania Python

    Moduły Python

    Podstawowe zagadnienia

  • (BH) Grep*

    (BH) Grep*

    Przykładowe wykorzystanie

    Network

    linux$ grep -E -o “([0-9]{1,3}[.]){3}[0-9]{1,3}” nazwa-pliku

    Wyświetla wszystkie adresy IP zapisane w określonym przez komendę pliku.
  • (Py) Funkcje wbudowane*

    (Py) Funkcje wbudowane*

    • Len – Zwraca ilość znaków, z których składa się określona zmienna.
      • Wzorzec funkcji len wygląda następująco: [len(zmienna)].
    • Ord – Zwraca wartość binarną znaku, przekazanego do funkcji Ord.
      • Wzorzec funkcji len wygląda następująco: [ord(“znak“)]
    • Replace – Zastępuje wskazaną wartość zmiennej inną wartością.
      • Wzorzec funkcji replace wygląda następująco: [zmienna.replace(“stary-łańcuch-znaków“, “nowy-łańcuch-znaków“)].
      • Przykładowe wywołanie funkcji replace [rk.replace(“psp“,”rkkr“)], zastąpi łańcuch psp wartością rkkr.
    • Split – Dzieli łańcuch znaków, zgodnie z wskazanym ogranicznikiem.
      • Wzorzec funkcji split wygląda następująco: [zmienna.split(“ogranicznik“)].
      • Przykładowe wywołanie funkcji split [rk.split(“,“)], podzieli zmienną rk (“aaa,bbb,ccc”) na pod łańcuchy [“aaa”, “bbb”, “ccc”].
    • Upper
    • Isalpha

    Pozostałe tematy związane z językiem programowania Python

    Moduły Python

    Podstawowe zagadnienia

  • (Py) Moduł random*

    (Py) Moduł random*

    • Random – Generuje losową liczbę.
      • Przykładowe wywołanie wygląda następująco [random.random()].
    • Choice – Wybiera jedną losową wartość z podanego zbioru.
      • Przykładowe wywołanie wygląda następująco [random.choice([1, 2, 3, 4, 5, “a”])].

    Pozostałe tematy związane z językiem programowania Python

    Moduły Python

    Podstawowe zagadnienia