Oskar Dudycz 🇺🇦✊ Profile picture
⚡ Event Sourcerer 🐿️ @marten_lib Maintainer ✍️ Blogger at https://t.co/oUEfzZWLiA 📧 https://t.co/aotjSZ0A1p Proud owner of Amiga 500.
Jun 15, 2022 5 tweets 4 min read
Tired of API tests? I know that feeling. That's why I released #Ogooreck: a sneaking BDD framework in #BDD style
👉 github.com/oskardudycz/Og…
Goal is to create a simple but composable tool that will cut the needed boilerplate for testing by the set of sneaky helpers and syntax. 1/ It works with any testing framework. And was baptised in fire (read used in my Event Sourcing .NET samples github.com/oskardudycz/Ev…).
The next step will be to add a similar set of tests for CQRS, DDD, and Event Sourcing common scenarios. 2/
May 8, 2022 9 tweets 5 min read
@MatheusMarabesi Later in the video, I tried to explain that Twitter might not be the best medium to explain that precisely. I wrote my thoughts on that topic in my two blog posts:
- event-driven.io/en/generic_doe…
- event-driven.io/en/cqrs_facts_….
But let's try! 😅👇 1/ @MatheusMarabesi To me, even by looking at the mentioned picture, I'm having a hard time understanding what the author had in mind and what the flow should look like. If the idea of doing a "clean code" is to provide something that's maintainable and on point, then this is contradictory /2
Mar 28, 2022 15 tweets 8 min read
After getting the first version of #Java samples of #EventSourcing, I asked the community for feedback for my PR
github.com/oskardudycz/Ev…
I wanted to get harsh but fair feedback to make it idiomatic and, in general, better. I got what I ask for, let me share what I learned 👇😅 1/ Java Optional should be used only as a result, to reduce the confusion around the `void` type. It should not be used as a method input parameter or field. This makes sense, as Java generics are more compile-time templates and are zipped. See more in: nipafx.dev/design-java-op… /2
Mar 3, 2022 10 tweets 7 min read
@dustinmoris @noseratio Unfortunately, the narration that's NATO's fault comes from the Russian propaganda. Beware of spreading it forward.
There were neither talks about that. The only reason why Putin invaded Ukraine was that it finally started to be a sovereign country 1/ @dustinmoris @noseratio Even though Ukraine got technically independence it wasn't neutral at all as you said. It was still reigned by an ex-party oligarch that was steered by Russia (see Łeonid Kuczma). It was almost a Russian puppet-like Belarus now. So please don't tell that they were neutral /2
Jan 6, 2022 12 tweets 6 min read
@tomasz_ducin @tomasz_ducin, chciałbym podkreślić, że na bazie relacyjnej można zamodelować każdą inną bazę, nawet event store, dlatego mówimy tutaj o różnicach między Event Sourcing, a klasycznym znormalizowanym podejściem 🙂 Oczywiście w takim podejściu da się zrobić obsługę koszyka 1/ @tomasz_ducin Główna kwestia, w której Event Sourcing ma przewagę jest brak utraty danych biznesowych. Jeśli np. ktoś dodał produkt do koszyka, a następnie go usuniemy, to z perspektywy klasycznego podejścia osiągniemy ten sam stan. W Event Sourcing będziemy mieć dwa zdarzenia 2/
Dec 9, 2021 10 tweets 5 min read
If you’d like to know why you may not need snapshots and learn modelling patterns to do #EventSourcing efficiently, read my latest article on @eventstore blog 👇
It may sound blatant, but I think that there are not many resources like that on this topic 1/
eventstore.com/blog/keep-your… It’s a looking article, much longer than the length of the streams you should keep in the event store 🙂 I tried to keep it shorter or split it, but my main goal was to provide a thorough, nuanced and complete explanation. So grab a glass of preferred drink and have a read 2/
Jun 18, 2021 5 tweets 3 min read
@bitbonk @bitbonk good question! Indeed, the IoT model seems to be aligned with Event Sourcing, as we're listening for the events and then doing interactions. The main issue is the nature of data coming from machines and the frequency. In Event Sourcing events gather business value 1/ @bitbonk IoT data is usually raw. Also, the number of measurements and their frequency can be really high, especially for the really busy production line. Most of the event stores are not so lightweight. So they not always can be run on e.g. raspberry pi. 2/
Apr 25, 2020 11 tweets 8 min read
@mzagozda Dziękuję bardzo! Cieszę się, że się podobało 🤩 Bardzo dobre pytanie.
Zacznijmy od tego, że sam Event Sourcing jest wzorcem, który co prawda o tym mówi, jak przechowywać dane, a w zasadzie nie tyle jak co w jakiej formie - konkretnie zdarzeń. Jednak sam w sobie nie mówi gdzie 1/ @mzagozda Zatem moglibyśmy przechowywać te zdarzenia równie dobrze w pliku tekstowym, binarnym, excelu, xmlu, json, czy też już bardziej rzeczywiście w bazie danych. No i tutaj w zależności od tego jaka jest charakterystyka naszego miejsca przechowywania takie mamy też możliwości 2/
Jun 15, 2019 17 tweets 15 min read
@HaripraghashS @HaripraghashS 2 short questions without 2 short answers 😅But let's try! Projections for me when I started my journey with #EventSourcing was the hardest thing to understand. I thought: ok, I can rebuild the aggregate state by replaying events one by getting them by id 1/ @HaripraghashS Having that I'll have the state of the single aggregate. Wait a minute! If I won't to do that for the aggregate list then I'd need to get all events for those aggregates and reply it one by one? Nah that's can't be! For that we have we have projections. As you for sure know /2