Tajemnicze *args i **kwargs

Tajemnicze *args i **kwargs

Tajemnicze *args i **kwargs

Jak w każdym języku programowania także w Pythonie znajdziemy ciekawe i zastanawiające konstrukcje składni. Na przykład dziwnie wyglądające *args i **kwargs w języku Python. Dziś pokażę Ci w jaki sposób poradzić sobie w sytuacji, gdy wywołujemy funkcję, ale nie wiemy ile argumentów do niej zostanie przekazanych. Z taką sytuacją w świecie automatyzacji infrastruktury mamy do czynienia dość często. Rozwiązanie w tym przypadku jest banalnie proste.

Czytaj dalej
5 trendów DevOps, które warto śledzić w 2021

5 trendów DevOps, które warto śledzić w 2021

5 trendów DevOps, które warto śledzić w 2021

Ten post trendach DevOps w 2021 roku musiał się miesiąc „odleżeć”. Tyle czasu czekał on w kolejce na publikację. Dlaczego? Technologie wokół szeroko rozumianego DevNet (a także DevOps) gnają jak szalone, i może lista ta za pół roku będzie wyglądać zupełnie inaczej. Czekał, gdyż chciałem zobaczyć, czy styczeń sam w sobie nie przyniesie czegoś zaskakującego, co wywróci ją do góry nogami. I choć były zmiany to nie było rewolucji. Poniższe zestawienie ma charakter czysto subiektywny. Patrzę na technologie przez pryzmat infrastruktury, a nie samych aplikacji. Sam DevOps postrzegany jest także coraz częściej już nie przez pryzmat procesów związanych z samą aplikacją i środowiskiem chmurowym, ale szeroko pojętą infrastrukturą IT. Także tą zwirtualizowaną na sprzęcie umieszczonym w firmowych data center.

W moim subiektywnym zestawieniu wartych uwagi trendów DevOps w 2021 roku nie pojawia się żaden język programowania. Nie dlatego, że żaden nie zasługuje na uwagę. Uważam, że znajomość co najmniej jednego języka programowania to obecnie konieczność, a nie trend czy moda. A językiem, który należy znać, jest obecnie Python.

Czytaj dalej
Operatory porównania

Operatory porównania „==” oraz „is”

Operatory porównania

Wiele osób zaczynających swoją przygodę z Pythonem jest zafascynowana elastycznością tego języka oraz składnią, która jest dość intuicyjna. Następnie zderzają się z problemem, że za bardzo chcieliby upraszczać, a co za tym idzie nie do końca poprawnie stosują różne operatory. Chyba najczęściej mylnie używane są operatory porównania == oraz is.

Czytaj dalej
Skrypt Python w Jenkins

Uruchamiamy skypt Python w Jenkins

Skrypt 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 trzy sposoby wywoływania skryptów Python w Jenkins w projektach opisywanych za pomocą zdefiniowanych akcji jak i jako pipeline.

Czytaj dalej
Numery telefonów

Numery telefonów

Numery telefonów

Gdy programujemy skrypty związaną z contact center, czy innymi aplikacjami z rodziny telefonii IP, bardzo szybko spotkamy się zadaniami, w których musimy przetworzyć numery telefonów. Z produktów związanych z telefonią numer uzyskujemy zazwyczaj w formacie E.164. Dane zapisane w różnego rodzaju bazach danych czy plikach tekstowych, które nasze skrypty będą przetwarzać, prawie na pewno nie będą zawsze zgodne z tym międzynarodowym standardem. Z takim problemem miałem do czynienia niedawno, gdy w projekcie dla mojego klienta pisałem dodatkowe skrypty do Amazon Connect, czyli call center w chmurze Amazona. W operowaniu różnego rodzaju formatami numerów telefonicznych pomogła mi biblioteka phonenumbers.

Czytaj dalej
Jak oszukuję inventory w Ansible

Jak „oszukuję” inventory w Ansible

Jak oszukuję inventory w Ansible

Inventory, czyli zbiór urządzeń, na których ma zostać wykonany playbook Ansible, co do zasady definiujemy jako statyczny plik, lub w sposób dynamiczny korzystając z wtyczek z grupy Inventory Plugins. Ja czasami jednak uciekam się do drobnej sztuczki, która jest dla mnie niezwykle wygodna, gdy uruchamiam proste playbooki, w których wykorzystuję moduły do Dockera. Jaka to sztuczka?

Czytaj dalej
Jak oceniam egzamin DEVASC 200-901?

Jak oceniam egzamin DEVASC 200-901

Jak oceniam egzamin DEVASC 200-901?

23 grudnia podszedłem do egzaminu Cisco DevNet Associate (DEVASC 200-901) i zdałem go uzyskując certyfikat. Długo się przed tym broniłem, ale powiedzmy, że presja otoczenia mnie zmusiła – kilku znajomych zdało ten egzamin też ostatnio. Poza tym skoro mam już „odznakę” DevNet Code Contributor, której oni nie mają, to mogę dołożyć do kolekcji DevNet Associate oraz DevNet Class of 2020. W dzisiejszym artykule podzielę się swoimi wrażeniami z samego egzaminu i przygotowań do niego.

Czytaj dalej
O automatyzacji sieciach - wywiad z Przemkiem Rogalą

O automatyzacji w sieciach – wywiad z Przemkiem Rogalą (część II)

O automatyzacji sieciach - wywiad z Przemkiem Rogalą

W pierwszej części mojej rozmowy z Przemkiem Rogalą, twórcą bloga TTL255, rozmawialiśmy o egzaminie DEVASC i certyfikacji Cisco DevNet. Certyfikaty byłby jednak zbędne, gdyby nie rzeczywiste projekty, w których wiedzę i doświadczenie zamienia się na konkretne rozwiązania. Zarówno Przemek jak i ja realizujemy tego typu projekty, choć na innych rynkach. W drugiej części mojej rozmowy skupimy się właśnie na rzeczywistym wykorzystaniu automatyzacji, projektach, programowaniu i narzędziach, które wykorzystujemy.

Czytaj dalej
O egzaminie DEVASC - wywiad z Przemkiem Rogalą

O egzaminie DEVASC – wywiad z Przemkiem Rogalą (część I)

O egzaminie DEVASC - wywiad z Przemkiem Rogalą

Certyfikacja DevNet ma już parę miesięcy, i sporo osób, które zdało egzaminy z poziomu Associate czy Professional. Świat IT zmienia się i z kolejnymi miesiącami wydaje się, że kto nie programuje, kto nie automatyzuje, ten tak na nie idzie z duchem czasu i zmianami. Jakie są wrażenia po zdaniu egzaminu DEVASC (200-901)? Jak się do niego przygotować? Czy jest on trudny? O to zapytałem mojego gościa – Przemka Rogalę, założyciela i prowadzącego bloga TTL255. Zapraszam na pierwszą część rozmowy z Przemkiem, która dotyczy samego egzaminu i certyfikacji DevNet.

Czytaj dalej
Terraform 0.14

Terraform 0.14

Terraform 0.14

Minęły zaledwie cztery miesiące od wydania Terraform 0.13. W międzyczasie doczekaliśmy się dużej konferencji organizowanej przez Hashicorp, twórcę Terraforma, na której ogłoszono między innymi Terraform Cloud. Programiści nie dostosowali swoich skryptów do wersji 0.13, a już z początkiem grudnia w nasze ręce oddany został Terraform 0.14. Jakie zmiany zostały wprowadzone wraz z nową wersją?

Czytaj dalej