Software Craft

Publishing Open Source Releases to JCenter and Maven Central

In previous articles, I discussed how to publish snapshots to oss.jfrog.org and how to publish releases to Bintray using Gradle as a build tool.

Read more

7 Reasons to Choose Consumer-Driven Contract Tests Over End-to-End Tests

In a distributed system, testing the successful integration between distributed services is essential for ensuring that the services won’t fail in production just because they’re not speaking the same language.

Read more

A Checklist for setting up a Java-based Software Architecture

I recently had the opportunity to propose the architecture for a new large-scale software project. While it’s fun being paid for finding the technologies that best fit to the customer’s requirements (of which only a fraction is available at the time, of course), it may also be daunting having to come up with a solution that is future-proof and scales with expectations.

Read more

OpenID Connect

You may have already heard about OpenID Connect as the new standard for single sign-on and identity provision on the internet.

Read more

Tool-based Database Refactoring

The term “refactoring” is well defined in software development. It is usually used to describe a restructuring of source code ranging from simply renaming a variable to completely re-thinking whole components or applications.

Read more

Github’s Fork & Pull Workflow for Git Beginners

If you are new to git and/or GitHub, it’s easy to get overwhelmed by the different workflow models you can use to contribute code to a repository.

Read more