<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Niladri Banerjee</title>
    <description>The latest articles on DEV Community by Niladri Banerjee (@niladri_banerjee_98).</description>
    <link>https://dev.to/niladri_banerjee_98</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3510327%2F5bc32099-ec68-4ff6-8f14-600d9d755729.jpg</url>
      <title>DEV Community: Niladri Banerjee</title>
      <link>https://dev.to/niladri_banerjee_98</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/niladri_banerjee_98"/>
    <language>en</language>
    <item>
      <title>Day 4: Learning JavaScript by Step By Step</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Wed, 29 Oct 2025 13:08:34 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/day-4-learning-javascript-by-step-by-step-35n6</link>
      <guid>https://dev.to/niladri_banerjee_98/day-4-learning-javascript-by-step-by-step-35n6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Intro to JS&lt;/strong&gt;&lt;br&gt;
In JavaScript, var, let, and const are keywords used to declare variables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;var:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Scope:&lt;/em&gt; var declarations are function-scoped or globally-scoped. This means a variable declared with var is accessible throughout the entire function it's declared in, or globally if declared outside any function.&lt;br&gt;
&lt;em&gt;Hoisting:&lt;/em&gt; var declarations are hoisted, meaning their declarations are moved to the top of their containing scope during compilation. However, their assignments are not hoisted. This can lead to unexpected behavior if you try to use a var variable before its assignment.&lt;br&gt;
&lt;em&gt;Reassignment and Redeclaration:&lt;/em&gt; var variables can be reassigned and redeclared within the same scope without error. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dmyd0qzqcruged53hsh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dmyd0qzqcruged53hsh.png" alt=" " width="800" height="96"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;let:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Scope:&lt;/em&gt; let declarations are block-scoped. This means a variable declared with let is only accessible within the block (e.g., if statement, for loop, or any {} block) where it's defined.&lt;br&gt;
&lt;em&gt;Hoisting:&lt;/em&gt; let declarations are also hoisted, but they are in a "temporal dead zone" until their declaration line is executed. This prevents using a let variable before its declaration, leading to a Reference Error.&lt;br&gt;
&lt;em&gt;Reassignment and Redeclaration:&lt;/em&gt; let variables can be reassigned but cannot be redeclared within the same scope.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3py7xaf0ku5kjwigcut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr3py7xaf0ku5kjwigcut.png" alt=" " width="800" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;const:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Scope:&lt;/em&gt; const declarations are also block-scoped, similar to let.&lt;br&gt;
&lt;em&gt;Hoisting:&lt;/em&gt; Like let, const declarations are hoisted but are in a temporal dead zone until declared.&lt;br&gt;
&lt;em&gt;Reassignment and Redeclaration:&lt;/em&gt; const variables cannot be reassigned or redeclared after their initial assignment. This makes them suitable for values that should remain constant throughout the program. However, if a const variable holds an object or array, the properties or elements of that object/array can be modified, but the const variable itself cannot be reassigned to a different object or array.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwjwkyciitnjpw0kc6b0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwjwkyciitnjpw0kc6b0.png" alt=" " width="800" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Datatypes in JS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let a = 123; // number
let b = "Hello World"; // string
let c = true; // boolean
let d = null; // null
let e; // undefined
let f = { name: "Niladri", age: "26"}; // object
let g = [1,2,3,4,5]; // array

console.log("Value of a:", a, "Type of a:", typeof a);
console.log("Value of b:", b, "Type of b:", typeof b);
console.log("Value of c:", c, "Type of c:", typeof c);
console.log("Value of d:", d, "Type of d:", typeof d);
console.log("Value of e:", e, "Type of e:", typeof e);
console.log("Value of f:", f, "Type of f:", typeof f);
console.log("Value of g:", g, "Type of g:", typeof g);


let v1 = 12;
console.log("Values of v1:",v1);
console.log("Values of v1:",(v1+1));
v2 = "12";
console.log("Values of v2: ",v2);
console.log("See what happens:",(v2+1)) // concatenation occurs because v2 is a string 
console.log("Mathematical result:", (Number(v2) + 1)); // Output: 13 explisit conversion from string to number.
console.log("Mathematical result:", (parseInt(v2) + 1)); // Output: 13 explisit conversion from string to number.
console.log("Mathematical result:", (v1.toString() + 1)); // Output: "121" explicit conversion from number to string.


let a1 = "100"; // string
console.log("Type of a1:", typeof a1);
console.log("Value of the variable: ", a1);
console.log("Value of the variable: ", Number(a1)); // explicit conversion from string to number
console.log("Type after conversion:", typeof Number(a1));


let a2= "Niladri"; // string
console.log("Type of a1:", typeof a2)
console.log("Value of the variable: ", a2)
console.log("Value of the variable: ", Number(a2));// explicit conversion from string to number //NAN
// NaN stands for Not a Number because a2 is assigned by the string "Niladri" which cannot be converted to a number.
console.log("Type after conversion:", typeof Number(a2));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Value of a: 123 Type of a: number
Value of b: Hello World Type of b: string
Value of c: true Type of c: boolean
Value of d: null Type of d: object
Value of e: undefined Type of e: undefined
Value of f: { name: 'Niladri', age: '26' } Type of f: object
Value of g: [ 1, 2, 3, 4, 5 ] Type of g: object
Values of v1: 12
Values of v1: 13
Values of v2:  12
See what happens: 121
Mathematical result: 13
Mathematical result: 13
Mathematical result: 121
Type of a1: string
Value of the variable:  100
Value of the variable:  100
Type after conversion: number
Type of a1: string
Value of the variable:  Niladri
Value of the variable:  NaN
Type after conversion: number

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Operation in JS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const a = 10;
const b = 5;

// Addition
const sum = a + b;
console.log("Addition:", sum); //15
//increment
let C = 10;
console.log("Value of C ", C);//10
console.log("Value of C++", C++); //10 // Post increment
console.log("Value of C after C++", C)// 11
console.log("Value of ++C", ++C); // 12 // Pre increment
console.log("Value of C after ++C", C); //12
//decrement
let d = 10;
console.log("Value of d ", d);//10
console.log("Value of d--", d--); //10 // Post decrement
console.log("Value of d after d--", d)// 9
console.log("Value of --d", --d); // 8 // pre increment
console.log("Value of d after --d", d); //8
//Exponantial
C = 2; d = 3;
const result = C ** d; // 2 ^ 3 = 8
console.log("Exponantial", result);
//shortcut operator
C = C + d; 
console.log("C+b = ", C); // 5
C += d;
console.log("shortcut", C); // 8

// logical operators

const g = true;
const f = true;
const result1 = g &amp;amp;&amp;amp; f;
console.log("result1 :: g &amp;amp;&amp;amp; f", result1); // true when both are true
const result2 = g || f;
console.log("result2 :: g || f", result2); // false when both are false
console.log(!g); // Not operator


// = Assignment
//== Equals to
// !== Not equals to
// === Strict equals
// !=== Not strict equals

let j = 5, k = "5"; // values are sae but not the datatypes

