Node-JS Terms

rudyryu's version from 2016-02-02 03:45


Question Answer
Modules A reusable block of code whose existence does not accidentally impact other code; Javascript didn't have this before - new for ECMA-Script 6
CommonJS ModulesAn agreed upon standard for how code modules should be structured
First-Class FunctionsEverything you can do with other types you can do with functions; You can use functions like strings, numbers, ect. (i.e. pass them around, set varibles equal to them, put them in arrays, and more)
An Expressiona block of code that results in a value; Function expressions are possible in JS because functions are first-class.
InvokeRun or 'call' the function
Name/Value PairA name which maps to a value; The name may be defined more than once, but only can have one value in any given context. That value may be more name/value pairs.
Object LiteralName/Value pairs separated by commas and surrounded by curly braces; a quick, shorthand way to create JavaScript objects in code.
InheritanceOne object gets access to the properties an methods of another object.
Function ConstructorsA normal function that is used to construct objects; The THIS variable points a new empty object, and that object is returned from the function automatically.
PrimitiveA type of data that represents a single value; like a number or a string. In other words, not an object.
ScopeWhere in code you have access to a particular variable or function
Character SetA representation of characters as numbers; Each character gets a number. Unicode and ASCII are character sets.
Character EncodingHow characters are stored in Binary; The numbers (or code points) are converted and stored in binary.
Binary DataData stored in binary (sets of 1s and 0s); the core of the math that computers are based on. Each one or zero is called a 'bit' or 'binary digit'
StreamA sequence of data made available over time; Pieces of data that eventually combine into a whole.
BufferA temporary holding spot for data being moved from one place to another; Intentionally limited in size.
Non-BlockingDoing other things whithout stopping your programming from running; This is made possible by Node's doing things asynchronously.
CallbackA function passed to some other function, which we assume will be invoked at some point; The function '____' invoking the function you give it when it is done doing its work.
SynchronousOne proces executing at a time; Javascript is synchronous. Think of it as only one line of code executing at a time. NodeJS is asynchronous.
JSONJavascript Object Notation - A standard for structuring data that is inspired by Javascript Object Literals; javascript entgines are built to understand it.
Revealing Module PatternExposing only the properties and methods you want via an returned object; A very common and clean way to structure and protect code within modules.
MutateTo change something; e.g. adding a method or proerty to an object means you've changed the object
EventSomething that has happened in our app that we can respond to; In Node we actually talk about two different kinds.
Event ListenerThe code that responds to an event; in javascript's case, the listener will be a function;
Magic StringA string that has some special meaning in our code; this is bad because it make it esy for a typo to cause a bug, and hard for tools to help us find it
ES6ECMAScript 2015
Template LiteralA way to concatenate strings in JS (ES6); Easier to work with than a bunch of strings concatenated with '+'
Syntactic SugarA feature that only changes how you type something, but nothing changes under the hood; It's important to understand what is happening under the hood, so we don't make decisions based on flawed assumptions.
AsynchronousMore tha one process running simultaneously; Node does thing asynchronously. V8 does not.
RESTAn architectural style for building APIs; Stands for 'Representational State Transfer'; We decide that HTTP verbs and URLs mean something.
StaticNot dynamic; in other words, not processd by code in any wayr - HTML, CSS, and image files are static
MiddlewareCode that sits between two layers of software; inthe case of Express, sitting between the request and the response.
HTTP MethodSpecifies the type of action the request wishes to make; GET, POST, DELTE, and others. Also called verbs.
Environment VariablesGlobal variables specific to the environment (server) our code is living in; different servers can have different variable settings, and we can access those values in code.
Semantic Versioning (SEMVER)Specifying what version of a set of code this others can track if a new version has come out. This allows to watchfor new features, or to watch for 'breaking changes'; The word 'semantic' implies that something conveys meaning.
DependencyCode that another set of code depends on to function; if you use that code in your app, it is a dependency. Your app depends on it.
Package Management SystemSoftware that automates installing and updating packages; Deals with what version you have or need, and manages dependencies.
Packagecode...managed and maintained with a package management system
RoutingMapping HTTP requests to content
SerializeTranslating an object into a format that can be stored or transferred; JSON, CSV, XML, and others are popular. 'Deserialize' is the opposite (converting the format back into an object)
EndpointOne URL in a web api; Sometimes that endpoint (URL) does multiple things by making choices based on the HTTP request headers.
APIA set of tools for building a software application; stands for 'Application Programming Interface'. On the web the tools are usually made available via a set of URLs which accept and send only data via HTTP and TCP/IP
TemplateText designed to be the basis for final text or content after being processed; ther's ususally some specific template language, so the template system knows how to replace placeholders with real values.
MIME TypeA standard for specifying the type of data being sent; Stands for 'Multipurpose Internet Mail Extensions'. Examples - application/json, text/html, image/jpeg
HTTPA set of rules (and a format) for data being transferred on the web; stands for 'HyperText Transfer Protocol'. It's a format (of various) defining data being transferred via TCP/IP.
ProtocolA set of rules two sides agree on to use when communicating; both the client and server are progrmammed to understand and use that particular set of rules. It's similar to two people from different countries agreeing on a language to speak in. TCP = Transmission Control Protocol
Method ChainingA method returns an object so we can keep calling more methods; somtimes it returns teh parent object ('cascading') and sometimes some other object.
PortOnce a computer recieves a packet, how it knows what program to send it to; when a program is setup on the operating system to recive packets from a particular port, it is said that the program is 'listening' to that port
PipeConnecting two streams by writing to one stream what is being read from another; in node you pipe from a Readable streams to a Writable stream.
Abstract (Base) ClassA type of constructor you never work directly with, but inherit from; we create new custom objects which inherit from the abstract base class.
ChunkA piece of data being sent through a stream
Full Stack DeveloperA developer who knows all the pieces of a software stack; and thus can build software by themselves.
DOMThe structure browsers use to store and mangae web pages; Stands for 'Document Object Model'. Browsers give the Javascript engine the ability to manipulate the DOM.
[MEAN] StackThe combination of all technologies used to build a piece of software; your database, system, your server-side code, your client-side code, and everything else,
Mean = MongoDBStores your data in documents that look a lot like JSON and JavaScript object literal notation
mEan = ExpressJavascript framework that makes things like routing writing APIs and working with HTTP easier
meAn = AngularJSJavascript framework for managing code and UI in the browser, removing a lot of manual work
meaN = NodeJSJavascript on the server. Handle HTTP requests and responses and lots more.
NOSQLA variety of technologies that are alternatives to tables and SQL; One of those types is a document database, like MongoDB
SQL(Structured Query Language) A special purpouse programming language designed for manageing data held in a relational database.