W poprzednim wpisie pokazałem, w jaki sposób tworzyć automatyczne testy API w karate. Uruchamiałem je lokalnie z poziomu Visual Studio oraz wiersza poleceń. Ale największą ich zaletą jest automatyczne uruchamianie podczas procesu CI/CD. Zobacz, w jaki sposób to zrobić na przykładzie Azure DevOps.Karate i Azure DevOps Automatyczne wykonywanie testów karate w Azure DevOps nie jest skomplikowane. Jest nawet prostsze niż w przypadku wykonywania testów Postmana. Ni...
Czasem chcemy wiedzieć jakie mamy pokrycie testami naszego kodu. Chcemy znać wskaźnik Code Coverage. O ile jestem przeciwny ślepemu zapatrywaniu się w liczby, bo przecież pokrycie 100% kodu testami nic nie mówi, o tyle podoba mi się idea pokazywania które fragmenty kodu tymi testami są pokryte. ...
Logowanie to jeden z trzech głównych filarów obserwowalności naszych aplikacji – często niedoceniany, wykonany po macoszemu, byle był. Jako konsultant widziałem wiele aplikacji / systemów, które borykały się z problemem logowania niepoprawnej ilości danych, logowania danych poufnych bez wyraźnej przyczyny. Nie myśląc o tym w fazie planowania tworzymy problem nie tylko uciążliwy, lecz również trudny do naprawienia. Co więcej, w przypadku logowania wielu informacji trudno jest wyszukać te, które są nam fak...
Publikowałem na blogu już kilka wpisów na temat testowania API z wykorzystaniem świetnego narzędzia jakim jest Postman. W tym w jaki sposób automatycznie testować API podczas każdego release w Azure DevOps. W tym wpisie natomiast chciałbym przedstawić alternatywę dla takich testów, w postaci narzędzia Karate.Karate Karate jest narzędziem, za pomocą którego możemy wykonać różnego rodzaju testy. Od testów API, które pokażę Ci w tym wpisie, po testy interfejsu uż...
W jednym z ostatnich artykułów poruszyłem temat mechanizmu flag funkcjonalnści i ich integracji z serwerem Gitlab-a (Gitlab – Feature Toggles) . Tym razem planuje rozwinąć temat implementacji Permissioning toggles za pomocą klienta serwer-a Unleash. Jeżeli nie czytałeś wcześniejszego artykułu to zachęcam Cię do zapoznania się z nim.Czym są Permissioning Toggles? Zacznijmy od krótkiego przypomnienia czym są Permissioning Toogles. W dużym skrócie są to flagi, w których dostęp do funkcjonalności ma tylko z...
Podczas aktualizacji Visual Studio, jego instalator instaluje również nowe wersje .NET Core SDK - każda zajmuje ok. 500 MB. Po pewnym czasie może się nazbierać trochę niepotrzebnych paczek. W moim przypadku było to ponad 10, czyli na szybko licząc ok. 5 GB zbędnych rzeczy. Ten wpis opisuje narzędzie służące do usuwania starych paczek .NET Core.
Posted on przez Daniel PlawgoWprowadzenie Postman jest rozbudowanym narzędziem, bez którego nie wyobrażam sobie pracy. Większość kojarzy go jako aplikację do testowania api, ale umożliwia on dużo więcej. W tym wpisie będę chciał pokazać Ci, czym jest Mock Serwer oraz jak z niego skorzystać. Zauważyłem, że dużo osób korzystających na co dzień z Postmana nie wie, że coś takiego jest dostępne. A szkoda, bo są sytuacje, w których Mock Serwer może się przydać.Po co mi Mock Serwer? Postmana w większości prz...
During the analysis of a certain process, you might end up with just one command that leads only to one event. It has happened to me during our first Process Level sessions. We did find commands to the events that we’ve spotted in the Big Picture session and it felt just right. Is It Really That Simple? There’s a catch though. You might end up with a model of the system that looks just like a CRUD. Is the whole system just a CRUD? Hmm… In most cases probably not. In my case, it was the s...
Serverless to jednen z większych buzzword-ów ostatnich lat. Sprawdzając w google trends to “serverless” był bliski przebicia popularnością fraze “microservices”. W dzisiejszym artykule chciałbym zagłębić się w ten temat. Zaczniemy od podstaw – wygenerujemy pierwszą funkcję Azure, a następnie wdrożymy ją za pomocą Gitlab CI.Logowanie do Azure CLI Żeby się uczyć trzeba mieć na czym pracować. Proponuje zacząć od stworzenia pustej funkcji azure, aby mieć gdzie wdrożyć stworzoną, w tym tutorialu, funkcję. Oc...
Witaj w 66. odcinku podcastu. Tym razem poruszamy temat kontenerów, głównie dockera. Z naszymi gośćmi przechodzimy od początków konteneryzacji, przez teraźniejszość a skończywszy na wizji przyszłości. Miłego słuchania.
Pierwszy raz kiedy spotkałem się z ‘flagami funkcjonalności’… Powiem szczerze – wyglądało to jak czarna magia. Jednoczesna możliwość dynamicznego zmieniania zachowań systemu napawała mnie obawą o zawodność rozwiązania. Przecież nie wiadomo, co się wydarzy kiedy konfiguracja funkcjonalności nie zostanie zaciągnięta. Istnieje możliwość przypadkowej zmiany flagi, co wpłynie na użyteczność systemu. Jak widać wiele może zawieść. Warto jednak zaryzykować, ponieważ korzyści jakie dają Feature Toggles są ogromn...
Zbliża się oficjalnie okres przygotowania do świąt. Czas wyciągnąć za duże, czerwone swetry, kupić skrzynkę mandarynek i odbierać od kurierów paczki dla rodziny. Nie znaczy jednak, że można przestać się rozwijać – nauka zawsze się przyda, konkurencja nie śpi. Nie chcąc być całkowicie Grinchem to dziś prezentuje artykuł o trochę innych paczkach 😉 Czym byłoby pisanie aplikacji bez paczek? NPM, Gradle, Composer, Cargo – każdy szanujący się ekosystem posiada oprogramowanie do zarządzania paczkami, wersjami...
Utrzymując w miarę równe tempo pisania (podkreślając “w miarę”), postanowiłem kontynuować tematy dotyczące Entity Framework. Jeśli komuś się wydaje, że sporo już o tym napisałem, to ucieszę (albo zmartwię) Was – jeszcze mnóstwo wiedzy do przekazania, więc zapnijcie pasy bo kontynuujemy naszą podróż. Większość aplikacji jest używana przez więcej niż jedną osobę. Zdarza się co prawda napisać szybką apke dla Pani Krysi z księgowości do przeliczania funduszy potrzebnych na owocowe czwartki. Jeśli to jest tw...
W ubiegłym tygodniu (10-12 listopada) odbyła się wirtualna konferencja .NET Conf, podczas której swoją oficjalną premierę miał nowy .NET 5. Odbyło się bardzo dużo różnych prezentacji, w których myślę, że każdy znajdzie coś ciekawego dla siebie. Natomiast w tym wpisie chciałem zebrać ciekawsze rzeczy związane z premierą .NET 5, C# 9.0, ale również z samą konferencją..NET 5 Głównym elementem konferencji oczywiście była premiera nowego .NET. Nowa wersja jest o ty...
Jakiś czas temu pisałem o tym, że gdy tworzymy API, warto dodać narzędzie Swagger. Umożliwia ono w szybki i prosty sposób przetestować nasze API (tutaj). Zdarza się jednak tak, że aby móc korzystać z naszego API, dane żądanie (request) musi być zautoryzowane, czyli np. posiadać odpowiedni token. Swagger umożliwia autoryzację żądań na wiele sposobów. W tym poście opiszę jak to zrobić, gdy potrzebujemy Bearer token.
Nie ma nic odkrywczego w stwierdzeniu – mamy jesień. Listopad nie zachęca do spacerów. A cóż brzmi kusząco w zimne, pochmurne dni? Oczywiście kakałko i programowanie! W momencie kiedy pracujemy w środowiskach rozproszonych czasami potrzebujemy wykonywać pewne zadania jako oddzielny proces. Czasami jest to generowanie raportu, czasami jakieś inne zadanie długo lub krótko trwałe. W takich sytuacjach możemy do tego użyć prostej aplikacji konsolowej, zamkniętej w kontenerze i uruchamianej co jakiś czas za p...
Obecnie sporo aplikacji typu SPA działa bez żadnego backendu. Są to zazwyczaj małe aplikacje, najczęściej wizytówki, strony informacyjne czy prezentacje portfolio. Zazwyczaj hostowane są za pomocą mechanizmu typu Github Pages, gdzie konfiguracja procesu wdrażania zajmuje kilka chwil. Co jednak w przypadku, kiedy nie chcemy lub, co gorsza, nie możemy wstawić kodu do publicznego repozytorium? Obecnie modne jest zamykanie aplikacji w kontenery. Jednak w niektórych sytuacjach może to byc przerost formy nad t...
In the last two posts, I’ve described 14 different code smells related to the async/await keywords. Beside the problem description, I’ve also provided info about code analyzers that can detect and report given issue. Those analyzers come from a few different packages that are not strictly devoted to the asynchronous programming area. They also contain rules from other fields with predefined severity, which might not be appropriate to your needs, or you might not be interested in enforcing them at all. Th...
Przemysław Walkowski Każdy szanujący swój czas deweloper powinien znać git-a oraz umieć go obsługiwać. Poniżej lista komend, które każdy użytkownik git-a powinien znać i używać. Komend wyszło 97. Niektóre są bardzo proste, nie których rzadko się używa ale znać je trzeba. Listę też można potraktować jak szybkie przypomnienie co i jak. Zapraszam na 97 komend git-a, które musisz znać aby go dobrze używać.git config user.name Przemek Od czegoś trzeba zaczą...
Continous Testingadmin W Visual Studio od jakiegoś czasu brakowało mi plugina/feature’a, który uruchamiałby testy jednostkowe za każdym razem, kiedy wprowadzałbym większe zmiany w projekcie. Taka funkcjonalność jest co prawda dostępna w moim ulubionym IDE, tyle że w wersji Enterprise, za którą, trzeba słono zapłacić. Chodzi mi tu o Live Unit Testing. Inne komercyjne rozwiązania to plugin NCrunch i dotCover. Dlatego postanowiłem opracować własne rozwiązanie, pokaże teraz Ci jak to zrobiłem. Tool do moni...