TypeOfNaN

Nick Scialli is a software engineer at the U.S. Digital Service.

A notional modern SaaS app architecture

Nick Scialli β€’ July 05, 2021 β€’ πŸš€πŸš€ 9 minute read

Architecture is hard and there are more choices than ever.

How to preserve query parameters in React Router links

Nick Scialli β€’ July 02, 2021 β€’ πŸš€ 3 minute read

React Router makes front-end routing a breeze, but it's not always obvious how to handle query parameters.

Partially mocking imports in Jest

Nick Scialli β€’ June 30, 2021 β€’ πŸš€ 4 minute read

Testing is all about isolating what you want to test.

How to prevent useEffect from running on mount in React

Nick Scialli β€’ June 28, 2021 β€’ πŸš€ 3 minute read

Sometimes we don't want our effects to run right at the beginning.

How to set focus on an input field after rendering in React

Nick Scialli β€’ June 24, 2021 β€’ πŸš€ 3 minute read

When a component renders, you may need to automatically set focus on an input.

How to create a Map of more than 10 key-value pairs in Java

Nick Scialli β€’ June 22, 2021 β€’ πŸš€ 1 minute read

If you're trying to create a Map of more than 10 key/value pairs in Java, you may be having some trouble.

How to conditionally wrap JSX with a component in React

Nick Scialli β€’ June 14, 2021 β€’ πŸš€ 3 minute read

Sometimes we want to have content in React be wrapped in another component, and sometimes we don't.

How to update nested state in React

Nick Scialli β€’ June 10, 2021 β€’ πŸš€πŸš€ 7 minute read

State is a cornerstone of React components. In this post, we learn how to update nested state properties.

How does the useMemo hook work in React?

Nick Scialli β€’ June 08, 2021 β€’ πŸš€πŸš€ 7 minute read

The useMemo hook is one of my favorite hooks because it enables best practices. Let's see how it works.

How to serve a Gatsby app with Nginx in Docker

Nick Scialli β€’ May 26, 2021 β€’ πŸš€ 4 minute read

Let's create a website using Gatsby and learn how to serve it in a Docker container using nginx.

How to get a list of files in a directory using node.js

Nick Scialli β€’ May 24, 2021 β€’ πŸš€ 1 minute read

Automation is your friend. Let's use node.js to automatically get a list of files in a directory.

Redefiningβ€”and making a case forβ€”resumΓ©-driven development

Nick Scialli β€’ May 22, 2021 β€’ πŸš€ 1 minute read

RDD has become a term indicative of chasing new fad technologies, but it could mean so much more (in a good way).

How I use Github Actions to schedule Gatsby blog posts

Nick Scialli β€’ May 19, 2021 β€’ πŸš€ 3 minute read

Gatsby is great, but it doesn't provide much in the way of scheduling posts. Today, I'll show you how I schedule my blog posts using Github Actions.

How to use the useSelector Redux hook with Typescript

Nick Scialli β€’ May 17, 2021 β€’ πŸš€ 3 minute read

Redux offers the useSelector hook to get values from your store. Make sure you get the most out of it by typing it correctly.

How To Fix Undefined 'this.state' in React Class Components

Nick Scialli β€’ May 14, 2021 β€’ πŸš€ 4 minute read

If you're working with React class components, you may find yourself vexed by 'this.state' being undefined.

What is the Difference Between Promise.all and Promise.allSettled?

Nick Scialli β€’ May 13, 2021 β€’ πŸš€ 4 minute read

These are two potential ways to handle multiple Promises in JavaScript. Let's look at the differences between them.

Scheduling Recurring Netlify Builds Using Github Actions

Nick Scialli β€’ May 11, 2021 β€’ πŸš€ 4 minute read

If you find yourself needing to rebuild your Netlify app at a regular interval, Github actions may be right for you.

How to Bind Event Listeners to Dynamically-Created Elements in JavaScript

Nick Scialli β€’ May 08, 2021 β€’ πŸš€ 4 minute read

