The Full-Stack Developer Vocabulary (Pt.2, the more advanced)
Tags: webdev, javascript, devops, programming
Published: 2021-11-06 08:01:16

####XML? JSX? Sudo? Jamstack?
###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 2: The more advanced

**1. XML**
XML stands for eXtensible Markup Language. XML plays an important role in many different IT systems and is often used for distributing data over the Internet. Read [This article](https://www.w3schools.com/XML/xml_whatis.asp) to get a better understanding of XML.

**2. JSX**
JSX stands for JavaScript XML. JSX allows you to write HTML in ReactJS.

**3. JSON**
JSON is an acronym for JavaScript Object Notation. It is an open standard format, which is lightweight and text-based, designed explicitly for human-readable data interchange. It is a language-independent data format. It supports almost every kind of language, framework, and library.

**4. Firewall**
A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.

**5. IP Address**
An IP address is a unique string of characters that identifies each computer using the Internet Protocol to communicate over a network. IP addresses come in 2 types: IPv4 and IPv6.

**6. IPv4**
IPv4(IP version 4) addresses are 32-bit integers which will be expressed in decimal notation. Example- 192.0.2.126 could be an IPv4 address. IPv4 addresses are most common.

**7. IPv6**
IPv6(IP version 6) is the improved version of IPv4. IPv6 addresses are more unique than IPv4 addresses and therefor offer more address variations. In addition to offering more addresses, IPv6 also implements features not present in IPv4. It simplifies aspects of address configuration, network renumbering, and router announcements when changing network connectivity providers.

**8. Proxy Server**
This is a server that acts as an intermediate between a client and its destination server. A proxy server can let you make web requests through a different IP address. Proxies are most popularly used in VPNs and are useful if you want to hide your location, personal data or your overall identity on the web.

**9. VPN**
VPN stands for “virtual private network”. VPNs protect your internet connection and privacy online. They create an encrypted tunnel for your data, protect your online identity by hiding your IP address using proxy servers, and allow you to use public Wi-Fi hotspots safely.

**10. Nginx**
Nginx, pronounced like “engine-ex”, is an open-source web server used for processing web requests.

**11. Apache**
Apache is the most widely used web server software similar to Nginx.

**12. Jamstack**
Jamstack is an architecture designed to make the web faster, more secure, and easier to scale. It builds on many of the tools and workflows which developers love such as ReactJS. The core principles of pre-rendering and decoupling enable sites and applications to be delivered with greater confidence and resilience than ever before.

**13. Sudo**
Sudo, standing for "SuperUser DO" is used to access restricted files and operations. By default, Linux systems restrict access to certain parts of the system preventing sensitive files from being compromised. The sudo command temporarily elevates privileges allowing users to complete sensitive tasks without logging in as the root user.

**14. Web Scraping**
Web Scraping is the process of extracting data from external websites. Some of the most popular Web Scraping libraries include: [Puppeteer](https://github.com/puppeteer/puppeteer), [Selenium](https://www.selenium.dev/) and [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/).

**15. Git**
Git is used for tracking changes in files and directories. Git is usually used for coordinating work among developers collaboratively developing source code during software development.

**16. Cron jobs**
Cron jobs are jobs scheduled by the backend to run at set intervals. Cron jobs are mostly used for managing back-end jobs created by users through the front-end.

**17. Responsive Web Design**
Responsive web design, also referenced as RWD design, is a modern web design approach that allows websites to render (or display) on all devices and screen sizes by automatically adapting to the screen, whether it’s a desktop, laptop, tablet, or smartphone.

**18. MySQL**
MySQL is a relational database management system (RDBMS) developed by Oracle that is based on structured query language (SQL). A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or a place to hold the vast amounts of information in a corporate network.

**19. NoSQL**
NoSQL is famous for its high functionality and ease of development with a performance at scale. NoSQL is called a non-relational database. It does not follow the rules of relational database management systems (RDBMS), and hence does not use traditional SQL statements to query data. 2 famous examples of NoSQL systems are [MongoDB](https://www.mongodb.com/) and [Neo4J](https://neo4j.com/).

**20. Environment variables**
An environment variable is a variable whose value is set outside a program, typically through the operating system. Environment variables eliminate the need to define and redefine variables through programs.

************
**Stick around for Pt.3(The last part): The languages, tools and frameworks!**