A. Rothuis

In a previous post, we have seen messaging primitives: events, commands and queries. In this post, we will take an extensive look at publish-subscribe: a common messaging pattern for decoupled and (near-)realtime communication.

It is no secret the software industry has issues regarding diversity and inclusivity. The use of language can play a role in creating an atmosphere that is welcoming to everyone – or, at the very least, not uninviting.

For the purpose of shaping a welcoming community through language and not alienating anyone, it is necessary to be mindful (or reminded) of sensitivities, especially of those not felt by the author or voiced by the people in the author’s bubble.

Alex is a tool that can help with this.

Messaging is a way of communicating between systems, services or components. Message-driven architectures, especially event-driven architectures, are on the rise thanks to service-based approaches to software architecture such as microservices.

In this post, an overview will be offered of the primitives used in messaging: messages. Furthermore, Data Transfer Objects as a way of implementating messages are discussed. Finally, it is proposed that Data Transfer Objects can be used to reflect the use cases of an application.

Sometimes, operations need to be run upon booting a Docker container,for instance when creating, configuring or pre-seeding a database. In this post, we will see how to run CQL when starting a Scylla Docker container.

In line with the Agile manifesto, working software is to be favored over comprehensive documentation. Even though keeping an up-to-date documentation can cost a lot of time and effort, this does not mean it should be disregarded entirely. In fact, it is possible to embed documentation in the agile development process, while working towards a shared understanding and common language of the business domain.

Principles of Behaviour Driven Development and Specification By Example can help in maintaining an ever-evolving body of (executable) documentation for the application. Let’s explore these ideas by writing user stories and setting up end-to-end tests for a live web application using Cucumber, nightmare and chai.