In a typical CQRS/ES system events delivered to projections have At-least-once delivery guarantee and because of that it is usually necessary to implement deduplication in order to achieve idempotency.
Although some of the message queue / streaming platforms claim that they can deliver exactly one semantics the answer to the deduplication problem problem is nuanced and we can’t get away without solving it. Read More
Couple of months ago, just before the DDD Europe conference a question "Why there is no DDD community in London" struck my mind and didn't let me sleep (literally). If you think about it - it doesn't really make sense - especially that we have a good number of DDD Practitioners (or even book authors) in the city, DDD eXchange is the longest running conference and Skills Matter regularly organises DDD related trainings. Read More
Swift is around for some time now and introduced interesting constructions that are not widely used in other languages. One of these construction is Read More
if let statement that unwraps optionals. Let's consider following example…
TL;DR: use Facade Design Pattern to simplify usage of a complex subsystems and reduce number of dependencies your code has
During recent Design Patterns training I've attended at Inviqa (delivered by @_md) we had quite emotional discussion about differences between Facade and Adapter patterns (which are intuitively different but it was hard to understand why). This discussion led me to this blog post and I'd like to summarise our conclusions. Read More