Skip to content

Latest commit

 

History

History
338 lines (170 loc) · 16 KB

glossary.md

File metadata and controls

338 lines (170 loc) · 16 KB

Coding & Cocktails Glossary

Brief definitions of terms you might hear at C&C events!


Although this list will grow over time, one of the easiest ways to research a term you have never heard is to type your question in Google. Frequently top hits will either be Wikipedia or Stack Overflow - both solid resources.

Be sure to let us know if you think something needs to be added. As you become comfortable with git push/pull requests, you can send pull requests that we will curate and add to the list!

Agile Method (of software development)

A method commonly used today for software development which is characterized by a focus on rapid product delivery through the use of iterative multi-week periods, called "sprints" and a collaborative, rather than siloed, approach to team member roles.

A11Y

“a11y”(often pronounced "A-one-one-Y", "A-eleven-Y", and liberally as "ally") stands for “accessibility.” It is a numeronym, with 11 representing the count of letters between the letter a and the letter y.

Application Programming Interface (API)

A set of functions or methods used to access some functionality.

Architecture

Rules & methods describing the organization, functionality and implementation of computer systems.

Array

a collection of items of same data type stored at contiguous memory locations

(HTML) Attributes

Used in an opening HTML tag to control tag's behavior. Applying attributes could modify the default functionality of a tag. Some tags require attributes to work correctly.

(Static) Assets

