<?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: Karthick (k)</title>
    <description>The latest articles on DEV Community by Karthick (k) (@karthick_07).</description>
    <link>https://dev.to/karthick_07</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924592%2Fc7d24a28-37c4-4afc-af8e-88377a701cba.png</url>
      <title>DEV Community: Karthick (k)</title>
      <link>https://dev.to/karthick_07</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karthick_07"/>
    <language>en</language>
    <item>
      <title>What is the Model Context Protocol (MCP)?</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Tue, 21 Jul 2026 10:01:17 +0000</pubDate>
      <link>https://dev.to/karthick_07/what-is-the-model-context-protocol-mcp-g6i</link>
      <guid>https://dev.to/karthick_07/what-is-the-model-context-protocol-mcp-g6i</guid>
      <description>&lt;p&gt;**MCP (Model Context Protocol) **is an open-source standard for connecting AI applications to external systems.&lt;/p&gt;

&lt;p&gt;Using MCP, AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g., specialised prompts)—enabling them to access key information and perform tasks.&lt;br&gt;
Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardised way to connect electronic devices, MCP provides a standardised way to connect AI applications to external systems.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb58qdvg087721836gq5l.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb58qdvg087721836gq5l.jpg" alt=" " width="799" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What can MCP enable?&lt;/strong&gt;&lt;br&gt;
Agents can access your Google Calendar and Notion, acting as a more personalised AI assistant.&lt;/p&gt;

&lt;p&gt;Claude Code can generate an entire web app using a Figma design.&lt;br&gt;
Enterprise chatbots can connect to multiple databases across an organisation, empowering users to analyse data using chat.&lt;br&gt;
AI models can create 3D designs on Blender and print them out using a 3D printer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does MCP matter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Depending on where you sit in the ecosystem, MCP can have a range of benefits.&lt;br&gt;
Developers: MCP reduces development time and complexity when building or integrating with an AI application or agent.&lt;br&gt;
AI applications or agents: MCP provides access to an ecosystem of data sources, tools and apps which will enhance capabilities and improve the end-user experience.&lt;/p&gt;

&lt;p&gt;End-users: MCP results in more capable AI applications or agents which can access your data and take actions on your behalf when necessary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Broad ecosystem support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;MCP is an open protocol supported across a wide range of clients and servers. AI assistants like &lt;strong&gt;Claude and ChatGPT&lt;/strong&gt;, development tools like &lt;strong&gt;Visual Studio Code&lt;/strong&gt;, &lt;strong&gt;Cursor&lt;/strong&gt;, &lt;strong&gt;MCPJam&lt;/strong&gt;, and many others all support MCP — making it easy to build once and integrate everywhere.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvx8urbidmtrpaelqkqvv.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvx8urbidmtrpaelqkqvv.png" alt=" " width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://modelcontextprotocol.io/docs/learn/architecture" rel="noopener noreferrer"&gt;https://modelcontextprotocol.io/docs/learn/architecture&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>React Conditional Rendering</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Sun, 19 Jul 2026 17:14:16 +0000</pubDate>
      <link>https://dev.to/karthick_07/react-conditional-rendering-47dk</link>
      <guid>https://dev.to/karthick_07/react-conditional-rendering-47dk</guid>
      <description>&lt;p&gt;Conditional rendering controls which parts of the UI are displayed based on specific conditions. It is widely used to show or hide elements depending on user input, data state, or system status. This helps keep the interface relevant and responsive to changes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Displays different UI elements based on the current state or props.&lt;/li&gt;