console.log("Equals ", j == k); // true because both values are same and this neglates the datatype.
console.log ("Strict Equals ",  j === k); // False because both are different datatypes.
console.log("Not Equals ", j != k); // not equals to
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Addition: 15
Value of C  10
Value of C++ 10
Value of C after C++ 11
Value of ++C 12
Value of C after ++C 12
Value of d  10
Value of d-- 10
Value of d after d-- 9
Value of --d 8
Value of d after --d 8
Exponantial 8
C+b =  5
shortcut 8
result1 :: g &amp;amp;&amp;amp; f true
result2 :: g || f true
false
Equals  true
Strict Equals  false
Not Equals  false

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;If-Else in JS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let candidateage = 75;

if (candidateage &amp;gt;= 18) {
    if (candidateage &amp;gt; 80) {
        console.log("This candidate is very experienced and too old to vote comfortably");
    } 
    else if (candidateage &amp;gt;= 60) {
        console.log("This candidate is a senior citizen");
    } 
    else {
        console.log("This is a young citizen to vote");
    }

    console.log("This candidate can vote :&amp;gt;");
} 
else {
    console.log("This candidate cannot vote.");
}


candidateage = 75; //nested ternary operator

console.log(
    candidateage &amp;gt;= 18
        ? candidateage &amp;gt; 80
            ? "This candidate is very experienced and too old to vote comfortably"
            : candidateage &amp;gt;= 60
                ? "This candidate is a senior citizen"
                : "This is a young citizen to vote"
        : "This candidate cannot vote."
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;This candidate is a senior citizen
This candidate can vote :&amp;gt;
This candidate is a senior citizen

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Switch Case&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let candidateage = 75;

switch (true) {
    case (candidateage &amp;lt; 18):
        console.log("This candidate cannot vote.");
        break;

    case (candidateage &amp;gt;= 18 &amp;amp;&amp;amp; candidateage &amp;lt; 60):
        console.log("This is a young citizen to vote");
        break;

    case (candidateage &amp;gt;= 60 &amp;amp;&amp;amp; candidateage &amp;lt;= 80):
        console.log("This candidate is a senior citizen");
        break;

    case (candidateage &amp;gt; 80):
        console.log("This candidate is very experienced and too old to vote comfortably");
        break;

    default:
        console.log("Invalid age input.");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;``&lt;br&gt;
This candidate is a senior citizen&lt;/p&gt;

&lt;p&gt;=== Code Execution Successful ===&lt;br&gt;
``&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loops in jS&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (let i = 1; i &amp;lt;= 5; i++) {
    console.log("For Loop Count:", i);
}

i = 1;
while (i &amp;lt;= 5) {
    console.log("While Loop Count:", i);
    i++;
}

let j = 1;
do {
    console.log("Do While Loop Count:", j);
    j++;
} while (j &amp;lt;= 5);


for (let k = 1; k &amp;lt;= 5; k++) {
    if (k === 3) {
        continue; // Skip 3
    }
    console.log("Continue Example:", k);
}


for (let m = 1; m &amp;lt;= 5; m++) {
    if (m === 3) {
        break; // Stop loop when m = 3
    }
    console.log("Break Example:", m);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;For Loop Count: 1
For Loop Count: 2
For Loop Count: 3
For Loop Count: 4
For Loop Count: 5
While Loop Count: 1
While Loop Count: 2
While Loop Count: 3
While Loop Count: 4
While Loop Count: 5
Do While Loop Count: 1
Do While Loop Count: 2
Do While Loop Count: 3
Do While Loop Count: 4
Do While Loop Count: 5
Continue Example: 1
Continue Example: 2
Continue Example: 4
Continue Example: 5
Break Example: 1
Break Example: 2

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Array *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let StudentArray = ["abc", "xyz", "hjk", 123, true, function dummyfunc() {console.log ("Dummy function");}, {name: "Niladri", age: 26}]; 

console.log(StudentArray[4]);
for(let i=0; i &amp;lt; StudentArray.length; i++)
{
    console.log("StudentArray[",i,"] element is -&amp;gt; ", StudentArray[i]);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;true
StudentArray[ 0 ] element is -&amp;gt;  abc
StudentArray[ 1 ] element is -&amp;gt;  xyz
StudentArray[ 2 ] element is -&amp;gt;  hjk
StudentArray[ 3 ] element is -&amp;gt;  123
StudentArray[ 4 ] element is -&amp;gt;  true
StudentArray[ 5 ] element is -&amp;gt;  [Function: dummyfunc]
StudentArray[ 6 ] element is -&amp;gt;  { name: 'Niladri', age: 26 }

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array1= [1,2,3,4,5,6];
console.log (array1);

let array2 = array1; // only the reference will be shared.
console.log(array2);

array2[2] = 10; // change the array1 too for the reference
console.log(array2);
console.log(array1);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 10, 4, 5, 6 ]
[ 1, 2, 10, 4, 5, 6 ]

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;console.log(array2.indexOf(10)); // indexOf(element of array) gives the exact index number.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let StudentArray = [
    "abc",
    "xyz",
    "hjk",
    123,
    true,
    function dummyfunc() {
        console.log("Dummy function");
    },
    { name: "Niladri", age: 26 }
];

console.log(StudentArray[4]);  // prints: true

for (let i = 0; i &amp;lt; StudentArray.length; i++) 
{
    console.log("StudentArray[", i, "] element is -&amp;gt;", StudentArray[i] , StudentArray.indexOf(StudentArray[i]));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;true
StudentArray[ 0 ] element is -&amp;gt; abc 0
StudentArray[ 1 ] element is -&amp;gt; xyz 1
StudentArray[ 2 ] element is -&amp;gt; hjk 2
StudentArray[ 3 ] element is -&amp;gt; 123 3
StudentArray[ 4 ] element is -&amp;gt; true 4
StudentArray[ 5 ] element is -&amp;gt; [Function: dummyfunc] 5
StudentArray[ 6 ] element is -&amp;gt; { name: 'Niladri', age: 26 } 6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Check if the element is in the array or not.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;_includes() _&lt;/strong&gt;-&amp;gt; This function will help to understand that the element is in the array or not.&lt;br&gt;
This will return Boolean values ( True for element present, False for the element not present )&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(StudentArray.includes("abc"));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;&lt;br&gt;
true&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Push new element in array&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;StudentArray.push("Laptop"); // add data to the end of the array
console.log(StudentArray);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  'abc',
  'xyz',
  'hjk',
  123,
  true,
  [Function: dummyfunc],
  { name: 'Niladri', age: 26 },
  'Laptop'
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now If we want to add a new element at the start of the array then we need &lt;strong&gt;unshift()&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;StudentArray.unshift("Desktop");
console.log(StudentArray);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  'Desktop',
  'abc',
  'xyz',
  'hjk',
  123,
  true,
  [Function: dummyfunc],
  { name: 'Niladri', age: 26 }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete the end object of the array we have &lt;strong&gt;pop()&lt;/strong&gt; function which will delete the last element.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = [1,2,3,4,5,6,7,8,9,10];
array.pop(); // Correctly calls pop() on 'array'
console.log(array);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  1, 2, 3, 4, 5, 6, 7, 8, 9
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete the first object of the array we have &lt;strong&gt;shift()&lt;/strong&gt; function which will delete the first element.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = [1,2,3,4,5,6,7,8,9,10];
array.shift(); // Correctly calls shift() on 'array'
console.log(array);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  2, 3, 4,  5, 6, 7, 8, 9, 10
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sort the array using &lt;strong&gt;sort()&lt;/strong&gt; function,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = [7,8,12,45,12,334,2,678];
array.sort((a, b) =&amp;gt; a - b); // Uses a comparison function for numerical sort
console.log(array);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[2, 7, 8, 12, 12, 45, 334, 678]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Function&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; //Function Def

function Addition (r , k) // Named function
{
    const result = r + k;
    console.log("Print result::", result);
}

//Function Call
Addition(10,12);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;// Anonymous function and the / Function expression&lt;/p&gt;

&lt;p&gt;//Anonymous Function Def&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let Addition = function  (r , k) // No proper def
{
    const result = r + k;
    console.log("Print result::", result);
    return result;
}

//Anonymous Function Call
console.log(Addition(10,12));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Nested Function&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function AddSquare (x,y)
{
    x = Square (x);
    y = Square(y);
    function Square (num)
    {
        return num * num;
    }
    return (x+y);
}

console.log(AddSquare(2,2));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Advanced Function in Js&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Named function
function greet ()
{
    console.log("Hey everyone !!");
}
greet();

// Anonymous function
let c2 = function ()
{
    console.log ("Hello everyone!!");
}
c2();

// Arrow Function 

const c3 = ()=&amp;gt; 
{
    console.log("Hello Hello guys !!");
}
c3();

// Arrow function parameter

const c4 = (count) =&amp;gt; 
{
    console.log("Hey there !!",count);
}
c4(2);


// Can write arrow function easily 

const c5 = (count) =&amp;gt; count + 1; // automatically return
console.log(c5(5));
console.log(c5(9));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Hey everyone !!&lt;br&gt;
Hello everyone!!&lt;br&gt;
Hello Hello guys !!&lt;br&gt;
Hey there !! 2&lt;br&gt;
6&lt;br&gt;
10&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function return as object&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Function that calculates sum and difference
const calculate = (a, b) =&amp;gt; {
    const sum = a + b;
    const difference = a - b;

    // Returns a single object containing both results
    return { 
        total: sum, 
        remainder: difference 
    };
};

// Use object destructuring to unpack the results
const { total, remainder } = calculate(10, 4);

console.log(`Sum is: ${total}`); // Output: Sum is: 14
console.log(`Difference is: ${remainder}`); // Output: Difference is: 6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sum is: 14
Difference is: 6

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Call Back function
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Using arrow method&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let calculation = (a, b, operation) =&amp;gt; 
{
    return operation (a,b);
}

console.log (calculation (2,3,(n1,n2) =&amp;gt;
{
    return n1 + n2;
}));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Using Anonymous method&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let calculation = (a, b, operation) =&amp;gt; 
{
    return operation (a,b);
}

console.log (calculation (2,3, function (n1,n2)
{
    return n1 + n2;
}));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
Result will be 5 for both.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/**
 * Higher-Order Function: 'calculate'
 * This function accepts two numbers (a, b) and a function (operation), 
 * and executes the 'operation' function using the numbers.
 */
const calculate = (a, b, operation) =&amp;gt; {
    return operation(a, b);
}

// --- Method 1: Anonymous Function Callback (Addition) ---
// The function is defined directly inside the 'calculate' call.
const summation = calculate(2, 3, function(n1, n2) {
    return n1 + n2
});

console.log(`Sum (Anonymous Function): ${summation}`); // Output: 5


// --- Method 2: Named Function Callback (Subtraction) ---
// The function is defined separately with a name and then passed by reference.
function sub(a, b) {
    return a - b
}
const subtraction = calculate(2, 3, sub);

console.log(`Difference (Named Function): ${subtraction}`); // Output: -1


// --- Method 3: Arrow Function Callback (Multiplication) ---
// The function is defined using concise arrow function syntax.
const mul = (a, b) =&amp;gt; a * b;
const multiplication = calculate(2, 3, mul);

console.log(`Product (Arrow Function): ${multiplication}`); // Output: 6


// --- Alternative: Inline Calculation (Same as Method 1) ---
// The result can also be logged directly without using an intermediate variable.
console.log(`Inline Division: ${calculate(10, 5, (x, y) =&amp;gt; x / y)}`); // Output: 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Array iteration&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [2,3,4,5,6,-7,-8,-9];

arr.forEach((num,index) =&amp;gt;
{
    console.log("Element: ", num , "Index : ", index);
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Element:  2 Index :  0
Element:  3 Index :  1
Element:  4 Index :  2
Element:  5 Index :  3
Element:  6 Index :  4
Element:  -7 Index :  5
Element:  -8 Index :  6
Element:  -9 Index :  7

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Call Back Hell&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/**
 * Asynchronous Callback Chaining (Callback Hell Demo)
 * * This example simulates three sequential asynchronous tasks 
 * using setTimeout to delay execution. Each function takes a 
 * callback that is responsible for starting the next task.
 */

// --- 1. First Task: Get Candies ---
function getCandies(callback1) {
    // Simulate an async operation that takes 3 seconds (3000ms)
    setTimeout(() =&amp;gt; {
        const candies = "🍬";
        console.log("In our getCandies method, received:", candies);

        // Pass the result to the next function (callback1)
        callback1(candies);

        // Note: Returning 'candies' here would not work due to setTimeout's asynchronous nature.
    }, 3000);
}

// --- 2. Second Task: Hand Over Keys ---
function handOverKeys(candies, callback2) {
    // Simulate an async operation that takes 3 seconds (3000ms)
    setTimeout(() =&amp;gt; {
        const keys = candies + "🔑"; // Append the key to the candies
        console.log("In our handOverKeys method, received:", keys);

        // Pass the cumulative result to the next function (callback2)
        callback2(keys);
    }, 3000);
}

// --- 3. Third Task: Onboarding ---
function onboarding(keys, callback3) {
    // Simulate an async operation that takes 3 seconds (3000ms)
    setTimeout(() =&amp;gt; {
        const onboarded = keys + "📋"; // Append the clipboard/onboarded symbol
        console.log("In our onboarding method, received:", onboarded);

        // Pass the final result to the final callback (callback3)
        callback3(onboarded);
    }, 3000);
}


// ------------------------------------------------------------------
// --- Execution: Creating the Callback Chain (The "Pyramid") ---
// ------------------------------------------------------------------

console.log("Start of execution. All tasks will take 3 seconds each.");

getCandies((candies) =&amp;gt; {
    // After 3 seconds (Task 1 finishes), this callback runs
    handOverKeys(candies, (keys) =&amp;gt; {
        // After 6 seconds (Task 2 finishes), this nested callback runs
        onboarding(keys, (onboarded) =&amp;gt; {
            // After 9 seconds (Task 3 finishes), this innermost callback runs
            console.log("-----------------------------------------");
            console.log("✅ Final Result: Welcome to our restaurant! You have the following items:", onboarded);
            console.log("-----------------------------------------");
        })
    })
});

// The next line runs immediately, before any of the asynchronous functions
console.log("Execution queue started. Waiting for results...");

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Start of execution. All tasks will take 3 seconds each.
Execution queue started. Waiting for results...
In our getCandies method, received: 🍬
In our handOverKeys method, received: 🍬🔑
In our onboarding method, received: 🍬🔑📋
-----------------------------------------
✅ Final Result: Welcome to our restaurant! You have the following items: 🍬🔑📋
-----------------------------------------

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Promises in Js&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/**
 * Asynchronous Promise Chaining (Cleaner Code)
 * * This example refactors the previous sequential tasks to use Promises, 
 * which makes the asynchronous flow linear and much easier to read.
 * * Each function now returns a Promise that resolves when the task is complete.
 */

// --- 1. First Task: Get Candies (Returns a Promise) ---
function getCandies() {
    // Return a Promise that resolves after 3 seconds
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const candies = "🍬";
            console.log("In our getCandies method, received:", candies);
            // On success, resolve the promise with the result
            resolve(candies);
        }, 3000);
    });
}

// --- 2. Second Task: Hand Over Keys (Returns a Promise) ---
function handOverKeys(candies) {
    // Function now takes the result from the previous step as a regular argument
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const keys = candies + "🔑"; 
            console.log("In our handOverKeys method, received:", keys);
            // Resolve the promise with the new cumulative result
            resolve(keys);
        }, 3000);
    });
}

