A cool feature of Quarkus is that you can mix both synchronous and asynchronous paradigms and don't have to commit to just one. This can be very useful, for example, if you want to parallelize REST calls to third-party APIs in an otherwise synchronous backend.
With the @All annotation Quarkus offers an easy way to inject all available beans of a type. This example shows how the annotation can be utilized to elegantly avoid conditional statements and delegate the work of keeping track of all currently existing implementations of an interface to the CDI container.
Enabling CloudFront access logs is a basic way of monitoring incoming requests. However, CloudFront writes these logs as gzip packed files into S3, which makes a convenient analysis difficult. AWS Glue together with AWS Athena allows the use of SQL to query these logs and this post explains the steps to deploy the necessary infrastructure with CDK 2.
Writing code that others can understand without hassle is an art. An important issue in this challenge is proper documentation of the code - not overly extensive, but also not the often encountered zero-documentation-way.
Mastodon is free and open source and everyone can host their own instance. However, very small instances have disadvantages such as wasting resources while the large ones suffer from typical centralization effects. Joining a trustworthy mid-sized instance of choice is a good compromise.
JUnit offers great possibilities to write good tests with ease. Expressing the intention of tests and test classes with the @DisplayName annotation and structuring them with @Nested is a good practice, causes only minor effort and helps reducing the pain of adapting tests when the code under test has changed.
Enabling Docker images to be built in Docker containers can be annoying at times. In this post, I show how I solve this problem using kaniko, with the goal of building Docker images in GitLab pipelines with a self-hosted Kubernetes-based GitLab runner and pushing them into a private Docker registry.
Google is still the most used search engine in the world with a market share of over 80% in January 2023. However, it has major drawbacks and there are good alternatives available like e.g. MetaGer, an open source, privacy respecting search engine run by the non-profit German association SUMA-EV.
When deploying infrastructure as code with CDK it is a good practice to keep stateful resources like databases separated from stateless resources in different stacks to avoid accidental data loss and other problems.
Having migrated to RESTEasy Reactive sporadic SocketExceptions occurred in one of our AWS Lambdas several minutes after the actual Lambda execution. This article describes one possible solution for this problem by disabling the connection pool for the used REST client with the help of custom HttpClientOptions but of course with the price of a lower overall performance.