&lt;li&gt;Automatically updates what the user sees when data or conditions change.&lt;/li&gt;
&lt;li&gt;Removes the need to manually manipulate the DOM to show or hide content.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Implementation of Conditional Rendering&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using If/Else Statements
If/else statements allow rendering different components based on conditions. This approach is useful for complex conditions.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fagwu7kusjqk9amim1yh0.webp" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fagwu7kusjqk9amim1yh0.webp" alt=" " width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function Item({ name, isPacked }) {&lt;br&gt;
  if (isPacked) {&lt;br&gt;
    //name="Book"&lt;br&gt;
    return &amp;lt;li className="item"&amp;gt;{name}✔&amp;lt;/li&amp;gt;; &lt;br&gt;
  }&lt;br&gt;
  return &amp;lt;li className="item"&amp;gt;{name}&amp;lt;/li&amp;gt;;&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If isPacked is true, it displays: Book✔&lt;/li&gt;
&lt;li&gt;If isPacked is false, it displays: Book&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;2. Using Ternary Operator&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The ternary operator (condition ? expr1: expr2) is a concise way to conditionally render JSX elements. It’s often used when the logic is simple, and there are only two options to render.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6mo8fddf5owvmvdei265.webp" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6mo8fddf5owvmvdei265.webp" alt=" " width="729" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function Greeting({ isLoggedIn }) {&lt;br&gt;
    return &amp;lt;h1&amp;gt;{isLoggedIn ? "Welcome Back!" : "Please Sign In"}&amp;lt;/h1&amp;gt;;&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If isLoggedIn is true: Welcome Back!&lt;/li&gt;
&lt;li&gt;If isLoggedIn is false: Please Sign In&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. Using Logical AND (&amp;amp;&amp;amp;) Operator&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &amp;amp;&amp;amp; operator returns the second operand if the first is true, and nothing if the first is false. This can be useful when you only want to render something when a condition is true.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmkkhhojf2k65tng005tp.webp" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmkkhhojf2k65tng005tp.webp" alt=" " width="729" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If hasNotifications is true: You have new notifications!&lt;/li&gt;
&lt;li&gt;If hasNotifications is false: Nothing is rendered.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Props in React</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Fri, 17 Jul 2026 11:36:00 +0000</pubDate>
      <link>https://dev.to/karthick_07/props-in-react-5d9g</link>
      <guid>https://dev.to/karthick_07/props-in-react-5d9g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Understanding Props in React&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In React, props (short for "properties") are fundamental for passing information from one component to another. The primary purpose of props is to enable a parent component to pass data to its child components, ensuring that data flow within your application is efficient and organised.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Points about Props:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read-Only&lt;/strong&gt;: The receiving component cannot modify props. They are strictly meant for reading data and should not be altered. This immutability helps maintain a unidirectional data flow, making the application easier to understand and debug.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dynamic Updates&lt;/strong&gt;: While props themselves are immutable, they can be updated when the parent component’s state changes. This allows for a responsive and interactive UI without any direct modifications to the props within the child components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prop Types&lt;/strong&gt;: It's highly recommended to define the expected data types for props using &lt;code&gt;PropTypes&lt;/code&gt;, which can help catch bugs in development by warning about incorrect prop types.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Example Usage
&lt;/h3&gt;

&lt;p&gt;Here’s a simple example of how props are used in a React component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Hello&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;!&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h1&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Greet&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, the &lt;code&gt;Greet&lt;/code&gt; component receives a &lt;code&gt;name&lt;/code&gt; prop and renders a greeting message. The &lt;code&gt;App&lt;/code&gt; component passes the prop, demonstrating how data flows from a parent to a child component.&lt;/p&gt;

&lt;h3&gt;
  
  
  Output:
&lt;/h3&gt;

&lt;p&gt;You can visualise the output as follows:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzhn16pn5qr1633krm28g.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzhn16pn5qr1633krm28g.png" alt=" " width="178" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Props are an essential part of how React components communicate with one another. By understanding how to use props effectively, you can build modular and maintainable components that enhance the overall structure of your application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;: &lt;a href="https://www.geeksforgeeks.org/reactjs/what-are-props-in-react/" rel="noopener noreferrer"&gt;GeeksforGeeks - What are Props in React?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to add or modify anything else you'd like!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>React useState Hook</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Thu, 16 Jul 2026 08:49:41 +0000</pubDate>
      <link>https://dev.to/karthick_07/react-usestate-hook-4khj</link>
      <guid>https://dev.to/karthick_07/react-usestate-hook-4khj</guid>
      <description>&lt;p&gt;&lt;strong&gt;React useState Hook&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The useState hook allows functional components in React to store and manage data that can change over time. It is simple to use and ideal for handling basic state updates within a component.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It lets you add state variables to functional components.&lt;/li&gt;
&lt;li&gt;It is best suited for simple state updates.&lt;/li&gt;
&lt;li&gt;The hook must be imported from React before using it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const [state, setState] = useState(initialState)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;state: It is the value of the current state.&lt;/li&gt;
&lt;li&gt;setState: It is the function that is used to update the state.&lt;/li&gt;
&lt;li&gt;initialState: It is the initial value of the state.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Working of useState()&lt;/strong&gt;&lt;br&gt;
The useState() hook allows you to add state to functional components in React. It works by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Initialise State&lt;/strong&gt;: When you call useState(initialValue), it creates a state variable and an updater function.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;const [count, setCount] = useState(0);&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;State is Preserved Across Renders&lt;/strong&gt;: React remembers the state value between re-renders of the component. Each time the component renders, React keeps the latest value of count.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. State Updates with the Updater Function&lt;/strong&gt;: When you call setCount(newValue) React updates the state and it re-renders the component to reflect the new state value&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;Increment&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implementing the useState hook&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is the implementation of the useState hook:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Counter using useState&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A common example of using useState is managing the state of a counter with actions to increment and decrement the value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useState } from 'react';
export default function Counter() {
    const [count, setCount] = useState(0);

    function handleClick() {
        setCount(count + 1);
    }
    return (
        &amp;lt;button onClick={handleClick}&amp;gt;
            Click {count} me
        &amp;lt;/button&amp;gt;
    );
}

&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;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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxwo3m1kccmavwi49m8ih.gif" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxwo3m1kccmavwi49m8ih.gif" alt=" " width="246" height="65"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reference: &lt;a href="https://www.geeksforgeeks.org/reactjs/reactjs-usestate-hook/" rel="noopener noreferrer"&gt;https://www.geeksforgeeks.org/reactjs/reactjs-usestate-hook/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>ai</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>React DOM</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Wed, 15 Jul 2026 12:29:46 +0000</pubDate>
      <link>https://dev.to/karthick_07/react-dom-2cca</link>
      <guid>https://dev.to/karthick_07/react-dom-2cca</guid>
      <description>&lt;p&gt;&lt;strong&gt;React DOM vs JavaScript DOM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The primary difference is that the JavaScript DOM (Real DOM) is the browser's live, structural representation of a webpage. In contrast, React DOM is a software library that uses an in-memory Virtual DOM to update the Real DOM efficiently. Vanilla JavaScript directly manipulates the browser's elements, while React abstracts this process away to minimise heavy browser recalculations.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F35d6dzrah1wvl2kfr261.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F35d6dzrah1wvl2kfr261.png" alt=" " width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding React DOM (The Virtual DOM)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// React Declarative Approach&lt;br&gt;
const [clicked, setClicked] = useState(false);&lt;br&gt;
return (&lt;br&gt;
  &amp;lt;button onClick={() =&amp;gt; setClicked(true)}&amp;gt;&lt;br&gt;
    {clicked? 'Clicked!': 'Click Me'}&lt;br&gt;
  &amp;lt;/button&amp;gt;&lt;br&gt;
);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding JavaScript DOM (The Real DOM)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// JavaScript Imperative Approach&lt;br&gt;
const button = document.querySelector('#myBtn');&lt;br&gt;
button.textContent = 'Clicked!';&lt;br&gt;
button.style.backgroundColor = 'blue';&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;React Components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React components are reusable UI units that handle their own logic, accept data through props, manage state, and efficiently update only the parts of the UI that change &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;syntax&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function ComponentName() {&lt;br&gt;
  return (&lt;br&gt;
    &amp;lt;JSX /&amp;gt;&lt;br&gt;
  );&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of React Components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are two primary types of React components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Functional Components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Functional components are JavaScript functions that return React elements and are the preferred way to build modern React applications.&lt;/p&gt;

&lt;p&gt;Can manage state and lifecycle logic using React Hooks.&lt;br&gt;
Use a simpler syntax, making them ideal for reusable components.&lt;br&gt;
Offer better performance by avoiding the use of the this keyword.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function Greet(props) {&lt;br&gt;
    return &amp;lt;h1&amp;gt;Hello, {props.name}!&amp;lt;/h1&amp;gt;;&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Class Components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Class components are ES6 classes in React that extend React. Component and support state and lifecycle handling.&lt;/p&gt;

&lt;p&gt;Manage component data using this. the state property.&lt;br&gt;
Use lifecycle methods such as componentDidMount and componentDidUpdate.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;class Greet extends React. Component {&lt;br&gt;
    render() {&lt;br&gt;
        return &amp;lt;h1&amp;gt;Hello, {this.props.name}!&amp;lt;/h1&amp;gt;;&lt;br&gt;
  }&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>libaray</category>
      <category>ai</category>
    </item>
    <item>
      <title>React Introduction</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Tue, 14 Jul 2026 08:02:43 +0000</pubDate>
      <link>https://dev.to/karthick_07/react-introduction-hd8</link>
      <guid>https://dev.to/karthick_07/react-introduction-hd8</guid>
      <description>&lt;p&gt;&lt;strong&gt;ReactJS&lt;/strong&gt; is a component-based JavaScript library used for building dynamic and interactive user interfaces. It enables developers to create reusable UI components and develop fast, scalable single-page applications (SPAs) with efficient rendering and updates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Vite, and why has it replaced Create React App?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Felgfkeurkm752sox8x6n.webp" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Felgfkeurkm752sox8x6n.webp" alt=" " width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vite (pronounced "veet", French for "fast") is a modern frontend build tool and development server used to scaffold, run, and optimise React applications. It acts as the infrastructure for your project. React handles the user interface, while Vite compiles your code, serves it locally during development, and bundles it for production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NodeJS NPM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NPM (Node Package Manager) is the default package manager for Node.js. It helps manage project dependencies, scripts, and third-party libraries, and is automatically installed when you install Node.js.&lt;/p&gt;

&lt;p&gt;Using NPM with NodeJS&lt;br&gt;
To start using NPM in your project, follow these simple steps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Install NodeJS and NPM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, you need to install NodeJS. NPM is bundled with the NodeJS installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Verify the Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After installation, verify NodeJS and NPM are installed by running the following commands in your terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;node -v&lt;br&gt;
npm -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Initialise a New NodeJS Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the terminal, navigate to your project directory and run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm init -y&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will create a package.json file, which stores metadata about your project, including dependencies and scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Install Packages with NPM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To install a package, use the following command&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install &amp;lt;package-name&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For example, to install the Express.js framework&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install express&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will add express to the node_modules folder and automatically update the package.json file with the installed package information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Install Packages Globally&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To install packages that you want to use across multiple projects, use the -g flag:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install -g &amp;lt;package-name&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Run Scripts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also define custom scripts in the package.json file under the "scripts" section. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "scripts": {
        "start": "node app.js"
    }
}
&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;{% embed Then, run the script with

npm start

React

CRD-Create Read App (not recommended)

Vite=build config tool

What is vite in React? (important)

React is not important.


React installation is node important.

npm is The full form of npm is Node Package Manager

JSX-javascript xml


HTML-Xml

HTML-predefined tags
XML-user-defined tags

XML stands for Extensible Markup Language


components are stated with a capital value.

what is re useable compontes?


There are two types of components

The two primary types of components in React are Functional Components and Class Components
 %}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>react</category>
      <category>javascript</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Simplicity Over Complexity: How I Built My Minimalist Developer Portfolio</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Sun, 12 Jul 2026 17:42:16 +0000</pubDate>
      <link>https://dev.to/karthick_07/simplicity-over-complexity-how-i-built-my-minimalist-developer-portfolio-4556</link>
      <guid>https://dev.to/karthick_07/simplicity-over-complexity-how-i-built-my-minimalist-developer-portfolio-4556</guid>
      <description>&lt;p&gt;As software developers, it's easy to get caught up in the trap of over-engineering. We reach for heavy frameworks, endless animations, and massive dependencies before we even consider what we are trying to convey. &lt;/p&gt;

&lt;p&gt;For my latest portfolio layout, I decided to live by a simple rule: &lt;strong&gt;Choose simplicity over complexity.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Here is how I designed and built a premium, modern developer portfolio using nothing but semantic HTML and clean CSS grid/flexbox layouts.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 The Design Identity
&lt;/h2&gt;

&lt;p&gt;The goal was to create a light, spacious layout that feels dynamic yet entirely professional. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Palette:&lt;/strong&gt; Clean light backgrounds powered by subtle, moving ambient gradients (&lt;code&gt;radial-gradient&lt;/code&gt; combinations).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typography:&lt;/strong&gt; A harmonious pairing of &lt;strong&gt;Outfit&lt;/strong&gt; (for sharp, structural geometric UI elements) and &lt;strong&gt;Ovo&lt;/strong&gt; (a refined serif for striking headers and expressive blocks).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Highlight:&lt;/strong&gt; A glassmorphic, capsule-shaped navigation deck (&lt;code&gt;.nav-menu-capsule&lt;/code&gt;) that floats elegantly at the top of the interface.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏛️ The Architecture Breakdowns
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The Dynamic Hero &amp;amp; Live Status Badge
&lt;/h3&gt;

&lt;p&gt;Instead of a static greeting, the landing view includes a live pulsing indicator badge to clearly state my availability to engineering teams right away.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
html
&amp;lt;div class="live-status-badge"&amp;gt;
    &amp;lt;span class="pulse-dot"&amp;gt;&amp;lt;/span&amp;gt;
    &amp;lt;span class="status-text"&amp;gt;Open to new engineering roles&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>html</category>
      <category>javascript</category>
      <category>css</category>
      <category>python</category>
    </item>
    <item>
      <title>Promises &amp; Async/Await</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Thu, 09 Jul 2026 05:57:39 +0000</pubDate>
      <link>https://dev.to/karthick_07/promises-asyncawait-1go3</link>
      <guid>https://dev.to/karthick_07/promises-asyncawait-1go3</guid>
      <description>&lt;p&gt;&lt;strong&gt;Why JavaScript promises&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The following example defines a function getUsers() that returns a list of user objects:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getUsers&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;john&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;john@test.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;jane&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;jane@test.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Understanding JavaScript Promises&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By definition, a promise is an object that encapsulates the result of an asynchronous operation.&lt;/p&gt;

&lt;p&gt;A promise object has a state that can be one of the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Pending&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fulfilled with a value&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rejected for a reason&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the beginning, the state of a promise is pending, indicating that the asynchronous operation is in progress. Depending on the result of the asynchronous operation, the state changes to either fulfilled or rejected.&lt;/p&gt;

&lt;p&gt;The fulfilled state indicates that the asynchronous operation was completed successfully:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a promise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To create a promise object, you use the Promise() constructor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;promise&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// contain an operation&lt;/span&gt;
  &lt;span class="c1"&gt;// ...&lt;/span&gt;

  &lt;span class="c1"&gt;// return the state&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note that the callback functions passed into the executor are resolved and rejected by convention only.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consuming a Promise: then, catch, finally&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) The then() method:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To get the value of a promise when it’s fulfilled, you call the then() method of the promise object. The following shows the syntax of the then() method:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;onFulfilled&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;onRejected&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2) The catch() method&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to get the error only when the state of the promise is rejected, you can use the catch() method of the Promise object:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;onRejected&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use then() method to schedule a callback to be executed when the promise is fulfilled, and catch() method to schedule a callback to be invoked when the promise is rejected.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Place the code that you want to execute in the finally() method, whether the promise is fulfilled or rejected.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;References: &lt;/p&gt;

&lt;p&gt;I have written about this article and I am learning about this topic's future. I will updated more&lt;br&gt;
I've learned a lot from this article about JavaScript promises, and I'm planning to update my notes as I continue my studies on the topic. I'm excited to explore how promises can be used in asynchronous programming and their impact on code structure. If I come across more information, I’ll make sure to revise and add to my understanding!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.javascripttutorial.net/es6/javascript-promises/" rel="noopener noreferrer"&gt;https://www.javascripttutorial.net/es6/javascript-promises/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>JavaScript Closures Explained with Examples</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Wed, 08 Jul 2026 13:28:10 +0000</pubDate>
      <link>https://dev.to/karthick_07/javascript-closures-explained-with-examples-3793</link>
      <guid>https://dev.to/karthick_07/javascript-closures-explained-with-examples-3793</guid>
      <description>&lt;p&gt;&lt;strong&gt;Closure in JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A closure is the combination of a function and its lexical environment, allowing the function to access variables from its outer scope even after the outer function has finished executing.&lt;/p&gt;

&lt;p&gt;Retains access to outer function variables.&lt;br&gt;
Preserves the lexical scope.&lt;br&gt;
Allows data encapsulation and privacy.&lt;br&gt;
Commonly used in callbacks and asynchronous code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function outer() {
    let outerVar = "I'm in the outer scope!";

    function inner() {
        console.log(outerVar);
    }
    return inner;
}

const closure = outer();

closure();
closure();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Disadvantages of Closures&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Closures are a powerful tool in programming, but they can also result in memory leaks if not used correctly. The closure's ability to allow internal functions to retain external variables can cause these variables to persist in memory, leading to memory leaks if the code is executed repeatedly.&lt;/p&gt;

&lt;p&gt;The example below demonstrates how a memory leak can occur when using closures. The longArray constant is still remembered by addNumbers due to the closure, even if it is not in use. This can cause a buildup of memory over time, resulting in a memory leak.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function outer() {
  const longArray = [];
  return function inner(num) {
    longArray.push(num);
  };
}
const addNumbers = outer();

for (let i = 0; i &amp;lt; 100000000; i++) {
  addNumbers(i);
}

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

&lt;/div&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkv2zq6w2g7ehitksb1a.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkv2zq6w2g7ehitksb1a.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>HTML Document Object Model</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Mon, 06 Jul 2026 06:41:23 +0000</pubDate>
      <link>https://dev.to/karthick_07/html-document-object-model-1ljm</link>
      <guid>https://dev.to/karthick_07/html-document-object-model-1ljm</guid>
      <description>&lt;p&gt;&lt;strong&gt;DOM tree&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The backbone of an HTML document is tags.&lt;/p&gt;

&lt;p&gt;According to the Document Object Model (DOM), every HTML tag is an object. Nested tags are “children” of the enclosing one. The text inside a tag is an object as well.&lt;/p&gt;

&lt;p&gt;All these objects are accessible using JavaScript, and we can use them to modify the page.&lt;/p&gt;

&lt;p&gt;For example, document.body is the object representing the  tag.&lt;/p&gt;

&lt;p&gt;Running this code will make the  red for 3 seconds:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An example of the DOM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s start with the following simple document:&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&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;About elk&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  The truth about elk.
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl29drwk8nbpikuryvpwm.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl29drwk8nbpikuryvpwm.png" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An HTML/XML document is represented inside the browser as the DOM tree.&lt;/p&gt;

&lt;p&gt;Tags become element nodes and form the structure.&lt;br&gt;
Text becomes text nodes.&lt;br&gt;
…etc, everything in HTML has its place in the DOM, even comments.&lt;/p&gt;

</description>
      <category>html</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>"Understanding createElement() and appendChild() in JavaScript DOM"</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Sun, 05 Jul 2026 12:37:03 +0000</pubDate>
      <link>https://dev.to/karthick_07/understanding-createelement-and-appendchild-in-javascript-dom-34k0</link>
      <guid>https://dev.to/karthick_07/understanding-createelement-and-appendchild-in-javascript-dom-34k0</guid>
      <description>&lt;p&gt;What is the DOM?&lt;/p&gt;

&lt;p&gt;WITH THE DOM API in JavaScript, you can manipulate the HTML document effectively. The DOM (Document Object Model, Dom ApI  provide set of functions and methods to modify the HTML dynamically in JavaScript&lt;/p&gt;

&lt;p&gt;createElement() :&lt;/p&gt;

&lt;p&gt;In JavaScript, document.createElement() is a built-in DOM method used to dynamically create a new HTML element in the browser's memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Document&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;h1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;p&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What is appendChild() Method&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The appendChild() is a method of the Node interface. The appendChild() method allows you to add a node to the end of the list of child nodes of a specified parent node.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;parentNode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;childNode&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;appendChild&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;ul&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"Menu"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;li&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Home&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Men&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#Menu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;Men&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>JavaScript Roadmap</title>
      <dc:creator>Karthick (k)</dc:creator>
      <pubDate>Sat, 04 Jul 2026 15:20:56 +0000</pubDate>
      <link>https://dev.to/karthick_07/javascript-roadmap-22ma</link>
      <guid>https://dev.to/karthick_07/javascript-roadmap-22ma</guid>
      <description>&lt;p&gt;Let’s be completely honest: I haven't actually started studying JavaScript properly yet. Looking at a blank code editor feels intimidating, and the sheer volume of things to learn is overwhelming. &lt;/p&gt;

&lt;p&gt;But instead of diving in blindly and getting stuck in tutorial hell, I decided to map out a concrete strategy first. I got my hands on a brutal, practice-heavy roadmap that covers &lt;strong&gt;9 modules, over 90 practice programs, and 8 real-world projects&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;I’m sharing my exact battle plan before I write my first line of code. If you're a beginner, feel free to steal this. If you're a senior dev, let me know in the comments if I'm missing anything!&lt;/p&gt;




&lt;h2&gt;
  
  
  🔄 Phase 1: Logic &amp;amp; Reusability
&lt;/h2&gt;

&lt;p&gt;This is where I learn how to make the computer repeat tasks and organize my thoughts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Module 3: Control Flow &amp;amp; Loops&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do...while&lt;/code&gt;, Nested loops, &lt;code&gt;break&lt;/code&gt;, and &lt;code&gt;continue&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Goal:&lt;/strong&gt; Complete &lt;strong&gt;20 practice programs&lt;/strong&gt; to nail down basic logic.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Module 4: Functions&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Function Declarations vs. Expressions, Arrow Functions, Parameters, Return statements, Scope, and basic Closures.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Goal:&lt;/strong&gt; Complete &lt;strong&gt;20 practice programs&lt;/strong&gt; to master reusable code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 Phase 2: Data Structures
&lt;/h2&gt;

&lt;p&gt;How to store, organize, and manipulate data efficiently in JavaScript.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Module 5: Arrays (The Big One)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Creating arrays, basic methods (&lt;code&gt;push&lt;/code&gt;, &lt;code&gt;pop&lt;/code&gt;, &lt;code&gt;shift&lt;/code&gt;, &lt;code&gt;unshift&lt;/code&gt;), slicing/splicing, and the heavy-lifters: &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;filter()&lt;/code&gt;, &lt;code&gt;reduce()&lt;/code&gt;, &lt;code&gt;find()&lt;/code&gt;, &lt;code&gt;some()&lt;/code&gt;, &lt;code&gt;every()&lt;/code&gt;, and &lt;code&gt;sort()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Goal:&lt;/strong&gt; &lt;strong&gt;30 practice programs&lt;/strong&gt; (this is going to be a massive coding weekend).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Module 6: Objects&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Key-value pairs, Nested Objects, Object Methods, Constructor Functions, the &lt;code&gt;this&lt;/code&gt; keyword, and Optional Chaining.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;The Goal:&lt;/strong&gt; Complete &lt;strong&gt;20 practice programs&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌐 Phase 3: Making It Alive (The DOM)
&lt;/h2&gt;

&lt;p&gt;This is the milestone where JavaScript finally meets the browser and things get interactive.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Module 7: The DOM ⭐⭐⭐&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Selecting elements (&lt;code&gt;getElementById&lt;/code&gt;, &lt;code&gt;querySelector&lt;/code&gt;), changing content (&lt;code&gt;innerHTML&lt;/code&gt;, &lt;code&gt;textContent&lt;/code&gt;), handling forms, updating styles, and using &lt;code&gt;addEventListener()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;🧰 The First Projects:&lt;/strong&gt; 

&lt;ul&gt;
&lt;li&gt;  Counter App&lt;/li&gt;
&lt;li&gt;  Calculator&lt;/li&gt;
&lt;li&gt;  To-Do App&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Phase 4: Modern JS &amp;amp; Async Power
&lt;/h2&gt;

&lt;p&gt;Learning how modern developers actually write JavaScript and how to fetch real data from the internet.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Module 8: ES6+ Features&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; &lt;code&gt;let&lt;/code&gt; &amp;amp; &lt;code&gt;const&lt;/code&gt;, Template Literals, Destructuring, Spread &amp;amp; Rest Operators, Default Parameters, and Modules.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Module 9: Async JavaScript&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Callbacks, Promises, &lt;code&gt;async / await&lt;/code&gt;, Fetch API, and handling JSON.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Project:&lt;/strong&gt; Weather App (fetching live, real-time data!).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Module 10: Error Handling&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Core Topics:&lt;/strong&gt; Learning how to fail gracefully using &lt;code&gt;try&lt;/code&gt;, &lt;code&gt;catch&lt;/code&gt;, &lt;code&gt;finally&lt;/code&gt;, and &lt;code&gt;throw&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏆 The Grand Finale: Mini Projects
&lt;/h2&gt;

&lt;p&gt;To cement everything I've learned, I will build 6 distinct projects from scratch to build up my portfolio:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🧮 Calculator&lt;/li&gt;
&lt;li&gt;⏰ Digital Clock&lt;/li&gt;
&lt;li&gt;📝 Quiz App&lt;/li&gt;
&lt;li&gt;☀️ Weather App&lt;/li&gt;
&lt;li&gt;📓 Notes App&lt;/li&gt;
&lt;li&gt;💳 Expense Tracker&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Why I'm Backing This Specific Roadmap
&lt;/h2&gt;

&lt;p&gt;What I love about this plan is the heavy emphasis on &lt;strong&gt;practice&lt;/strong&gt;. Reading about a &lt;code&gt;map()&lt;/code&gt; function takes 2 minutes; understanding when to actually use it requires writing code. &lt;/p&gt;

&lt;p&gt;By the end of this journey, I will have built &lt;strong&gt;90+ small programs and 8 portfolio-ready projects&lt;/strong&gt;. That's how you actually learn to code—by building, breaking, and fixing things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join My Journey!
&lt;/h2&gt;

&lt;p&gt;I'm officially starting Module 3 today. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;To the beginners:&lt;/strong&gt; Do you want to study this roadmap with me? Let's connect in the comments and keep each other accountable!&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;To the veterans:&lt;/strong&gt; Which module here do you think will give me the most headaches? (My bet is on closures or async/await!).&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