// --- 3. Third Task: Onboarding (Returns a Promise) ---
function onboarding(keys) {
    // Function takes the result from the previous step as a regular argument
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const onboarded = keys + "📋"; 
            console.log("In our onboarding method, received:", onboarded);
            // Resolve the promise with the final result
            resolve(onboarded);
        }, 3000);
    });
}


// ------------------------------------------------------------------
// --- Execution: Creating the Promise Chain (.then() structure) ---
// ------------------------------------------------------------------

console.log("Start of execution. All tasks will take 3 seconds each.");

getCandies()
    // Task 1: getCandies runs. When it resolves, the result (candies) is passed here.
    .then(candies =&amp;gt; {
        // Start Task 2 and return its promise to continue the chain
        return handOverKeys(candies);
    })
    // Task 2: handOverKeys runs. When it resolves, the result (keys) is passed here.
    .then(keys =&amp;gt; {
        // Start Task 3 and return its promise to continue the chain
        return onboarding(keys);
    })
    // Task 3: onboarding runs. When it resolves, the final result (onboarded) is passed here.
    .then(onboarded =&amp;gt; {
        // Final action after all promises have successfully resolved
        console.log("-----------------------------------------");
        console.log("✅ Final Result: Welcome to our restaurant! You have the following items:", onboarded);
        console.log("-----------------------------------------");
    })
    // Single .catch handles any error (rejection) from any step above
    .catch(error =&amp;gt; {
        console.error("An error occurred during the process:", error);
    });


