This article describes the naming convention I use in projects where CQRS is applied. After creating a couple of projects we’ve finally reached the convention which works great for my team. Let’s try to point out how it looks.
Strona głównaUżytkownik
Cesarstwo-Dev | użytkownik
Sztuka programowania 1301 dni, 1 godzinę, 51 minut temu 112 źrodło rozwiń
Jak stworzyć nowy Expression, który wykorzystuje inny z podstawionym parametrem.
Sztuka programowania 1315 dni, 1 godzinę, 43 minuty temu 98 źrodło rozwiń
Events projections may get tricky and complicated. I decided to tackle one of the non-trivial cases in my new blog post. I wrote about how to create projections of events for nested object structures? Comments are welcome!
Architektura 1322 dni, 1 godzinę, 39 minut temu 44 źrodło rozwiń
Developers like to complain about the lack of documentation. They complain even more when they have to write it. I gathered my advice on how to successfully do documentation without the maintenance burden.
Mikroserwisy muszą być wspomniane przynajmniej raz na kilka artykułów, podobno w innym wypadku blog jest uznawany za archaiczny. Korzystając z tej architektury łatwo jest jednak strzelić sobie w stopę. Systemy oparte na zdarzeniach mają wiele zalet - niski coupling, ułatwiona komunikacja z biznesem oraz duża elastyczność.
Architektura 1333 dni, 2 godziny temu 135 źrodło rozwiń
Tworząc aplikację, na ogół zależy nam na tym, aby działała jak najszybciej. Spędzamy często wiele godzin na tym, aby zoptymalizować jej działanie. Ale sporadycznie pojawiają się sytuacje, kiedy musimy sztucznie ograniczyć ilość operacji. Na przykład API, z którego korzystamy, umożliwia wykonanie tylko ograniczonej ilości żądań w jednostce czasu. Biblioteka RateLimiter, o której mowa w tym wpisie, właśnie umożliwia zrealizowanie czegoś takiego w aplikacji .NET....
Durable Functions to rozszerzenie standardowych Azure Functions pozwalające na pisanie stanowych funkcji w bezserwerowym środowisku. Jak opisuje Microsoft: Behind the scenes, the extension manages state, checkpoints, and restarts for you, allowing you to focus on your business logic. Co oznacza to w praktyce? Rozszerzenie Durable Functions pozwala nam tworzyć długotrwałe procesy. W tym wpisie zobaczysz teorię, praktykę jak i dwa przykłady z życia wzięte. Pozytywny i negatywny. Zaciekawiony? Zaprasza!
While explaining the Event Sourcing, bank account balance calculation is a common starting point. I claim that even though it sounds right, then it’s not the best example to show at first. In this post, I explain the ES basics and first set of considerations that may arise when starting to evaluate it.
Architektura 1442 dni, 52 minuty temu 86 źrodło rozwiń
Testy integracyjne stanowią ważną część naszego systemu. Pozwalają zweryfikować naszą aplikację w szerokim kontekście, włączając w to infrastrukturę. Testy kontrolerów zapewniają nam poprawne działanie warstwy wejściowej do naszej aplikacji.
Sztuka programowania 1438 dni, 23 minuty temu 122 źrodło rozwiń
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...
Bardzo interesujący tydzień za nami! W końcu pojawił się .NET 5, a wraz z nim 3-dniowa konferencja pełna interesujących prelekcji! Kilka z nich było poświęcone projektowi Tye. Temat ten bardzo mnie zainteresował, więc postanowiłem samodzielnie spróbować użyć tego narzędzie. Efektem mojego eksperymentu jest wpis, który właśnie czytasz w Cesarstwie-Dev! Nie będę wchodził w techniczne szczegóły tego projektu, lecz pokażę kolejne efekty pierwszych kilku godzin pracy z Tye. Mam nadzieję, że jesteście równie z...
Sztuka programowania 1465 dni, 1 godzinę, 32 minuty temu 149 źrodło rozwiń
W tym wpisie zajmę się tematem, który mam wrażenie bardzo często jest pomijany. To może niestety prowadzić do poważnych konsekwencji (utraty danych lub ich niepoprawności), które ciężko będzie namierzyć. Zobaczysz, w jaki sposób można rozwiązać ten problem dzięki optymistycznej współbieżności w .NET Core.Problem? Wcześniej czy później natrafimy na problem, w którym dwóch użytkowników/dwa procesy, czy jakieś inne elementy, będą próbowały zmienić w tym samym cza...
Bazy danych i XML 1470 dni, 1 godzinę, 39 minut temu 161 źrodło rozwiń
Pierwszy z tej serii wpis będzie zawierał wprowadzenie do wzorców, jak i opis mojego ulubionego wzorca o wspaniałej nazwie Dekorator. Wzorce projektowe to uniwersalny sposób na rozwiązanie powtarzalnego problemu. Dekorator pozwala na dynamiczne przydzielenie danemu obiektowi nowych zachowań.
Sztuka programowania 1473 dni, 53 minuty temu 165 źrodło rozwiń
gRPC CodeFirst approach. The performance benchmark for gRPC vs REST communication in .Net core 3.1. How much does cost to open gRPC channel & why is worth to scope it like HttpClient.
Sztuka programowania 1494 dni, 2 godziny, 2 minuty temu 128 źrodło rozwiń
Czy warto móc uruchomić więcej funkcji za mniej $$$? Myślę że tak. Zapraszam do podróży do krainy optymalizacji Azure Functions.
Kilka przydatnych narzędzi do pracy z Docker, w tym jedno które rozwala wszystko a które umożliwia nam programowanie w dowolnym języku niezależnie od tego co mamy zainstalowane na naszym komputerze 🤯
Segregacja odpowiedzialności Polecenie-Zapytanie. Te dosłowne tłumaczenie wspaniale opisuje ideę naszego wzorca. Większość z nas jednak wie czym jest CQRS. W końcu temat ten jest poruszany niemal na każdej konferencji! Prezentacje te jednak często nie zawierają przykłady w kodzie, które głównie interesują żądnych technicznych detali programistów.
Architektura 1493 dni, 1 godzinę, 47 minut temu 174 źrodło rozwiń
Językiem biznesu nazywamy ogół słownictwa używany przez różnych ekspertów domenowych. Język ten powinien być w pełni transparentny i jednoznaczny. Posługiwanie się takim językiem wiąże się z licznymi korzyściami. Wśród nich można wymienić sprawniejszą komunikację, większe zrozumienie problemów, ułatwienie współpracy pomiędzy zespołami, zacieśnianie więzów w firmie czy ułatwiony proces pisania testów.
Sztuka programowania 1500 dni, 1 godzinę, 54 minuty temu 76 źrodło rozwiń
Jak przetworzyć operacje tylko raz ? Outbox i deduplikacja
Architektura 1507 dni, 2 godziny, 25 minut temu 124 źrodło rozwiń
In this video, I'm going to show you 5 performance tips (or tricks) that you can apply in order to make your C# code run faster.
Sztuka programowania 1507 dni, 2 godziny, 25 minut temu 110 źrodło rozwiń