You may have noticed that new elements you dynamically create don't automatically have the event listeners that its peers have. Here's how to make sure they have those listeners.

Why is the React useState Set Function Not Reflecting Changes Immediately?

Nick Scialli β€’ May 02, 2021 β€’ πŸš€ 1 minute read

The React useState hook is handy for maintaining state in our functional components. Let's dig into why setState may not be behaving as you'd expect.

What Questions Should You Ask in a Software Engineer Interview?

Nick Scialli β€’ April 30, 2021 β€’ πŸš€πŸš€ 6 minute read

Often, we focus on acing the interview; however, we need to remember that the process is a two-way street.

A Quick Primer on Signed vs. Unsigned Integers

Nick Scialli β€’ April 19, 2021 β€’ πŸš€ 4 minute read

If you use high-level programming languages, you may have come across signed and unsigned integers. Here's a quick primer on what they are.

Mutability and Shadowing in Rust

Nick Scialli β€’ April 19, 2021 β€’ πŸš€ 3 minute read

Mutability and shadowing are foundational concepts for learing Rust. Let's review them and their use cases.

How to Use Pipe (the Pipeline Operator) in JavaScript

Nick Scialli β€’ April 19, 2021 β€’ πŸš€ 3 minute read

The pipeline operator is common in functional programming. There's no built-in JavaScript pipeline operator (yet), but we can easily roll our own.

Fix the "Maximum Update Depth Exceeded" Error in React

Nick Scialli β€’ April 13, 2021 β€’ πŸš€πŸš€ 6 minute read

React is an excellent framework, but it can have some tricky "gotchas." One of which is when you accidentally cause an infinite loop, often resulting in the cryptic "maximum update depth exceeded" error.

Creating a React Infinite Scroll Component

Nick Scialli β€’ April 10, 2021 β€’ πŸš€πŸš€ 6 minute read

Infinite scrolling content is a common way to deal with large collections of data.

How to Animate Items Out of an Array in React

Nick Scialli β€’ March 28, 2021 β€’ πŸš€πŸš€ 6 minute read

Animating items out of an array in React can be trickier than you'd think.

Using Session Storage in React with Hooks

Nick Scialli β€’ March 28, 2021 β€’ πŸš€πŸš€ 7 minute read

In React, one great way to persist user data in session storage is by using Hooks. Here's how to do it.

Making Every Object Property Nullable in Typescript

Nick Scialli β€’ March 18, 2021 β€’ πŸš€ 3 minute read

There is no built-in utility type to accomplish this, but we can roll our own.

Fix the "React Hook is Called Conditionally" Error in React

Nick Scialli β€’ March 16, 2021 β€’ πŸš€ 3 minute read

If you're new to React hooks, you might find yourself encountering this somewhat cryptic error.

How to Find an Object Deeply and Do Something with the Result in JavaScript

Nick Scialli β€’ March 13, 2021 β€’ πŸš€ 4 minute read

Sometimes we're in the unenviable position of having to search an object deeply in JavaScript. How can we do this and take some action with the result?

How to Not Lose Typescript Types When Using Custom React Components

Nick Scialli β€’ March 12, 2021 β€’ πŸš€ 4 minute read

If we're not careful, we can lose our Typescript types when implementing custom React components.

How to Serve a Static App with nginx in Docker

Nick Scialli β€’ March 07, 2021 β€’ πŸš€ 4 minute read

Let's create a static site and learn how to serve it in a Docker container using nginx.

How to Execute a Function After the User Stops Typing in JavaScript

Nick Scialli β€’ March 04, 2021 β€’ πŸš€ 4 minute read

Executing a function after the user stops typing is called debouncing. In this post, we learn how in JavaScript.

Your First Svelte Project: A Todo List App

Nick Scialli β€’ March 02, 2021 β€’ πŸš€πŸš€πŸš€πŸš€πŸš€ 21 minute read

Let's use the ubiquitous todo list app example to learn how to write Svelte apps.

How to Test Your React App Effectively with React Testing Library