// This line still runs immediately, as before.
console.log("Execution queue started. Waiting for results...");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Start of execution. All tasks will take 3 seconds each.
Execution queue started. Waiting for results...
In our getCandies method, received: 🍬
In our handOverKeys method, received: 🍬🔑
In our onboarding method, received: 🍬🔑📋
-----------------------------------------
✅ Final Result: Welcome to our restaurant! You have the following items: 🍬🔑📋
-----------------------------------------

=== Code Execution Successful ===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Try with Async-Await *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/**
 * Asynchronous Async/Await Chaining (Most Readable Code)
 * * This example uses the ES8 'async/await' keywords to handle the Promise 
 * chain, resulting in code that looks synchronous and is highly readable.
 */

// --- 1. First Task: Get Candies (Returns a Promise) ---
function getCandies() {
    // Return a Promise that resolves after 3 seconds
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const candies = "🍬";
            console.log("In our getCandies method, received:", candies);
            // On success, resolve the promise with the result
            resolve(candies);
        }, 3000);
    });
}

// --- 2. Second Task: Hand Over Keys (Returns a Promise) ---
function handOverKeys(candies) {
    // Function now takes the result from the previous step as a regular argument
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const keys = candies + "🔑"; 
            console.log("In our handOverKeys method, received:", keys);
            // Resolve the promise with the new cumulative result
            resolve(keys);
        }, 3000);
    });
}

// --- 3. Third Task: Onboarding (Returns a Promise) ---
function onboarding(keys) {
    // Function takes the result from the previous step as a regular argument
    return new Promise((resolve, reject) =&amp;gt; {
        setTimeout(() =&amp;gt; {
            const onboarded = keys + "📋"; 
            console.log("In our onboarding method, received:", onboarded);
            // Resolve the promise with the final result
            resolve(onboarded);
        }, 3000);
    });
}


// ------------------------------------------------------------------
// --- Execution: Creating the Async/Await Flow (Synchronous look) ---
// ------------------------------------------------------------------

// We define an async function to use the 'await' keyword inside it.
async function startProcess() {
    console.log("Start of execution. All tasks will take 3 seconds each.");
    console.log("Execution queue started. Waiting for results...");

    try {
        // 1. Wait for getCandies() to resolve (3 seconds)
        const candies = await getCandies(); 

        // 2. Wait for handOverKeys() to resolve (3 seconds)
        const keys = await handOverKeys(candies);

        // 3. Wait for onboarding() to resolve (3 seconds)
        const onboarded = await onboarding(keys);

        // Final action after all steps are complete (Total 9 seconds)
        console.log("-----------------------------------------");
        console.log("✅ Final Result: Welcome to our restaurant! You have the following items:", onboarded);
        console.log("-----------------------------------------");

    } catch (error) {
        // Error handling for any rejected promise in the chain
        console.error("An error occurred during the process:", error);
    }
}

// Call the async function to start the chain
startProcess();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DOM MANIPULATION&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DOM - Document object model&lt;/p&gt;

&lt;p&gt;Selection: The JavaScript uses document.getElementById() to grab references to the button (incrementButton) and the text element (counterDisplay).&lt;/p&gt;

&lt;p&gt;State: The counter variable holds the current value, which is the application's state.&lt;/p&gt;

&lt;p&gt;Event Listener: The line button.addEventListener('click', () =&amp;gt; { ... }); waits for the user to click the button.&lt;/p&gt;

&lt;p&gt;Manipulation: Inside the listener, two key manipulations happen:&lt;/p&gt;

&lt;p&gt;The state (counter) is updated: counter++.&lt;/p&gt;

&lt;p&gt;The visual DOM is updated: display.textContent is changed to show the new value.&lt;/p&gt;

&lt;p&gt;This pattern (Select, Listen, Manipulate) is the foundation of all web interactivity! Let me know if you'd like to add more features, like a "Reset" button!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoa0nf0v83xfotykf7t9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoa0nf0v83xfotykf7t9.png" alt=" " width="601" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15qh8tmutazwhgv8vzf7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15qh8tmutazwhgv8vzf7.png" alt=" " width="568" height="181"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1g294n52y7q43enavfp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1g294n52y7q43enavfp.png" alt=" " width="602" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8plrgj8tp0sj9r64wd55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8plrgj8tp0sj9r64wd55.png" alt=" " width="610" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Algorithm Problem 1</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Mon, 13 Oct 2025 16:53:42 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/algorithm-problem-1-nm3</link>
      <guid>https://dev.to/niladri_banerjee_98/algorithm-problem-1-nm3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24xguj84y9bxprdye5ts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24xguj84y9bxprdye5ts.png" alt=" " width="550" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's document this solving carefully.&lt;/p&gt;

&lt;p&gt;Given:&lt;br&gt;
We need to find the smallest integer 𝑛 such that&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frv1dr9jimfgl2kcseiut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frv1dr9jimfgl2kcseiut.png" alt=" " width="100" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is, when the quadratic algorithm becomes faster than the exponential one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatb5cfoymased4qztn1x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatb5cfoymased4qztn1x.png" alt=" " width="605" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the Brute Force solution.&lt;/p&gt;

