Viewing entries in
Tutorial

First Months using GitHub Actions

First Months using GitHub Actions

I really wanted to give GitHub Actions a go. Having spent many years using Jenkins setups, the idea of outsourcing CI/CD to GitHub made a lot of sense. Fast forward to a few weeks later, we have a fully functional Continuous Delivery structure. Let me give you a quick tour.

Tackling accidental complexity with Optional in Java

Tackling accidental complexity with Optional in Java

In this article, I'm using an example project to show you how Java 8 Optional can impact the end complexity. It can do so in a positive or negative way as Optional can both simplify and complicate your code. In the long run, the outcome can greatly influence your project. Let's see how it works.

The Secret of Painless WebSocket Tests with Spock Framework

The Secret of Painless WebSocket Tests with Spock Framework

Do you want to start testing applications with WebSocket and Spock, but you’re afraid of running an unstable test? You know what the cinematic Spock says, “Insufficient facts always invite danger”!

Get your facts straight and learn how to avoid common mistakes with our step-by-step guide to WebSocket testing.

Sane Single Page Apps: Easy Data Handling with DTOs

Sane Single Page Apps: Easy Data Handling with DTOs

When a software collapses, it’s usually due to it being no longer maintainable because of complexity. Brian Kernighan, the creator of AWK programming language, puts it quite explicitly: "Controlling complexity is the essence of computer programming".

Gerrit based Workflow - Complete Developer's Walkthrough

Gerrit based Workflow - Complete Developer's Walkthrough

We have successfully adopted the Gerrit workflow for pre-commit code review in Evojam. We believe that this a foundation of high quality of our solutions. After two years we have worked out a complete approach for the pre-commit review with Gerrit, branching model and application provisioning. Now I have realized the there is no definite cookbook for the newcomers. This led me to the idea that it may be worth to share this approach with the community. This is not totally unique but may save a newcomer a bit of time.

Practical Intro to Monads in JavaScript: Validation

Practical Intro to Monads in JavaScript: Validation

Few weeks ago I published a practical Intro to Monads in JavaScript where I covered basics of Identity and Maybe monads. Some time later I added a tutorial on Either monad and fails-fast error handling. This time I will show you error accumulation in a simple Validation use case.

Practical Intro to Monads in JavaScript: Either

Practical Intro to Monads in JavaScript: Either

My simple and practical Intro to Monads in JS, where I covered basics of Identity and Maybe monads, seemed to be helpful for a lot of folks, so I’ve decide to continue the topic. Now it’s time for Either – a tool for fast-failing, synchronous computation chains. A tool that may increase readability and quality of code while reducing error proneness. The best part is that we can still ignore the category theory!

Practical Intro to Monads in JavaScript

Practical Intro to Monads in JavaScript

If you’ve heard about Monads but never had time learn them, here’s a simple explanation. Not a theoretical nonsense. It’s a simple, practical tutorial for JavaScript developers showing how some monads can be used. It’s for engineers, not scientists.