Nick Scialli β€’ March 01, 2021 β€’ πŸš€πŸš€πŸš€πŸš€ 16 minute read

Frontend testing is hard. React Testing Library makes it a whole lot easier.

Some Good Interview Questions for Experienced Frontend Developers

Nick Scialli β€’ February 24, 2021 β€’ πŸš€πŸš€ 9 minute read

I think a lot about the state of interviewing in software and web development. Here are a few ideas I have for good, meaningful frontend developer interview questions.

Fix the "Uncaught TypeError: destroy is not a function" Error in React

Nick Scialli β€’ February 21, 2021 β€’ πŸš€ 1 minute read

This React error seems particularly cryptic, but ends up making a lot of sense when you get the hang of the useEffect hook.

Fix the "Cannot read property 'map' of undefined" Error in React

Nick Scialli β€’ February 21, 2021 β€’ πŸš€ 4 minute read

This is one of the more common errors you will run into when starting out with React. In this post, we'll learn how to fix it.

Adding Apollo GraphQL to Your React Project

Nick Scialli β€’ February 18, 2021 β€’ πŸš€πŸš€ 9 minute read

If you're integrating your React frontend with a GraphQL API, you may want to check out the Apollo client.

Mocking Apollo GraphQL Queries in React Testing

Nick Scialli β€’ February 17, 2021 β€’ πŸš€πŸš€ 7 minute read

When testing our frontend code, we might find ourselves needing to mock GraphQL query responses. Here's how to do it.

Setting Up a Svelte Project with Typescript

Nick Scialli β€’ February 14, 2021 β€’ πŸš€ 4 minute read

Svelte is awesome. Typescript is awesome. Let's create a project that combines the two!

How to Set Up a Svelte App with Rollup

Nick Scialli β€’ February 10, 2021 β€’ πŸš€πŸš€πŸš€ 15 minute read

This post gives the basics on how to build Svelte apps for development and production using Rollup.

How to Serve an Angular App with nginx in Docker

Nick Scialli β€’ February 09, 2021 β€’ πŸš€ 4 minute read

Let's create a website using the Angular framework and learn how to serve it in a Docker container using nginx.

How to Split an Array Into a Group of Arrays in JavaScript

Nick Scialli β€’ January 24, 2021 β€’ πŸš€ 1 minute read

Sometimes we have one array that we might want to split into multiple arrays. Here's a quick and easy way to do that.

Your First Node Express App with Typescript

Nick Scialli β€’ January 18, 2021 β€’ πŸš€πŸš€πŸš€πŸš€πŸš€ 24 minute read

Express is the most ubiquitous framework for nodejs. In this post, we learn how to add Typescript to the mix.

Is It Too Late To Be a Software Engineer?

Nick Scialli and Ross Jacobson (The Disciplined Rebel) β€’ January 16, 2021 β€’ πŸš€ 4 minute read

A lot of people ask me β€œis it too late to be a software engineer.” In this post, we are going to examine this question, and determine at what age it is too late to get into software development.

How to Perfectly Fit an SVG to its Contents Using JavaScript

Nick Scialli β€’ January 15, 2021 β€’ πŸš€πŸš€πŸš€ 13 minute read

Using the SVG tag on websites is handy, but its interface can be different than we're used to. Here's a handy way to fit the viewport of an SVG to its contents every time.

Generating Random Human-Readable Slugs in JavaScript

Nick Scialli β€’ January 13, 2021 β€’ πŸš€πŸš€ 6 minute read

How to generate random human-readable slugs (e.g., brave-purple-penguin) in JavaScript.

A useLocalStorage React Hook for JavaScript and Typescript

Nick Scialli β€’ January 10, 2021 β€’ πŸš€ 3 minute read

I have created and open-sourced a useLocalStorage hook I use under the npm module name, uselocalstorage.

Writing Your Own useFetch Hook in React

Nick Scialli β€’ January 04, 2021 β€’ πŸš€πŸš€ 7 minute read

React Hooks have been all the rage for a little over a year. Let's see how we can roll our own useFetch hook to abstract fetch request logic out of our components.

