Many people at the beginning of the project ask themselves - what architecture to choose? Would you not even think about it when starting your first serious project? I bet you would. In this post, I will try to answer this question from my perspective because I have always thought about it myself… until one day.
Sztuka programowania 513 dni, 6 minut temu 110 źrodło rozwiń
Reading time ~6 minutes This article is Part 2 in a 2-Part Series. Part 1 - Refactoring to Data Driven TestsPart 2 - This Article The previous post was meant to be an encouragement and a warmup to data-driven testing. This post describes why I love this way of testing. Understanding a simple fact about testing moved me from “Oh, I should write tests” to “I want it all! And I want it now!” and Data-Driven Testing. And the simple truth is: Anyone who is a bit interested in machine learning heard sta...
Sztuka programowania 514 dni, 11 minut temu 58 źrodło rozwiń
O tym, jak dodać analizatory do projektu, pisałam całkiem niedawno. Dzisiaj czas na opisanie, jak takie analizatory skonfigurować. Wystarczy jeden prosty plik ruleset.
Sztuka programowania 514 dni, 11 minut temu 49 źrodło rozwiń
Warsztaty hands-on z programowania RabbitMQ w C#. Pomoc dla wszystkich którzy zainstalowali serwer i teraz chcieliby szybko i sprawnie opanować wykorzystanie tego narzędzia w swoich projektach.
Sztuka programowania 520 dni, 23 godziny, 17 minut temu 197 źrodło rozwiń
Reading time ~7 minutes I am not a big fan of writing tests. I like having them, but I find writing them to be boring. That said, retesting manually is even more annoying, so I write tests. The thought that there has to be a better way, never passed. I tried a few approaches. After some experimentation, I think I have the answer - DDT (Data Driven Testing) Before we dig into what Data Driven Tests are, let’s look at some standard, non-DDT tests.What we will be testing? There is a fragile line for cod...
Sztuka programowania 520 dni, 23 godziny, 17 minut temu 40 źrodło rozwiń
I've decided to create a series of blog posts where I will present what I've recently learned about the traps related to the multithreading in C#. I will also show you my proposition of Roslyn analyzers that can possibly help to avoid those issues right at the stage of writing the code. This part is about choosing a suitable object for locking.
Sztuka programowania 527 dni, 22 godziny, 57 minut temu 59 źrodło rozwiń
In this article we are going to show you how you can combine SignalR and RabbitMQ to build real time server-client communication. We will extend our insurance sales portal with chat service. This chat will let insurance agents communicate with each other. We also will use this chat service to send users information about certain business events like new product availability, successful sale or insurance product or tariff changes.
Sztuka programowania 527 dni, 22 godziny, 57 minut temu 125 źrodło rozwiń
Reading time ~3 minutes I’ve seen multiple people struggling with trying to mock the ILogger calls. This post will hopefully save some people from wandering this path. Here it goes:Please stop trying to mock the ILogger methods from .net core. Here is why: Most ILogger methods that we use for logging are extension methods - static methods. While mocking them is possible using Prig, or Microsoft Fakes it is not easy or pleasant. Mocking a static method boils down to replacing the code at runtime using...
Sztuka programowania 538 dni, 7 minut temu 128 źrodło rozwiń
Generalized async return types — it is a new C#7 feature that allows using not only Task as a return type of async methods but also other types (classes or structures) that satisfy some specific requirements. At the same time, async/await is a way to call a set of "continuation" functions inside some context which is an essence of another design pattern — Monad. So,...
Sztuka programowania 548 dni, 23 godziny, 28 minut temu 177 źrodło rozwiń
Nie da się pisać czystego kodu nie znając dobrze angielskiego. Dominacja technologiczna krajów anglosaskich sprawiła, że zarówno w komunikacji morskiej, jak i lotniczej językiem oficjalnym stał się angielski. To samo wydarzyło się z technologią informacyjną. Wszystkie omal języki programowania składają się z słów kluczowych wyrażonych w języku Shakespeare’a. Komendy, które wpisujemy w konsoli to również słowa angielskie. Chcemy tego, czy nie – językiem branży IT jest język angielski...
Sztuka programowania 548 dni, 23 godziny, 28 minut temu 151 źrodło rozwiń
Wybór kierunków swojego programistycznego rozwoju nie jest łatwy. W gąszczu technologii, metodyk, bibliotek łatwo się zagubić i główkować co będzie dla nas lepsze. Wielokrotnie przechodziliśmy z Bartkiem przez dokładnie ten sam problem. Lepiej, będziemy do niego wracać co jakiś czas, ponieważ zawsze możemy usprawnić swoje działania, efektywniej wykonywać co dzienną pracę. Co nam pomogło w staniu się lepszym programistą? Podczas podcastu staraliśmy się odpowiedzieć na powyższe pytanie, definiując najważ...
Sztuka programowania 558 dni, 23 godziny, 44 minuty temu 155 źrodło rozwiń
Zespół .NET od zawsze marzył, aby programiści znający język C# mogli bez problemu tworzyć aplikacje webowe. Podejść było kilka i różnie z tym wychodziło. W czasach prehistorycznych (wiem, że niektórzy w tym jeszcze programują, ale tak samo gdzieś żyją jeszcze ludzie bez prądu, więc obu grupom współczuję) strony www i .NET kojarzone były z ASP.NET WebForms. Była to szybka (i dość średnio zrobiona) odpowiedź na potrzebę tworzenia aplikacji webowych, ale przez osoby nie mające pojęcia jak działa web, za to ...
Sztuka programowania 560 dni, 17 minut temu 273 źrodło rozwiń
Jestem właśnie w trakcie lektury książki „Testy jednostkowe” Roya Osherove. Jest w niej ciekawy rozdział dotyczący frameworków izolacji i ich typów.
Sztuka programowania 560 dni, 23 godziny, 39 minut temu 134 źrodło rozwiń
Tworzenie oprogramowania, to nie tylko pisanie kodu lub zbieranie wymagań od klienta, a proces znacznie szerszy i bardziej czasochłonny. Jednym z elementów tego łańcucha zależności są testy. Każda stworzona linijka kodu powinna być sprawdzona pod różnym kątem, aby uniknąć błędów, które mogą spowodować niewielkie niedogodności po stronie klienta lub olbrzymi straty w firmie. Stąd też temat testowania jest niezmienienie ważny.
Sztuka programowania 562 dni, 12 minut temu 100 źrodło rozwiń
Programiści technologii .NET nie mają łatwego życia od roku 2016. To wówczas wypuszczono pierwsze wydanie .NET Core - nowego frameworku od Microsoftu, który to podczas premiery mocno namieszał w dość zamkniętym świecie .Net...
Sztuka programowania 562 dni, 23 godziny, 27 minut temu 294 źrodło rozwiń
Przemyślenia o code review, czym jest, po co je robić i na co warto zwrócić uwagę plus trochę statystyk i dobrych rad. Bazując na własnych doświadczeniach oraz badaniach przeprowadzonych pośród developerów w Microsofcie.
Sztuka programowania 562 dni, 23 godziny, 27 minut temu 134 źrodło rozwiń
Dzielenie się wiedzą w zespołach programistycznych jest bardzo ważną sprawą. Nie wszystko co wiesz na temat projektu jest znane pozostałym członkom zespołu. Działa to także w drugą stronę – nie zawsze wszystko wiesz, a i też nie wszystkie zakamarki aplikacji musiałeś prześledzić. Budowanie silosu wiedzy, dotyczącego czy to aspektów biznesowych czy też technicznych nie wpływa korzystnie na utrzymanie projektu. Wyobraź sobie dłuższą nieobecność osoby odpowiadającej za funkcjonalność X, której nikt poza ni...
Sztuka programowania 565 dni, 23 godziny, 50 minut temu 83 źrodło rozwiń
Polityka to Building Block z DDD, który pozwala otwierać model na rozbudowę w tych miejscach, w których biznes może tego faktycznie potrzebować. Pojedyncze Polityki zwykle są stosunkowo proste, ich kompozycja może jednak modelować bardzo złożone wymagania biznesowe. Jak zaimplementować je w C#, żeby maksymalnie zwiększy czytelność?
Sztuka programowania 567 dni, 22 godziny, 59 minut temu 238 źrodło rozwiń
Pierwsze przymiarki do C# w ersji ósmej. Wyamgania i kilka najfajniejszych moim zdaniem zmian.
Sztuka programowania 569 dni, 23 godziny, 50 minut temu 255 źrodło rozwiń
Ostatnimi czasy coraz bardziej popularne są tak zwane bootcampy programistyczne. Są to szkolenia, które w szerokim zakresie obiecują nauczenie kursanta sztuki kodowania w określonym języku. Najczęściej trwają one kilka tygodni lub miesięcy i mogą odbywać się zarówno w weekendy, ale także w przeciągu tygodnia. Ilość wiedzy jaką przekazują bootcampy jest naprawdę spora, ale z drugiej strony nie są to tanie kursy. Ceny wachą się od 2-3 tysięcy złotych do nawet 15 tysięcy i więcej za najbardziej obszerne i o...
Sztuka programowania 573 dni, 23 godziny, 46 minut temu 119 źrodło rozwiń