JASMINE SPIES UNIT TESTING

Unit Testing Using Jasmine Spies

Todd Leininger Articles, Development Technologies & Tools, Programming, Testing, Tutorial Leave a Comment

Unit testing is an important part of the development process. It gives us the ability to know that our code is working as intended and can also let us know if we may have broken something that we didn’t even think of.

With the help of Jasmine Spies, we can make our test setup easier, and we can give ourselves more options for what we can test against. Hopefully, this will give you a good starting point for all your Jasmine spying needs!

Kubernetes on Raspberry Pi

Kubernetes on Raspberry Pi

Lou Mauget Articles, Cloud, Development Technologies & Tools, Kubernetes, Tutorial 3 Comments

Kubernetes, or k8s, is an important container orchestration platform. In this blog, I’ll describe creating a workable Kubernetes cluster implemented on a stack of four Raspberry Pi boards. In the end, I’ll have provided an outline of how I created it and I’ll show how to replicate a stateless app across Kubernetes pods running on the nodes — the Pi boards.

Groovy 4

Back in the Groovy 4

Rik Scarborough Articles, Development Technologies & Tools, Groovy, Java, Spring Leave a Comment

When I heard that Groovy 4 is coming out, I decided to get ahead of it. I went online to explore what new features we were getting and how I could start using them in my own code.

This article will not be a full list of the new features of Groovy 4; there are simply too many for one post. This post will simply be my thoughts on a select few of those features and how I would plan to use them.

Let’s get started!

Updating Microservices with Netty 5, Kafka 3, and React: Whirlpool Revisited

John Boardman Articles, Development Technologies & Tools, Java, JavaScript, Microservices, React Leave a Comment

Back in 2015 and 2016, I wrote two blogs that went step by step to develop a microservice/Netty architecture with fully working code called Whirlpool.

A lot has changed in the years since, so recently I decided to come back to the project, update it with the latest versions of Kafka and Netty, and add a React UI to it (rather than the vanilla JavaScript version it used before). In addition, I also added Windows Subsystem for Linux (WSL) scripts in addition to the Mac and Linux scripts that were there before and made all of the scripts more robust.

This blog will be about the work that went into all of those updates, plus a look at the new React UI. This provides an excellent view into what it takes to update an outdated microservices application implemented with Kafka (version .9 –>3.0) and Netty (4.1.3->5.0.0-alpha2), bringing all versions up to date and adding a React UI. By the end you’ll be familiar with the latest versions of these frameworks, know some “gotchas” to avoid, as well as understand how to integrate WebSockets into React.

Why Functional Programming

James Slaughter Articles, Development Technologies & Tools, JavaScript, Python, React 1 Comment

React has gotten a little funny of late – a few years ago, it was normal to embrace the Object-Oriented paradigm, writing each component as a class and doing lots of this-binding.

Today, however, hooks and functional components have taken over React, and with it, a style of programming unusual for front-end frameworks is growing in popularity: Functional Programming.

This programming style has been in use for many years: Lisp, Haskell, Clojure, and OCaml are all established, though mainly out of the mainstream, languages with a rich history and broad application. Thinking ‘functions are first-class citizens’ sounds strange, especially to new JavaScript developers who have spent most of their time in Python or Java that come from an Object-Oriented perspective.

That’s why in this post, we will go over the basics of Functional Programming, how we compose functions, a handy implementation of a ‘pipe’ function that will compose functions, the process of currying and functions-as-return-value, and how we can use these concepts in React using Higher-Order Components.