Today’s authentication systems are moving away from traditional password-oriented solutions. An example would be biometric authentication using a fingerprint. Due to a fingerprint’s uniqueness you can be sure that the person authenticating themselves are who they say they are.
A fingerprint’s uniqueness has parallels to wallet seeds in cryptocurrency. When you create a wallet for receiving cryptocurrency you generate a seed in a secure manner. If generated correctly and depending on the size of the seed, it is almost guaranteed that this exact seed will never be generated again. So for all intents and purposes it is unique.
If a wallet seed is kept secure then any activity observed from the wallet can be deemed to be from the person who generated its seed. If they have funds in their wallet they have a huge incentive to keep the seed secure. …
Retrieving data from an API backend is a daily task for a lot of web developers. Using REST is a common way of accomplishing this. Recently an alternative has appeared in the form of GraphQL, developed by Facebook. But what is the main difference between the two? I will now attempt to show you using, of all things, pizza.
Here are two competing pizza restaurants, Roger’s Pizza and George’s Pizza.
I’ve found that testing Redux reducers doesn’t need to be complicated. We need to test the effects that individual actions have upon the state in that reducer. To put it another way, we want to unit test the action effects.
Today I want to show you two types of unit test. The first will test how a dispatched action changes a specific value in your store (Unit Test A). The second will test how a dispatched action changes the entire state of your store (Unit Test B).
This tutorial assumes basic knowledge of Redux. If you have experience using the test runner Tape that would be beneficial, but it’s still easy to follow along if you haven’t. …
Recently I wrote a fun kart betting app called ReactKart to improve my React and Redux skills. It was a fun project and I learned a lot so I thought it might be useful for others if I shared a high-level overview of the steps I followed.
In short here are the steps I took. I’ll explain each one in details afterwards.