Nick Scialli is a senior UI engineer at Microsoft.
I'm writing more
Nick Scialli β’ December 31, 2023 β’ π 1 minute readI'm writing more, but elsewhere
How to sort an array of objects by multiple properties in JavaScript
Nick Scialli β’ March 20, 2023 β’ π 3 minute readThe sort method in javascript can be difficult to intuit. Let's consider an advanced use case.
How to capitalize the first letter of a string in JavaScript
Nick Scialli β’ March 20, 2023 β’ π 3 minute readThis simple task isn't as trivial as one might think!
How to access an object property with a dynamically-computed name in JavaScript
Nick Scialli β’ March 18, 2023 β’ π 1 minute readUsing a dynamic object key name is critical for creating dynamic JavaScript applications.
How to use the right "this" value in JavaScript classes
Nick Scialli β’ March 18, 2023 β’ π 3 minute readThe "this" keyword is one of the more confusing parts of JavaScript. Let's learn how to use the right "this" value when creating classes.
How to return a response from an asynchronous call in JavaScript
Nick Scialli β’ March 18, 2023 β’ π 4 minute readAsync is one of the trickier aspects of JavaScript for newcomers.
Conditional component props in React with Typescript
Nick Scialli β’ March 16, 2023 β’ π 4 minute readIn this article we learn how to specify conditional prop types for a React component.
How to add script tags to your React app
Nick Scialli β’ March 14, 2023 β’ π 4 minute readIt's not quite as easy as dropping it directly into your JSX. Fortunately, there are a bunch of ways to accomplish this task!
A one-line OpenSSL command to generate a self-signed SSL certificate
Nick Scialli β’ December 06, 2022 β’ π 1 minute readPerfect for development environment setup or continuous integration
How to use HTTP2 with Express.js and test it locally
Nick Scialli β’ December 03, 2022 β’ ππ 9 minute readExpress.js is surprisingly lacking in native HTTP/2 support.
How to condition a function's output type based on its input type in Typescript
Nick Scialli β’ September 10, 2022 β’ π 1 minute readLearn this helpful type-narrowing tip.
10x engineering for the rest of us
Nick Scialli β’ September 02, 2022 β’ π 3 minute readWe may not all churn out 10x the code, but we probably shouldn't anyways
How to access the index in an Angular ngFor loop
Nick Scialli β’ August 20, 2022 β’ π 1 minute readSometimes it's helpful to acces the index of the current element
What does it mean that Solid.js is truly reactive?
Nick Scialli β’ May 18, 2022 β’ π 4 minute readTaking a look at Solid's reactivity model.
What the useEvent React hook is (and isn't)
Nick Scialli β’ May 06, 2022 β’ ππ 6 minute readInitial reactions to the useEvent hook RFC.
Solid.js feels like what I always wanted React to be
Nick Scialli β’ February 27, 2022 β’ ππ 10 minute readI'm sold on Solid.
How to use onChange in Solid.js
Nick Scialli β’ February 22, 2022 β’ π 1 minute readIf you're used to React, you might be wondering why the Solid onChange handler doesn't work how you'd expect.
Learn Solid.js and build a todo list app
Nick Scialli β’ February 19, 2022 β’ ππππ 16 minute readSolving this classic project using the promising new framework, Solid.js
Creating the Hatchling.app MVP rapidly with React
Nick Scialli β’ February 06, 2022 β’ π 1 minute readYou can develop things lightning fast with React.
How to write a binary search algorithm in JavaScript
Nick Scialli β’ December 12, 2021 β’ ππ 6 minute readA classic algorithm implemented in JavaScript
What is a single page app?
Nick Scialli β’ November 29, 2021 β’ ππππ 16 minute readSometimes we get so immersed in current tech we forget to ask the basic questions.
Fix the "Function makes the dependencies of useEffect Hook change on every render" warning in React
Nick Scialli β’ November 26, 2021 β’ π 4 minute readEffects, dependency arrays, infinite loops... the joys of React!
How to toggle and array of items separately in React
Nick Scialli β’ November 26, 2021 β’ π 4 minute readCore React concepts become a bit trickier when dealing with arrays
Modern front-end development and the neglect of application display state
Nick Scialli β’ November 25, 2021 β’ π 3 minute readWhile there's a lot to love about modern front-end web development, it has some pitfalls.
Mutation isn't always bad in JavaScript
Nick Scialli β’ November 24, 2021 β’ ππ 9 minute readDiscussing the misconception that mutation is bad.
How to find all files of a specific type recursively in Unix-based operating systems (Linux and Mac)
Nick Scialli β’ September 28, 2021 β’ π 1 minute readYou can do a lot with the find command!
Why you can't set state multiple times in a row in React
Nick Scialli β’ August 24, 2021 β’ π 4 minute readThis seemingly strange behavior is well-explained by JavaScript fundamentals.
How to calculate REMs from pixels
Nick Scialli β’ August 20, 2021 β’ π 1 minute readSizing things in CSS can be tricky. But REMs are probably easier than you think.
You probably shouldn't ignore react-hooks/exhaustive-deps linting warnings
Nick Scialli β’ August 03, 2021 β’ π 3 minute readIt's tempting to ignore these warnings, but I highly recommend against it.
A notional modern SaaS app architecture
Nick Scialli β’ July 05, 2021 β’ ππ 9 minute readArchitecture 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 readReact 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 readTesting 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 readSometimes 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 readWhen 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 readIf 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 readSometimes 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 readState 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 readThe 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 readLet'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 readAutomation 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 readRDD 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 readGatsby 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 readRedux 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 readIf 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 readThese 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 readIf 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 readYou 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 readThe 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 readOften, 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 readIf 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 readMutability 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 readThe 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 readReact 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 readInfinite 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 readAnimating 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 readIn 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 readThere 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 readIf 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 readSometimes 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 readIf 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 readLet'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 readExecuting 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 readLet'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 readFrontend 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 readI 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 readThis 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 readThis 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 readIf 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 readWhen 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 readSvelte 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 readThis 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 readLet'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 readSometimes 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 readExpress 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 readA 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 readUsing 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 readHow 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 readI 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 readReact 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 readRegular 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 readLet's do some basic number formatting for really large numbers.
Turning a Callback Function Into a Promise
Nick Scialli β’ December 29, 2020 β’ π 1 minute readMany 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 readA 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 readLet'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 readThere 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 readIn 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 readRecursion 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 readWe 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 readThe 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 readI'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 readIf 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 readOne 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 readAfter 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 readSometimes 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 readSelecting 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 readIn 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 readYou 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 readSometimes 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 readWriting 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 readOne 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 readLet'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 readLet'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 readLet'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 readTypescript 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 readOne 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 readSnapshot 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 readToday 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 readOne 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 readAfter 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 readWe 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 readInstallment 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 readOne 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 readUsing 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 readAs 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 readWith 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 readAs 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 readIn 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 readIf 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 readToday 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 readTesting 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 readExpress 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 readTraversing 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 readUse 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 readThere 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 readThis 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 readIn 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 readOne 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 readWhile 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 readIn 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 readArray.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 readOne 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 readSet 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 readOne 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 readThunk 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 readA basic setup for using Typescript with React and Redux.
Variable Assignment and Primitive/Object Mutability
Nick Scialli β’ January 21, 2020 β’ ππ 10 minute readIf 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 readPure 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 readThe 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 readBuilding 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 readAn 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 readSometimes I find clever, interesting, or overlooked ways to solve certain problems in JavaScript.
Debouncing with Redux Middleware
Nick Scialli β’ October 20, 2019 β’ ππ 6 minute readLet's implement debouncing functionality using Redux middleware!
Toggling Light/Dark Theme in React with useContext
Nick Scialli β’ September 14, 2019 β’ π 4 minute readContext 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 readJavaScript 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 readShort-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 readFollow 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 readRecently, 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 readIt 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 readIn 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 readMemoization 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 readState 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 readThe 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 readJavaScript 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 readThere 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 readA 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 readLearning how to fetch data the right way with React Hooks.
Debouncing with React Hooks
Nick Scialli β’ April 09, 2019 β’ ππ 6 minute readExpermenting 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 readIn 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 readThis 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 readOne topic I have gotten more and more excited about throughout my software development career is quality!