Async call DynamoDB from Vert.x using Kotlin coroutines

When writing Vert.x verticles, everything is about non-blocking asynchronous operations, of course. Therefore if we want to have Amazon DynamoDB as our database, we want to also call it asynchronously. In this example I assume you already created the DynamoDB table. First we start with creating the asynchronous DynamoDB client:

Then we create our Vert.x verticle:

The book … Read More

My takeaways from Joy of Coding 2017

Last week I attended the Joy of Coding conference for the second time. Joy of Coding is an event that “celebrates the art, craft, science and joy of software development” and was organised this year for the 5th time in Rotterdam. I really enjoyed the overall atmosphere, great speakers and meeting like-minded people. My key takeaways: From Ted Neward‘s talk … Read More

Setting up a Docker Swarm cluster with Vagrant and Ansible

For a Docker Swarm cluster I will use in this example: 1 manager node and 2 worker nodes. They will be launched by Vagrant with VirtualBox using the Ubuntu 16.04 image. First we define the nodes in the Vagrantfile:

Make sure the nodes can reach each other in the same network. Then we need to provision those nodes with … Read More

OAuth 2.0 server with Facebook login in Spring Boot and Kotlin

For my side project Powerline, I’m building a REST API and I needed some authentication. I thought: users of this app will probably not want to be bothered with creating an account, so why not allow them to sign in with their Facebook account. To accomplish this, I set up a OAuth 2.0 authorization server that will allow the user … Read More

Kotlin binary search example

While Kotlin already provides a binary search implementation for lists, it’s always fun to occasionally implement it yourself just for learning purposes. In this blog post we will cover these features of Kotlin: Tail recursive functions and the tailrec keyword Extension functions Local functions Generic functions In case you are not (completely) familiar with the binary search algorithm: Given an … Read More

Correct usage of Optional in Java 8

With the introduction of Java 8 we also got a new class to our disposal: java.util.Optional. The correct usage of this class, especially together with strams, can result in much cleaner code. But not always does it have benefits. Optional instead of if-else Many times I see constructs like this:

Instead of the ‘old style’ if statement:

I still think the … Read More

Lazy properties in Kotlin

Soms heb je een alleen-lezen property in een class waarvan de waarde gecalculeerd wordt. Als het calculeren dan complex is en traag, dan wil je dit wellicht alleen doen wanneer de property daadwerkelijk wordt uitgelezen en ook slecht één keer. In dat geval biedt Kotlin een interessant constructie: lazy properties. Voor de implementatie van het bordspel Hoogspanning (code zie GitHub) … Read More

Unit testing in Kotlin met Spek

Voor deze blog post gebruik ik een side project als basis: een implementatie van het populaire bordspel Hoogspanning (PowerGrid) geschreven in Kotlin (GitHub). Spek Tests zijn feitelijk je specificaties en de documentatie van de systeem. Bij unit tests die geschreven zijn voor bijvoorbeeld JUnit is het vaak lastig om te zien wat precies de gegeven situatie is en wat het … Read More

Waarom ik Kotlin te gek vind

Kotlin is een relatief nieuwe programmeertaal ontwikkeld door JetBrains, het bedrijf achter de bekende ontwikkelomgeving IntelliJ IDEA. Een tijd geleden besloot ik me eens te verdiepen in Kotlin om er achter te komen wat de voor- en nadelen zijn. Sinds ik een side project met Kotlin heb gedaan ben ik helemaal om: ik vind het te gek. Waarom? Veelzijdig Het … Read More