Strona głównaUżytkownik

oskar-at-net | użytkownik

oskar-at-net
oskar-at-net
2 189,8
269 dni, 23 godziny, 59 minut temu
30 listopada, 2011
dotnetomaniak.pl

Krytykowałem nie raz pytanie „Czy to się skaluje?” za bycie matrą i wymówką raczej niż pytaniem. W swoim ostatnim artykule postanowiłem być bardziej proaktywny i napisałem poradnik na temat skalowania aplikacji używających Marten. Zawiera ogólne wyjaśnienie procesu myślowego, rozważania i praktyczne przykłady, jak i kiedy skalować Marten i nie tylko.

Źródło: event-driven.io
Dziel się z innymi:
How to scale out Marten - Oskar Dudycz

Architektura poniedziałek, 31 lipca 2023 07:53:54 GMT oskar-at-net 6 spam? źrodło rozwiń

Dzisiaj opublikowałem małą poradę o tym jak ustawiać zmienne globalne w testach przy pomocy XUnit. Może to być pomocne, jeśli przeprowadzasz testy integracji API dla aplikacji korzystającej z Marten. Dołączyłem również małą tyradę na temat frameworków testowych .NET.

Tagi: testy, xunit
Źródło: event-driven.io
Dziel się z innymi:
How to set global setting for XUnit tests - Oskar Dudycz

Inne 275 dni, 14 minut temu oskar-at-net 124 źrodło rozwiń

Jestem regularnie pytany o "Jak zaimplementować Union Types w C#". Niestety nie jest to łatwe i musisz dokonać kompromisów; czasami może to skutkować przerostem formy nad treścią, ale... Jest to osiągalne i bywa użyteczne, zwłaszcza w modelowaniu logiki biznesowej. W najnowszym wpisie postarałem się podejść jak najgłębiej do tego tematu.

Tagi: C#, union types
Źródło: event-driven.io
Dziel się z innymi:
Union types in C# - Oskar Dudycz

Powiedzieć, że nie jestem fanem generowania kodu klienta na podstawie API, to jak nic nie powiedzieć. Uważam, że jest to jeden z pomysłów, który brzmi atrakcyjnie, ale kończy się koszmarem. To fajen marzenie, które nigdy się nie spełnia. Dlaczego? Czytaj więcej w artykule.

Źródło: event-driven.io
Dziel się z innymi:
Should you generate the client code from the API? - Oskar Dudycz

Architektura 666 dni, 47 minut temu oskar-at-net 154 źrodło rozwiń

Jakiś czas temu, zupełnie dla funu napisałem sobie sprytną biblioteczkę do testów w stylu BDD. Dzisiaj po chrzcie w ogniu (czytaj użyciu w moich samplach) wypuściłem wersję 0.1. Założenia: - pomóc w płynnym i czytelnym pisaniu testów, - usunąć boilerplate za pomocą zestawu pomocnych helperów, - nie zastępować frameworków testowych (działa ze wszystkimi, więc XUnit, NUnit, MSTests itp.) ani innych do asercji - zachować prostotę, ale zezwolić na kompozycje i rozszerzenia. Póki co służy do testów API, bo ...

Źródło: event-driven.io
Dziel się z innymi:
Ogooreck, a sneaky testing library in BDD style - Oskar Dudycz

Narzędzia 679 dni, 47 minut temu oskar-at-net 98 źrodło rozwiń

Dzisiaj zajmiemy się konsumpcją! Oraz tym jak napisałem nową wersję biblioteki MediatR, no prawie. Opisuję jak można zrobić elastyczny pipeline, gdzie komponujemy zwykłe metody bez zbędnych interfejsów i magii refleksji.

Źródło: event-driven.io
Dziel się z innymi:
How to build a simple event pipeline - Oskar Dudycz

Mam coś dużego dla Was. Właśnie wydałem bezpłatnie pierwszą część zadań do warsztatu „Wprowadzenie do EventSourcing”. Przygotowanie ćwiczeń zajęło mi dwa tygodnie pełnego skupienia plus godziny, które spędziłem na Event Sourcing w ostatnich latach 🙂 Stworzyłem go na prywatny warsztat, ale jak zawsze zdecydowałem się udostępnić zadania jako open source. Możesz wykonać warsztaty jako zestaw do samodzielnego uczenia. Wiadomo, że to nie to samo co pełen warsztat, ale powinno dać Ci dobre podstawy do rozp...