Files for a website that are served to the visitor as-is (file doesn't have to be generated, modified or processed) -- e.g. CSS, JavaScript, images, videos, pdfs

BigInt

a numeric data type that can represent integers in the arbitrary precision format

Boolean

a logical data type that can have only the values true or false

Bootstrapping

Equivalent of initializing or starting your application.

(Twitter) Bootstrap

An HTML, CSS, and JavaScript framework to help quickly develop and style responsive web applications.

(Web) Browser

An application used for retrieving, viewing and traveling across files and websites. Common browsers: Google Chrome, Mozilla Firefox, Safari, Microsoft Edge, Microsoft Internet Explorer, Opera

Browser Developer Tools (Dev Tools)

A web developer's best friend. Different browsers have their own set of developer tools. Developer tools allow a developer to inspect how the browser is parsing their code into the DOM. Dev Tools are helpful for a developer to troubleshoot & fix bugs.

Browser Vendor Prefix

Experimental or non-standard CSS Properties made available to developers by browser vendors. Typically the vendors use these prefixes -webkit- (Chrome, newer versions of Opera.), -moz- (Firefox), -o- (Old versions of Opera), -ms- (Internet Explorer)

Bugs

A web developer's nemesis. An error or mistake causing a computer program or website to misbehave. Usually due to a mistake made in the code, by the developer.

Build Tools

Utilities to help you turn your code into an executable application through compilation, linking and packaging.

Client-Side

Client is an application - such as your web browser (Chrome, Internet Explorer, etc) - running on your local computer. One piece of the client-server relationship. Often requests information from the server.

Cloud IDE

A web-based IDE(Integrated Development Environment). It can be accessed from web browser such as Google Chrome. Examples of cloud IDE are StackBlitz, CodeSandbox etc.

Data Warehouse

A repository for data, usually from disparate sources. The common repository allows for more efficient reporting and data analysis.

Dependency

When an application or piece of software relies on another piece of software.

Document Object Model (DOM)

An application programming interface (API) for valid HTML documents. It defines the structure of documents and the way a document is accessed and manipulated.

Document Type (DOCTYPE)

Declaration informing the browser what syntax (set of rules) your HTML document is written in, so the browser can correctly parse the HTML code.

Don't Repeat Yourself (DRY)

A principle of software development aimed at reducing repetition. That is, don't repeat the same code in multiple locations, that makes code maintenance difficult!

(HTML) Element

Individual component of an HTML document, once the HTML document has been parsed into the Document Object Model in a browser.

Event Handler

Managing how your web page reacts to "events." Events could include being clicked, keys being pressed, mouse moving over or off of an element and much more.

Front-End Architecture

Organization of code and project files (usually HTML, CSS, JavaScript & images). The benefit of good architecture is efficient and maintainable code.

Full-Stack

If someone tells you they are a full-stack developer then that person is saying she has the ability to code user interfaces (front-end), middleware(operating environments and interfaces), and back-end support (like the database or utilities where the underlying code is stored.

Function

Code that takes input (parameters), processes the input and returns some output.

Graphical User Interface (GUI)

The area where the user interacts with an application. Often point-and-click style interaction that allows a user to make selections without writing code. A dialog box with "save", "close" or "cancel" is one of the simplest kinds of GUI's.

Git

Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files.

Hero Image

A styling reference for a large banner image placed prominently on a web page.

Hexidecimal (Hex) Color

A color specified by hex triplet (six-digit, three-byte hexadecimal number) to determine the Red, Green and Blue components of the color by bytes. One byte can specify the color in the range of 00 to FF 00 being least intensity and FF being greatest intensity of the color. White is #FFFFFF in Hex format.

Home Directory

The directory/folder for the user (you are logged in as) on your computer. Typically /users/<your user name> on a Mac or C:/Users/<your user name> on a Windows machine.

HTML (Hypertext Markup Language)

Language used to create documents that display text, images and other resources through a Web browser. HTML is the foundation of a web page. Document names end with the .html (or .htm) file extension.

HTTP (Hypertext Transfer Protocol)

Protocol that is the foundation of data communication for the World Wide Web. Hypertext documents (usually HTML files) inlude hyperlinks (links for short) to other resources.

HTTP Server

Software understanding HTTP (protocol browser uses to view webpages) & URLs (web addresses).

Integrated Development Environment (IDE)

A software application that provides a comprehensive setting for software development to programmers. Typically includes a code editor, build automation tools and a debugger. Most will have some form of intelligent code completion and some will contain a compiler, interpreter or both. For more information, look here: https://dev.to/vaniukov/top-16-ides-for-software-development-which-one-do-you-choose-hl9

JavaScript Library

Pre-written JavaScript code that can be utilized within your web application. Examples include jQuery, bxSlider and many more.

Joint Application Design (JAD)

A method of developing requirements for software projects where all of the stakeholders collaborate in the development of project requirements, with the intention of improving the quality of requirements and efficency and quality of the eventual solution.

Letterbox

When using the background-size property with the contain value in CSS3, an image with a widescreen aspect ratio will appear with a top and bottom border in order to maintain the height and width proportions of the image. The borders at the top and bottom will be styled according to the properties assigned to the container in which the image is placed. This effect is called Letterboxing because the dimensions of the image cause it to appear to be shaped like a letterbox in a door through which mail is delivered.

Linter

A tool that flags suspicious code in software written in any computer language.

Linting

Running a program that checks your code for syntax errors (i.e using double vs single quotes)

Loop

a sequence of instructions that is repeated until a certain condition is reached

Markdown Text

This document is written in markdown syntax and like HTML, is a basic language used for formatting text documents that can be read and interpreted on the web.

Metadata

Data that describes other data. (ie: the size of an image)

Method

A method is a procedure associated with an object. For example, you could have an object, Window which has an open() and a close() method.

Minification

Removing unnecessary characters such as spaces, new lines and comments to reduce file size therefore making the load time faster due to the reduced amount of data transfer required.

Mixin

Used to describe that an object should copy all the properties from another object. Allows extension by inclusion instead of inheritance. In the scope of Sass this is sort of a "function" to allow common styling properties to be re-used across multiple selectors.

Null

a nonexistent or invalid object or address

Number

a numeric data type in the double-precision 64-bit floating point format

Open Source

A software philosophy that espouses the idea that code should be available to everyone to see and improve upon. In open source, the main requirement is that if you modify code someone else has published, you give credit to the originator and make your improvements available to them and everyone else. The Linux operating systems are built on the concept of open-source, versus Microsoft, which keeps its operating system code very proprietary.

Parsing

Process of analyzing code. (We usually use this term for the browser process of analyzing and interpreting code.)

Plugin

A tool, like a miniature program, that enhances your developer experience by making certain tasks easier.

Preprocessor

A tool that will take input data and produce different output that will be used by another program often making code more efficient and easier to read. Examples include Sass and LESS which both extend the CSS language and allow for use of things like variables, etc.

Primitive

a data that is not an object and has no methods or properties. There are 7 primitive data types. String, number, bigint, boolean, undefined, symbol, null

Protocol

Rules for how various network processes on the Internet should behave.

Rapid Application Development (RAD)

A software development methodology generally used to refer to one of many software development methods (including Agile) which do not follow the waterfall method, which is seen as inefficient and generally obsolete, especially for front end development.

Refactor

Editing or tuning your code, so that it fulfills its purpose in exactly the same way as it was before, only more efficiently, like editing a sentence to convey the same meaning in fewer words.

Regular Expression (regex)

A way to search for particular strings of information. For more information, check out this overview

Repository

Also known as a repo, is a reference to your library of code, and is commonly used when speaking of GitHub.

Responsive Design

A term used to describe styling that adjusts to allow ideal viewing and interaction across different device screen sizes (ie. desktop, iPad, mobile phone, etc.)

RGB Color

Colors specified by the amount of Red, Green and Blue components that make up the color in the ranges of 0 (least color intensity) to 255 (most color intensity). White is (255,255,255) in RGB format.

Root Directory

The top-level directory for your project. (ie: If all your code for a project is within a folder named MyFavoriteApp, MyFavoriteApp would be your project's root directory.)

Runtime Environment

A reference to wherever your program is running, such as an operating system like Windows, or a network server.

Rubber Duck Debugging

A form of code review and debugging where the developer explains the code aloud line by line, as simply as possible, without risk of judgment (as if explaining to a toy rubber duck).

Scaffolding

Used in reference to a utility program or programs that support the code you write by performing some of the less glamorous underlying functions.

Self-Closing (HTML) Tag

An HTML tag that gets its information from attributes & doesn't require content/children.

Semantic Code

Code using the meaning of something as opposed to the visual representation of it. ie: <section class="about-us"> is semantic, <div> or <section class="blue-text"> are not semantic.

SEO (Search Engine Optimization)

Marketing process to increase the visibility of a website in a search engine's search results.

Server-Side

One piece of the client-server relationship. Typically a remote server reachable from the user's local computer. Responsible for serving content to the client or processing and storing data.

String

a sequence of characters used to present text

Syntax

The _grammar+ of a coding language (the format for how you write a specific code statement). Some languages use ('), some use (") and so forth. Poor syntax can prevent your programs from running.

<code> Tag

Used to indicate a piece of code in HTML. An HTML element consists of an opening tag (ie: <div> and a closing tag (ie: /div>), which surrounds markup that is that element's children/content. (There are a few exceptions where a tag is self-closing. ie: <img />)

Undefined

a primitive value automatically assigned to variables that have just been declared or to formal arguments for which there are no actual arguments

User Experience (UX)

Optimizing workflow and enhancing user satisfaction by improving the interaction between the consumer and the product. Enhancements are typically guided by scientific research and testing and may include things such as reducing the number of clicks it takes to accomplish a task.

User Interface (UI)

The look and feel of an application, the visual assets such as dialog boxes, icons, etc.

Variable

A placeholder to store values. Allows easy access to the values in other areas of your code.

Version Control

A system that manages and records changes to files, documents, and programs so collaborating developers can recall information and updates on a project over time.

Waterfall Method (of software development)

An older variety of software development consisting of distinct phases, each of which must be completed in its entirety before moving on to the next: Requirements gathering, design, construction, testing and implementation.

Web Server

Hardware, sofware or both working together. Please see Web Server (Hardware) & Web Server (Software).

Web Server (Hardware)

Computer storing the Web Server Software & website's files (images & files with code like HTML, CSS, JavaScript & more). The computer is connected to the Internet & exchanges data with other devices connected to the Internet.

Web Server (Software)

The software that controls how users on the Internet access hosted files. Includes an HTTP server.