artykuły

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

Czytaj więcej »
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

Czytaj więcej »

Artykuły i porady

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.

Czytaj więcej »
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

Czytaj więcej »
Przekazywanie wrażliwych danych do kontenera

Przekazywanie wrażliwych danych do kontenera

W jednym z poprzednich postów opisałem mechanizm Docker Configs. Pozwala on na umieszczenie zawartości dowolnego pliku w kontenerze działającym w klastrze Swarm. Zawartość pliku definiujemy jako obiekt klastra. Jest jeszcze drugi wart uwagi mechanizm Docker

Czytaj więcej »
Terraform i Makefile

Terraform i Makefile

Wielu inżynierów zapomina, że narzędzia, z których korzystają, można w prosty sposób łączyć. Ja w ten sposób w projektach łączę często Terraform i Makefile. Pozwala mi to zautomatyzować proces wykonywania czynności oraz uniknąć prostych błędów,

Czytaj więcej »

Wtorki z Pythonem

Która wersja Pythona jest najlepsza?

Która wersja Pythona jest najlepsza?

Ostatnio opisywałem kilka nowości, które weszły do języka Python wraz z wersją 3.9. Następstwem tego wpisu były pytania o to, która wersja Pythona jest najlepsza. Której wersji języka zalecam używać. Czy najnowsza jest najlepsza? A

Czytaj więcej »
Łączenie zmiennych słownikowych

Łączenie zmiennych słownikowych

W krótkim artykule opisującym nowości w języku Python w wydaniu 3.9 zwróciłem uwagę na dwa operatory pozwalające na operowanie na zmiennych typu słownikowego (dict). W dzisiejszym wpisie w ramach Wtorków z Pythonem pokażę Ci kilka

Czytaj więcej »
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 »