T.A.M.E - Tech Acronyms Made Easy.

The tech world has a bunch of acronyms, shorthands, buzzwords, jargon; the list goes on and on. But do you really know what all those words mean?

In this series, my aim is to demystify commonly used technology terms and acronyms so that you can understand them.

The intended audience for this are those just starting out in their software development career, as well as those who are a few years into their career, although you may still learn something if you’ve been around for a while.

I’m going to use the ‘explain it like I’m five’ approach, and break down things as succinctly as I can. I’m also going to use code where I can, to give a visual representation of the topic as well. Are you ready to ‘pick some low hanging fruit?’

Software Terms

We’ve all heard terms at one point in our career and thought ‘what the heck does that mean’. I know I have. Plenty of times. In my job as a software developer, I’ve heard lots of terms that I’ve had to quickly look up in order to know what my boss or co-worker has said in order to understand a topic or process on the fly. I’m a quick learner, so I’ve got that going for me, but I’ve always wanted a tech dictionary of sorts to go back and reference. Alright, enough fluff. Let’s dive in!

ACID

ACID: Atomicity, Consistency, Isolation, Durability. To understand this, we need to break out each term individually, and put it into context. The main context behind ACID is within

API

CORS

CORS: Cross Origin Resource Sharing.

CD

CI

CSS

DDL

DDL: Data Definition Language. This is used to describe the structure of database, including its schemas and tables. When you ask yourself “how many columns do you want?” or “what type of data am I putting in those columns?” - these types of questions are answered when you create your DDL queries.

To create a table for example, we would create SQL code like this:


CREATE TABLE users (
    user_id              SERIAL       PRIMARY KEY,
    user_name       VARCHAR(50)   NOT NULL,
    user_address    VARCHAR(50)   NOT NULL,
    user_phone      VARCHAR(18)   NOT NULL,
);

We’ve created a user with an auto-incrementing ID, and created various fields. Notice I used user_id and user_name instead of id or name? I’ve been bitten before when it comes to using reserved keywords as column names, so I’d suggest you avoid them too 😉.

DML

DML: Data Manipulation Language. This is mostly used when referring to SQL code that updates, deletes, or inserts records in a database.

In code, it is commonly seen like this:


INSERT INTO users (user_name, user_address, user_phone) 
VALUES ('Mark', '123 Fake Street', '555-555-5555'); 

In this query, I’ve inserted a record into the users table, which was conveniently created above with a DDL query.

RDBMS

DSL

HTML

IOC

IOC: Inversion of control. This is a mechanism for increasing the modularity of your code. The goal is to allow you to swap out components based on need because they share the same interface. In other words, program to an interface not an implementation. IOC solves the problem of hard coding things in place, because when things need to change (say in a development environment vs production environment) you can swap out items without breaking anything.

JS

JSX

MVC

SOLID

SQL

It can be pronounced a few ways (See-qwell, or ess-q-el) but whichever way you say it, it stands for structured query language. SQL is the de-facto standard when it comes to getting data in and out of relational database management systems or RDBMS. MySQL, Postgres, Oracle, and Microsoft SQL Server (to name a few) all use this to bring in data and get data out. SQL is a DSL (domain specific language) designed to manage the data held in these systems. I’ll cover these terms in a bit, but they are all related in on shape or another.

SDLC

SDLC: Software Development Lifecycle. SDLC is the process used in many organizations to create software, including requirements gathering, the coding, testing and deployment of software. This is a very vague term, with interpretations varying per organization. The main steps are planning, requirements gathering, design and prototyping, software development, testing, deployment and maintenance.

XSS

XSS: Cross Site Scripting. Cross site scripting is a security vulnerability where your application accepts and does not sanitize user input, and allows that user to run their code on your site. If your application takes untrusted user input and displays it some place on your site, it most likely will cause damage to your application. To work around this, you need to sanitize user input, and most front end frameworks have built in modules or third party plugins which can help with that.

Cover Photo by Matthew Kerslake on Unsplash