Akka Serverless
What is Akka Serverless?
In short: There are no actors. It’s a 4GL framework in the cloud.
What is Akka Serverless?
In short: There are no actors. It’s a 4GL framework in the cloud.
Yet another short post using Quarkus. Quarkus is a full-stack, Kubernetes-native Java framework, but for this short post I’m using Kotlin for a change. The goal of this post is to show you how easy it is to use the circuit-breaker pattern to build fault tolerant services. For this we use the smallrye-fault-tolerance library, an implementation of the Eclipse MicroProfile Fault Tolerance.
If we want to wrap a string value with another string value we can use the wrapWith and wrapIfMissing functions defined in the dw::core::Strings module. The first argument of these functions is the string we want to wrap and the second argument is the string value that wraps the first argument. The function wrapIfMissing will only apply the wrapper string if it was not already applied.
To remove a wrapped character from a wrapped string we can use the unwrap function. The first argument is the string value that is already wrapped and the second argument the character we want to use for unwrapping. The second argument can only be a single character, but we can repeatedly invoke the unwrap function to remove multiple wrap characters.
DataWeave has several function to find the highest or lowest value in an array. The items in the array need to be of the same type and implement the Comparable interface. To find the highest value we can use the max function. The function returns the maximum value based on the type of the item in the array. If we want to find the highest value based on other criteria we can use the maxBy function. This function takes a lambda as last argument where we can return a Comparable value that is used to determine the highest value. To find the lowest value in an array we have similar functions: min and minBy.
DataWeave 2.4 introduced the reverse function in the Strings module. With this function we reverse the string value that we pass in as argument. The result is the reversed string.
The Strings module in DataWeave has some very useful functions to work with string values. For example to repeat a string value we can use the repeat function. The first argument is the string value we want to repeat and the second argument the number of times the value must be repeated.
When consuming event streams in Apache Kafka, there are various ways of handling exceptions. This blog post will give a detailed example of publishing dead-letter records with Spring Kafka. Areas where we deviate from the defaults will be highlighted, along with the considerations, and tests are provided.
The end of the year has come again. For one, it’s a moment of celebration last year’s achievements, for the other it’s a relief a new year will dawn. The old will soon be replaced by something new. There is both beauty and sadness in the circle of life.
Content Security Policy response headers provide us control over the content allowed on our sites. In this post I’ll show you how to implement the report functionality of CSP violations using AWS' CloudFront configured in terraform. Furthermore I’ll share some thoughts on how to process these violations.
Finally, the well deserved break. As this pandemic forces me to work from home for too many days now, I treasure every moment I can walk in the open. So I grab a lunch out of my kitchen and step outside. Breathing in the fresh outdoor air, I try to let go of all tension. Tomorrow I’ll have to give a presentation to my fellow programmer buddies. And to be honest, I am quite stressed about this. How should I convey my message? Yeah, I made some slides. But still, will they really understand it? How can I even get them to stay focussed all the time? Especially now I have to do present remotely.