Web development
4.12K subscribers
425 photos
31 videos
97 files
98 links
Web development learning path

Frontend and backend resources.

HTML, CSS, JavaScript, React, APIs and project ideas.

Join πŸ‘‰ https://rebrand.ly/bigdatachannels

DMCA: @disclosure_bds
Contact: @mldatascientist
Download Telegram
πŸš€ HTTP vs HTTPS: What’s the Difference?

Both are protocols used to transfer data between 
browser and server.

But the security level is completely different.


1️⃣ HTTP (HyperText Transfer Protocol) 🌐

Data is sent in plain text.

➀ How: Direct communication between client and server 
➀ Wins: Faster, no encryption overhead 
➀ Risk: Data can be intercepted (Man-in-the-Middle attack) 

Example:
http://example.com

2️⃣ HTTPS (HTTP Secure) πŸ”

HTTP + SSL/TLS encryption.

➀ How: Encrypts data before transmission 
➀ Wins: Secure login, safe payments, data protection 
➀ Risk: Slight overhead due to encryption 

Example:
https://example.com

πŸ’‘ Key Difference

HTTP β†’ No encryption 
HTTPS β†’ Encrypted communication 

Use HTTPS for production websites. 
Modern browsers mark HTTP sites as β€œNot Secure”.
❀3
Web development
πŸš€ A–Z of Full Stack Development πŸ“£Today we are launching A-Z Full Stack series breaking down different Full Stack concepts in a simple, practical, beginner friendly way. This are the topics we are going to coverπŸ‘‡ A - Authentication πŸ”  Verifying user identity…
πŸ”€ Z - Zero Downtime Deployment πŸ”„

Zero Downtime Deployment means updating an application without stopping it πŸš€

In simple words 
Users keep using the app 
even while a new version is being deployed 🧠

Without zero downtime deployment ❌ 
β€’ App goes offline 
β€’ Users face interruptions 
β€’ Business impact increases 

🧠 Why Zero Downtime Matters
β€’ Better user experience 😊 
β€’ No service interruption 
β€’ Safer updates 
β€’ Professional production systems 

🌍 Where It Is Used
β€’ Large scale web applications 
β€’ Banking and finance systems 
β€’ E commerce platforms 
β€’ SaaS products 

πŸ”„ Common Zero Downtime Strategies
β€’ Blue Green deployment πŸ”΅πŸŸ’ 
β€’ Rolling updates πŸ” 
β€’ Canary releases 🐦 
β€’ Load balancer switching βš–οΈ 

πŸ’» Example: Rolling Update Concept

Old version running
New version deployed gradually
Traffic shifted step by step
Old version removed



🚨 This Wraps up our long series.
πŸ‘ Thank you for following along!
πŸ’¬ If you have any requests or comments, comment below.
πŸ‘3❀2
βœ… Set Up Your Code Editor & Browser Dev Tools πŸ› οΈπŸŒ

Before building websites, you need a solid environment. Here's how to set up everything as a beginner:

πŸ”Ή 1. Code Editor: VS Code (Visual Studio Code) 
VS Code is the most beginner-friendly and powerful editor used by most web developers.

➀ Steps to Set Up: 
1️⃣ Download & install from code.visualstudio.com 
2️⃣ Open VS Code β†’ Go to Extensions tab (left sidebar) 
3️⃣ Install these must-have extensions:
⦁  Live Server – Auto-refresh browser when you save
⦁  Prettier – Format your code neatly
⦁  HTML CSS Support – Boosts suggestions & auto-complete
⦁  Auto Rename Tag – Edits both opening and closing tags
⦁  Path Intellisense – Autocomplete file paths

➀ Settings to Tweak (optional):
⦁  Font size, tab spacing
⦁  Theme: Dark+ (default) or install others like Dracula

πŸ”Ή 2. Browser: Chrome or Firefox 
Use a modern browser with strong developer tools β€” Google Chrome is highly recommended.

➀ How to Open DevTools: 
Right-click on any webpage β†’ Inspect 
or press Ctrl+Shift+I (Windows) / Cmd+Opt+I (Mac)

➀ Key DevTools Tabs:
⦁  Elements – Inspect & edit HTML/CSS live
⦁  Console – View JavaScript logs & errors
⦁  Network – Monitor page load and API calls
⦁  Responsive View – Test your site on mobile/tablets 
   (Click the phone+tablet icon on the top-left)

πŸ’‘ Pro Tip: 
Use Live Server in VS Code + DevTools in Chrome side-by-side for real-time preview & debugging. This workflow saves hours!
❀5
Forwarded from Programming Quiz Channel
Which vulnerability allows script injection in browsers?
Anonymous Quiz
54%
XSS
22%
SQLi
10%
SSRF
13%
CSRF
πŸš€ Client-Side Rendering vs Server-Side Rendering

