O szukaniu performance'u. Pół żartem, pół serio. Ciało jest. Nawet dycha, ale sprawcy brak. Kto jest winny?
Strona głównaUżytkownik
oskar-at-net | użytkownik
Sztuka programowania 1366 dni, 51 minut temu 76 źrodło rozwiń
Thanks to my colleague, I learned this week why Partial
Sztuka programowania 1364 dni, 1 godzinę, 14 minut temu 77 źrodło rozwiń
A while ago I came across “Quick notes on a rant” authored by Don Syme. This rant criticizes the C# language for the lack of a few important features. The first point is "Implicitly discarding information is so 20th Century" which brings our attention to one of the sources of bugs in C# programs. Lucky me, I got the pleasure to make this kind of bug and find it later in production code, so this blog post is to save you the trouble...
Sztuka programowania 1372 dni, 1 godzinę, 4 minuty temu 72 źrodło rozwiń
Setting up the test matrix in XUnit is not so easy as it might seem. This summarises my struggles with adding System.Text.Json support to Marten and setting our test matrix to run the whole test suite for both serialisers.
Sztuka programowania 1368 dni, 54 minuty temu 51 źrodło rozwiń
Answering the question "What's the difference between a command and an event?" is not so obvious as it may seem. Fact vs Intent is not explaining everything. I went through the different aspects of this distinction in my new blog post. I also explain the consequences of those considerations.
Architektura 1372 dni, 1 godzinę, 4 minuty temu 98 źrodło rozwiń
If you want to know : - why I think that distributed systems are like Rocky Balboa. - the difference between Saga, Process Manager and Choreography. Here's my take on that together with the real-world samples.
Programowanie rozproszone 1379 dni, 1 godzinę, 1 minutę temu 158 źrodło rozwiń
Testy mutacyjne. Szybki start i biblioteka Stryker w .NET i dotnetcore. Pierwsze uruchomienie, szybkie spojrzenie na rezultaty testów.
Span, Memory i ReadOnlySequence stały się stałym elementem .NET i pojawiają się praktycznie wszędzie. Kiedy przeglądałem dokumentację tych struktur, zauważyłem, że to w jaki sposób mam je zamodelowane w głowie różni się od dokumentacji. Zapraszam do wizyty w świat niskopoziomowego spotkania z pamięcią i tego jak to rozumiemy. Zapraszam tym mocniej, jeżeli pojęć tych nie używasz codziennie, a chszesz je zrozumieć.
Sztuka programowania 1386 dni, 54 minuty temu 225 źrodło rozwiń
Are you one of those people saying that Event Sourcing is detached from reality? Do you think that you don’t need such extravagance, as you have relational databases? Why go wild? What if I told you that relational databases use the Event Sourcing approach?
Bazy danych i XML 1386 dni, 54 minuty temu 54 źrodło rozwiń
Przemysław Walkowski Skończyłem. Trochę miałem poślizgu ale kolejny kurs zakończony. Po kursie z gita, DNA, DB Master już byłem trochę otrzaskany z tym czego się można spodziewać po takim kursie i… nie zawiodłem się choć… Zapraszam na recenzje kursu SmartTestigTLTR; Kurs https://smarttesting.pl/ jest ok. Merytorycznie jest spoko, jeśli nic nie wiesz o testach albo jeśli wiesz tak średnio. Czasem brakuje ...
Sztuka programowania 1392 dni, 54 minuty temu 114 źrodło rozwiń
What texting Ex has to do with Event-Driven Design? It appears that more than we would think. Read more in the blog post.
Architektura 1393 dni, 44 minuty temu 36 źrodło rozwiń
How to completely automate continuous integration and release management of visual studio extensions.
I oto jest on – 69. odcinek. I od razu ostrzeżenie, to jest długi odcinek. Dłuższy niż dotychczasowy rekordzista więc przygotujcie się na długi spacer. A w tym odcinku z naszym gościem rozmawiamy o architekturach opartych o zdarzenia. Miłego słuchania.
Architektura 1395 dni, 14 godzin, 11 minut temu 75 źrodło rozwiń
W poprzednim wpisie pokazałem, w jaki sposób tworzyć automatyczne testy API w karate. Uruchamiałem je lokalnie z poziomu Visual Studio oraz wiersza poleceń. Ale największą ich zaletą jest automatyczne uruchamianie podczas procesu CI/CD. Zobacz, w jaki sposób to zrobić na przykładzie Azure DevOps.Karate i Azure DevOps Automatyczne wykonywanie testów karate w Azure DevOps nie jest skomplikowane. Jest nawet prostsze niż w przypadku wykonywania testów Postmana. Ni...
From my experience, sociological aspects of working in a distributed microservices environment give more risks than technical mistakes. Last week I technical part, this time I will talk more on how our non-technical decisions can impact our project. Read more on "Hype Oriented Programming", "Conway Law", "Cognitive Load".
Architektura 1398 dni, 14 godzin, 56 minut temu 46 źrodło rozwiń
In this post, I will try to show two useful techniques: custom test data builders and asserts. I will also try to point out how certain DDD tactical patterns help write better tests.
Sztuka programowania 1407 dni, 50 minut temu 71 źrodło rozwiń
Publikowałem na blogu już kilka wpisów na temat testowania API z wykorzystaniem świetnego narzędzia jakim jest Postman. W tym w jaki sposób automatycznie testować API podczas każdego release w Azure DevOps. W tym wpisie natomiast chciałbym przedstawić alternatywę dla takich testów, w postaci narzędzia Karate.Karate Karate jest narzędziem, za pomocą którego możemy wykonać różnego rodzaju testy. Od testów API, które pokażę Ci w tym wpisie, po testy interfejsu uż...
Myślałeś/aś kiedyś o utworzeniu strumienia z operacji w bazie danych? W tym wpisie dowiesz się czym jest Change Data Capture i jak go wykorzystać planując architekturę naszego systemu. W części praktycznej sprawdzimy działanie Debezium na bazie MySQLSpis treścihide1Co to jest Change Data Capture?Rodzaje Change Data CaptureQuery-BasedLog-Based2Jak mogę to wykorzystać?Zapis do wielu źródełIntegracja baz danychETL i Stream Processing3DebeziumŚrodowiskoKonfiguracja Debezium MySQL w Kafka ConnectDodanie danyc...
Bazy danych i XML 1409 dni, 1 godzinę, 7 minut temu 63 źrodło rozwiń
These days dunking on #Microservices is getting easier, so I did it. I provided my rational take on how to (not) cut your system into microservices.
Architektura 1407 dni, 50 minut temu 86 źrodło rozwiń
W jednym z ostatnich artykułów poruszyłem temat mechanizmu flag funkcjonalnści i ich integracji z serwerem Gitlab-a (Gitlab – Feature Toggles) . Tym razem planuje rozwinąć temat implementacji Permissioning toggles za pomocą klienta serwer-a Unleash. Jeżeli nie czytałeś wcześniejszego artykułu to zachęcam Cię do zapoznania się z nim.Czym są Permissioning Toggles? Zacznijmy od krótkiego przypomnienia czym są Permissioning Toogles. W dużym skrócie są to flagi, w których dostęp do funkcjonalności ma tylko z...