Krótki opis jak wyglądają typy anonimowe w rzeczywistości.
Sztuka programowania 2114 dni, 28 minut temu 83 źrodło rozwiń
Pisząc metody powinniśmy wyodrębniać niskopoziomowe operacje do osobnych metod. Krótka myśl po pewnym code review...
Sztuka programowania 2118 dni, 20 minut temu 69 źrodło rozwiń
Dlaczego niedbanie o jakość kodu ma fatalny skutek dla planowania.
Sztuka programowania 2119 dni, 23 godziny, 55 minut temu 207 źrodło rozwiń
Przypisanie istniejącego obiektu do innej zmiennej niesie ze sobą pewne ryzyko. Należy być świadomym, czym różni się i co zawiera w sobie typ referencyjny, a co typ wartościowy. O typach wartościowych pisałem już nieco podczas omawiania struktur, w tym materiale. Tam też przedstawiłem problem przypisywania typów referencyjnych do innej zmiennej, który zaraz przypomnę.Przypisywanie typów wartościowych Jak sama nazwa wskazuje typy te zawierają w sobie wartość, która zostaje im przypisana. Stwórzmy w naszy...
Sztuka programowania 2125 dni, 28 minut temu 135 źrodło rozwiń
Dzisiaj, bez oficjalnej definicji. Jedynie wspomnę o tym, o czym – w kontekście Interface Segregation Principle – należy wspomnieć. Zasadniczo ISP mówi o „rozczłonkowaniu” dużych, wielozadaniowych kontraktów i interfejsów na mniejsze, posiadające jedną konkretną odpowiedzialność. Dzięki czemu, każdy element który konsumuje taki interfejs, ma dostęp tylko do określonej funkcjonalnośći. Intencją ISP jest utrzymanie systemu luźnych powiązań między obiektami, ułatwienie konserwacji systemu, testowania, czy ...
Sztuka programowania 2125 dni, 28 minut temu 138 źrodło rozwiń
Sztuka programowania 2126 dni, 8 minut temu 153 źrodło rozwiń
Operacje na zbiorach matematycznie i Linq Pisząc o Joinach chciałam dodać teorię zbiorów do całości obrazu. Jednak okazało się, że patrzyłam na to troszkę źle. Relacje pokazywane na rysunkach zbiorów nie odnoszą się do samych JOIN'ów, a jedynie do elementu/zmiennej/zbioru zmiennych które łączą dwie kolekcje. Użyjemy tego samego przykładu co poprzednio. Teoria zbiorów ma zastasowanie tylko do TypeId ponieważ to był zawsze element łączący w Joinach. Jeśli jednak porzucimy myślenie sqlami ...
Sztuka programowania 2127 dni, 22 godziny, 34 minuty temu 153 źrodło rozwiń
Feature Toggle (Feature Switch, Feature Flag) to technika umożliwiająca modyfikowanie zachowania systemu w środowisku testowym lub produkcyjnym. W powyższym wpisie w ramach koncepcji feature toggles dzielę na dwie kategorie release toggles i bussines toggles.
Sztuka programowania 2131 dni, 2 minuty temu 223 źrodło rozwiń
REST API Data validation using FluentValidation and Pipeline Pattern. Implementing Problem Details standard.
Sztuka programowania 2131 dni, 2 minuty temu 183 źrodło rozwiń
Sztuka programowania 2131 dni, 23 godziny, 59 minut temu 180 źrodło rozwiń
In this article we will design internal architecture of non-trivial microservice that is responsible for both managing its data state and exposing it to the external world. Basically our microservice will be responsible for creation and various modifications of its data and also will expose API that will allow other services and applications to query for this data.
Sztuka programowania 2131 dni, 23 godziny, 59 minut temu 231 źrodło rozwiń
In this article we are going to focus on service discovery, which is one of the fundamental concepts of microservice based architecture. Service discovery is a mechanism that allows services to find each others network location. There are many possible implementations of this pattern, but in this article we will focus on implementation that consist of Service Registry component and Service Registry Clients.
Sztuka programowania 2131 dni, 23 godziny, 59 minut temu 244 źrodło rozwiń
Dziś krótki i nieplanowany wpis z cyklu „ku przestrodze”, a będzie o… polu statycznym, które skutecznie zmieniło moje plany dotyczące ubiegłego wieczoru (ok 2h debugowania). Nie ma jednak tego złego, prawda? Ja mam nauczkę, a Ty drogi czytelniku być może też wyniesiesz z tego coś dobrego. Zacznijmy od tego, aby odpowiedzieć sobie po co i kiedy stosować słowo kluczowe static? Myślę, że każdy, czy to w szkole, na uczelni, na kursie czy w p...
Sztuka programowania 2135 dni, 24 minuty temu 257 źrodło rozwiń
Tym razem jednak skupiliśmy się na definicji kilku dobrych praktyk wspomagających tworzenie testów jednostkowych. Takich testów, które dobrze weryfikują implementacje, zapewniają jakość oraz łatwo jest je utrzymywać. Jakie dobre praktyki warto stosować podczas pisania testów jednostkowych? Wśród popularnych aspektów jak zasady FIRST czy grupowanie implementacji testu w trzy grupy – Given, When, Then pojawiły się także inne warte uwagi techniki. Jesteś ciekawy jakie? To serdecznie zapraszam Cię do odsłu...
Sztuka programowania 2135 dni, 24 minuty temu 109 źrodło rozwiń
Want to see an example of implementing IEquatable and usage of protobuf? Jump in! :)
Sztuka programowania 2135 dni, 24 minuty temu 46 źrodło rozwiń
Luźne przemyślenie o sagach - na podstawie tweetu Udiego Dahana i prezentacji Adama Ralpha.
Sztuka programowania 2137 dni, 22 godziny, 59 minut temu 184 źrodło rozwiń
DDD - Domain Model Encapsulation and Persistence Ignorance with Entity Framework 2.2
Sztuka programowania 2138 dni, 22 godziny, 53 minuty temu 159 źrodło rozwiń
C# 8.0 brings us another nice feature called slicing. In order to make it possible, two new concepts are introduced: Indexes and Ranges. Let’s see how this tiny feature is supposed to make our life easier 🙂
Sztuka programowania 2138 dni, 22 godziny, 53 minuty temu 112 źrodło rozwiń
O dwóch sposobach tworzenia oprogramowania na przykładzie programu na antyczny komputer PDP-8 opowiada Wujek Bob Martin.
Sztuka programowania 2140 dni, 22 godziny, 27 minut temu 129 źrodło rozwiń
Krótko i na temat, czyli jak uruchomić polecenie powłoki systemowej bash w .NET Core na Ubuntu
Sztuka programowania 2140 dni, 22 godziny, 27 minut temu 61 źrodło rozwiń