Both are ways to render web pages. 
But they differ in where the HTML is generated.


1️⃣ Client-Side Rendering (CSR) πŸ–₯️

Browser renders the page using JavaScript.

➀ How: Server sends minimal HTML + JS bundle 
➀ Browser builds UI after loading JS 
➀ Wins: Smooth user experience after first load 
➀ Risk: Slower initial load, SEO challenges 

Flow:
User β†’ Server sends JS β†’ Browser renders page

Used in:
React (SPA), Vue, Angular


2️⃣ Server-Side Rendering (SSR) 🌐

Server generates full HTML before sending it.

➀ How: Server processes request and returns ready HTML 
➀ Wins: Faster first paint, better SEO 
➀ Risk: Higher server load 

Flow:
User β†’ Server renders HTML β†’ Browser displays instantly

Used in:
Next.js, Nuxt.js, traditional backend frameworks


πŸ’‘ Key Difference

CSR β†’ Rendering happens in the browser 
SSR β†’ Rendering happens on the server 

CSR = Better interactivity after load 
SSR = Better SEO & initial performance
❀4
Today, let's start with the first topic in the Web Development Roadmap:

βœ… How the Web Works 🌐πŸ“₯

πŸ“Œ 1. What happens when you type a URL in your browser? 
▢️ Example: You type www.google.com and hit Enter.

Here’s what happens:

1️⃣ Browser Sends a Request 
Your browser sends a request to the server where the website is stored. This is called an HTTP request.

2️⃣ DNS Resolves the Address 
DNS (Domain Name System) turns www.google.com into an IP address like 142.250.64.78, so it knows where to send the request.

3️⃣ Server Receives the Request 
The server is a computer that stores the website’s files. It processes the request and sends back the HTML, CSS, and JS files.

4️⃣ Browser Displays the Page 
Your browser reads those files and renders the website for you to see.

πŸ“Œ 2. Key Concepts You Should Know

🧠 Client 
Your browser (like Chrome) is the client – it requests the website.

🧠 Server 
The machine that holds the website and responds to your request.

🧠 HTTP 
A protocol – like a language – that browsers and servers use to talk. 
➑️ Example:
⦁ GET – asking for a webpage
⦁ POST – sending form data

🧠 HTML, CSS, JavaScript
⦁ HTML: Gives structure (e.g., headings, paragraphs)
⦁ CSS: Adds style (e.g., colors, layout)
⦁ JS: Adds interaction (e.g., clicks, animations)

πŸ“Œ Example Flow:

You type: www.example.com 
↓ 
DNS converts it to IP: 93.184.216.34 
↓ 
Your browser sends an HTTP GET request 
↓ 
Server responds with HTML, CSS, JS 
↓ 
Browser renders the page for you!

πŸ’‘ Every time you visit a website or build one, this process is happening behind the scenes. As a web developer, understanding it helps you debug issues and write better code!
πŸ‘3
Forwarded from Programming Quiz Channel
Which HTTP mechanism upgrades a connection for real-time communication?
Anonymous Quiz
9%
Pooling
77%
WebSocket
6%
Caching
9%
Cookies
❀2
βœ… Full-Stack Development Basics You Should Know πŸŒπŸ’‘

1️⃣ What is Full-Stack Development?
Full-stack dev means working on both the frontend (client-side) and backend (server-side) of a web application. πŸ”„

2️⃣ Frontend (What Users See)
Languages & Tools:
- HTML – Structure πŸ—οΈ
- CSS – Styling 🎨
- JavaScript – Interactivity ✨
- React.js / Vue.js – Frameworks for building dynamic UIs βš›οΈ

3️⃣ Backend (Behind the Scenes)
Languages & Tools:
- Node.js, Python, PHP – Handle server logic πŸ’»
- Express.js, Django – Frameworks βš™οΈ
- Database – MySQL, MongoDB, PostgreSQL πŸ—„οΈ

4️⃣ API (Application Programming Interface)
- Connect frontend to backend using REST APIs 🀝
- Send and receive data using JSON πŸ“¦

5️⃣ Database Basics
- SQL: Structured data (tables) πŸ“Š
- NoSQL: Flexible data (documents) πŸ“„

6️⃣ Version Control
- Use Git and GitHub to manage and share code πŸ§‘β€πŸ’»

7️⃣ Hosting & Deployment
- Host frontend: Vercel, Netlify πŸš€
- Host backend: Render, Railway, Heroku ☁️

8️⃣ Authentication
- Implement login/signup using JWT, Sessions, or OAuth πŸ”
❀2
🌐 JavaScript Promises & Async/Await (Asynchronous Code) ⏳

Asynchronous programming allows your code to run tasks in the background (like fetching data from an API) without freezing the entire website.

πŸ‘‰ Understanding this is the key to mastering data fetching and complex frontend logic.

