Git z Oh My Zsh

Większość użytkowników na co dzień korzysta z basha jako powłoki systemowej Unix. Dzisiaj zaprezentuję możliwość zwiększenia swojej produktywności poprzez użycie powłoki systemowej zsh na Ubuntu. W celu konfiguracji powłoki zsh wykorzystam framework open source Oh My Zsh. Instalacja W pierwszej kolejności przed instalacją Oh-My-Zsh należy zainstalować powłokę systemową zsh (wersja …

Git Bash – Aliasy

Na początku przygody z Gitem każdy klepie cały tekst polecenia, później przychodzi chwila refleksji i pytanie czy da się to zoptymalizować? Rozwiązaniem potrzeby są aliasy, umożliwiają tworzenie krótkiego polecenia na podstawie ciągu instrukcji. Teorii starczy, czas na praktykę. Tworzenie Git aliasu Proces dodania nowego aliasu jest bardzo prosty. Pierwszą możliwością …

RESTful API – Richardson Maturity Model

REST i RESTful API to dość popularne buzzwordy w aktualnych czasach. W ramach przypomnienia, implementacje API zgodnie z założeniami architektury REST nazywamy RESTful API. Załóżmy, że wykonaliśmy implementacje API, skąd mamy mieć pewność, że jest w stylu REST. Kolega/koleżanka za monitora powie Ci, skoro masz HTTP i JSON to usługa …

Testowanie wydajności z BenchmarkDotNet

Wydajność funkcji jest ważną miarą w każdej aplikacji. Zanim zaczniemy optymalizować kod aplikacji w pierwszej kolejności należy zidentyfikować fragment kodu, który działa nie optymalnie, tu z pomocą przyjdą profilery. Udało się znaleźliśmy fragment kodu, wprowadziliśmy poprawkę i jak najszybciej można porównać wydajność poprawki w odniesieniu do wersji pierwotnej? Pierwszym naszym …

Testy integracyjne dla ASP.NET Core Web API

Mówisz, że Twój kod działa, ale czy na pewno jesteś tego pewny? Wprowadzasz zmianę w kodzie i może czujesz, że twój projekt to tykająca bomba na produkcji. Testy jednostkowe, integracyjne, systemowe, akceptacyjne itp. pozwolą Ci spokojniej spać.  Jeśli natomiast temat testów jednostkowych nie jest za dobrze Ci znany polecam zajrzeć …

Fluent Validation z ASP.NET Core Web API

Walidacja danych wejściowych jest ważnym procesem w naszych aplikacjach/usługach, umożliwia uniknięcie błędów wynikających z niepoprawnych wartości. Istnieje kilka sposób na implementacje walidacji w projektach. Najbrzydszym rozwiązaniem jest utworzenie długich litanii if-ów weryfikujących wartości uzyskane na wejściu akcji kontrolera. W ASP.NET najpowszechniejszą metodą walidacji danych wejściowych jest wykorzystanie wbudowanego mechanizmu walidacji …

Testy jednostkowe DateTime

Pierwszy raz próbując napisać test jednostkowy dla metody wykorzystującej strukturę DateTime napotykamy na problem z odczytem aktualnego czasu z statycznych właściwości (UtcNow, Now, Today) struktury DateTime.  Jeśli logika testowanej metody zależy od aktualnego czasu lub daty, wynik testu będzie się różnić w zależności od czasu przeprowadzenia testu. Jak zarządzać aktualnym …

Integracja Slack z Travis CI

W procesie ciągłej integracji ważnym etapem jest otrzymanie informacji o statusie zakończonego buildu. Travis umożliwia dystrybuowanie powyższej informacji poprzez powiadomienia na e-mail (opcja domyślna), IRC, chat oraz webhook. Osobiście nie lubię mieć zapchanej skrzynki przez informacje o każdej wykonanej kompilacji. Jednym z rozwiązań by ograniczyć spam jest ustawienie powiadomień e-mail …

Continuous Integration z Travis CI na GitHub

Dziś trafia do Was trzecia cześć z serii o ciągłej integracji, która omawia jak skonfigurować narzędzie Travis CI do automatyzacji pracy z hostingiem GitHub. Poniżej umieściłem odnośniki do poprzednich części, w których omówiłem między innymi podstawy związane z procesem Continuous Integration. Continuous Integration z Bitbucket Pipelines Continuous Integration z GitLab …

Dobre praktyki – Testy jednostkowe

Test jednostkowy (ang. unit test) to fragment kodu, który weryfikuje poprawność działania innego fragmentu kodu. Testowany fragment kodu jest poddawany testowi, który wykonuje go i w ramach weryfikacji porównuje wynik z oczekiwanym rezultatem. Zastanówmy się przez chwilę, skąd mamy mieć pewność, że testy jednostkowe zostały prawidłowo zaimplementowane w naszym projekcie. …