Źródło: event-driven.io
Dziel się z innymi:
Introduction to Event Sourcing - Self Paced Kit - Oskar Dudycz

Architektura 770 dni, 23 godziny, 26 minut temu oskar-at-net 92 źrodło rozwiń

"Jak zapewnić wyjątkowość w Event Sourcing"? To jedno z najczęściej powtarzających się pytań. Najprostsza odpowiedź brzmi: „Czy naprawdę musisz?” Jeśli szukasz dokładniejszej, sprawdź mój nowy artykuł, opisałem ten problem w detalach.

Źródło: event-driven.io
Dziel się z innymi:
Uniqueness in Event Sourcing - Oskar Dudycz

Sztuka programowania 777 dni, 23 godziny, 48 minut temu oskar-at-net 70 źrodło rozwiń

Moja wypowiedź na temat obecnej szalonej sytuacji na świecie i barbarzyńskiej wojnie, którą wypowiedziała Rosja, Ukrainie. Jest też sporo moich przemyśleń o naszej banieczce IT i tym, że "ja nie interesuje się polityką" już jest nieaktualne (o ile kiedykolwiek było). Jest też trochę linków popierających moje tezy.

Źródło: event-driven.io
Dziel się z innymi:
“Nie interesuję się polityką” jest już nieaktualne - Oskar Dudycz

Inne 784 dni, 23 godziny, 37 minut temu oskar-at-net 113 źrodło rozwiń

"Immutable Value Objects" brzmi to poważnie i nieco strasznie. Jednakże, jest to prosty, praktyczny i bardzo przydatny koncept. Pomaga on w pisaniu mniej kodu, testów. Nasze klasy stają się bardziej przewidywalne. W swoim najnowszym artykule pokazałem na przykładzie, jak możesz skorzystać z tego konceptu.

Źródło: event-driven.io
Dziel się z innymi:
Immutable Value Objects are simpler and more useful than you think! - Oskar Dudycz

Sztuka programowania 797 dni, 23 godziny, 12 minut temu oskar-at-net 149 źrodło rozwiń

Legacy Monolit to zwykle bestia. Rozmowy konferencyjne pchają nas do zmiany go w mikroserwisy, wydzielenia Bounded Contextów użycia Kubernetes itd. Są to często dobre rady, ale nie zawsze wykonalne. Są momenty, gdy musimy działać pragmatycznie. Migracja może być zbyt kosztowna i zbyt wymagająca czasowo. Jak przeskalować monolit, gdy kończy nam się czas? Przeczytaj w moim nowym artykule!

Źródło: event-driven.io
Dziel się z innymi:
How to quickly scale a legacy monolith? - Oskar Dudycz

Architektura 801 dni, 23 godziny, 25 minut temu oskar-at-net 67 źrodło rozwiń

Testy na produkcji zwykle pojawiają się w niezbyt chlubnych, ale za to śmieszkowatych historiach. A to dziwne powiadomienie z banku, a to dzwoni do nas klient i pyta się co to jest za typ słownika "twoja stara ubiera się u Prady". Ja testowałem na produkcji i się tego nie wstydzę. Zobacz dlaczego.

Źródło: event-driven.io
Dziel się z innymi:
I tested it on production and I'm not ashamed of it - Oskar Dudycz

Sztuka programowania 812 dni, 21 godzin, 10 minut temu oskar-at-net 64 źrodło rozwiń

W ciągu ostatnich kilku dni kilka razy zostałem zapytany: „Jak używać silnie typowanych identyfikatorów w Marten?”. Postanowiłem napisać swoje przemyślenia na ten temat, bo trzeba znać kilka „sztuczek”, aby to zadziałało. Zobacz jak to zrobić w moim nowym artykule.

Źródło: event-driven.io
Dziel się z innymi:
Using strongly-typed identifiers with Marten - Oskar Dudycz

