Speed Up Spock Spring Tests
This article follows up some excellent info on testing Spring with Spock here and here. Developing with Spring and testing with Spock means you're using two of the best tools available on the JVM today…
Migrate from react-loadable to React.Suspense
React apps using code splitting often use the excellent react-loadable library which handles detecting whether a code segment has been loaded and, if not, putting up a spinner or other “wait” indicator…
Taming Redux with Sagas
Redux by itself is pretty cut-and-dried: write some action creators, write some reducers, dispatch actions. Where it gets complicated is when you have to integrate that concept into a natural workflow…
Angular, React, or Vue JS - Which one is for me?
Any modern front-end developer will tell you that it's nearly impossible to keep up with the break-neck pace of new JavaScript frameworks; what was hot last week is almost certainly out of vogue by the…
Intro to Reactive Web in Spring 5
One of the biggest features planned for Spring 5, planned for release later this year, is the new Reactive Web extensions. For a long time Spring has had support for asynchronous web requests by…
Ahead of Time Compilation with Angular
It’s hard enough getting your Grunts, Gulps, and Webpacks working with a complex Angular codebase, but is it really how you’re supposed to build your application for production? These days, every byte…
Synchronizing Rest Service Schemas
We’ve all been there: Your app deploys to production and you discover that something has stopped working because the services you depend on have renamed a field. In a REST service there is no static…
JUnit 5 with Spring Boot (plus Kotlin)
This summer the JUnit team released a beta version of the next iteration, version five. This newest version adds a ton of new features that will be a welcome relief for JVM developers who have been…
Graylog with Spring Boot
One of the most difficult things to do in any application is find a way to make use of the mountains of logs that are generated, especially in a Production environment. Over the years a number of tools…
An Introduction to Kotlin
Kotlin is a relatively new language that keeps the good parts of Java while eliminating boilerplate and encouraging better Object Oriented programming style while still allowing a Functional paradigm…
Distributed Grails with Docker and Hazelcast
Normally a clustered application can be designed in a stateless manner which allows requests to be dispatched to any combination of nodes, but sometimes it is desirable to share data across the cluster…
Relational data management with Lovefield
When writing a new JavaScript application I often find that the hardest part isn’t the UI or functionality but rather accessing and managing data. Storing dozens of arrays of dynamically-typed objects in…
Client-side geospatial analysis with TurfJS
Maps, especially maps of historical data, are one of my favorite ways of consuming information which is why I was excited to finally have a good excuse to create one myself recently. Earlier this year I…
WebSockets in Grails 3.0
For those who aren’t familiar, WebSockets are a long-lived, interactive, two-way channel between a client browser and end server that allows ongoing communication without polling. They’ve been around for…
Interfacing Groovy (and Java) with Native Libraries
As much as we hate to admit it, from time to time there are benefits to languages that operate outside the JVM. Whether it’s interfacing with hardware or simply being faster compiled code, C/C++ provide…