&lt;p&gt;But then I ask to myself is there any other way to solve this issue?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then I found the Lambert W function method.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before solving this issue I have to work on the basics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exponential function:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26d32opmafn9vdczuosn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26d32opmafn9vdczuosn.png" alt=" " width="370" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then domain of this function is all real numbers (R) and the Range of this equation is Positive Real number.&lt;br&gt;
For all Real numbers of n, the value of this equation is always positive.&lt;br&gt;
Domain: (-∞ , ∞)&lt;br&gt;
Range: (0,∞)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inverse function:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fbkxsn4hcsh6wwcsasn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fbkxsn4hcsh6wwcsasn.png" alt=" " width="356" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a natural log &lt;br&gt;
ln of zero is -∞ and all negative number is undifined.&lt;br&gt;
Domain: (0,∞)&lt;br&gt;
Range: (-∞ , ∞)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exponential Lambert function:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n0kpohufofeou24czu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n0kpohufofeou24czu7.png" alt=" " width="370" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Domain: (-1,∞)&lt;br&gt;
Range: [ -e^-1 , ∞)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inverse of Lambert function:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tkphjassfd75zc7k3qr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tkphjassfd75zc7k3qr.png" alt=" " width="348" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Domain: [ -e^-1 , ∞)&lt;br&gt;
Range: (-1,∞)&lt;/p&gt;

&lt;p&gt;This function is interesting There is a dip then the growth at -1.&lt;/p&gt;

&lt;p&gt;Solve :&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;1: Prerequisites *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgid1a3ruu6ott8wue1nz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgid1a3ruu6ott8wue1nz.png" alt=" " width="720" height="1204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;2: Solving *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kazn988pxndlhfz49vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kazn988pxndlhfz49vj.png" alt=" " width="720" height="1150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;3: Solving *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ogv9cdffb7xg5ibt510.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ogv9cdffb7xg5ibt510.png" alt=" " width="720" height="1047"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Solving this problem is easy but when you ask the questions after solving from there the real learning will start. Here we use Lambert equation, Newton Method for approximation. This is the beginning of learning.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>dsa</category>
      <category>challenge</category>
    </item>
    <item>
      <title>Day 3: Practicing HTML + CSS by building a website Named "Bella Vista- an Italian Restaurant"</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Sun, 12 Oct 2025 14:45:55 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/day-3-practicing-html-css-by-building-a-website-named-bella-vista-an-italian-restaurant-4m9b</link>
      <guid>https://dev.to/niladri_banerjee_98/day-3-practicing-html-css-by-building-a-website-named-bella-vista-an-italian-restaurant-4m9b</guid>
      <description>&lt;h2&gt;
  
  
  Website link -&amp;gt; &lt;a href="https://bellavistanil.netlify.app/" rel="noopener noreferrer"&gt;https://bellavistanil.netlify.app/&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;## Header Section ##&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;meta name="description" content="Bella vista - Authentic Italian restaurant serving traditional Italian cuisine in the heart of the city."&amp;gt;&amp;lt;/meta&amp;gt;
    &amp;lt;title&amp;gt;Bella Vista Resturant - Authentic Italian Cuisine&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="style.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is the first section of the HTML code where the HTML foundation has been stored. &lt;/p&gt;

&lt;h2&gt;
  
  
   -&amp;gt; This line tells that the language is used to build this web page is English and will display on the web server accordingly.
&lt;/h2&gt;

&lt;h2&gt;
  
  
   -&amp;gt; This is the meta tag which tells that the width of the webpage will adoptable by the width of the device on which that device is handled. initial scale =1.0 helps to zoom in and out properly.
&lt;/h2&gt;

&lt;h2&gt;
  
  
   -&amp;gt; This will helps us to find this web page on the search engine (SEO). This relevant keywords will help to map with browsing search. This is the description of the webpage which will align with the browser user who wants to see an Italian restaurant.
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;header class=""header&amp;gt;
        &amp;lt;div class ="container"&amp;gt;
            &amp;lt;nav class="navbar"&amp;gt;
                &amp;lt;div class="logo"&amp;gt;
                    &amp;lt;h1&amp;gt;Bella Vista&amp;lt;/h1&amp;gt;
                    &amp;lt;span class="tagline"&amp;gt;Authentic Italian Cuisine&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;ul class = "nav-links"&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;a href="#home"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;a href="#menu"&amp;gt;Menu&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;a href="#about"&amp;gt;About&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;a href="#contact"&amp;gt;Contact&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;/ul&amp;gt;
            &amp;lt;/nav&amp;gt;
        &amp;lt;/div&amp;gt;"

    &amp;lt;/header&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this header part of the design I created a header class in that class I created a div container, to containerized the all navigation items in one div. In that container I have created a navbar class and give one div for logo and just add an unordered list. All list items are hyperlinked so that in website when we press that button we can navigate towards that part.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
 *{} -&amp;gt; for the universal, means it will apply for all the elements.&lt;br&gt;
margin:0 and padding:0 will set clearly because every browser has it's default. This will protect from that.   box-sizing: border-box is very useful it includes width and the height in the paddings and the borders. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body
{
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    color: #333;
}

