I’ve created a video in which I explain “supersonic subatomic Java” with Quarkus, a runtime for modern Java applications. Whether you’re just starting out in the world of Enterprise Java or whether you’re already an experienced Java EE / J2EE developer, this session will guide you towards how to build modern cloud-native microservices in the year 2020. In this video, ...
Read More »Home » Archives for Sebastian Daschner »
Debugging system tests in containers with Quarkus (Video)
It improves your development productivity if you’re able to end-to-end test your application locally, with the help of containers. In the following video I’ll show how to debug local system tests in Docker containers with Quarkus. This is a Quarkus extension of my video course on efficient testing. To get the full picture, also have a look at the following ...
Read More »Git switch and restore
If you’ve been using Git for a while you’re probably used to the ubiquitous git checkout command, which is somewhat overloaded in what it’s doing. You can use checkout to switch branches, create branches, update the working tree to a past commit, wiping working tree changes, and a few more things. Put simply, this command has too many responsibilities, and ...
Read More »Qute Templates with Quarkus
Quarkus ships with its own templating engine, Qute, which already includes an interesting set of features. In the following video, I’m showing the basic usage of action-based MVC with JAX-RS that forwards our requests to HTML templates. To try out Qute yourself, have a look at the following resources: Example projectQute Templating Engine GuideQute Reference Guide Published on Java Code ...
Read More »Quarkus on OpenJ9 JVM & resource consumption
Besides the native mode, Quarkus also runs well in JVM mode which comes with its own advantages. You can use an alternative JVM, such as OpenJ9 which gives you better resource consumption. In the following video I’ll show how easy it is to swap the JVM. In the video, I’m using the Docker image adoptopenjdk/openjdk14-openj9 in one of the latest ...
Read More »Quickly creating URIs with UriBuilder
If you have access to the JAX-RS API and an implementation in your projects (many do), then you can use JAX-RS’ UriBuilder to conveniently create URIs via builder pattern using resolvable placeholder. Have a look at the following example: 1 2 3 4 5 6 7 String host = System.getProperty("host", "localhost"); String port = System.getProperty("port", "8080"); URI uri = ...
Read More »Quarkus’ additional (non-standard) CDI features
Quarkus supports CDI (Contexts and Dependency Injection) 2.0, but not all of it, only the most common features. However, Quarkus does include some non-standard features that can come in quite handy to developers which I want to show in the following video. Whether or not you’re familiar with CDI, if you use Quarkus you should have a look at the ...
Read More »Quarkus remote dev in Docker containers
When you’re developing with Quarkus, you’re probably familiar with the dev mode which allows you to see your code changes immediately being reflected in the running application. It’s also possible to run Quarkus in development mode remotely, for example in a Docker container, and connect to the process from your source repository. In the following video, I’ll explain what we ...
Read More »Escape JSON property names in jq
I’m using the command line a lot and jq is a helpful tool for dealing with JSON data. You can access JSON object properties and array elements by concatenating the property names with dots and square brackets: 1 gt; cat ~/.docker/config.json { "auths": { "https://index.docker.io/v1/": { "auth": "aBcDeFghiJKlMn=" }, [...] } } 1 gt; cat .docker/config.json | jq . { ...
Read More »