Understanding React Relay


As with any new tech it can be overwhelming and confusing how all the parts work together. Especially with the combo of Relay and GraphQL. Hopefully this post will help demystify some things in Relay.

What is Relay: Data driven JavaScript framework used to efficiently handle data communication between a React and a GraphQL server.

Why use it: One typical issue found in an SPA are the number of network calls made to render a page. Quickly this starts to affect your server performance because the requests made can be high. Relay is focused around efficient network calls helping to mitigate this issue. Another good feature is the queries are close to the components making it obvious the data requirements.

JavaScript Singleton pattern


The Singleton pattern is to ensure there is only one instance of the class that exists. In the case it does exist it returns a reference to that object. This is normally achieved by a method belonging to the class to create an instance.

Joinable - Join strings with built in control flow


What is Joinable: A library to join strings together without the need to check if a value is a falsy like undefined.

Why use it: Keep your code base clean by removing the if else statements and improve the readability.

Joinable API in the read me on Github and is an NPM package.

Continuous integration, delivery and deployment


Below is a succinct overview of what is continuous integration, delivery and deployment. The core benefit of following these practices allows developers to ship production code quicker to the user. This should help provide a quicker feedback loop.

Composition in JavaScript


JavaScript is a very expressive language and is one of the main reasons I enjoy using it. One amazing feature is the ability to create and inherit from objects without classes and class inheritance. Using compositional tactics we can piece together multiple objects to form new ones.

Redux, keeping it immutable


Redux has reducers tasked with transforming the state across the application. They are pure functions, which is a function that does not modify variables outside of its scope or depend on them. They are given the same parameters and the output should be the same every time.

Git and Putty on Windows in command line


I’ve moved away from using a Git GUI to command line, I typically used GitExtensions. The reason being, it’s a little annoying having to open any GUI to make a commit and push. It is quicker to use the command line and you learn more about how Git works.