Use sed to fill a path variable in a config file
We’ll update a config file with sed
We’ll update a config file with sed
This short story is all about the absolute joy you can experience as a Developer. I wrote it to share what it is that I miss sometimes, now that I’ve taken on a different path these last years. I wanted to write it down to share a combination of feelings that I miss that other developers might recognise as well and can cherish even more because it is written down. Hopefully this blog brings a smile to your face if you’re a developer, and can even be something that you can rely on in darker times. When those blasted builds just won’t go green, tests won’t pass, or production is not the happy place that it should be.
After completing the Kotlin for Java Developers Course on Coursera I was looking for an excuse to put my freshly gained Kotlin knowledge into action. I decided to address my frustration about the large amount of falsely detected movements by one of my security camera’s.
One of the core components of that solution is a REST API that receives an image and returns a list of detected objects. I decided to develop that using Kotlin, KotlinDL and KTor.
This blog posts describes the core components of the solution. The source code of the example is available at GitHub.
This post will show how to create a list with how many products there are in a category and their sub categories with Elasticsearch aggregations covered with tests.
On our site there are products with a category and they have a sub category, for example product category is shoes and sneakers is a sub category.
shirts (134) shoes (254) - running (54) - sneakers (200)
Many JSON REST APIs today offer a Swagger page as documentation as a way to explore the API (see also this recent post by Jorrit). This Swagger page (aka Swagger UI) is often used by testers to interact with the API to manually construct and verify the API calls that are then implemented as an automated test.
What you may not realize, is that the Swagger UI is generated from an
openapi.yaml file hosted by the API server.
To ensure "Swagger compatibility", this must follow the OpenAPI Specification.
But if a webpage that can interact with the API is generated from this document, shouldn’t it be possible to generate test cases for this API from it also?
Let’s find out!
For one of our clients we use the Quarkus framework. Quarkus is a full-stack, Kubernetes-native Java framework, designed to work with popular Java standards, frameworks and libraries. It is possible to get into details about Quarkus, but that’s not what this post is about! This blog will tell you how to set up a simple database driven application with a full end-to-end test, using Quarkus and testcontainers.
To be able to follow this how-to you’ll need the following:
An IDE (like IntelliJ IDEA)
Have Docker installed on your machine
In my previous post I showed my git and vim configuration. This post will be about random small tools that I use, such as tooling for docker and kubernetes, or just some small utilities to make life a bit easier.
In my previous post I showed you my terminal and shell, with some of the configuration I like to use. This post of 'A Developers Toolbox' will be all about git and vim. I will show you the aliases I use, how you can set up git hooks, and a useful tool to view your git log. And I will share my vim configuration, with some tips and tricks on how to use it.
Personally I like to use the terminal as much as possible, and by doing so I have a few useful tools in my 'toolbox' for my day-to-day work as a developer. This blog is the first in a trilogy, covering all the tools that I use almost daily. This first part will be all about the terminal itself. Which terminal I use, which shell I use, and how I have customized its looks.
Sealed classes are an exiting new feature of Java 17, let’s find out what they are, how to use them and why they are useful.
In Spock we can also get a hold on the arguments that are passed to method call of a mock and we can write assertions to check the parameters for certain conditions.
When we create a mock in Spock and invoke a method on the mock the arguments are matched using the equals() implementation of the argument type. If they are not equal Spock will tell us by showing a message that there are too few invocations of the method call. Let’s show this with an example. First we create some classes we want to test:
We’ll continue the plan to rate movies with Markov chains.
This time we predict ratings.