Web Dev Day 1: Journey Begins
Tags: webdev, internet, learning, developer
Published: 2024-02-17 20:14:40

Hello, Developers. I am using this platform to document what I learn to go through these posts in the future. I am familiar with web development but still starting from scratch. This post will also help other developers.

Let's Start......

## What is the INTERNET?

The interconnected network of computers around the world. It enables communication, information sharing, entertainment, e-commerce, education, and research. Operating on protocols like TCP/IP, the Internet is decentralized and plays a crucial role in modern life, impacting various aspects of daily activities.

## What is a SERVER?

A server is a computer or software system that provides services or resources to other computers (clients) in a network. It handles client requests, facilitating tasks like hosting websites, managing email, storing files, and running applications. Servers are designed with specialized configurations to handle multiple client requests efficiently.

## What is a CLIENT?

A client is a computer, device, or software application that requests services or resources from a server in a network. It initiates communication with servers, makes specific requests, and relies on servers to fulfill them by providing services or information. Examples include web browsers, email clients, and file explorer programs.

## What is an IP ADDRESS?

An IP (**Internet Protocol**) address is a numerical label assigned to devices on a network, facilitating communication and identification. There are two main types: IPv4 with 32-bit addresses like 192.168.0.1 and IPv6 with 128-bit addresses like 2001:0db8:85a3:0000:0000:8a2e:0370:7334. IP addresses are vital for routing data across networks, enabling devices to connect and communicate on the Internet.

## How INTERNET works?

The Internet operates through a network of interconnected devices using standardized protocols. Users connect to the Internet through ISPs; each device is assigned a unique IP address. Data, broken into packets, travels through routers and switches, following efficient paths determined by protocols like TCP/IP. Servers host data, and user devices request and receive information, enabling two-way communication. The Internet facilitates various online activities by ensuring reliable and efficient data transmission between devices globally.

ISP: An ISP, or Internet Service Provider, is a company that provides users and businesses with access to the Internet. They offer various services, including internet connectivity through broadband or other technologies, domain registration, email services, web hosting, and sometimes virtual private networks (VPNs). ISPs play a crucial role in connecting users to the global internet infrastructure.

## DNS:
 DNS, or **Domain Name System**, translates user-friendly domain names into numerical IP addresses for computer communication on the Internet.

## What is WEB DEVELOPMENT?

Web development involves creating and maintaining websites or web applications. It includes frontend development for user interfaces using **HTML**, **CSS**, and **JavaScript**, backend development for server-side operations, and full-stack development for proficiency in both. Database management, frameworks, and libraries streamline the process, and understanding web servers and deployment is crucial. Version control systems like Git help manage code changes. Web development ranges from static websites to dynamic applications, influencing how information and services are presented online.

## BROWSER:
 A browser, short for web browser, is a software application used to access and navigate the World Wide Web. It allows users to view web pages, interact with content, and access various online resources. Browsers interpret and render HTML (Hypertext Markup Language) files, which make up the majority of content on the Internet. Additionally, browsers support web technologies such as CSS (Cascading Style Sheets) for styling and JavaScript for interactive features.

## HTML - (Structure):
 HTML, or **Hypertext Markup Language**, is a fundamental markup language for creating the structure of web pages. It uses elements enclosed by tags to define various components like headings, paragraphs, links, and images. HTML documents are plain text files with .html or .htm extensions. 
Key features include:
Semantic structure.
Nesting for hierarchy.
Attributes for additional information.
A standard document structure.
HTML works alongside CSS for styling and JavaScript for interactivity, collectively serving as the foundation for web development.

## CSS - (Style):
 CSS, or **Cascading Style Sheets**, is a style sheet language for presenting and formatting HTML documents. It separates the structure of a web page from its presentation, allowing developers to control layout, colors, fonts, and spacing. CSS employs selectors to target HTML elements, properties to define styling aspects, and values to specify settings. The box model treats elements as rectangular boxes with properties like width, height, padding, border, and margin. CSS also incorporates concepts like selector hierarchy, specificity, and media queries for responsive design, enabling developers to enhance websites' visual appeal and responsiveness.

## JAVASCRIPT - (Functionality):
 JavaScript is a high-level programming language commonly used in web development to add dynamic and interactive elements to web pages. It operates on the client side, responding to user actions and manipulating the Document Object Model (DOM). JavaScript supports asynchronous programming for tasks like data fetching, and it includes features like functions, closures, and a rich ecosystem of frameworks and libraries. The language's versatility extends beyond web development, with applications in server-side development (Node.js), mobile app development (React Native), and various other domains.

## DOM:
 The **Document Object Model** (DOM) is a programming interface provided by browsers that represents the structure of a web document as a tree-like hierarchy. It allows dynamic access and manipulation of HTML or XML documents using languages like JavaScript. The DOM consists of nodes representing elements, attributes, and text organized in a tree structure. Developers can traverse and manipulate the DOM to dynamically update content, respond to user events, and create interactive web applications. The DOM facilitates real-time changes to a web page's structure and appearance without requiring a complete page reload.

## Frontend Developer:
 A Frontend Developer is a professional responsible for designing and implementing a website or web application's user interface and user experience. Frontend development focuses on the client side, the part of the web that users interact with directly. Frontend Developers work to ensure that a website's visual elements, layout, and interactivity are visually appealing but also functional and user-friendly.

## Backend Developer:
 A Backend Developer is a professional responsible for designing, building, and maintaining the server-side logic and infrastructure of a website or web application. Unlike frontend development, which focuses on the client side (what users see and interact with), backend development involves working with servers, databases, and application logic that occur behind the scenes.

## Full Stack Developer:
 A Full Stack Developer is a professional with expertise in front and backend development, capable of working on all aspects of a web application, from designing the user interface to managing server-side logic and databases. Full Stack Developers possess a broad skill set that enables them to contribute to various stages of the development process, making them versatile and well-suited for handling end-to-end development tasks.