πŸ”Ή 1. What is a Promise?

A Promise is a placeholder for a value that will be available in the future. Think of it like a buzzer at a restaurant: you don't have your food yet, but you have a "promise" that it's coming.

A Promise has 3 states:
β€’ Pending: Still waiting for the result.
β€’ Resolved (Fulfilled): Task finished successfully! βœ…
β€’ Rejected: Something went wrong. ❌

πŸ”Ή 2. The Old Way: .then() and .catch()

Before 2017, we handled promises by "chaining" functions. While it works, it can get messy (known as "callback hell").

Example:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => print(data))
.catch(error => print("Error found!"));


πŸ”Ή 3. The Modern Way: async and await

This is the industry standard. It makes asynchronous code look and behave like normal, top-to-bottom code.

β€’ async: Put this before a function to tell JS it contains asynchronous code.
β€’ await: Put this before a promise to tell JS "wait here until the data arrives."

Example:
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
print(data);
}


πŸ”Ή 4. Handling Errors with try...catch

When using async/await, we use a try...catch block to handle errors gracefully (like a lost internet connection or a 404 error).

Example:
async function safeFetch() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
print(data);
} catch (error) {
print("Network error or invalid API!");
}
}


πŸ”Ή 5. Why is this important?

β€’ User Experience: Your site stays interactive while loading data.
β€’ Performance: You can fetch multiple pieces of data at the same time.
β€’ Clean Code: async/await is much easier to read and maintain than old-school callbacks.

🎯 What you should do

βœ”οΈ Understand the 3 states of a Promise
βœ”οΈ Master the async and await keywords
βœ”οΈ Learn to handle API errors using try...catch
❀4
Forwarded from Programming Quiz Channel
Which distributed database technique improves read performance globally?
Anonymous Quiz
35%
Normalization
18%
Encryption
25%
Replication
22%
Serialization
🌐 Understanding CORS (The "CORS Error") πŸ”’

If you’ve ever tried to fetch data from an API and seen a giant red error in your console saying "Blocked by CORS policy," you aren’t alone. It is one of the most common and frustrating hurdles for web developers.

πŸ‘‰ Understanding CORS is essential for connecting your frontend to any backend or third-party service.

πŸ”Ή 1. What is CORS?

CORS stands for Cross-Origin Resource Sharing. It is a security feature built into web browsers that controls how a website on one "origin" (domain) can interact with resources on another origin.

β€’ Origin A: https://my-cool-site.com
β€’ Origin B: https://api.external-data.com

By default, browsers block Origin A from reading data from Origin B for security reasons.

πŸ”Ή 2. Why does it exist? (Same-Origin Policy)

Browsers use the Same-Origin Policy. This prevents a malicious website from making requests to your bank’s website or your email while you are logged in. Without CORS, any site you visit could try to "impersonate" you to steal your data.

πŸ”Ή 3. How it Works: The "Handshake"

When your frontend makes a request to a different domain, the browser does a quick check:
1. The Preflight: For certain requests, the browser sends an OPTIONS request first.
2. The Question: "Hey API, are you okay with my-cool-site.com asking for this data?"
3. The Answer: If the API says "Yes," the actual data is sent. If not, you get the dreaded CORS Error.

πŸ”Ή 4. The Key Header: Access-Control-Allow-Origin

This is the magic header that solves the problem. It is sent by the Server (Backend) to tell the browser which origins are allowed to access the data.

β€’ Access-Control-Allow-Origin: * (Allows everyone - use with caution!)
β€’ Access-Control-Allow-Origin: https://my-app.com (Allows only your app - Secure! βœ…)

πŸ”Ή 5. How to Fix a CORS Error

Crucial Note: You usually cannot fix a CORS error in your frontend code (JavaScript). The fix must happen on the Server side.

β€’ In Node/Express: Use the cors middleware.
β€’ In Python/Django: Use django-cors-headers.
β€’ In PHP/Laravel: Update the cors.php config file.


🫠 Don’t panic when you see a CORS error! It just means your backend needs to "invite" your frontend to the party.

🎯 What you should do

βœ”οΈ Understand that CORS is a browser security feature
βœ”οΈ Realize that the backend must "allow" the frontend domain
βœ”οΈ Identify the Access-Control-Allow-Origin header as the solution
πŸ‘3
Forwarded from Programming Quiz Channel
In web development, what problem does CORS address?
Anonymous Quiz
6%
Database indexing
15%
Caching performance
73%
Cross-origin requests
6%
Authentication
πŸš€ REST vs GraphQL

Both are used to build APIs. 
But they handle data fetching differently.


1️⃣ REST (Representational State Transfer) 🌐

Uses multiple endpoints to access resources.

➀ How: Each resource has a fixed URL 
➀ Example: 
   GET /users 
   GET /users/1 
