The Full-Stack Developer Vocabulary (Pt.1, the essentials)
Tags: webdev, javascript, devops, programming
Published: 2021-10-23 11:11:45

####DOM? Serverless? CI/CD? JSON?
###WTF is everyone talking about???

If you're new to this whole full-stack development thing and get confused by some of the words people use when talking about full-stack development, then stick around because in this 3 part series, I'll be compiling the most common words and phrases related to full-stack development. Of course, it will take much more time to learn the details of each of the things I'll be mentioning in these articles. These articles are just summarizers to give you an idea of these words and phrases so that you can understand what people are referencing with them when talking about certain areas of full-stack development.

***************
#Part 1: The essentials

**1. Front-end**
The part of an application or website with which the user interacts directly.

**2. Back-end**
The part of an application or website with which the user cannot see or interact with directly.

**3. Full-stack**
The entirety of an application or website, comprising both the front end and the back end.

**4. DOM**
The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content.

**5. API**
API stands for: Application Programming Interface. It's purpose is to provide a way for programs to easily access and exchange data.

**6. Encryption**
The process of converting information or data into a code, especially to prevent unauthorized access.

**7. Decryption**
While encryption converts information into a code, the purpose of decryption is to convert the same information's code back to it's original form. 

**8. HTTP**
Hypertext Transport (or Transfer) Protocol, the data transfer protocol used on the World Wide Web.

**9. HTTPS**
Basically the same as HTTP, but uses encryption methods to secure the data passed to and from webpages.

**10. CI/CD**
CI/CD stands for: Continuous Integration, Continuous Delivery, 
and the purpose of CI/CD systems is to deliver code changes to an application or website more frequently and reliably.

**11. UI**
UI stands for: User Interface. UI developers try to make a website's interface easy to use and navigate.

**12. UX**
UX stands for: User Experience. UX developers focus on making a website's design more appealing to it's visitors.

**13. Serverless**
As written on the [cloudflare blog](https://www.cloudflare.com/learning/serverless/what-is-serverless/): Serverless computing is a method of providing backend services on an as-used basis. A serverless provider allows users to write and deploy code without the hassle of worrying about the underlying infrastructure. A company that gets backend services from a serverless vendor is charged based on their computation and do not have to reserve and pay for a fixed amount of bandwidth or number of servers, as the service is auto-scaling. Note that despite the name serverless, physical servers are still used but developers do not need to be aware of them.

**14. Backend operations**
These are operations that are performed in the backend because they're either too time or memory intensive for the front-end, or these operations simply cannot be performed in the frontend because they require libraries or frameworks that only work on the backend.

**15. Request/Response**
The way the frontend and backend communicate with each other is with requests and responses. A frontend script can request data from the backend, and a script in the backend can then send that data as a response.

**16. Cache**
The cache is where data can be temporarily stored on a browser or computer in order to save time loading the same data over and over again every time it is required.

**17. Command-line**
The command-line is an interface for typing commands directly to a computer's operating system. This is the most direct and fastest way to perform operations on a computer's operating system like launching a PHP server, creating directory, executing scripts, changing file permissions and much more...

**18. Virtual machine**
A virtual machine is a computer system that emulates a physical, remote machine in order to perform operations on that machine like hosting a website, or storing data.

**19. AWS**
AWS, which stands for: Amazon Web Services, is currently the biggest provider of these virtual machines, plus many other services like file storage.

**20. Database**
A database is a structured collection of data, most of the time databases are needed for storing high volumes of user data.

************

**Stick around for Pt.2, the more advanced!**

Byeeee👋