Home » Archives for Mark Paluch

Author Archives: Mark Paluch

Mark is a software craftsman, did just about every job in IT, open source committer, and is passionate about dev culture. Particularly interested in hardware hacking and internet of things. Mark helps development teams to improve continuously during their software endeavor to achieve outstanding performance.

Data Classes Considered Harmful

This blog post explains the motivation behind removing Project Lombok from one of the projects to which I contribute. It reflects my personal opinion and is not discouraging particular technologies. About three years ago, I got to know Project Lombok, a library that spices up Java code. I liked it from the beginning as it contributes so much useful functionality. ...

Read More »

Reactive Relational Database Transactions

spring-interview-questions-answers

Spring Framework announced recently to ship with support for reactive transaction management.Let’s take an in-depth look at how this works for R2DBC, the reactive specification for SQL database access. Transaction Management is a pattern and not technology-specific. From that perspective, its properties and runtime behavior are a function of the implementing technology. TL; DR: From a database perspective, imperative and ...

Read More »

Reactive Programming and Relational Databases

Imperative code eats threads at the pace of incoming requests while Software is eating the world. This post discusses the assumptions for reactive programming on the JVM and what this means for integrations – in particular, relational databases. The motivation to come up with a post is the constant increase in reactive programming adoption while some major building blocks are not yet available ...

Read More »

A first look at Redis Streams and how to use them with Java

Redis Streams have made it into Redis’ unstable branch since the beginning of this year, and the first clients start with the adoption of Redis Streams APIs. That makes it an excellent time to take a look what Redis Streams provide and how you can use them from a client perspective. Disclaimer: Redis Streams are available as a first draft ...

Read More »

Redis Client Lettuce 5 GA released

After a 13 months development phase and 208 solved tickets, it is my pleasure to announce general availability of Lettuce 5.0. This is a major release coming with several breaking changes and new interesting features and Java 9 compatibility. Get the release from Maven Central <dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> <version>5.0.0.RELEASE</version> </dependency> or download the release bundle from GitHub. Lettuce 5 introduces ...

Read More »

Command Interfaces: Approaching Redis with dynamic APIs in Java

Redis is a data store supporting over 190 documented commands and over 450 command permutations. The community supports actively Redis development; each major Redis release comes with new commands. This year Redis was opened up for 3rd party vendors to develop modules that extend Redis functionality. Command growth and keeping track with upcoming modules are challenging for client developers and ...

Read More »

Managing Secrets with Vault

spring-interview-questions-answers

How do you store Secrets? Passwords, API keys, secure Tokens, and confidential data fall into the category of secrets. That’s data which shouldn’t lie around. It mustn’t be available in plaintext in easy to guess locations. In fact, it must not be stored in plaintext in any location. Sensitive data can be encrypted by using the Spring Cloud Config Server ...

Read More »

Iterate over all keys in a Redis Cluster

Redis provides a neat command to iterate over all keys on a node. It’s the SCAN command that is used to scan over keys and to return a cursor to resume then the scanning from the cursor position. Complexity comes in when using Redis Cluster. In the previous scenario, all keys are located on one Redis node. With Redis Cluster ...

Read More »

Redis transactions

Redis transactions allow to group multiple commands and to execute them sequentially. The whole transactional state is isolated from other users and becomes visible once a transaction is committed. A Redis transaction is different from transactions in, let’s say, relational databases. A Redis transaction feels more like a queue/stack of commands because commands are queued and the execution is deferred. ...

Read More »