.container
{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.header
{
    background-color: #2c3e50;
    color: white;
    padding: 1rem 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index:1000;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
This is the design where the container design is set and giving z-index higher value is for the more visibility on the top.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.navbar
{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo h1
{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0.2rem;
}

.logo tagline
{
    font-size: 0.9 rem;
    opacity: 0.8;
}

.nav-links
{
    display:flex;
    list-style: none;
    gap: 2rem;
}

.nav-links a
{
    color: white;
    text-decoration: none;
    font-size: 1rem;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.nav-links a:hover
{
    color: #f39c12;
    background-color: rgba(255, 255, 255, 0.1);
}



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;in this section I design the nav bar , nav objects and the hover. When it will be touched by the arrow it will glow for the border-radius: 4px; transition: background-color 0.3s ease; and color: #f39c12; background-color: rgba(255, 255, 255, 0.1);&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;## Hero Section ##&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
    &lt;br&gt;
        &lt;br&gt;
            &lt;br&gt;
                &lt;/p&gt;
&lt;h2&gt;Welcome to Bella Vista&lt;/h2&gt;
&lt;br&gt;
                &lt;p&gt;Experience the taste of Italy in every bite.&lt;/p&gt;
&lt;br&gt;
                 &lt;br&gt;
                    &lt;a&gt;View Menu&lt;/a&gt;&lt;br&gt;
                    &lt;a&gt;Make Reservation&lt;/a&gt;&lt;br&gt;
                 &lt;br&gt;
            
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;/section&amp;gt;
&amp;lt;/main&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This will be the html portion where the basic hero section blocks will create. Creating the section name home so that #home will easily navigate here. Then creates a hero-buttons class to give the buttons as needed.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.hero
{
    height: 100vh;
    background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url("1.jpg") center/cover;
    margin-top: 80px;
    display:flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color:white;
}


.hero content h2
{
    font-size: 3.5rem;
    margin-bottom: 1rem;
    font-weight: 300;
    letter-spacing: 2px;

}

.hero content p
{
    font-size: 1.2rem;
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero buttons
{
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.btn
{
    padding: 1rem 2rem;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: all 0.3s ease;
    display: inline-block;
}

.btn-primary
{
    background-color: #e74c3c;
    color: white;
    border: none;
}
.btn-primary:hover
{
    background-color: #c0392b;
    transform: translate(-2px);
}

.btn-secondary
{
    background-color: transparent;
    color: white;
    border: 2px solid white;
}
.btn-secondary:hover
{
    background-color: white;
    color: #2c3e50;
    transform: translate(2px);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
1️⃣ .hero {&lt;br&gt;
    height: 100vh; /* full screen height &lt;em&gt;/&lt;br&gt;
    background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url("1.jpg") center/cover;&lt;br&gt;
    margin-top: 80px; /&lt;/em&gt; space below navbar &lt;em&gt;/&lt;br&gt;
    display:flex; /&lt;/em&gt; centers content vertically */&lt;br&gt;
    align-items: center;&lt;br&gt;
    justify-content: center;&lt;br&gt;
    text-align: center;&lt;br&gt;
    color:white;&lt;br&gt;
}&lt;br&gt;
Purpose: Creates a fullscreen hero section with a dark overlay over the background image.&lt;br&gt;
The display:flex and align-items:center center everything vertically and horizontally.&lt;br&gt;
2️⃣ .hero-content h2 and .hero-content p&lt;/p&gt;

&lt;p&gt;These style the main headline and description inside your hero.&lt;/p&gt;

&lt;p&gt;.hero-content h2 {&lt;br&gt;
    font-size: 3.5rem; /* large heading &lt;em&gt;/&lt;br&gt;
    margin-bottom: 1rem;&lt;br&gt;
    font-weight: 300;&lt;br&gt;
    letter-spacing: 2px; /&lt;/em&gt; spacing between letters */&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.hero-content p {&lt;br&gt;
    font-size: 1.2rem; /* smaller than heading &lt;em&gt;/&lt;br&gt;
    margin-bottom: 2rem;&lt;br&gt;
    max-width: 600px; /&lt;/em&gt; limit text width &lt;em&gt;/&lt;br&gt;
    margin-left: auto;&lt;br&gt;
    margin-right: auto; /&lt;/em&gt; center text block */&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;3️⃣ .hero-buttons&lt;br&gt;
.hero-buttons {&lt;br&gt;
    display: flex;&lt;br&gt;
    gap: 1rem;&lt;br&gt;
    justify-content: center;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Purpose: Aligns both “View Menu” and “Make Reservation” buttons side-by-side with a 1rem gap between them.&lt;/p&gt;

&lt;p&gt;4️⃣ .btn, .btn-primary, .btn-secondary&lt;/p&gt;

&lt;p&gt;These define the common button design and their color variations.&lt;/p&gt;

&lt;p&gt;.btn {&lt;br&gt;
    padding: 1rem 2rem;&lt;br&gt;
    text-decoration: none;&lt;br&gt;
    border-radius: 5px;&lt;br&gt;
    font-weight: bold;&lt;br&gt;
    transition: all 0.3s ease;&lt;br&gt;
    display: inline-block;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;→ Adds spacing, rounded corners, hover transition.&lt;/p&gt;

&lt;p&gt;.btn-primary&lt;br&gt;
.btn-primary {&lt;br&gt;
    background-color: #e74c3c;&lt;br&gt;
    color: white;&lt;br&gt;
    border: none;&lt;br&gt;
}&lt;br&gt;
.btn-primary:hover {&lt;br&gt;
    background-color: #c0392b;&lt;br&gt;
    transform: translate(-2px);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;→ Red button with a darker red hover effect and a small movement on hover.&lt;/p&gt;

&lt;p&gt;.btn-secondary&lt;br&gt;
.btn-secondary {&lt;br&gt;
    background-color: transparent;&lt;br&gt;
    color: white;&lt;br&gt;
    border: 2px solid white;&lt;br&gt;
}&lt;br&gt;
.btn-secondary:hover {&lt;br&gt;
    background-color: white;&lt;br&gt;
    color: #2c3e50;&lt;br&gt;
    transform: translate(2px);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;→ White-outlined button that fills with white and dark text when hovered.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;section id="menu" class="menu"&amp;gt;
            &amp;lt;div class="container"&amp;gt;
                &amp;lt;h2 class="section-title"&amp;gt;Our Menu&amp;lt;/h2&amp;gt;
                &amp;lt;p class="section-subtitle"&amp;gt;Discover our carefully crafted dishes&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class="menu-items"&amp;gt;
                &amp;lt;div class="menu-item"&amp;gt;
                    &amp;lt;h3&amp;gt;Margherita Pizza&amp;lt;/h3&amp;gt;
                    &amp;lt;p&amp;gt;Classic pizza with fresh tomatoes, mozzarella, and basil.&amp;lt;/p&amp;gt;
                    &amp;lt;span class="price"&amp;gt;$12.99&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class="menu-item"&amp;gt;
                    &amp;lt;h3&amp;gt;Spaghetti Carbonara&amp;lt;/h3&amp;gt;
                    &amp;lt;p&amp;gt;Traditional pasta with eggs, cheese, pancetta, and pepper.&amp;lt;/p&amp;gt;
                    &amp;lt;span class="price"&amp;gt;$14.99&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class="menu-item"&amp;gt;
                    &amp;lt;h3&amp;gt;Lasagna&amp;lt;/h3&amp;gt;
                    &amp;lt;p&amp;gt;Layers of pasta, meat sauce, and cheese baked to perfection.&amp;lt;/p&amp;gt;
                    &amp;lt;span class="price"&amp;gt;$15.99&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div class="menu-item"&amp;gt;
                    &amp;lt;h3&amp;gt;Tiramisu&amp;lt;/h3&amp;gt;
                    &amp;lt;p&amp;gt;Classic Italian dessert with layers of coffee-soaked ladyfingers and mascarpone cheese.&amp;lt;/p&amp;gt;
                    &amp;lt;span class="price"&amp;gt;$6.99&amp;lt;/span&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/section&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’ve designed the menu section with clear headings and neatly organized items to make it easy to read and visually appealing. However, I realized I missed a few closing tags, like the one for &lt;code&gt;.menu-items&lt;/code&gt;, which could cause display or validation issues. I could also improve accessibility by using a &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; structure instead of multiple &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;s. To enhance the overall look, I plan to use a CSS grid layout that arranges the menu items evenly, with proper spacing, rounded corners, and soft shadows, so the section looks modern and stays responsive on all devices.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* ===== MENU SECTION ===== */
.menu {
    background-color: #faf9f6;
    color: #333;
    padding: 80px 20px;
    text-align: center;
    font-family: "Poppins", sans-serif;
}

/* Title &amp;amp; Subtitle */
.menu .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.menu .section-subtitle {
    font-size: 1.1rem;
    color: #777;
    margin-bottom: 50px;
}

/* Menu Grid Layout */
.menu-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
    max-width: 1100px;
    margin: 0 auto;
}

/* Individual Menu Item */
.menu-item {
    background: #fff;
    border-radius: 12px;
    padding: 25px 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

/* Hover Effect */
.menu-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

/* Dish Name */
.menu-item h3 {
    font-size: 1.3rem;
    color: #111;
    margin-bottom: 10px;
}

/* Description */
.menu-item p {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* Price */
.menu-item .price {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background-color: #2e8b57;
    padding: 6px 14px;
    border-radius: 20px;
    display: inline-block;
}

/* Responsive Adjustment */
@media (max-width: 600px) {
    .menu .section-title {
        font-size: 2rem;
    }

    .menu .section-subtitle {
        font-size: 1rem;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This CSS creates an elegant and clean layout for the menu section. It uses a soft off-white background with dark text for clear readability and centers all content for balance. The menu title and subtitle are styled with modern typography, while the dishes are arranged in a responsive grid that adapts to different screen sizes. Each menu item appears inside a white card with rounded corners, gentle shadows, and a smooth hover effect that lifts the card slightly for a premium feel. The dish name and description are neatly formatted, and the price is highlighted in a soft green badge for visual emphasis.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;section id="about" class="about"&amp;gt;
            &amp;lt;div class="container"&amp;gt;
                &amp;lt;h2 class="section-title"&amp;gt;About Us&amp;lt;/h2&amp;gt;
                &amp;lt;p class="section-subtitle"&amp;gt;Our Story&amp;lt;/p&amp;gt;
                &amp;lt;p&amp;gt;Bella Vista was founded in 1995 with a passion for bringing authentic Italian flavors to our community. Our chefs use traditional recipes and the freshest ingredients to create dishes that transport you to Italy with every bite. Join us for a memorable dining experience.&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div class="about-image"&amp;gt;
                &amp;lt;img src="1.jpg" alt="Bella Vista Restaurant"&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/section&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This HTML code defines the &lt;strong&gt;“About Us” section&lt;/strong&gt; of a restaurant website. The &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; element with the ID &lt;code&gt;about&lt;/code&gt; and class &lt;code&gt;about&lt;/code&gt; helps identify and style this part of the page. Inside it, there’s a container &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; that holds the section title (“About Us”), a subtitle (“Our Story”), and a paragraph describing the restaurant’s history, values, and culinary philosophy. The text highlights that &lt;em&gt;Bella Vista&lt;/em&gt; was founded in 1995 and focuses on authentic Italian flavors made with fresh ingredients. Below the text, there’s another &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; containing an image (&lt;code&gt;1.jpg&lt;/code&gt;) that visually represents the restaurant, making the section both informative and visually engaging.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* ===== ABOUT SECTION ===== */
.about {
    background-color: #fdfaf6;
    color: #333;
    padding: 80px 20px;
    font-family: "Poppins", sans-serif;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

/* Container for text */
.about .container {
    max-width: 600px;
    text-align: left;
    flex: 1; /* allows text to take up space */
}

/* Section Title */
.about .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

/* Subtitle */
.about .section-subtitle {
    font-size: 1.1rem;
    color: #777;
    margin-bottom: 20px;
}

/* Paragraph */
.about .container p {
    font-size: 1rem;
    line-height: 1.7;
    color: #555;
}

/* Image on right */
.about-image {
    flex: 1; /* allows image to take up space */
    text-align: center;
}

.about-image img {
    max-width: 100%;
    border-radius: 15px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover effect on image */
.about-image img:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 35px rgba(0,0,0,0.15);
}

/* Responsive layout */
@media (max-width: 900px) {
    .about {
        flex-direction: column;
        text-align: center;
    }

    .about .container {
        max-width: 90%;
    }

    .about-image img {
        width: 90%;
        margin-top: 20px;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This CSS styles the &lt;strong&gt;“About Us” section&lt;/strong&gt; to create a clean, elegant, and responsive layout. The main &lt;code&gt;.about&lt;/code&gt; container uses Flexbox to place the text on the left and the image on the right, with spacing (&lt;code&gt;gap: 40px&lt;/code&gt;) between them. The text container &lt;code&gt;.container&lt;/code&gt; is limited in width for readability, with styled titles, subtitles, and paragraphs that use modern typography and soft colors. The image is styled with rounded corners, subtle shadows, and a hover effect that slightly enlarges it for visual interest. On screens smaller than 900px, the layout becomes vertical, stacking the text above the image, ensuring the section remains fully responsive and visually balanced on all devices.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;## Code Section:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;section id="contact" class="contact"&amp;gt;
            &amp;lt;div class="container"&amp;gt;
                &amp;lt;h2 class="section-title"&amp;gt;Contact Us&amp;lt;/h2&amp;gt;
                &amp;lt;p class="section-subtitle"&amp;gt;We'd love to hear from you!&amp;lt;/p&amp;gt;
                &amp;lt;form class="contact-form"&amp;gt;
                    &amp;lt;input type="text" placeholder="Your Name" required&amp;gt;
                    &amp;lt;input type="email" placeholder="Your Email" required&amp;gt;
                    &amp;lt;textarea placeholder="Your Message" required&amp;gt;&amp;lt;/textarea&amp;gt;
                    &amp;lt;button type="submit" class="btn btn-primary"&amp;gt;Send Message&amp;lt;/button&amp;gt;
                &amp;lt;/form&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/section&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;*&lt;em&gt;Explain : *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This HTML code defines a &lt;strong&gt;“Contact Us” section&lt;/strong&gt; for a website. The &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; element has the ID &lt;code&gt;contact&lt;/code&gt; and class &lt;code&gt;contact&lt;/code&gt;, making it easy to target with CSS or links. Inside, there’s a container &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; that holds a section title (“Contact Us”) and a subtitle (“We’d love to hear from you!”) to invite visitors to get in touch. Below the text, there is a &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; with the class &lt;code&gt;contact-form&lt;/code&gt; containing three input fields: one for the user’s name, one for their email, and a &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; for their message. Each input is marked as &lt;code&gt;required&lt;/code&gt;, ensuring the user fills it before submitting. Finally, there’s a submit button labeled “Send Message” with a class &lt;code&gt;btn btn-primary&lt;/code&gt; for styling and easy identification. This section provides a structured and user-friendly way for visitors to contact the website owner.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>programming</category>
      <category>mern</category>
    </item>
    <item>
      <title>Day 2: Starting of MERN stack journey from the prerequisites (CSS)</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Sat, 11 Oct 2025 14:40:36 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/day-2-starting-of-mern-stack-journey-from-the-prerequisites-css-4i7e</link>
      <guid>https://dev.to/niladri_banerjee_98/day-2-starting-of-mern-stack-journey-from-the-prerequisites-css-4i7e</guid>
      <description>&lt;p&gt;🗓️ Day 2: Starting My MERN Stack Journey – Mastering CSS Basics&lt;/p&gt;

&lt;p&gt;Today marks the second step of my MERN Stack journey, where I focused on strengthening my front-end foundation through CSS — the language that brings life and design to web pages.&lt;/p&gt;

&lt;p&gt;🌈 What I Learned&lt;/p&gt;

&lt;p&gt;Here’s a summary of the core topics I explored today:&lt;/p&gt;

&lt;p&gt;Introduction to CSS: Understanding inline, internal, and external stylesheets, and how CSS controls the look and feel of HTML elements.&lt;/p&gt;

&lt;p&gt;Positions in CSS: Explored static, relative, absolute, fixed, and sticky positioning.&lt;/p&gt;

&lt;p&gt;Box Model &amp;amp; Units: Learned how margin, border, padding, and content interact, and practiced using units like px, em, rem, %, and vh/vw.&lt;/p&gt;

&lt;p&gt;Display Property: Difference between block, inline, inline-block, flex, and grid.&lt;/p&gt;

&lt;p&gt;Colorbox &amp;amp; Overflow: Styled boxes with background colors, borders, and shadows while managing overflowing content with hidden, scroll, and auto.&lt;/p&gt;

&lt;p&gt;Grid Layouts: Created responsive layouts using grid-template-columns, gap, and grid-area.&lt;/p&gt;

&lt;p&gt;Grid Portfolio Section: Designed a simple grid-based portfolio section to visualize practical layouts.&lt;/p&gt;

&lt;p&gt;Media Queries: Made the site responsive for different screen sizes.&lt;/p&gt;

&lt;p&gt;Transitions &amp;amp; Transforms: Added smooth hover effects and rotations.&lt;/p&gt;

&lt;p&gt;Keyframe Animations: Experimented with basic CSS animations for interactive elements.&lt;/p&gt;

&lt;p&gt;💻 Project Work&lt;/p&gt;

&lt;p&gt;I applied all these concepts by creating a live webpage for a mock brand:&lt;br&gt;
👉 &lt;a href="https://mernstackloundry.netlify.app/" rel="noopener noreferrer"&gt;https://mernstackloundry.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website was built from scratch using only HTML and CSS, focusing on layout, responsiveness, and subtle animations.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mern</category>
      <category>devjournal</category>
      <category>css</category>
    </item>
    <item>
      <title>Day 1: Starting of MERN stack journey from the prerequisites (HTML)</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Fri, 26 Sep 2025 07:06:23 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/day-1-starting-of-mern-stack-journey-from-the-prerequisites-html-29ao</link>
      <guid>https://dev.to/niladri_banerjee_98/day-1-starting-of-mern-stack-journey-from-the-prerequisites-html-29ao</guid>
      <description>&lt;h1&gt;
  
  
  Day 1: Starting My MERN Stack Journey (Prerequisites – HTML)
&lt;/h1&gt;

&lt;p&gt;Today I officially started my MERN stack journey. I wanted to begin from the very basics, so I started with the prerequisites.&lt;/p&gt;

&lt;p&gt;Here’s what I covered on &lt;strong&gt;Day 1&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Intro to Networking&lt;/strong&gt; – I learned how networks actually work and how webpages are loaded when we enter a URL in the browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Introduction to HTML&lt;/strong&gt; – Got to know about the structure of an HTML document and how it forms the backbone of any webpage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Head Tag&lt;/strong&gt; – Learned what goes inside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag, like metadata, title, and links to stylesheets or scripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text Formatting&lt;/strong&gt; – Explored how to format text using different tags like &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;u&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images in HTML&lt;/strong&gt; – Practiced embedding images into a webpage using the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lists in HTML&lt;/strong&gt; – Worked with ordered lists &lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt; and unordered lists &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tables in HTML&lt;/strong&gt; – Learned to create tables using &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;tr&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;th&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Links in HTML&lt;/strong&gt; – Practiced creating hyperlinks with the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag and linking different pages together.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forms in HTML&lt;/strong&gt; – Learned about different form elements like &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;, and how forms collect user input.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semantic Tags in HTML&lt;/strong&gt; – Understood the importance of semantic tags like &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; for better structure and SEO.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting&lt;/strong&gt; – Finally, I explored how to host a static site using &lt;strong&gt;GitHub Pages&lt;/strong&gt; and &lt;strong&gt;Netlify&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After learning all these concepts, I decided to put them together and build my first complete webpage using only HTML. I also deployed it online so that anyone can view it.&lt;/p&gt;

&lt;p&gt;After learning everything I build a webpage based on only HTML to practice all this portions very clearly.&lt;br&gt;
This web page coves all points above.&lt;br&gt;
and deploy on the Github and Netlify.&lt;br&gt;
👉 You can check it out here: [&lt;a href="https://niladri98.github.io/MERN-Stack-from-scratch/Assignment_2/" rel="noopener noreferrer"&gt;https://niladri98.github.io/MERN-Stack-from-scratch/Assignment_2/&lt;/a&gt;]&lt;br&gt;
👉 You can check it out here: [&lt;a href="https://niladri98.github.io/MERN-Stack-from-scratch/Assingment_1/" rel="noopener noreferrer"&gt;https://niladri98.github.io/MERN-Stack-from-scratch/Assingment_1/&lt;/a&gt;]&lt;/p&gt;

</description>
      <category>html</category>
      <category>mern</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>My Coding Odyssey Begins: From Trainee Software Engineer to Full-Stack &amp; Beyond!</title>
      <dc:creator>Niladri Banerjee</dc:creator>
      <pubDate>Thu, 18 Sep 2025 05:38:18 +0000</pubDate>
      <link>https://dev.to/niladri_banerjee_98/my-coding-odyssey-begins-from-trainee-software-engineer-to-full-stack-beyond-2gm8</link>
      <guid>https://dev.to/niladri_banerjee_98/my-coding-odyssey-begins-from-trainee-software-engineer-to-full-stack-beyond-2gm8</guid>
      <description>&lt;p&gt;_*&lt;em&gt;- Introduction: *&lt;/em&gt;&lt;br&gt;
_My name is Niladri Banerjee. I completed my Master’s in Computer Science in 2022 from West Bengal, Kolkata, India. Since then, I have worked in multiple roles across different domains, which has helped me develop a diverse professional background. I began my career as a back-office computer operator, then transitioned into academic research. Later, I explored the field of Non-Destructive Testing (NDT), where I gained hands-on experience as an intern and earned certifications in methods such as Ultrasonic Testing and Radiographic Testing. Eventually, I moved into the IT sector as a Software Developer, aligning with my core expertise in computer science. This journey across varied fields has strengthened my adaptability, problem-solving ability, and technical foundation.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;- The Grand Vision: *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
I am about to embark on a journey of technical exploration and growth. I will begin with web development, progressing from the basics to advanced concepts. Alongside, I will study Python from beginner to advanced levels, covering automation, scripting, and even game development. To strengthen my foundations, I will revisit core mathematics—linear algebra, calculus, and probability—and also explore emerging fields like cryptocurrency and Web 3.0 development.&lt;/p&gt;

&lt;p&gt;Once these foundations are in place, I will step into the world of Machine Learning and Data Science, where the real challenge and growth will begin. My ultimate aspiration is to evolve into a Deep Learning expert.&lt;/p&gt;

&lt;p&gt;This journey will serve as both my learning path and my testimony. I will maintain a daily journal documenting what I learn, the projects I build, and the challenges I encounter—so that the world can not only witness my progress but also guide me along the way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;- Why DEV.to: *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
I chose the DEV Community because it is rapidly growing, highly accessible, and offers a strong, well-structured support system for beginners. The platform is thoughtfully designed to encourage learning, sharing, and collaboration. Moreover, its wide connectivity across different platforms makes it a reliable space for me to document my journey, exchange knowledge, and build a strong professional network for the future.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;- Commitment: *&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
I commit myself fully to this journey of continuous learning and growth. Each day, I will dedicate time to study, practice, and document my progress with honesty and discipline. I will not shy away from challenges, but instead embrace them as opportunities to strengthen my knowledge and skills. My focus will remain on building a strong foundation, contributing to the community, and steadily progressing toward my ultimate goal of becoming a deep learning expert. This journey is not just about personal achievement, but also about sharing, helping, and growing together with others in the field of technology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;- Tags:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  webdev #deeplearning #learningjourney
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learningjourney</category>
      <category>deeplearning</category>
    </item>
  </channel>
</rss>
