W trakcie ostatniej konferencji PLNOG Online 2 porozmawiałem z Robertem Ślaskim z ATENDE o egzaminie Cisco DevNet Professional, który ostatnio zdał. Czym różni się on od DevNet Associate i jak się do niego przygotować?
Wtorki z Pythonem
Czytaj dalej
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.
Przez Piotr Wojciechowski, temu
Porady
Czytaj dalej
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 trzy sposoby wywoływania skryptów Python w Jenkins w projektach opisywanych za pomocą zdefiniowanych akcji jak i jako pipeline.
Przez Piotr Wojciechowski, temu
Wtorki z Pythonem
Czytaj dalej
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.
Przez Piotr Wojciechowski, temu
Ansible
Czytaj dalej
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?
Przez Piotr Wojciechowski, temu
Felieton
Czytaj dalej
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.
Przez Piotr Wojciechowski, temu
Felieton
Czytaj dalej
O automatyzacji w sieciach – wywiad z Przemkiem Rogalą (część II)
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.
Przez Piotr Wojciechowski, temu
Felieton
Czytaj dalej
O egzaminie DEVASC – wywiad z Przemkiem Rogalą (część I)
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.
Przez Piotr Wojciechowski, temu
Wtorki z Pythonem
Czytaj dalej
Podkreślenia w nazwach zmiennych i funkcji
Na pewno nie umknęło Twojej uwadze, że w języku Python nazwy niektórych obiektów, zmiennych czy funkcji składają się z podkreśleń umieszczanych na początku, na końcu lub po obu stronach. Jest to celowy zabieg, konwencja i standard, który ma na celu uporządkowanie kodu zarówno pod względem semantycznym, funkcjonalnym jak i optycznym, czyli ułatwić jego czytanie. W dzisiejszym artykule wyjaśnię Ci jakie znaczenie mają podkreślenia w tych konkretnych przypadkach.
Przez Piotr Wojciechowski, temu
Docker
Czytaj dalej
Jak umieszczam pliki wewnątrz konterena
Projektując mikrosegmentację usług i ich konteneryzację powinniśmy pamiętać, by nie zapisywać wewnątrz kontenerów informacji, które zmieniają się w zależności od instancji. Umieszczanie plików konfiguracyjnych aplikacji uruchamianej w kontenerze “na sztywno” w obrazie kontenera nie jest zbyt dobrym pomysłem. Podobnie rzecz ma się choćby z certyfikatami SSL. Pokażę Ci dwa sposoby na to, w jaki sposób możesz przekazać podłączyć dowolny plik do kontenera. Zdradzę Ci, że drugi jest moim ulubionym.
Przez Piotr Wojciechowski, temu