How to Capture Between Two Characters in JavaScript using Regular Expressions

Nick Scialli β€’ January 01, 2021 β€’ πŸš€ 3 minute read

Regular Expressions are extremely powerful but their syntax can be pretty opaque. Today we'll use regex to capture all content between two characters.

How to Add a Thousandths Place Comma (Every Three Digits) in JavaScript

Nick Scialli β€’ December 29, 2020 β€’ πŸš€ 1 minute read

Let's do some basic number formatting for really large numbers.

Turning a Callback Function Into a Promise

Nick Scialli β€’ December 29, 2020 β€’ πŸš€ 1 minute read

Many utilities in JavaScript are readily available as functions that take callbacks. How easy is it to turn these into promises?

Programming Languages and Frameworks to Learn in 2021

Nick Scialli β€’ December 26, 2020 β€’ πŸš€πŸš€ 7 minute read

A lot of these lists are based on hype, but I like to base this analysis on hard data.

How to Serve a Vue App with nginx in Docker

Nick Scialli β€’ December 25, 2020 β€’ πŸš€ 4 minute read

Let's create a website using the Vue framework and learn how to serve it in a Docker container using nginx.

How to Stop All Docker Containers

Nick Scialli β€’ December 24, 2020 β€’ πŸš€ 1 minute read

There are certain things I find myself googling over and over again. How to stop all Docker containers is one of those things!

What is The Difference Between Server Side Rendering (SSR) and React Server Components?

Nick Scialli β€’ December 22, 2020 β€’ πŸš€ 3 minute read

In December 2020, the React team introduced an experimental feature called React Server Components. This may leave you wondering how exactly these "server components" differ from SSR.

Creating a Recursive List Menu Any Number of Levels Deep in React

Nick Scialli β€’ December 17, 2020 β€’ πŸš€ 4 minute read

Recursion can be a tricky concept in programming. The challenge seem greater in a view library like React.

How to Abort Multiple Fetch Requests in JavaScript using AbortController

Nick Scialli β€’ December 08, 2020 β€’ πŸš€ 3 minute read

We might want to use AbortController to abort multiple fetch requests in JavaScript. How might we accomplish this?

Using Cookie-Based CSRF Tokens for Your Single Page Application

Nick Scialli β€’ December 05, 2020 β€’ πŸš€πŸš€ 9 minute read

The CSRF attack vector is often misunderstood. Today we'll gain a better understanding of CSRF and why cookie-based CSRF tokens are a good option for Single Page Applications.

Modernizing Your Application and Processes with Modernizing.dev

Nick Scialli β€’ December 01, 2020 β€’ πŸš€ 1 minute read

I'm excited to announce I have started working on a new project to help organizations embrace tech modernization!

How Does Async-Await Work in JavaScript

Nick Scialli β€’ November 30, 2020 β€’ πŸš€ 4 minute read

If you're familiar with callbacks and promises, you'll want to get familiar with async/await.

Why is My Recursive Function Returning Undefined in JavaScript?

Nick Scialli β€’ November 13, 2020 β€’ πŸš€ 1 minute read

One common frustration when getting the hang of recursion is not understanding why your recursive function is returning undefined.

How to Wait for Multiple Promises to Resolve in JavaScript Using Promise.all

Nick Scialli β€’ November 11, 2020 β€’ πŸš€ 3 minute read

After getting the hang of async programming in javascript, you might quickly find you need to wait for multiple async tasks to happen. Enter Promise.all!

How to Abort a Fetch Request in JavaScript using AbortController

Nick Scialli β€’ November 10, 2020 β€’ πŸš€ 3 minute read

Sometimes it's necessary to abort a fetch request. In this post, we explore how to quickly do so using AbortController!

How to Select or Omit Properties From an Object in JavaScript

Nick Scialli β€’ October 18, 2020 β€’ πŸš€ 1 minute read

Selecting or omitting properties from a JavaScript object is a fairly common problem without a built-in solution.

