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

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 »
Dane wrażliwe w Terraform 0.15

Dane wrażliwe w Terraform 0.15

Mam wrażenie, że rozwój narzędzi związanych z DevOps i DevNet znacznie w 2020 roku przyspieszył. Z jednej strony to dobrze, bo związane jest to z ich intensywnym rozwojem i dopasowywaniem do potrzeb klientów i rynku.

Czytaj więcej »
Pierwsze logowania i zmiana hasła za pomocą Ansible i modułu expect

Pierwsze logowania i zmiana hasła za pomocą Ansible

Ostatnio realizowałem szkolenie, w którym dość często musiałem reinstalować system operacyjny Linux na maszynach wirtualnych. Sama reinstalacja systemu i jego późniejsza konfiguracja nie sprawiały mi żadnego problemu. Mam przygotowane playbooki Ansible, które konfigurują system, instalują

Czytaj więcej »
Skrypt Python w Jenkins

Uruchamiamy skypt Python w Jenkins

Jenkins to elastyczne narzędzie do tworzenia i wykonywania scenariuszy w modelu CI/CD. Scenariusz taki może składać się z przeróżnych kroków, w trakcie których wykorzystujemy zewnętrzne narzędzia takie jak skrypty Pythona. W dzisiejszym artykule zaprezentuję Ci

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 »