OAuth 2.0 Authentication with Jira – A Spring Boot Example Application

When dealing with the specifics of authentication techniques and protocols such as OAuth the devil often is in the detail. While the OAuth 2.0 protocol generally is easy to grasp and simple to use implementation details for specific authentication providers can easily have you hit a snag fairly quickly. Documentation and examples sometimes are outdated or scattered across several - sometimes contradictory documents. Additionally, examples for the authentication provider you want to use might not have been written with your framework of ... Read more

What to Expect from Regular Expressions in JavaScript with ECMAScript 2018

Regular expressions have been supported in JavaScript since 1999 and ECMAScript 2015 added a few minor improvements such as RegExp.prototype.flags and RegExp.prototype.sticky. While JavaScript probably will never be thought of as the prototypical language for working with regular expressions, especially in an idiomatic way (that award still goes to Perl, after all ...), regular expression in JavaScript are quite usable and useful. In early 2017, V8 developer Mathias Bynen wrote about upcoming (proposed at the time) changes within ECMAScript 2018 that further improve ... Read more

R2DBC: Reactive Relational Database Connectivity for Java and Spring

As I mentioned in a blog post last week with Reactor and Spring WebFlux reactive programming has come to Java and the Spring platform. R2DBC is relatively new project that aims to "to bring a reactive programming API to relational data stores". While currently still considered experimental, R2DBC endeavours to introduce reactive programming to how we access relational databases (reactive relational, hence the R2 in the name). This means that instead of the traditional way of querying SQL databases imperatively with prepared statements ... Read more

Reactive Programming with Spring Boot and Spring WebFlux

Reactive Programming and its functional incarnation reactive functional programming are declarative programming paradigms that with the advent of reactive extensions for JavaScript such as RxJS have become immensely popular. The JavaScript event loop and the run-to-completion behaviour it entails as well as Node.js's non-blocking I/O calls lend themselves to an event-driven programming style that deals with asynchronous behaviour where both number and frequency of events aren't known beforehand. Reactor is a library that introduces this paradigm to Java. Spring WebFlux is a ... Read more

Modern SQL by Markus Winand

Last year, I attended an event during which SQL trainer and consultant Markus Winand gave an aptly titled talk on Modern SQL: Evolution of a dinosaur (the linked video is not from that event but it shows the same talk given at another event). Markus runs a website called Modern SQL, which provides an impressive range of SQL tips, best practices, descriptions of both highly useful and lesser known SQL features and comparisons between the various relational database management systems (RDBMS) available ... Read more