How to Create and Unit Test Java Bean Validation Annotations (12 mins read).
A guided example through what the different type of annotation ElementType
s are, with respect to Bean Validation, and how to write unit tests for them.
How to Create and Unit Test Java Bean Validation Annotations (12 mins read).
A guided example through what the different type of annotation ElementType
s are, with respect to Bean Validation, and how to write unit tests for them.
Codifying Your Technical / Architectural Standards with ArchUnit (7 mins read).
How to use ArchUnit to codify your technical standards to reduce code review requirements, and arrive at a more consistent codebase.
Appending to a Querystring using Go (1 mins read).
How to append query parameters in a URL in Go.
Simplifying Spring (Boot) ExceptionHandler
s with ResponseStatus
Annotations (2 mins read).
How to use annotations to drive HTTP response codes from a Spring ExceptionHandler
.
Mocking void
methods with Mockito (1 mins read).
How to Mock a void
method with Mockito, for instance to throw an exception.
Content Negotiation with Servlet Filter
in Spring (Boot) (3 mins read).
How to perform content-negotiation in a Servlet Filter
, to serve the correct representation of error to a consumer, based on the Accept
header.
Content Negotiation with ControllerAdvice
and ExceptionHandler
s in Spring (Boot) (5 mins read).
How to perform content-negotiation in a Spring ExceptionHandler
, to serve the correct representation of error to a consumer, based on the Accept
header.
Error Handling in (Spring) Servlet Filters (2 mins read).
How to return HTTP errors when a Java Servlet fails with Spring (Boot).
Validating UUIDs with Regular Expressions in Java (1 mins read).
How to validate UUIDs and UUIDv4s in Java with a regex.
Auditing with Spring Boot Actuator (9 mins read).
How to use Spring Boot Actuator for your audit and business event logging needs.
Returning a Value, or a Default, From a Java Optional
(1 mins read).
How to replace imperative code with a functional style, when returning a default value for a Java Optional
.
Adding both an ObjectMapper
and a YAMLMapper
to Spring Boot (2 mins read).
How to have an ObjectMapper
and a YAMLMapper
coexisting in a Spring Boot project's bean dependencies.
Testing Data Serialisation/Deserialization in Java (with Gson) (3 mins read).
How to validate your JSON types correctly serialise/deserialise when using the Gson library.
Improving Life-Work Balance on GitHub using per-Organisation Notification Settings (2 mins read).
How to set up per-organisation notification settings so your personal email doesn't get work-related notifications.
Publishing to Maven Repositories with GitLab CI, with Signed Artefacts (4 mins read).
How to publish signed artefacts from a Gradle build to Maven repositories (such as Maven Central) when using GitLab CI.
Suppressing No pinentry
warnings with GPG (in Automated Builds) (1 mins read).
How to get avoid No pinentry
warnings when running GPG in automated build environments like CI/CD.
Gotcha: PicoContainer requires Zero-Argument Constructors (2 mins read).
A little gotcha around using PicoContainer (with Cucumber) where it may not be usable unless you have zero-arg constructors.
Using Dagger for Dependency Injection with Cucumber Tests (4 mins read).
How and why to add Dagger for your Cucumber tests' dependency injection.
Publishing a NPM Package to npmjs.com from GitLab CI (1 mins read).
How to publish an NPM package to the public NPM registry, using GitLab CI.
Test Driven Development for Your Spectral Rules, using Jest (7 mins read).
How to write unit tests for Spectral API linting, in a test-driven development fashion.
Autowiring your controllers automagically when using MockMVC and Spring Cloud Contract (2 mins read).
How to automagically set up your Spring controllers when using MockMVC with Spring Cloud Contract.
Decompiling Java Class Files On the Command-Line (2 mins read).
How to use the Fernflower decompiler on the command-line to decompile compiled Java classes.
Validating a Spring (Boot) Response Matches JSON Schema with MockMVC (3 mins read).
How to perform JSON Schema validation for a Spring (Boot) service's response when testing using MockMVC.
Retrieving All Dependencies Required by a JAR at Runtime (3 mins read).
How to handily retrieve the full runtime classpath required for a JAR file, using Gradle.
Getting the Date from a Week Number in Java (1 mins read).
How to get the date from a week number and year in Java.
Debugging Chef Variables With Logs (3 mins read).
How you can use different means of logging to make operations with Chef cookbook a little easier.
Getting the Battery Status of a Bluetooth Device on Linux (1 mins read).
How to use dbus-send
to retrieve the percentage of battery left on a Bluetooth device on Linux.
Converting a Kitchen YAML to Chef Attributes (2 mins read).
How to convert attributes being set for your Chef Test Kitchen integration tests to an attributes.rb
format.
Using systemd-tmpfiles to manage temporary files and directories (2 mins read).
How I'm using systemd-tmpfiles to manage a temporary working directory and automagically clean it out.
Extracting the Default Private / Secret Keys from OpenAM/Forgerock AM (2 mins read).
How to retrieve the contents of the private or secret keys from an OpenAM/Forgerock AM installation.
Converting an Image to a Base64 data
URL with Node.JS (1 mins read).
How to convert an image to a data
URL using Node.JS on the command-line.
Appending Values to a Querystring with Ruby (1 mins read).
How to append a query parameter to a URL's querystring in Ruby.
Making Zoom Notifications/Windows Float on BSPWM (1 mins read).
How to get BSPWM to handle Zoom notification windows as floating windows, instead of tiles.
Automagically Assuming AWS Roles for EC2/ECS (1 mins read).
How to set up your AWS infrastructure to automagically assume IAM roles.
Reducing Risk of Supply Chain Attacks with Reproducible Builds in Gradle (1 mins read).
How to enable Gradle's reproducible builds functionality to allow others to verify your released libraries don't contain uncommitted, malicious code.
Packaging Wiremock Stubs into a Standalone JAR (2 mins read).
How to use Gradle to package a standalone JAR for Wiremock, including any stubs needed.
Testing Data Serialisation/Deserialization in Java (with Moshi) (3 mins read).
How to validate your JSON types correctly serialise/deserialise when using the Moshi library.
Generate Plain Old Java Objects (POJOs) from JSON Schema Definitions with Gradle (3 mins read).
How to generate POJOs really quickly and easily, with no manual work, using the Gradle jsonschema2pojo Plugin.
Generate Plain Old Java Objects (POJOs) from XML Schema Definitions with Gradle (1 mins read).
How to generate POJOs really quickly and easily, with no manual work, using the Gradle XJC Plugin.
Determining the Version Of Libraries Packaged into the Java AWS Lambda Runtime (3 mins read).
How to determine what libraries, and their respective versions, are packaged into AWS Lambda.
Generating Dynamic Identifiers with Thymeleaf (1 mins read).
How to generate a dynamic id
s for elements in Thymeleaf.
Controlling the Linux Backlight via the Command-Line (1 mins read).
How to manage your screen backlight on the command-line, without installing any tools.
Make Your RSS Feed Discoverable (1 mins read).
Why and how you should make it possible to automagically discover your feed(s).
Running a Java WAR File on the Command-Line (2 mins read).
How to run a WAR file locally, using Jetty, without installing anything.
Querying and Interacting with CSV Files More Easily with SQLite (1 mins read).
How to use sqlite3
to parse and query comma-separated value files.
Creating More Descriptive and Fluent Assertion Helpers (4 mins read).
How to improve test readability, and developer experience, using assertion helpers.
Using Middleman Redirects with a Custom, Non-HTML Content Type (2 mins read).
How to get Middleman's redirect
to work with files that are not HTML.
Using JitPack to Install Gradle Plugins from Git Sources (2 mins read).
How to use JitPack to use an unreleased Gradle plugin from a Git repo in your Gradle projects.
Listing Which GitHub Pull Requests are in a Project (2 mins read).
How to list the PRs inside a Project on Github, for example, via a Ruby client.
Updating a Secret in Kubernetes with the Java Client (3 mins read).
How to use the Kubernetes Java SDK to patch a secret through Kubernetes' secrets API.