Category: .NET

Bezpieczny null-check w C#

Dziś krótki wpis, który być może okaże się dla Ciebie bardzo przydatny. Chodzi o jedną z technik programowania defensywnego, którą bardzo często możesz spotkać w kodzie C# (z uwagi na jego specyfikę), a mianowicie null-check (ogólniej asercja). Spójrz na poniższy kod...

CQRS i mikroserwisy: odczyt danych

W poprzednim wpisie dosyć obszernie przedstawiłem ogólny koncept oraz implementację zapisu danych w aplikacji DShop, która opiera się na architekturze mikroserwisowej oraz wzorcu CQRS. W tym wpisie zajmiemy się drugim flow przepływu danych w aplikacji tj. ich odczytem. Zaczynajmy!   Ogólny zarys podejścia...

CQRS i mikroserwisy: zapis danych

Ostatnimi czasy na blogu było dosyć cicho, ale wynika to z dwóch rzeczy. Po pierwsze zrobiłem sobię przerwę wakacyjną (która przyznam szczerze rozciągnęła się nieco w czasie), a po drugie aplikacja DShop zmieniła się mocno pod kontem infrastrukturalnym, dlatego pozwoliłem...

Tworzenie własnego szablonu dla projektu .NET Core

Ostatnio w pracy rozpoczęliśmy nowy projekt, który oparty jest na mikroserwisach. Cały proces tworzenia aplikacji zaczęliśmy od stworzenia dedykowanego repozytorium dla każdej usługi (o tym podejściu pisałem tutaj) i umieszczeniu w nim projektu ASP.NET Core, który następnie należało odpowiednio przygotować. Mam tu...

Projekt DShop – instrukcja uruchomienia

W poprzednim wpisie opisującym ciemną stronę mikroserwisów wspomniałem, że przedstawię kompletną instrukcję uruchomienia projektu DShop, który wspólnie z Piotrkiem Gankiewiczem przygotowaliśmy na potrzeby prezentacji „Distributed .NTE Core”. Dlaczego właściwie ją publikuję? Powody są w zasadzie dwa. Pierwszy to fakt, że...

Waiting for dependencies in Docker Compose

Not so long ago, I got a quite interesting problem with my docker-compose file which surprisingly turned out to be quite common. In a nutshell, I had several ASP.NET Core applications (yup…microservices) which tried to connect to RabbitMQ queue during...

Method invocation in C# is tricky

A few days ago, a friend o mine had a very interesting issue with C# code he had written. Let’s take a look:     There are two overloads of the generic method called Bar. The first one accepts a...

C# internals: foreach statement

After a while, we get back to series dedicated to the internals of C# language. Personally, I think that previous part about iterators was quite longish and complicated, hence today I decided to choose a much simpler (but hopefully still...

C# internals: iterators

In my last post, we got familiar with the internals of string switch statement in C#. Today, we are going to deeply understand another language feature – iterators.   Iterators in C# Despite the fact that iterators (using yield keyword)...

C# internals: string switch statement

I really enjoy learning new architectures, design patterns, frameworks, libraries or in general – everything related to web development. I really do. But honestly, after quite long time all these stuff became a little bit… boring. To avoid possible burnout...