How to Serve a Node App in Docker

Nick Scialli β€’ October 17, 2020 β€’ πŸš€ 4 minute read

In this post, we'll serve a node application in a Docker container.

Creating Your Own DeepPartial Type in Typescript to Allow Any Subset of Object Properties Deeply

Nick Scialli β€’ September 26, 2020 β€’ πŸš€ 3 minute read

You may know of the Partial utility type in Typescript, but it turns out we can create our own DeepPartial type through some clever recursive typing.

How to Traverse an Object of Arbitrary Depth in JavaScript

Nick Scialli β€’ September 21, 2020 β€’ πŸš€ 3 minute read

Sometimes we find that we need to traverse an object and perform some operation on it at some arbitrary depth.

Writing Custom React Hooks with Typescript

Nick Scialli β€’ September 19, 2020 β€’ πŸš€ 4 minute read

Writing custom React hooks with Typescript isn't all that different from writing them in plain old JavaScript.

Learn the Basics of Redux by Writing Your Own Version in 30 Lines

Nick Scialli β€’ September 12, 2020 β€’ πŸš€πŸš€ 7 minute read

One of my favorite ways to learn how something works is to recreate it. Today, we're going to learn the basics of Redux by creating a simplistic version of it.

What is Debouncing?

Nick Scialli β€’ September 07, 2020 β€’ πŸš€ 1 minute read

Let's look at the concept of debouncing and create a sample debouncing scenario.

How to Serve a React App with nginx in Docker

Nick Scialli β€’ September 06, 2020 β€’ πŸš€ 4 minute read

Let's create a static site in React and learn how to serve it in a Docker container using nginx.

How to Remove a Specific Item From an Array in JavaScript

Nick Scialli β€’ September 05, 2020 β€’ πŸš€ 1 minute read

Let's remove an item from an array in JavaScript using a bunch of different approaches.

How to Make One Function Argument Dependent on Another in Typescript

Nick Scialli β€’ September 05, 2020 β€’ πŸš€ 3 minute read

Typescript can be incredibly helpful when we use some of its more advanced features. In this post, we specify the type of one function argument based on the type of another.

Using Local Storage in React with Your Own Custom useLocalStorage Hook

Nick Scialli β€’ September 01, 2020 β€’ πŸš€πŸš€ 6 minute read

One tool for storing data browser-side we might reach for is local storage. In this post, we'll use local storage in React by rolling our own useLocalStorage hook.

Using Jest Mocks to Prevent Non-Deterministic or Otherwise Changing Components from Continously Resulting in Snapshot Diffs

Nick Scialli β€’ August 30, 2020 β€’ πŸš€ 3 minute read

Snapshot testing is great until it's not. Today we'll overcome the common problem of seeing snapshot diffs for non-deterministic or frequently changing components.

Schema-Driven React for More Efficient Development

Nick Scialli β€’ August 30, 2020 β€’ πŸš€ 4 minute read

Today we look at schema-driven React development to see if we can streamline our development process a bit

Generate All Possible Combinations in JavaScript Using Combinate

Nick Scialli β€’ June 13, 2020 β€’ πŸš€ 3 minute read

One challenge we often face when creating apps is combinatoric complexity. Today, we're going to use a handy helper npm package I created to list all possible permutations of variables we're interested in.

How I went from 0 to 1,050 Developer Blog Email Signups in 6 Months

Nick Scialli β€’ June 11, 2020 β€’ πŸš€ 4 minute read

After starting my dev email list about 6 months ago, I have been fortunate enough to get over 1000 signups! Here are some of the methods I have used.

There May Not Be a Better Way to Effortlessly Improve Code Quality than Using Prettier Code Formatting

Nick Scialli β€’ June 06, 2020 β€’ πŸš€πŸš€ 7 minute read

We all want higher-quality code. With Prettier, you can achieve this with minimal effort.

10 More JavaScript Quiz Questions and Answers to Sharpen Your Skills

Nick Scialli β€’ June 03, 2020 β€’ πŸš€πŸš€ 9 minute read

