Back End Authentication— Week 6 Day 2

Sean Yager
3 min readJul 7, 2020
Photo by Lisheng Chang on Unsplash

Class is consistently kicking my butt when it comes to back end development. I’m a front end developer at heart. My brain works best when I can see what I’m working with and the abstract nature of back end coding is a hurdle for my thinking. I’ve been trying to wrap my head around the concepts and languages needed in back end development but keep spinning my wheels. SQL and data manipulation is a ghost to me. There’s a way to properly create authentication, and back end coding feels more like math than the creative feeling of front end development.

I started this Fullstack course with ACA to brush up on my chops and learn backend, though I’m discovering quickly that I belong in a front end position, which is an empowering feeling, rather than discouraging. We can’t all be the Jack of all trades, the world needs specialization. It’s been a wonderful journey to discover what I want out of a coding job.

Let’s tackle some back end questions. In a few months I’ll be interviewing for a job and what better way to overcome my hurdles than to dive headfirst into them.

What’s the difference between operational and programmer errors?

Operational errors are often simple, they have to do with errors discovered in the run time of our programs. An operational error is usually a result of correctly written programs, they reflect failure elsewhere in the pipeline. They alert us when there is an error outside of our code, potentially bad requests, or resolution failures, even invalid input by a user. These errors are supposed to exist, they help developers and users understand what’s gone wrong.

Programmer errors are the opposite. Write code that isn’t “correct” and you’ll receive a programming error. These types of errors need to be fixed. An example might be passing the wrong type of information to a function, providing a string where an Object is expected.

What is ‘event-driven’ programming?

It’s just as it sounds, programming that is driven by events. Events can be anything from mouse clicks, to key presses, to messages received from other programs.

What are ‘worker processes’?

In laymans terms, they handle requests coming in from the client. I’m understanding workers to be engines which receive and handle. I believe using Express app.something is a worker. In this case the worker is the Express instance called app.

Describe how Node.js can be made more scalable.

A list I discovered on stack overflow recommends utilizing multi-core CPU’s by setting up a cluster, in pair with child processes. Setting up worker roles connected with a message queue, in essence allowing your server to be split into two parts. All of the suggestions here are in an effort to make the working parts of your Node.js program more efficient and long term adaptable.

Explain global installation of dependencies.

  1. Say we set up a Node.js project, and want to install a dependency in one of our files. This may be useful if that particular file is and always will be the only file using our dependency. Often we want to install our dependencies globally though, to take full advantage of them across our program. Take Express for example, we might install the express dependency to our app and require it “globally”. This just means any file that is created in our project has access to that dependency, rather than manually installing it per file. This is typically done in an index.js file at the root level of a project.

Explain RESTful Web Service.

First REST stands for REpresentation State Transfer, it is a set of principles that intend to keep applications simple, lightweight, and fast.

Among the principles the major one is the concept of a uniform interface, making sure that we use four fixed operations called PUT, GET, POST, and DELETE.

There’s a lot more to REST than just uniform operations however. The concepts of REST are outlined here in a concise way.

As always thanks for reading.

Austin Coding Academy

--

--

Sean Yager

Comics artist and web developer located in Austin, TX telling stories and making up fantasy worlds for fun.