Najnowsze artykuły

AdminDays - skrypt z warsztatów

AdminDays – skrypt z warsztatów

W zeszłym tygodniu, 25 marca, w ramach eventu AdminDays miałem przyjemność poprowadzić warsztaty/prezentację związaną z automatyzacją w środowisku sieciowym. W czasie spotkania pokazałem proces tworzenia skryptu w języku Python, który wykonuje proste czynności administracyjne związane

Czytaj więcej »

Artykuły i porady

Pierwsza styczność z API na Fortigate

Pierwsza styczność z API na Fortigate

Trafił do mnie na jakiś czas firewall Fortigate 60E, więc postanowiłem skorzystać z okazji i zobaczyć co oferuje platforma od strony programowalnego zarządzania. Z urządzeniami Fortigate mam styczność co jakiś czas, wielu mniejszych klientów z

Czytaj więcej »
Łączymy Terraform i Ansible ze sobą

Łączymy Terraform i Ansible ze sobą

Wczoraj miałem przyjemność gościć jako prelegent na kolejnym webinarze w ramach cyklu Władcy Sieci. Tym razem opowiadałem i pokazywałem w jaki sposób połączyć ze sobą dwa narzędzia do automatyzacji – Terraform oraz Ansible. To jedne

Czytaj więcej »
Tworzenie Azure vWAN za pomocą Terraform

Tworzenie Azure vWAN za pomocą Terraform

Prowadziłem wczoraj webinar, w trakcie którego pokazywałem jak działa usługa Azure Virtual WAN (Azure vWAN). Laboratorium do tego webinaru przygotowałem korzystając z Terraforma. To chyba ostatnio moje ulubione narzędzie do budowania usług w chmurze publicznej

Czytaj więcej »
Model Driven Telemetry w IOS XE cz. 1

Model Driven Telemetry w IOS XE (część 1)

Telemetria nie jest czymś nowym. Od zawsze administratorzy zbierali informacje o administrowanych systemach i wyciągali z nich wnioski. Mieli do tego odpowiednie protokoły (choćby znane wszystkim SNMP) i narzędzia (na przykład Nagios). Narzędzia te są

Czytaj więcej »

Wtorki z Pythonem

Skaner podatności CodeQL na GitHub

Skaner podatności CodeQL na GitHub

Błędy w oprogramowaniu wynikają bardzo często z błędów programistów. Z naszego niedopatrzenia, z tego, że nie przewidzieliśmy pewnych sytuacji czy zachowania użytkowników. Mogliśmy też zaniechać poprawnego sprawdzenia poprawności danych wejściowych. Przyczyn jest wiele. Dlatego ważne

Czytaj więcej »
Diagram as a Code

Diagram as a Code

Znalazłem ostatnio ciekawą bibliotekę języka Python, która w pewien sposób dopełnia ideę Everything as a Code. Biblioteka ta pozwala na stosunkowo proste rysowanie graficznych diagramów za pomocą kodu języka Python. Możemy zatem śmiało mówić już

Czytaj więcej »
Formatowanie ciągu znaków w Python

„(„+str(x)+”)” czy f'({x})’ ?

Po opublikowaniu poprzedniego artykułu z cyklu „Wtorki z Pythonem” dostałem od jednego z czytelników pytanie, dlaczego tak dziwnie skonstruowałem wywołanie funkcji print(). Chodziło o zapis print(„(%s,%s)” % (self.x, self.y)). W dzisiejszym artykule wyjaśnię, dlaczego taka

Czytaj więcej »
Konstruktor klasy w Python

Konstruktor klasy

Współczesne języki programowania, zarówno te kompilowane jak i interpretowane, wykorzystują koncepcję programowania obiektowego. Polega ona na modularyzowaniu kodu programu na małe funkcjonalne części zwane obiektami. Są to swego rodzaju „klocki”, z których następnie składamy cały

Czytaj więcej »
Tabele w ASCII

Tabele w ASCII

Gdy piszę różnego rodzaju skrypty w języku Python nie raz spotkam się z koniecznością wyświetlenia informacji na konsoli. Zazwyczaj wykorzystuję do tego systemową funkcję print(), lub bibliotekę pprint. Duża ilość informacji najlepiej zaprezentować w formie

Czytaj więcej »
Listy część 2

Listy w Python, cz. 2

W pierwszej części pokazałem jak definiować listę oraz w jaki sposób odczytywać pojedyncze, lub całe grupy elementów listy. Operacji na listach i jej elementach jest nieco więcej. Raz utworzona lista nie jest obiektem stałym i

Czytaj więcej »