➀ Wins: Simple, widely adopted 
➀ Risk: Over-fetching or under-fetching data 

Problem:
Client may receive more data than needed.


2️⃣ GraphQL ⚑

Uses a single endpoint for all requests.

➀ How: Client specifies exactly what data it needs 
➀ Example:
{
  user(id: 1) {
    name
    email
  }
}

➀ Wins: No over-fetching, flexible queries 
➀ Risk: More complex setup 


πŸ’‘ Key Difference

REST β†’ Multiple endpoints, fixed responses 
GraphQL β†’ Single endpoint, flexible responses 

REST = Server defines structure 
GraphQL = Client defines structure 

Choose based on project complexity.
❀3πŸ‘1
βœ… CRUD Operations in Back-End Development πŸ› οΈπŸ“¦

Now that you’ve built a basic server, let’s take it a step further by adding full CRUD functionality β€” the foundation of most web apps.

πŸ” What is CRUD?

CRUD stands for:

⦁ C reate β†’ Add new data (e.g., new user)
⦁ R ead β†’ Get existing data (e.g., list users)
⦁ U pdate β†’ Modify existing data (e.g., change user name)
⦁ D elete β†’ Remove data (e.g., delete user)

These are the 4 basic operations every back-end should support.

πŸ§ͺ Let’s Build a CRUD API

We’ll use the same setup as before (Node.js + Express) and simulate a database with an in-memory array.

Step 1: Setup Project (if not already)

npm init -y
npm install express


Step 2: Create server.js

const express = require('express');
const app = express();
const port = 3000;

app.use(express.json()); // Middleware to parse JSON

let users = [
  { id: 1, name: 'Alice'},
  { id: 2, name: 'Bob'}
];

// READ - Get all users
app.get('/users', (req, res) => {
  res.json(users);
});

// CREATE - Add a new user
app.post('/users', (req, res) => {
  const newUser = {
    id: users.length + 1,
    name: req.body.name
  };
  users.push(newUser);
  res.status(201).json(newUser);
});

// UPDATE - Modify a user
app.put('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  const user = users.find(u => u.id === userId);
  if (!user) return res.status(404).send('User not found');
  user.name = req.body.name;
  res.json(user);
});

// DELETE - Remove a user
app.delete('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  users = users.filter(u => u.id!== userId);
  res.sendStatus(204);
});

app.listen(port, () => {
  console.log(`CRUD API running at http://localhost:${port}`);
});


Step 3: Test Your API

Use tools like Postman or cURL to test:

⦁ GET /users β†’ List users
⦁ POST /users β†’ Add user { "name": "Charlie"}
⦁ PUT /users/1 β†’ Update user 1’s name
⦁ DELETE /users/2 β†’ Delete user 2

🎯 Why This Matters

⦁ CRUD is the backbone of dynamic apps like blogs, e-commerce, social media, and more
⦁ Once you master CRUD, you can connect your app to a real database and build full-stack apps

Next Steps

⦁ Add validation (e.g., check if name is empty)
⦁ Connect to MongoDB or PostgreSQL
⦁ Add authentication (JWT, sessions)
⦁ Deploy your app to the cloud

πŸ’‘ Pro Tip: Try building a Notes app or a Product Inventory system using CRUD!
πŸš€ Authentication vs Authorization

Both are security concepts. 
But they solve different problems.


1️⃣ Authentication (Who are you?) πŸ”

Verifies the identity of a user.

➀ How: Username & password, OTP, biometrics, OAuth 
➀ Wins: Confirms user identity 
➀ Example: Logging into your account 

Flow:
User β†’ Login β†’ Server verifies credentials β†’ Access granted


2️⃣ Authorization (What can you do?) πŸ›‘οΈ

Determines what actions a user is allowed to perform.

➀ How: Roles, permissions, access control rules 
➀ Wins: Restricts access to resources 
➀ Example: Admin can delete users, normal user cannot 

Flow:
Authenticated user β†’ Check role β†’ Allow / Deny action


πŸ’‘ Key Difference

Authentication β†’ Verifies identity 
Authorization β†’ Grants permissions 

Authentication happens first. 
Authorization happens after.
πŸ‘3
Forwarded from Programming Quiz Channel
Which company originally created Typescript?
Anonymous Quiz
37%
Google
20%
Facebook
7%
Amazon
37%
Microsoft
πŸ”₯5
Forwarded from Programming Quiz Channel
Which protocol secures HTTP traffic?
Anonymous Quiz
56%
TLS
24%
FTP
18%
UDP
2%
ARP
❀2
Forwarded from Programming Quiz Channel
Which web technology allows a browser to update content without reloading the entire page?
Anonymous Quiz
30%
HTTP/2
58%
AJAX
10%
SMTP
3%
CSS Grid
πŸ‘4❀1