Podwójnie parametryzowane testy w Spocku

Jakiś czas temu wymieniałem implementację autoryzacji w systemie nad którym pracuje. Jednym z wymagań było zapewnienie poprzedniej funkcjonalności. Oczywiście mieliśmy testy na poprzednią funkcjonalność ale w jaki sposób użyć ich do testowania innej implementacji? W tym poście przedstawię tę historię. Spock podobnie jak inne frameworki do testowania wspiera parametryzowane testy. Zazwyczaj definiuje się je przez […]

O typowanych nilach

W tym wpisie chciałbym naświetlić jak w Go wygląda sprawa z pustym wskaźnikiem i jakie to ma konsekwencje oraz jak można to naprawić przy użyciu generyków. Zacznijmy od podstaw W Go wszystko ma typ oraz wartość. Brzmi to rozsądnie bo mamy silnie typowany język więc wszechobecne typy nie powinny nas dziwić. Zgodnie ze specyfikacją języka […]

Tagged

Przepis na Word Clock po polsku

Biuro mojej poprzedniej firmy znajdowało się w Hamburgu. Od czasu do czasu wpadałem tam w delegację. Ponieważ siedziba mieściła się w dość ekskluzywnej dzielnicy HafenCity po drodze do biura mijałem różne galerie i sklepy. W jednym na witrynie postawiony był taki zegar. Od razu zwrócił moją uwagę (tym bardziej że wcześniej czytałem o tym na […]

Przydatne flagi: Bash

bash logo

W poprzednim wpisie pokazałem kilka przydatnych flag do curla. Jednak jeżeli chcemy uruchamiać go w powłoce warto i do niej dodać kilka opcji, aby zachowanie było zgodne z intuicją. -u Domyślnie jeśli jakaś zmienna nie jest zdefiniowana próba odwołania się do niej zwraca pustą wartość. Nie zawsze jest to działanie zamierzone gdyż zwykła literówka może […]

Adresy sieciowe w testach i dokumentacji

golang wait group doc issue

Ostatnio w języku Go zgłoszono ciekawy błąd. Mianowicie URL użyty w przykładach prowadził do Chińskiej strony pornograficznej. W tym artykule opiszę jak się przed tym obronić. Domeny Jeżeli koniecznie potrzebujesz użyć domeny to najlepszym rozwiązaniem jest  example.com example.org example.net Te trzy domeny są stworzone do właśnie do tego celu o czym można przeczytać w RFC […]

Przydatne flagi: curl

Ostatnio trafił mi się „Mad girlfriend bug” – czyli sytuacja w której software mówi że wszystko jest OK ale widać, że nie. W moim przypadku był to skrypt w CI. Wszystkie kroki były zielone a jednak testy nie przechodziły. W końcu okazało się, że winna jest jedna flaga, a raczej jej brak. W tym poście […]

Trzeba szukać!

anonymous person with binoculars looking through stacked books

Korzystałem z różnych systemów kontroli wersji u wielu dostawców. Oczywiście: Github, Gitlab, Bitbucket (Stash), ale też mniej popularne jak Benstalk czy Gitea. Poza podstawowymi funkcjami hostowania repozytoriów umożliwiają mniej lub bardziej wygodne narzędzia do pracy z kodem. Od zwykłej przeglądarki plików po zaawansowane edytory i narzędzia wizualizacji historii. Jednak wszystkim brakuje jednej funkcjonalności – wyszukiwarki. Zanim podniosą się głosy, że przecież Github ma wyszukiwarkę, pozwólcie, że wyjaśnię.

Ocalić od zapomnienia: Charyzjusz Chakier

Bywa tak, że mamy ulubionego malarza/pisarza/blogera/vlogera… – ogólnie twórcę, do którego dzieł wracamy wielokrotnie, a one niezmiennie dają nam tyle samo radości. Dla mnie takim twórcą jest Charyzjusz Chakier. Fikcyjny bohater, a zarazem autor bloga na bblog.pl – platformie blogowej należącej do Money.pl (w 2014 przejętej przez wp.pl). Niestety platformę po 10 latach działania zamknięto […]

“Wiele zależy od niezależności”

Ostatnio w jednym z projektów, nad którym pracowałem, potrzebowaliśmy wygenerować UUID. Prosta sprawa, na pewno jest od tego biblioteka. Mocno się zdziwiłem, kiedy odkryłem, że mamy już taką w projekcie. Co więcej nie jedną, a siedem i to niektóre w dwóch lub trzech wersjach. cat go.sum | grep uuid | cut -d ” ” -f1 […]

Kto wie, jakie strony odwiedzasz?

W lipcu jeden z najpopularniejszych serwerów DNS BIND skończył 33 lata. Pierwsza wersja standardu DHCP przypada na rok 1993 (RFC1531). Od tego czasu świat poszedł naprzód i większość protokołów została zastąpiona swoimi szyfrowanymi odpowiednikami (Telnet → SSH, FTP → SFTP, HTTP → HTTPS). DNS i DHCP przetrwały praktycznie bez zmian. W tym artykule przedstawi, jakie […]