Installment 2 of JavaScript quiz questions. Challenge yourselves to get intimately familiar with the language.

10 JavaScript Quiz Questions and Answers to Sharpen Your Skills

Nick Scialli β€’ May 27, 2020 β€’ πŸš€πŸš€ 9 minute read

One way we can challenge ourselves to grow as JavaScript developers is to practice with quiz questions! The following questions are intended to be challenging and _nstructive.

Failing Faster and Iterating with Modern Software Development Practices

Nick Scialli β€’ May 26, 2020 β€’ πŸš€πŸš€ 7 minute read

Using modern software development practices enable us to find and fix bugs faster and iterate. This post offers a primer into some of these modern practices.

Where Can I find Deno Third Party Modules?

Nick Scialli β€’ May 24, 2020 β€’ πŸš€ 1 minute read

As we explore the Deno ecosystem, we need to know where we can locate third party modules.

Programmatically Navigate Using React Router and Hooks

Nick Scialli β€’ May 23, 2020 β€’ πŸš€ 1 minute read

With React Router 5, you can programmatically navigate with using the useHistory hook!

What is the Express.js of Deno?

Nick Scialli β€’ May 23, 2020 β€’ πŸš€ 3 minute read

As first adopters tinker with Deno, many people are trying to figure out tooling that parallels what they're used to in node.

Deep Object Change Handlers in Typescript

Nick Scialli β€’ May 22, 2020 β€’ πŸš€ 1 minute read

In this post, we'll write a deep object change handler that both allows us to specify deep object types and satisfies the Typescript compiler..

Pinning Dependency Versions in Deno

Nick Scialli β€’ May 19, 2020 β€’ πŸš€ 1 minute read

If you're coming from a node background, it may not be obvious how to pin dependency versions in Deno.

Writing Your First Deno Server in 60 Lines

Nick Scialli β€’ May 18, 2020 β€’ πŸš€πŸš€ 6 minute read

Today we're going to write our first Deno API server in 60 lines.

If Your Refactors Break A Lot of Tests, You May Not Be Testing the Right Thing

Nick Scialli β€’ May 14, 2020 β€’ πŸš€ 4 minute read

Testing is supposed to validate that your app works. If you do some refactoring and your app still works but your tests are failing, are you really testing the right thing?

Understanding Express.js: Creating Your Own Node HTTP RequestΒ Router

Nick Scialli β€’ May 04, 2020 β€’ πŸš€πŸš€πŸš€πŸš€ 16 minute read

Express is a terrific JavaScript framework that serves as the backend for a lot of full stack web applications. Today, without diving into the Express source code, we're going to recreate some of the routing functionality!

Interview Practice: Traversing a Linked List in JavaScript

Nick Scialli β€’ April 28, 2020 β€’ πŸš€ 1 minute read

Traversing a linked list data structure is a common interview question. Today, we'll explore how to do so in JavaScript.

The Revealing Module Pattern in JavaScript

Nick Scialli β€’ April 27, 2020 β€’ πŸš€ 1 minute read

Use the revealing module pattern in JavaScript to maintain private information using closures while exposing only what you need.

Using the Fluent Interface Pattern to Build Objects in JavaScript

Nick Scialli β€’ April 26, 2020 β€’ πŸš€ 1 minute read

There are many ways to create new JavaScript objects. In this post, we use the fluent interface pattern.

Your First React Typescript Project: a Todo List App

Nick Scialli β€’ April 24, 2020 β€’ πŸš€πŸš€πŸš€πŸš€πŸš€ 21 minute read

This post will walk you through writing a todo app in React with Typescript.

A React Typescript Change Handler to Rule Them All

Nick Scialli β€’ April 20, 2020 β€’ πŸš€ 3 minute read

In React with Typescript, you may be tempted to roll individual change handlers for each field in a component. Let me show you an easier way!

Writing a Custom useWindowSize React Hook

Nick Scialli β€’ April 18, 2020 β€’ πŸš€ 3 minute read