Sztuka programowania 826 dni, 19 godzin, 15 minut temu oskar-at-net 57 źrodło rozwiń

My programiści uwielbiamy pokazywać kreatywność w fantazyjnym formatowaniu, regułach stylistycznych, niezliczonych dyskusjach na temat wyższości spacji nad tabami. Dynamiczna składnia, czy mocno typowana? Tak czy śmak? Opisałem jak radzić sobie z tymi dyskusjami i efektywnie pracować z kodem i PRami.

Should a programmer's creativity be shown in code formatting? - Oskar Dudycz

„Nie, to się nigdy nie może wydarzyć!”. Czy znasz te zdanie? Założę się, że tak. Oprócz Dekalogu nie ma wiele zasad wyrytych w kamieniu. Systemy idealne to nie te, które są bezbłędne. Idealne systemy to takie, które odzwierciedlają proces biznesowy i są odporne na nasze błędy.

Źródło: event-driven.io
Dziel się z innymi:
No, it can never happen! - Oskar Dudycz

Sztuka programowania 839 dni, 23 godziny, 51 minut temu oskar-at-net 86 źrodło rozwiń

Jak zintegrować Martne z narzędziami typu Kafka czy nawet innymi bazami danych? Pomoże w tym funkcja zwana Async Daemon. W skrócie, jest to proces działający w tle, który zapewnia asynchroniczne przetwarzanie zdarzeń. Domyślnie używany jest do projekcji, ale może być używany jako baza do pub/sub.

Źródło: event-driven.io
Dziel się z innymi:
Integrating Marten with other systems - Oskar Dudycz

Architektura 847 dni, 23 godziny, 28 minut temu oskar-at-net 34 źrodło rozwiń

Snapshoty w Event Sourcing są przereklamowane. Nie powinny być używane jako domyślny wybór architektoniczny, ale raczej jako czysto techniczna optymalizacja. Czasami jednak może to być pragmatyczny wybór lub dobry kompromis. Napisałem, jak sobie z nimi radzić przy pomocy Marten.

Źródło: event-driven.io
Dziel się z innymi:
How to do snapshots in Marten? - Oskar Dudycz

Architektura 854 dni, 22 godziny, 39 minut temu oskar-at-net 54 źrodło rozwiń

.NET się zmienia. Staje się coraz lżejszy. Minimal API są tego przykładem. Pozwalają na szybkie zbudowanie API i uruchomienie nowego serwisu. W dobie mikroserwisów i Cloud jak znalazł. Przetestowałem, jak sprawdzą się z innym wzorcem promującym prosty podział kodu: CQRS. Czytaj dalej by zobaczyć jakie są moje wnioski.

Źródło: event-driven.io
Dziel się z innymi:
CQRS is simpler than you think with .NET 6 and C# 10 - Oskar Dudycz

Architektura 861 dni, 23 godziny, 48 minut temu oskar-at-net 267 źrodło rozwiń

Wersjonowanie zdarzeń dla osób uczących się Event Sourcing jest jak potwór, którym straszy się dzieci. To upiorna opowieść opowiedziana przy ognisku. Jest w tym trochę prawdy, bo migracje są zawsze wyzwaniem. W nowym artykule pokazałam proste, praktyczne wzory z próbkami, jak sobie z tym poradzić!

Źródło: event-driven.io
Dziel się z innymi:
Simple patterns for events schema versioning - Oskar Dudycz

Architektura 868 dni, 23 godziny, 39 minut temu oskar-at-net 49 źrodło rozwiń

Zmotywowany ostatnimi wątkami na HackerNews i Reddit, postanowiłem tym razem odpowiedzieć! EventStreaming jest zbyt często mylony z EventSourcing. Jest to szkodliwe dla obu wzorców, a najbardziej dla ludzi popełniających ten błąd. W swoim artykule wyjaśniłem, czym się różnią i dlaczego jest to ważne.

Źródło: event-driven.io
Dziel się z innymi:
Event Streaming is not Event Sourcing! - Oskar Dudycz

Architektura 874 dni, 23 godziny, 39 minut temu oskar-at-net 63 źrodło rozwiń

1 2 3 4 5

Najaktywniejsi w tym miesiącu