IndexedDB, a Look Transaction Performance

I’ve been working on a webapp, which will support offline access. So, after fetching data from the network, I save it to a local store on the client. In my first request, I was saving just over 600 records, and…

Google Authentication & Authorization via Oauth in 2022

Overview I feel like I’ve had the misfortune of re-learning this topic over and over so I’ll document the process this time. Besides, Google is discontinuing Google Sign-In: We are discontinuing the Google Sign-In JavaScript Platform Library for web. Beginning April…

Express Proj Setup 6: Code Documentation, JSDoc

We continue building our Expressjs project by adding the capability for automatic documentation generation via a popular library called JSDoc. You will learn how to set it up, how to document your code in a format to be used by the library, and also learn of a plugin to customize the look of your generated documents.

Express Proj Setup 5: Testing with Jest and Supertest

While writing code, we need to ensure that the updates do not break existing code. Rather than manually running tests each time we make code changes, we will learn a format to define tests and have them automatically run when we make changes. We will us a popular library called Jest, along with two utilities to make network requests, and an in-memory mongodb instance written for Jest-testing.

Express Proj Setup 4: Authentication, Middleware & Secure Cookies

Any webpage/app which allows for multiple users needs a mechanism to support different user accounts. Our express app will also support this and we will leverage a feature built into our framework, namely middleware, and a commonly used client component, cookies. We will also make our setup more robust by leveraging a popular package which allows for secure, and tamper- proof cookies.

Express Proj Setup: 2 Logging, using Winston & Morgan

While setting up our Express app template, we will start by setting up our logging system. To do this, we will use two popular libraries. One which automatically logs request information when used as an express middleware, and another which formats and configures log formats and types.

Express Proj Setup: 1 Proj Configuration

As we begin our Expressjs app, we will start with setting up how the app is run. This will determine configuration, performance attributes, logging, etc. This will allow our app to run optimally in different situations, including testing, development, and production.

Express Proj Setup: 0 Intro

This is the beginning of a series of articles focused on learning and building a complete nodejs server-side environment based on the expressjs framework. This first article focuses on setup of the development environment, specifically using a popular style guide, a library to catch code problems while writing code, and a formatter to have a consistance code look.

How to setup a complete Expressjs project

In this guide, I’ll show you how to setup a node web framework and use it to support a client webapp built with vanilla-javascript. It is not meant to teach you how to use Express itself, but after you’ve learned…

Essential Git

learn it once and for all At the by end of this article you will Understand how Git works at a high level Understand the mechanics of git Know the most common Git Commands Git: 3 Tree Setup As a…

Using Rollup to bundle JS assets

At the end of this blog post you will: Understand some history of bundlers Understand why rollup is useful Learn how to use rollup in your own projects Have a working example illustrating a big benefit of Rollup, tree-shaking When…

From LocalStorage to indexedDB

While rewriting an offline capable webapp, I decided to update the offline storage mechanism from the very easy to use LocalStorage, to indexedDB, a real client database. When writing the app, initially I wasn’t concerned with building the most scalable…

Macbook Pro Upgrade SSD, hello 1TB

Abstract Many apple Macs were easily upgradable until 2012, and somewhat upgradeable till 2015. This guide gives a background on upgrading macs, and focuses on the procedure to upgrade the 2015 15″ macbook pro. Other models follow a similar procedure.…

MB Air M1 vs MB Pro Intel

Comparing Apples new Silicon vs a Battle-Tested Intel Favorite What are the benefits to reading this article? You will learn: History of Apple changing processors Understand why M1 processors destroy their intel counterparts Have a real world usage evaluation of…

Setup Visual Studio Code on a new Mac in 2021

updates: May 31, 2022 – Added CSS lint tool to project, and to Visual Studio. Dec 23, 2021 – Removed “Bracket Pair Colorizer”extension, now included in VSC by default Intro As a longtime developer, my most important tool is my…