One of the coolest parts about React Hooks is that you can create your own! In this post, we'll quickly roll our own useWindowSize hook.

Taking Pixel-Perfect Screenshots Every Time Using Chrome Devtools

Nick Scialli β€’ April 18, 2020 β€’ πŸš€ 3 minute read

While most operating systems ship with built-in screenshotting tools, it's often desired to grab pixel-perfect screenshots. In this post, I'll show you how to do so.

Roll Your Own JavaScript Immutability Function Using the Proxy Object

Nick Scialli β€’ April 16, 2020 β€’ πŸš€ 3 minute read

In this post, we roll our own immutable proxy function to prevent object mutation!

Learn the JavaScript Array.every() and Array.some() methods

Nick Scialli β€’ March 28, 2020 β€’ πŸš€ 3 minute read

Array.every() and Array.some() are handy JavaScript array methods that can help you test an array against specified criteria. In this post, we'll quickly learn how to use them.

What is a Higher-Order Function?

Nick Scialli β€’ March 07, 2020 β€’ πŸš€πŸš€ 6 minute read

One term you might hear in the JavaScript world is "higher-order function." Today, we'll explore what it means to be a higher-order function and look at some examples in JavaScript!

The JavaScript Set Object

Nick Scialli β€’ February 19, 2020 β€’ πŸš€ 4 minute read

Set is one of my favorite built-in object types in JavaScript. Today I'll introduce the Set object and discuss some of its use cases.

What is Memoization?

Nick Scialli β€’ February 13, 2020 β€’ πŸš€πŸš€ 6 minute read

One type of programming concept I really like explaining is the type that has an intimidating name but, once you learn it, is actually a pretty simple concept. This is how I feel about memoization.

What is a Thunk?

Nick Scialli β€’ January 31, 2020 β€’ πŸš€ 3 minute read

Thunk is one of those programming terms that sounds intimidating, but many of us are actually familiar with and have used them.

Set Up a Typescript React Redux Project

Nick Scialli β€’ January 23, 2020 β€’ πŸš€πŸš€πŸš€ 12 minute read

A basic setup for using Typescript with React and Redux.

Variable Assignment and Primitive/Object Mutability

Nick Scialli β€’ January 21, 2020 β€’ πŸš€πŸš€ 10 minute read

If you're not familiar with how JavaScript variable assignment and primitive/object mutability works, you might find yourself encountering bugs that you can't quite explain.

What is a Pure Function?

Nick Scialli β€’ January 19, 2020 β€’ πŸš€ 4 minute read

Pure function is one of those terms that might be intimidating at first, but the concept is actually quite simple. In this post, I'll quickly define what pure functions are and why they're good.

Exploring the Symmetric Difference Interview Question in JavaScript

Nick Scialli β€’ January 12, 2020 β€’ πŸš€πŸš€ 6 minute read

The Symmetric Difference interview question is an interesting one because it can be relatively simple to solve if you can think to use the Set object, or, seemingly very challenging or inefficient otherwise.

An Easy Way to Build a Tree in JavaScript Using Object References

Nick Scialli β€’ November 30, 2019 β€’ πŸš€ 4 minute read

Building a tree structure in JavaScript can be easy if you think in terms of references.

An Approach to JavaScript Object Schema Migration

Nick Scialli β€’ November 27, 2019 β€’ πŸš€πŸš€ 7 minute read

An approach to migrating between different versions of a schema that may be foundational to your app.

Random JavaScript Tips

Nick Scialli β€’ November 16, 2019 β€’ πŸš€πŸš€ 6 minute read

Sometimes I find clever, interesting, or overlooked ways to solve certain problems in JavaScript.

Debouncing with Redux Middleware

Nick Scialli β€’ October 20, 2019 β€’ πŸš€πŸš€ 6 minute read

Let's implement debouncing functionality using Redux middleware!

Toggling Light/Dark Theme in React with useContext

Nick Scialli β€’ September 14, 2019 β€’ πŸš€ 4 minute read

