artykuły

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 »
Podkreślenia w nazwach zmiennych i funkcji

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

Czytaj więcej »

Artykuły i porady

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 »
Docker Configs czyli jak umieszczam pliki wewnątrz kontenera

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

Czytaj więcej »
Spojrzenie na oficjalny podręcznik DEVASC

Spojrzenie na oficjalny podręcznik DEVASC

Na początku października nakładem wydawnictwa CiscoPress została wydana książka Cisco Certified DevNet Associate DEVASC 200-901 Official Certification Guide. Na tą książkę czeka wiele osób, które mają w planach przystąpienie do egzaminu. Zainteresowane nią są też

Czytaj więcej »
Python 3.9 - stabilizacja i mało nowości

Python 3.9 – stabilizacja i mało nowości

We wtorek oficjalnie wydano Python 3.9. Nowa wersja nie jest niczym przełomowym, mam wrażenie, że autorzy skupili się na bardziej na stabilizacji i uporządkowaniu kodu języka niż na wprowadzaniu nowych funkcjonalności. Poniżej krótka lista najważniejszych

Czytaj więcej »
GitLab - aktualizacja kontenera bazy danych

GitLab – aktualizacja kontenera bazy danych

Ostatnio chciałem dokonać aktualizacji GitLab-a w moim domowym labie. Nie wyszło. Podnosząc wersję oprogramowania GitLab-a, od dwóch lat nie aktualizowałem wersji bazy danych, która jest niezbędna do prawidłowego działania. O ile wersja GitLab 13.1.4 nadal

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 »
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 »