Szukasz praktycznej wiedzy
o architekturze oprogramowania?
Zapoznaj się z moimi treściami - od artykułów po wideo
Nazywam się Oskar Dudycz. Od ponad 13 lat, tworzę systemy informatyczne bliskie biznesowi.
Prowadzę warsztaty i szkolenia na temat Event Sourcing, CQRS oraz architektur opartych o zdarzeniach.
Jestem maintainerem biblioteki Marten, umożliwiającej pracę z Event Sourcing.
Na blogu dzielę się wiedzą jak pragmatycznie tworzyć, dobre modularne aplikacje.
CQRS facts and myths explained
I’m sure that you know a lot of Urban Legends. They usually start with “hey, my friend’s cousin saw that…” or “you know, I’ve read such…
Why Partial<Type> is an extremely useful TypeScript feature?
If TypeScript were a friend of mine on Facebook, then I’d mark our relation as complicated. It’s a history of love & hate, or rather hate…
How to set up a test matrix in XUnit?
Each country has the go-to place for hiding from daily struggles. In Poland, we have Bieszczady. It’s a mountain range that’s also the…
What's the difference between a command and an event?
What’s the difference between a command and an event? Question seems apparent, but let’s see if the answer is straightforward. The command…
Saga and Process Manager - distributed processes in practice
What can go wrong with distributed systems? Everything! I like to compare distributed systems to Rocky Balboa fighting the last round with…
What if I told you that Relational Databases are in fact Event Stores?
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…
What texting your Ex has to do with Event-Driven Design?
We sometimes feel melancholic, blue and a bit messy. When we enhance those feelings with “gummy berry juice” then various dubious ideas come…
Sociological aspects of Microservices
Last week, I started writing about the topic of cutting systems into microservices (read more here). I was sceptical about the frequent…
How (not) to cut microservices
Today, I’m holding a keyboard in one hand and scissors in the other. What do I need these scissors for? According to the post title, I would…
Bring me problems, not solutions!
“Bring me solutions, not problems!” I’ve heard this sentence multiple times from Business and management. You’ve heard it too, haven’t you…
Outbox, Inbox patterns and delivery guarantees explained
Yesterday I was asked by Cezary about the transactional outbox pattern sample implementation. My answer was: The question was short - answer…
How to (not) do the events versioning?
Developers that are not running a system in production might call themselves lucky. They can live in their perfect world. It is a world…
Optimistic concurrency for pessimistic times
Apparently, one of the worst things you can wish someone is “may you live in interesting times”. In these interesting times of ours, I…
Why a bank account is not the best example of Event Sourcing?
While explaining the Event Sourcing, bank account balance calculation is a common starting point. I claim that even though it sounds right…
Revolution now!
Did you ever get an offer that someone will pay you for what you are currently doing as a hobby? What would be your decision if that would…
Architect Manifesto
“Architects are not needed anymore. Those days are gone!” “We’re agile - we’re not doing waterfall, so we’re not designing upfront.” “We…