Context was always a great option for sharing app-wide state such as theming. With the useContext hook, it became even better!

Callbacks, Promises, and Async-Await

Nick Scialli β€’ September 07, 2019 β€’ πŸš€πŸš€ 6 minute read

JavaScript touts asynchronous programming as a feature. In this post, we explore callbacks, promises, and async-await to handle async programming.

Short-Circuit Evaluation in JavaScript

Nick Scialli β€’ September 07, 2019 β€’ πŸš€ 4 minute read

Short-circuit evaluation offers a clean and simple way to conditionally assign variables and handle control flow.

Writing a Custom React useDebounce Hook with Typescript

Nick Scialli β€’ August 30, 2019 β€’ πŸš€ 4 minute read

Follow along as I write a custom useDebounce React hook with Typescript.

A More Idiomatic Two-Sum Solution in JavaScript

Nick Scialli β€’ August 26, 2019 β€’ πŸš€ 3 minute read

Recently, I posted a way to solve the two-sum problem using an object to cache previous values of the array. This time, I look at a more idiomatic JavaScript approach.

Beware the Reduce / Spread Operator Combination!

Nick Scialli β€’ August 24, 2019 β€’ πŸš€ 1 minute read

It may feel fancy to use them together, but can get quite expensive.

Creating an Object Validator in JavaScript the Test-Driven Development Way

Nick Scialli β€’ August 24, 2019 β€’ πŸš€πŸš€πŸš€ 15 minute read

In this post, we build something useful (an object validator) using test-driven development!

An Introduction to Memoization in JavaScript

Nick Scialli β€’ August 19, 2019 β€’ πŸš€ 4 minute read

Memoization is an optimization technique used in many programming languages to reduce the number of redundant, expensive function calls.

Calculating Derived State in JavaScript Using Selectors

Nick Scialli β€’ August 17, 2019 β€’ πŸš€ 4 minute read

State management is challenging. We can make it less challenging by making sure we don’t store any redundant information in our state.

Exploring the Two-Sum Interview Question in JavaScript

Nick Scialli β€’ August 11, 2019 β€’ πŸš€πŸš€ 9 minute read

The two-sum interview question is interesting to explore because it has both a brute force logical, solution, as well as a more efficient solution that can demonstrate strong CS fundamentals.

First-Class Functions in JavaScript

Nick Scialli β€’ August 01, 2019 β€’ πŸš€πŸš€ 6 minute read

JavaScript has first-class functions. What does this mean and why is it important?

Why We're Looking Forward to Optional Chaining

Nick Scialli β€’ July 28, 2019 β€’ πŸš€ 3 minute read

There was recently a lot of excitement surrounding the TC39 Optional Chaining Proposal. This is why!

Object Assignment vs. Primitive Assignment in JavaScript for Beginners

Nick Scialli β€’ July 27, 2019 β€’ πŸš€πŸš€ 6 minute read

A quick look at object assignment in JavaScript aimed at newcomers to the language.

Avoiding Race Conditions when Fetching Data with React Hooks

Nick Scialli β€’ April 10, 2019 β€’ πŸš€ 4 minute read

Learning how to fetch data the right way with React Hooks.

Debouncing with React Hooks

Nick Scialli β€’ April 09, 2019 β€’ πŸš€πŸš€ 6 minute read

Expermenting with the relatively new React Hooks API to accomplish debounced list filtering.

The Best Whiteboard Interview Advice I Ever Received

Nick Scialli β€’ March 24, 2019 β€’ πŸš€πŸš€ 10 minute read

In this article, I intend to pass along the best advice I ever received for going through a whiteboard interview.

A 100DaysOfCode Front-End Curriculum

Nick Scialli β€’ March 01, 2019 β€’ πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ 30 minute read

This is a somewhat opinionated curriculum for learning front-end development during 100DaysOfCode.

Fun with React and Git Hooks

Nick Scialli β€’ November 28, 2018 β€’ πŸš€ 3 minute read

One topic I have gotten more and more excited about throughout my software development career is quality!