Want to see an example of implementing IEquatable and usage of protobuf? Jump in! :)
Sztuka programowania 2133 dni, 6 godzin, 25 minut temu 46 źrodło rozwiń
What happens when you throw something which does not inherit from System.Exception? How to swallow ThreadAbortException? Is it possible that finally block is not executed? First part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Ostatnio usłyszałem o sobie, że z racji dużej liczby inicjatyw w które się angażuje, jestem “człowiekiem 1000 projektów”. Co prawda miało to być komplementem, ale od razu odpowiedziałem, że równolegle pracuję jedynie nad dwoma lub maksymalnie trzema sprawami i tylko dlatego to działa. W dzisiejszym poście kilka słów o tym co zrobić, żeby nie zaplątać się w rozmaite inicjatywy w zbyt dużej liczbie i tym samym pozbawić się szansy osiągnięcia jakiegokolwiek celu. Na początku zadajmy...
Luźne przemyślenie o sagach - na podstawie tweetu Udiego Dahana i prezentacji Adama Ralpha.
Sztuka programowania 2136 dni, 5 godzin temu 184 źrodło rozwiń
DDD - Domain Model Encapsulation and Persistence Ignorance with Entity Framework 2.2
Sztuka programowania 2137 dni, 4 godziny, 55 minut 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 2137 dni, 4 godziny, 55 minut temu 112 źrodło rozwiń
Historia zmian danych w aplikacji wcześniej czy później pojawi się w każdym projekcie. Do tego problemu można podejść na różne sposoby – możemy samemu coś wymyślić lub skorzystać z czegoś gotowego. W przypadku gdy korzystamy z Entity Framework, możemy użyć mechanizm audytu z darmowego rozszerzenia Entity Framework Plus. W dzisiejszym wpisie pokażę podstawy korzystania z tego mechanizmu, natomiast za tydzień rozbudujemy jego możliwości.Problem W tworzonych prze...
Bazy danych i XML 2138 dni, 4 godziny, 26 minut temu 199 źrodło rozwiń
Azure DevOps - co to jest? Do czego służy nowe rozwiązanie firmy Microsoft dla programistów? Czy warto się nim zainteresować?
O dwóch sposobach tworzenia oprogramowania na przykładzie programu na antyczny komputer PDP-8 opowiada Wujek Bob Martin.
Sztuka programowania 2139 dni, 4 godziny, 28 minut temu 129 źrodło rozwiń
In the early days of dotnet core, there was an attempt of changing the C# project file format. The old “csproj” based on XML format was replaced with .xproj/project.json. However, after releasing dotnet core 1.0 the authors decided to get back to XML file. The format stayed the same but the specification went through a major change. With the new schema...
Krótko i na temat, czyli jak uruchomić polecenie powłoki systemowej bash w .NET Core na Ubuntu
Sztuka programowania 2139 dni, 4 godziny, 28 minut temu 61 źrodło rozwiń
Cóż tam, panie, w polityce? Chińcyki trzymają się mocno!? Jeden z bardziej znanych mi cytatów. Tata i dziadek powtarzali go tak wiele razy, że aż trudno spamiętać. “Wesele” Wyspiańskiego, akt I, scena I. A co to ma wspólnego z dotnetem? No jak to? Dotnet trzyma się mocniej niż Chińcyki! A więc poniżej subiektywny, osobisty, dump linków - podejście 5, miejmy nadzieję, że tym razem z sukcesem. No to jedziemy!Podsumowanie tygodnia dotnetomaniaka Jak jeszcze nie czytałeś co działo sie na polskiej scenie ...
Są rzeczy ważne, ważniejsze i testy jednostkowe. No i może kakałko wypadałoby umieścić na końcu listy, przynajmniej zimą. Wracając jednak do testów, uważam je za podstawowe narzędzie do poprawy jakości kodu. Pozwalają nam szybko przetestować, czy nasza twórczość działa poprawnie i (jeśli testy są prawidłowo napisane) zgodnie z założeniami biznesowymi. W dzisiejszym, dość krótkim, artykule chciałbym Wam przedstawić narzędzie Coverlet służące do obliczania pokrycia kodu przez testy jednostkowe. Jest to kró...
Używając FluentAssertion musimy zwracać uwagę w którym miejscu użyjemy Should(). W zależności od położenia Should() błędy zwracane z asercji mogą być lepszej lub gorszej jakości.
Sztuka programowania 2140 dni, 4 godziny, 41 minut temu 128 źrodło rozwiń
Git flow, o którym wspominałam już wcześniej, to fajna rzecz. Trzeba jednak pamiętać, że odpowiednio nazywać branche (w skrócie: feature/featurename i bugfix/bugname). Czasami zdarza się jednak, że zapomnimy o tej konwencji, a już wyślemy zmiany na serwer. Co wtedy?
Kontynujemy dział o dependency innjection, w tym artykule rektoryzujemy kod z poprzedniej części, który jeszcze będzie później dostosowywany do dependency injection.
Architektura 2140 dni, 4 godziny, 41 minut temu 108 źrodło rozwiń
Ostatnio w pracy, został poruszony temat ogólnoświatowej recesji wieszczonej od jakiegoś czasu i jej wpływu na naszą, stricte IT, branżę. Sprawa zainteresowała mnie na tyle, że postanowiłem napisać coś w tym temacie. Jak wiadomo, ogólnoświatowa gospodarka, od czasu do czasu przeżywa „załamanie”. Okres od jednego spadku do drugiego nie zawsze jest taki sam, ale wiemy już (jako ludzkość) że dzieje się to, mniej więcej, w okresach 30-to letnich, a najbliższa nam następna zapaść ekonomiczna (dla średniej dł...
Rozwijanie usługi systemowej stworzonej z domyślnego szablonu w Visual Studio nie jest prostym zajęciem. Szczególnie debugowanie takiej aplikacji sprawia sporo problemów. Nie można z poziomu IDE uruchomić usługi i jej debugować. Trzeba podpinać się pod działający proces. W przypadku gdy chcemy zdebugować start usługi, musimy posiłkować się różnymi dziwnymi konstrukcjami, które zatrzymają start usługi do momentu podpięcia się debugera. W dzisiejszym wpisie będę...
Dzięki artykułowi dowiesz się wszystkiego co trzeba wiedzieć o poziomach testów w projekcie. Jakie mamy poziomy oraz jakie cele spełniają.
Sztuka programowania 2144 dni, 4 godziny, 24 minuty temu 162 źrodło rozwiń
If you're interested in C# 8.0 new features, come and read about nullable reference types :) We'll continue exploring next interesting features of C#8 in the weeks to come.
Sztuka programowania 2144 dni, 4 godziny, 24 minuty temu 113 źrodło rozwiń