<?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: Sudhakar V</title>
    <description>The latest articles on DEV Community by Sudhakar V (@sudhakar_v_c404997aeec839).</description>
    <link>https://dev.to/sudhakar_v_c404997aeec839</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%2F2951235%2Fe0462b5f-1687-4b21-a01a-9e6dcc5adc5a.jpg</url>
      <title>DEV Community: Sudhakar V</title>
      <link>https://dev.to/sudhakar_v_c404997aeec839</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sudhakar_v_c404997aeec839"/>
    <language>en</language>
    <item>
      <title>Built My Personal Portfolio Using HTML CSS and JavaScript</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Sat, 28 Jun 2025 09:13:16 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/built-my-personal-portfolio-using-html-css-and-javascript-2do4</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/built-my-personal-portfolio-using-html-css-and-javascript-2do4</guid>
      <description>&lt;p&gt;I'm happy to share my newly created personal portfolio website developed using HTML CSS and JavaScript&lt;/p&gt;

&lt;p&gt;The portfolio showcases my skills projects events I’ve attended and includes a contact section with an embedded map and downloadable resume It is fully responsive and designed to reflect my style and frontend development focus&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTML for structuring content&lt;/li&gt;
&lt;li&gt;CSS for styling and responsive layout&lt;/li&gt;
&lt;li&gt;JavaScript for interactivity and animations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Building a responsive and modern UI from scratch&lt;/li&gt;
&lt;li&gt;Structuring clean semantic HTML and reusable CSS&lt;/li&gt;
&lt;li&gt;Implementing smooth animations and interactive UI features&lt;/li&gt;
&lt;li&gt;Improving design consistency and user experience&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Live Project and Source Code
&lt;/h3&gt;

&lt;p&gt;Live Site &lt;a href="https://porffolio.onrender.com/" rel="noopener noreferrer"&gt;https://porffolio.onrender.com/&lt;/a&gt;&lt;br&gt;
GitLab Repo &lt;a href="https://gitlab.com/payligam/porffolio" rel="noopener noreferrer"&gt;https://gitlab.com/payligam/porffolio&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Built a Weather App using Spring Boot and Thymeleaf</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Sat, 28 Jun 2025 09:07:07 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/built-a-weather-app-using-spring-boot-and-thymeleaf-222j</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/built-a-weather-app-using-spring-boot-and-thymeleaf-222j</guid>
      <description>&lt;p&gt;I recently completed a Weather App using Spring Boot and Thymeleaf and I'm excited to share it with you all&lt;/p&gt;

&lt;p&gt;This project allows users to enter any city name and fetch current weather data using the OpenWeatherMap API It integrates a dynamic form-based UI using Thymeleaf with backend logic in Spring Boot&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Spring Boot to handle backend logic and API requests&lt;/li&gt;
&lt;li&gt;Thymeleaf for rendering server-side HTML views&lt;/li&gt;
&lt;li&gt;OpenWeatherMap API to retrieve live weather data&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Connecting Spring Boot to external REST APIs&lt;/li&gt;
&lt;li&gt;Handling forms and validation with Thymeleaf&lt;/li&gt;
&lt;li&gt;Structuring a clean MVC application&lt;/li&gt;
&lt;li&gt;Building a fully functional Java web app end to end&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Special Thanks
&lt;/h3&gt;

&lt;p&gt;I would like to thank my mentors Vijay and Muthuramalingam for their consistent support and valuable feedback throughout this project&lt;/p&gt;

&lt;h3&gt;
  
  
  Source Code
&lt;/h3&gt;

&lt;p&gt;GitLab Repo &lt;a href="https://gitlab.com/payligam/weatherapp" rel="noopener noreferrer"&gt;https://gitlab.com/payligam/weatherapp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Spring Boot Color Picker Web App</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Mon, 23 Jun 2025 11:22:43 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/spring-boot-color-picker-web-app-589g</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/spring-boot-color-picker-web-app-589g</guid>
      <description>&lt;p&gt;Project Overview:&lt;/p&gt;

&lt;p&gt;This is a simple Spring Boot web application that allows users to pick a color from the URL and view a background rendered in that color dynamically using Thymeleaf template rendering.&lt;/p&gt;

&lt;p&gt;Technologies Used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Boot (Java)&lt;/li&gt;
&lt;li&gt;Thymeleaf&lt;/li&gt;
&lt;li&gt;HTML/CSS&lt;/li&gt;
&lt;li&gt;Maven&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;ColourPickerApplication.java`&lt;/p&gt;

&lt;p&gt;java&lt;br&gt;
package com.example.demo;&lt;/p&gt;

&lt;p&gt;import org.springframework.boot.SpringApplication;&lt;br&gt;
import org.springframework.boot.autoconfigure.SpringBootApplication;&lt;/p&gt;

&lt;p&gt;@SpringBootApplication&lt;br&gt;
public class ColourPickerApplication {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        SpringApplication.run(ColourPickerApplication.class, args);&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;ColourController.java`&lt;br&gt;
  java&lt;br&gt;
package com.example.demo.Controller;&lt;/p&gt;

&lt;p&gt;import org.springframework.stereotype.Controller;&lt;br&gt;
import org.springframework.ui.Model;&lt;br&gt;
import org.springframework.web.bind.annotation.GetMapping;&lt;br&gt;
import org.springframework.web.bind.annotation.RequestParam;&lt;/p&gt;

&lt;p&gt;@Controller&lt;br&gt;
public class ColourController {&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@GetMapping("/")
public String getColorPicker(@RequestParam(defaultValue = "#123456") String color, Model model) {
    model.addAttribute("selectedcolor", color);
    return "color";
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
  color.html` (in `src/main/resources/templates/`)

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

&lt;p&gt;&lt;br&gt;
html&lt;br&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
    &lt;br&gt;
    Color Picker&lt;br&gt;
    &amp;lt;br&amp;gt;
        body {&amp;lt;br&amp;gt;
            margin: 0;&amp;lt;br&amp;gt;
            height: 100vh;&amp;lt;br&amp;gt;
            display: flex;&amp;lt;br&amp;gt;
            justify-content: center;&amp;lt;br&amp;gt;
            align-items: center;&amp;lt;br&amp;gt;
            flex-direction: column;&amp;lt;br&amp;gt;
            font-family: Arial, sans-serif;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        h2 {&amp;lt;br&amp;gt;
            color: white;&amp;lt;br&amp;gt;
            text-shadow: 1px 1px 2px black;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
    &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
    &lt;h2&gt;Selected Color: &lt;span&gt;&lt;/span&gt;
&lt;/h2&gt;
&lt;br&gt;
&lt;br&gt;




&lt;pre class="highlight plaintext"&gt;&lt;code&gt;


Before:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebw9tl2n03fj2ynm072e.png)

After :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ohqnb720h9o6zmxtk3wx.png)

Source :
GitLab Repository: https://gitlab.com/payligam/springboot/-/tree/main/ColourPicker?ref_type=heads

  Credits:

  Developer: Sudhakar
  Mentorship: Mr. Muthuramalingam (Mentor)

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

</description>
    </item>
    <item>
      <title>HTML TAGS</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Tue, 10 Jun 2025 16:24:19 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/html-tags-341g</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/html-tags-341g</guid>
      <description>&lt;p&gt;Here is a &lt;strong&gt;list of commonly used HTML tags&lt;/strong&gt; in bullet point format, grouped by their purpose:&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Basic Structure Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/code&gt; – Declares the document as HTML5.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; – Root element of the HTML document.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; – Contains metadata (not displayed on the page).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; – Sets the title of the page (appears in browser tab).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; – Contains all the visible content on the page.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Text Formatting Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; to &lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; – Headings (h1 is the largest, h6 the smallest).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; – Paragraph.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; – Line break.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt; – Horizontal rule (line).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; – Bold text.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;i&amp;gt;&lt;/code&gt; – Italic text.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;u&amp;gt;&lt;/code&gt; – Underlined text.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; – Important (bold).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt; – Emphasized (italic).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Links and Media&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;a href="URL"&amp;gt;&lt;/code&gt; – Hyperlink.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;img src="image.jpg" alt="description"&amp;gt;&lt;/code&gt; – Image.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; – Embed video.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; – Embed audio.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Grouping &amp;amp; Layout Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; – Block-level container.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; – Inline container.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; – Section of a page.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; – Top section (usually contains logo, nav).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; – Bottom section.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; – Main content of the page.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; – Navigation links.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; – Standalone content.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; – Sidebar or related content.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;List Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; – Unordered list (bullets).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt; – Ordered list (numbers).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; – List item.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Table Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; – Table element.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;tr&amp;gt;&lt;/code&gt; – Table row.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt; – Table data/cell.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;th&amp;gt;&lt;/code&gt; – Table header.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;thead&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;tbody&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;tfoot&amp;gt;&lt;/code&gt; – Table sections.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Form Tags&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; – Form container.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; – Input field (text, checkbox, etc.).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; – Multi-line input.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; – Label for inputs.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; – Dropdown menu.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt; – Option in a dropdown.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; – Clickable button.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Template literals (Template strings)</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Thu, 29 May 2025 16:40:48 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/template-literals-template-strings-45c6</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/template-literals-template-strings-45c6</guid>
      <description>&lt;h1&gt;
  
  
  JavaScript Template Literals (Template Strings)
&lt;/h1&gt;

&lt;p&gt;Template literals, introduced in ES6 (ES2015), are an improved way to work with strings in JavaScript. They provide several powerful features over traditional string literals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Syntax
&lt;/h2&gt;

&lt;p&gt;Template literals use backticks (&lt;code&gt;`&lt;/code&gt;) instead of single or double quotes:&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;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`Hello World`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Multi-line Strings
&lt;/h3&gt;

&lt;p&gt;No need for &lt;code&gt;\n&lt;/code&gt; or concatenation:&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;multiLine&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
  This is 
  a multi-line
  string
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. String Interpolation
&lt;/h3&gt;

&lt;p&gt;Embed expressions using &lt;code&gt;${expression}&lt;/code&gt; syntax:&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;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;'&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;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Traditional way&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greeting1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&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="s1"&gt;, you are &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; years old&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// With template literal&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greeting2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`Hello &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="s2"&gt;, you are &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; years old`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Expression Evaluation
&lt;/h3&gt;

&lt;p&gt;Expressions inside &lt;code&gt;${}&lt;/code&gt; are evaluated:&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;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&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;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&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="s2"&gt;`The sum is &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// "The sum is 15"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Tagged Templates
&lt;/h3&gt;

&lt;p&gt;Advanced feature for custom string processing:&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;highlight&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;values&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="nx"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; 
    &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;}${&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;span class="highlight"&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/span&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;,&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="kd"&gt;const&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="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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&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;highlighted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;highlight&lt;/span&gt;&lt;span class="s2"&gt;`Hello &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="s2"&gt;, you are &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; years old`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Practical Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. HTML Templates
&lt;/h3&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;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Sarah&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Developer&lt;/span&gt;&lt;span class="dl"&gt;'&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;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
  &amp;lt;div class="user-card"&amp;gt;
    &amp;lt;h2&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;user&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="s2"&gt;&amp;lt;/h2&amp;gt;
    &amp;lt;p&amp;gt;Role: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;Joined: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;getFullYear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Complex Expressions
&lt;/h3&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;items&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Coffee&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Tea&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Milk&lt;/span&gt;&lt;span class="dl"&gt;'&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;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&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;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
  &amp;lt;ul&amp;gt;
    &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;li&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/li&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;
  &amp;lt;/ul&amp;gt;
  &amp;lt;p&amp;gt;Total items: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/p&amp;gt;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Conditional Rendering
&lt;/h3&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;isLoggedIn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&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;welcomeMessage&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
  Welcome back!
  &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;isLoggedIn&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;You have 3 new notifications&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Please log in&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Advantages Over Traditional Strings
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cleaner syntax for string concatenation&lt;/li&gt;
&lt;li&gt;Better readability for complex strings&lt;/li&gt;
&lt;li&gt;No need to escape single/double quotes inside the string&lt;/li&gt;
&lt;li&gt;Support for multi-line strings without workarounds[TBD]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;REFERENCES-  Template Literals - MDN Web Docs -&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>HTML DOM Document createElement()</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Thu, 29 May 2025 16:32:43 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/html-dom-document-createelement-2k85</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/html-dom-document-createelement-2k85</guid>
      <description>&lt;p&gt;In an HTML document, the document.createElement() is a method used to create the HTML element. The element specified using elementName is created or an unknown HTML element is created if the specified elementName is not recognized. &lt;/p&gt;

&lt;p&gt;Syntax&lt;/p&gt;

&lt;p&gt;let element = document.createElement("elementName");&lt;br&gt;
In the above syntax, elementName is passed as a parameter. elementName specifies the type of the created element. The nodeName of the created element is initialized to the elementName value. The document.createElement() returns the newly created element. &lt;/p&gt;

&lt;p&gt;Example 1: This example illustrates how to create a &lt;/p&gt;
&lt;p&gt; element. Input : &lt;/p&gt;

&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
    &amp;lt;br&amp;gt;
        function createparagraph() {&amp;lt;br&amp;gt;
            let x = document.createElement(&amp;amp;quot;p&amp;amp;quot;);&amp;lt;br&amp;gt;
            let t =&amp;lt;br&amp;gt;
                document.createTextNode(&amp;amp;quot;Paragraph is created.&amp;amp;quot;);&amp;lt;br&amp;gt;
            x.appendChild(t);&amp;lt;br&amp;gt;
            document.body.appendChild(x);&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
    &lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;br&gt;
    CreateParagraph&lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;br&gt;
Output: 

&lt;p&gt;Explanation:&lt;/p&gt;

&lt;p&gt;Start with creating an &lt;/p&gt;
&lt;p&gt; element using document.createElement().&lt;br&gt;
Create a text node using document.createTextNode().&lt;br&gt;
Now, append the text to &lt;/p&gt;
&lt;p&gt; using appendChild().&lt;br&gt;
Append the &lt;/p&gt;
&lt;p&gt; to &lt;/p&gt; using appendChild().&lt;br&gt;
Example 2: This example illustrates how to create a &lt;p&gt; element and append it to a &lt;/p&gt; element. Input : 

&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
    &amp;lt;br&amp;gt;
        function createparagraph() {&amp;lt;br&amp;gt;
            let x = document.createElement(&amp;amp;quot;p&amp;amp;quot;);&amp;lt;br&amp;gt;
            let t =&amp;lt;br&amp;gt;
                document.createTextNode(&amp;amp;quot;Paragraph is created.&amp;amp;quot;);&amp;lt;br&amp;gt;
            x.appendChild(t);&amp;lt;br&amp;gt;
            document.getElementById(&amp;amp;quot;divid&amp;amp;quot;).appendChild(x);&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
    &lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;br&gt;
     A div element&lt;br&gt;
    CreateParagraph&lt;br&gt;
&lt;br&gt;
​&lt;br&gt;
&lt;br&gt;
Output: 

&lt;p&gt;Supported Browser: The browsers supported by DOM createElement() Method are listed below:&lt;/p&gt;

&lt;p&gt;Google Chrome&lt;br&gt;
Edge &lt;br&gt;
Firefox&lt;br&gt;
Opera&lt;br&gt;
Safari&lt;br&gt;
REFERENCE:&lt;a href="https://www.w3schools.com/jsref/met_document_createelement.asp" rel="noopener noreferrer"&gt;https://www.w3schools.com/jsref/met_document_createelement.asp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Event Handling Functions</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 16:57:24 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/event-handling-functions-5dj</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/event-handling-functions-5dj</guid>
      <description>&lt;p&gt;In JavaScript, &lt;strong&gt;event handling functions&lt;/strong&gt; like &lt;code&gt;click&lt;/code&gt; and others are commonly used to interact with HTML elements. Here's a breakdown of the &lt;code&gt;.click()&lt;/code&gt; function and other similar event-related functions:&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;code&gt;.click()&lt;/code&gt; Function&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;.click()&lt;/code&gt; method &lt;strong&gt;programmatically triggers&lt;/strong&gt; a click event on an element.&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="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myButton&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;click&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// Simulates a click&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But normally, we use &lt;code&gt;.addEventListener()&lt;/code&gt; or &lt;code&gt;onclick&lt;/code&gt; to &lt;strong&gt;respond&lt;/strong&gt; to a real user click.&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="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"myButton"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Click Me&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script&amp;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;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myButton&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Button clicked!&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="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Common Event Listener Functions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can handle many types of events using &lt;code&gt;.addEventListener()&lt;/code&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Event Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;click&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when an element is clicked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dblclick&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires on double-click&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mouseover&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when the mouse is over an element&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mouseout&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when the mouse leaves an element&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mousedown&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when mouse button is pressed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mouseup&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when mouse button is released&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mousemove&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when the mouse moves&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;keydown&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when a keyboard key is pressed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;keyup&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when a keyboard key is released&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;input&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when the value of &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;change&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when input or select changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;submit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when a form is submitted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;load&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when the page or image is fully loaded&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;scroll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fires when an element is scrolled&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Basic Example&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"nameInput"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Type something"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"output"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;script&amp;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;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nameInput&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;input&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&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;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;output&lt;/span&gt;&lt;span class="dl"&gt;"&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;You typed: &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&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="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Shorthand &lt;code&gt;onclick&lt;/code&gt; Method&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Instead of &lt;code&gt;.addEventListener&lt;/code&gt;, you can also directly assign a function:&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="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myButton&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;onclick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Clicked via onclick&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>What is HTTP?</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 06:56:13 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/what-is-http-17nd</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/what-is-http-17nd</guid>
      <description>&lt;p&gt;&lt;strong&gt;HTTP&lt;/strong&gt; is the &lt;strong&gt;communication protocol&lt;/strong&gt; used by &lt;strong&gt;web browsers and servers&lt;/strong&gt; to talk to each other.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It's like a &lt;strong&gt;language&lt;/strong&gt; used by your browser (Chrome, Firefox, etc.) to &lt;strong&gt;ask for web pages&lt;/strong&gt; from a server.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Easy Analogy: Ordering a Burger&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine going to a &lt;strong&gt;fast-food counter&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You place an order: “One cheeseburger, please.”&lt;br&gt;
&lt;strong&gt;This is like an HTTP request&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The staff makes the burger and gives it to you.&lt;br&gt;
&lt;strong&gt;This is like an HTTP response&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  HTTP in Action (Real World)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You type &lt;code&gt;www.google.com&lt;/code&gt; in your browser.&lt;/li&gt;
&lt;li&gt;The browser sends an &lt;strong&gt;HTTP request&lt;/strong&gt; to Google's server.&lt;/li&gt;
&lt;li&gt;Google's server sends back an &lt;strong&gt;HTTP response&lt;/strong&gt; (the web page).&lt;/li&gt;
&lt;li&gt;The browser shows you the page.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Basic Structure
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;HTTP Request&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="nf"&gt;GET&lt;/span&gt; &lt;span class="nn"&gt;/index.html&lt;/span&gt; &lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;
&lt;span class="na"&gt;Host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;www.example.com&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;GET&lt;/code&gt; – Method (what you want to do)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/index.html&lt;/code&gt; – Resource you want&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;HTTP/1.1&lt;/code&gt; – Version of HTTP&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Host:&lt;/code&gt; – Which website&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;HTTP Response&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt; &lt;span class="ne"&gt;OK&lt;/span&gt;
&lt;span class="na"&gt;Content-Type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;text/html&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;Hello!&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;ul&gt;
&lt;li&gt;
&lt;code&gt;200 OK&lt;/code&gt; – Status code (successful)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Content-Type&lt;/code&gt; – What kind of data (HTML, JSON, etc.)&lt;/li&gt;
&lt;li&gt;Body – The actual data (web page content)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Common HTTP Methods
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Retrieve data (e.g., a web page)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Send new data (e.g., form data)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PUT&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Update existing data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DELETE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Remove data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Common HTTP Status Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;OK&lt;/td&gt;
&lt;td&gt;Success&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;404&lt;/td&gt;
&lt;td&gt;Not Found&lt;/td&gt;
&lt;td&gt;Page/resource doesn’t exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;Internal Server Error&lt;/td&gt;
&lt;td&gt;Something went wrong on server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;403&lt;/td&gt;
&lt;td&gt;Forbidden&lt;/td&gt;
&lt;td&gt;No permission&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;301&lt;/td&gt;
&lt;td&gt;Moved Permanently&lt;/td&gt;
&lt;td&gt;Page has a new URL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Why Is HTTP Important?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Without HTTP, &lt;strong&gt;websites wouldn’t load&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It's the &lt;strong&gt;foundation&lt;/strong&gt; of the &lt;strong&gt;web&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It's &lt;strong&gt;stateless&lt;/strong&gt; – each request is independent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Great question: &lt;strong&gt;Why is HTTP important?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s explain &lt;strong&gt;why HTTP exists&lt;/strong&gt; and &lt;strong&gt;why it’s important&lt;/strong&gt; in simple terms.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Why HTTP?&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;It connects the web&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;HTTP is the &lt;strong&gt;standard language&lt;/strong&gt; that allows your &lt;strong&gt;browser (client)&lt;/strong&gt; to talk to a &lt;strong&gt;web server&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Without HTTP, your browser wouldn’t know how to ask for a web page or send data.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  2. &lt;strong&gt;Simple and universal&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Works everywhere: phones, tablets, laptops.&lt;/li&gt;
&lt;li&gt;Can be used by any programming language (Java, Python, JavaScript, etc.).&lt;/li&gt;
&lt;li&gt;Easy to use and understand.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. &lt;strong&gt;Stateless communication&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Each request is &lt;strong&gt;independent&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You ask for something → you get a reply.&lt;/li&gt;
&lt;li&gt;The server doesn't need to remember past requests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes it &lt;strong&gt;fast and scalable&lt;/strong&gt; for millions of users.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. &lt;strong&gt;Supports many operations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Using HTTP methods (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;), it allows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browsing pages&lt;/li&gt;
&lt;li&gt;Submitting forms&lt;/li&gt;
&lt;li&gt;Uploading files&lt;/li&gt;
&lt;li&gt;Interacting with APIs&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. &lt;strong&gt;Secure communication (HTTPS)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;With &lt;strong&gt;HTTPS (HTTP Secure)&lt;/strong&gt;, data is &lt;strong&gt;encrypted&lt;/strong&gt;, making it safe from hackers during transfer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That's why modern websites use &lt;strong&gt;HTTPS&lt;/strong&gt; — secure version of HTTP.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Real-Life Example:
&lt;/h3&gt;

&lt;p&gt;When you search “best pizza near me”:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your browser sends an &lt;strong&gt;HTTP GET request&lt;/strong&gt; to Google.&lt;/li&gt;
&lt;li&gt;Google replies with an &lt;strong&gt;HTTP response&lt;/strong&gt; containing search results.&lt;/li&gt;
&lt;li&gt;You see the results on your screen.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All of this happens through &lt;strong&gt;HTTP&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary: Why HTTP?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benefit&lt;/th&gt;
&lt;th&gt;Why It Matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Web Communication Standard&lt;/td&gt;
&lt;td&gt;All websites use it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple &amp;amp; Fast&lt;/td&gt;
&lt;td&gt;Easy to implement and efficient&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stateless Design&lt;/td&gt;
&lt;td&gt;Great for high performance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Versatile Methods&lt;/td&gt;
&lt;td&gt;Enables all kinds of web interactions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Secure with HTTPS&lt;/td&gt;
&lt;td&gt;Keeps data safe during transmission&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Applets vs Servlets in Java</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 06:46:47 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/applets-vs-servlets-in-java-337i</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/applets-vs-servlets-in-java-337i</guid>
      <description>&lt;p&gt;Applets and Servlets are both Java technologies, but they serve &lt;strong&gt;very different purposes&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%2Fd2jl9gidcje1i5mo2dzq.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%2Fd2jl9gidcje1i5mo2dzq.png" alt=" " width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Applets&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is an Applet?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;Java program that runs in a web browser&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Meant for &lt;strong&gt;client-side execution&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Requires a &lt;strong&gt;Java plugin&lt;/strong&gt; in the browser (now deprecated and unsupported by most browsers).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Characteristics:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;Runs on the &lt;strong&gt;client&lt;/strong&gt; machine (browser).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GUI Support&lt;/td&gt;
&lt;td&gt;Yes (Swing or AWT).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use Case&lt;/td&gt;
&lt;td&gt;Old-school interactive web UIs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;Runs in a sandbox (restricted).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Obsolete?&lt;/td&gt;
&lt;td&gt;✅ &lt;strong&gt;Yes&lt;/strong&gt;. No longer supported by browsers.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Example:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.applet.Applet&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.awt.Graphics&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;HelloApplet&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Applet&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;paint&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Graphics&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;drawString&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello from Applet!"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;Servlets&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is a Servlet?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;Java class that runs on a server&lt;/strong&gt; and handles &lt;strong&gt;HTTP requests and responses&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Used to build &lt;strong&gt;web applications&lt;/strong&gt; (server-side logic).&lt;/li&gt;
&lt;li&gt;Forms the foundation for &lt;strong&gt;Spring MVC, JSP, and Java EE web apps&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Characteristics:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;Runs on the &lt;strong&gt;server&lt;/strong&gt; (inside servlet container like Tomcat).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GUI Support&lt;/td&gt;
&lt;td&gt;No GUI (sends HTML or data as response).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use Case&lt;/td&gt;
&lt;td&gt;Handling requests, processing forms, serving data.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modern Usage&lt;/td&gt;
&lt;td&gt;Backbone of Java web development.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Example:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.*&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;javax.servlet.*&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;javax.servlet.http.*&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;HelloServlet&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HttpServlet&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;protected&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;doGet&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;HttpServletRequest&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;HttpServletResponse&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="kd"&gt;throws&lt;/span&gt; &lt;span class="nc"&gt;ServletException&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setContentType&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"text/html"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="nc"&gt;PrintWriter&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getWriter&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&amp;lt;h1&amp;gt;Hello from Servlet!&amp;lt;/h1&amp;gt;"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;Applet vs Servlet Comparison Table&lt;/strong&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Applet&lt;/th&gt;
&lt;th&gt;Servlet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Runs On&lt;/td&gt;
&lt;td&gt;Client (Browser)&lt;/td&gt;
&lt;td&gt;Server (Web container)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Purpose&lt;/td&gt;
&lt;td&gt;GUI applications in browsers&lt;/td&gt;
&lt;td&gt;Handle web requests/responses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GUI Support&lt;/td&gt;
&lt;td&gt;Yes (AWT/Swing)&lt;/td&gt;
&lt;td&gt;No (Returns HTML or data)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML Interaction&lt;/td&gt;
&lt;td&gt;Embedded in HTML pages&lt;/td&gt;
&lt;td&gt;Processes requests from HTML forms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser Support&lt;/td&gt;
&lt;td&gt;Deprecated&lt;/td&gt;
&lt;td&gt;Widely supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;Runs in restricted sandbox&lt;/td&gt;
&lt;td&gt;Server-side security (authentication etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modern Usage&lt;/td&gt;
&lt;td&gt;Obsolete&lt;/td&gt;
&lt;td&gt;Still heavily used (Spring Boot, JSP)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Applets&lt;/strong&gt; are outdated and no longer used.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Servlets&lt;/strong&gt; are foundational for &lt;strong&gt;modern Java web development&lt;/strong&gt; (including Spring Boot).&lt;/li&gt;
&lt;/ul&gt;




</description>
    </item>
    <item>
      <title>MVC Architecture</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 06:43:54 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/mvc-architecture-49cf</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/mvc-architecture-49cf</guid>
      <description>&lt;p&gt;Using &lt;strong&gt;MVC (Model-View-Controller)&lt;/strong&gt; architecture in Spring Boot (or any web application) provides &lt;strong&gt;clear separation of concerns&lt;/strong&gt;, making your code &lt;strong&gt;easier to manage, scale, and test&lt;/strong&gt;. Here's &lt;strong&gt;why MVC is important&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%2Filtnufhczs27js2t6aya.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%2Filtnufhczs27js2t6aya.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;1. Separation of Concerns&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Each layer (Model, View, Controller) has a specific responsibility:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model&lt;/strong&gt;: Handles data and business logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View&lt;/strong&gt;: Displays data (HTML, Thymeleaf, etc.).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Controller&lt;/strong&gt;: Manages HTTP requests and responses.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;🔍 &lt;strong&gt;Result&lt;/strong&gt;: Easier debugging, testing, and maintenance.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;2. Scalability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As your application grows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can add new views without changing the business logic.&lt;/li&gt;
&lt;li&gt;You can change data logic without touching the UI or controller.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;3. Reusability&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Business logic in services and data models can be reused across multiple controllers or APIs.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;4. Testability&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can unit test each layer independently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mock the repository for service tests.&lt;/li&gt;
&lt;li&gt;Mock the service for controller tests.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;5. Maintainability&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cleanly structured projects are easier to understand for new developers.&lt;/li&gt;
&lt;li&gt;Reduces coupling and increases cohesion.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;6. Industry Standard&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Widely adopted pattern in enterprise applications.&lt;/li&gt;
&lt;li&gt;Encouraged by Spring Boot's auto-configuration and annotations.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧠 Example Scenario
&lt;/h3&gt;

&lt;p&gt;If you're building a banking app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model&lt;/strong&gt;: Account, Transaction entities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View&lt;/strong&gt;: HTML pages showing account details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Controller&lt;/strong&gt;: Handles requests like &lt;code&gt;/balance&lt;/code&gt; or &lt;code&gt;/transfer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service&lt;/strong&gt;: Contains logic like calculating interest or validating transfers.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🚀 Summary: Why MVC?
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Responsibility&lt;/th&gt;
&lt;th&gt;Benefits&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;Business logic &amp;amp; data&lt;/td&gt;
&lt;td&gt;Reusable &amp;amp; testable logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;View&lt;/td&gt;
&lt;td&gt;User Interface&lt;/td&gt;
&lt;td&gt;Clean and maintainable UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Controller&lt;/td&gt;
&lt;td&gt;Request handling &amp;amp; flow&lt;/td&gt;
&lt;td&gt;Centralized control &amp;amp; routing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




</description>
    </item>
    <item>
      <title>Spring Boot MVC (Model-View-Controller) architecture</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 06:41:32 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/spring-boot-mvc-model-view-controller-architecture-36b8</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/spring-boot-mvc-model-view-controller-architecture-36b8</guid>
      <description>&lt;p&gt;In a &lt;strong&gt;Spring Boot MVC (Model-View-Controller)&lt;/strong&gt; architecture, your application is divided into three main layers:&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%2Fh4ikwtbl00yptxucapun.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%2Fh4ikwtbl00yptxucapun.png" alt="Image description" width="275" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔁 &lt;strong&gt;1. Model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Represents the &lt;strong&gt;data and business logic&lt;/strong&gt; of the application.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Typically includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java classes (POJOs) representing the data.&lt;/li&gt;
&lt;li&gt;Entities (annotated with &lt;code&gt;@Entity&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Repository interfaces (usually extending &lt;code&gt;JpaRepository&lt;/code&gt; or &lt;code&gt;CrudRepository&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;✅ Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@Entity&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Id&lt;/span&gt;
    &lt;span class="nd"&gt;@GeneratedValue&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Long&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="c1"&gt;// Getters and setters&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🎮 &lt;strong&gt;2. Controller&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Handles &lt;strong&gt;HTTP requests&lt;/strong&gt; and maps them to the correct service methods. It acts as the &lt;strong&gt;entry point&lt;/strong&gt; for the web layer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Annotated with &lt;code&gt;@Controller&lt;/code&gt; or &lt;code&gt;@RestController&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Uses annotations like &lt;code&gt;@GetMapping&lt;/code&gt;, &lt;code&gt;@PostMapping&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;Communicates with the service layer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@RestController&lt;/span&gt;
&lt;span class="nd"&gt;@RequestMapping&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"/users"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserController&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Autowired&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;UserService&lt;/span&gt; &lt;span class="n"&gt;userService&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nd"&gt;@GetMapping&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;getAllUsers&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;userService&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getUsers&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧠 &lt;strong&gt;3. Service&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Encapsulates &lt;strong&gt;business logic&lt;/strong&gt;. Called by the controller and interacts with the repository (data access) layer.&lt;/p&gt;

&lt;p&gt;✅ Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@Service&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserService&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Autowired&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;UserRepository&lt;/span&gt; &lt;span class="n"&gt;userRepository&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;getUsers&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;userRepository&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;findAll&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🗃️ &lt;strong&gt;Repository&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Handles &lt;strong&gt;database operations&lt;/strong&gt;. Interfaces extend &lt;code&gt;JpaRepository&lt;/code&gt;, &lt;code&gt;CrudRepository&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;✅ Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@Repository&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;UserRepository&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;JpaRepository&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Long&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🖼️ &lt;strong&gt;View (optional in RESTful APIs)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In traditional MVC, views (HTML pages, Thymeleaf, JSP) are returned to the user. For APIs, JSON is typically returned.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Views are placed in &lt;code&gt;src/main/resources/templates/&lt;/code&gt; (for Thymeleaf).&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;@Controller&lt;/code&gt; (not &lt;code&gt;@RestController&lt;/code&gt;) when returning views.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Example (Thymeleaf View):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@Controller&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PageController&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@GetMapping&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"/home"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;home&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Model&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addAttribute&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Hello, Spring MVC!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"home"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// maps to home.html&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧭 Spring Boot MVC Project Flow
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client (Browser / Postman)
      ↓
Controller (handles HTTP requests)
      ↓
Service (business logic)
      ↓
Repository (database access)
      ↓
Database (e.g., PostgreSQL)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






</description>
    </item>
    <item>
      <title>ES5 = ECMAScript 5</title>
      <dc:creator>Sudhakar V</dc:creator>
      <pubDate>Wed, 28 May 2025 05:01:19 +0000</pubDate>
      <link>https://dev.to/sudhakar_v_c404997aeec839/es5-ecmascript-5-n8k</link>
      <guid>https://dev.to/sudhakar_v_c404997aeec839/es5-ecmascript-5-n8k</guid>
      <description>&lt;h3&gt;
  
  
  What is ECMAScript?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ECMAScript&lt;/strong&gt; is the &lt;strong&gt;standard specification&lt;/strong&gt; on which &lt;strong&gt;JavaScript is based&lt;/strong&gt;. It is developed by &lt;strong&gt;ECMA International&lt;/strong&gt;, and the goal is to standardize the language.&lt;/p&gt;




&lt;h3&gt;
  
  
  ECMAScript 5 (ES5) Details:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Full Name&lt;/td&gt;
&lt;td&gt;ECMAScript 5 (5th Edition)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Released Year&lt;/td&gt;
&lt;td&gt;December 2009&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standard Number&lt;/td&gt;
&lt;td&gt;ECMA-262, 5th Edition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Main Goal&lt;/td&gt;
&lt;td&gt;Add new features, improve security, and better language support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  Key Features Introduced in ES5:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;use strict&lt;/code&gt; mode&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Array&lt;/code&gt; methods: &lt;code&gt;forEach()&lt;/code&gt;, &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;filter()&lt;/code&gt;, &lt;code&gt;reduce()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Object.defineProperty()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;JSON.parse()&lt;/code&gt; and &lt;code&gt;JSON.stringify()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Better property access control&lt;/li&gt;
&lt;li&gt;Safer coding practices&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Example:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
javascript
"use strict";  // ES5 feature

var nums = [1, 2, 3];
var doubled = nums.map(function(n) {
  return n * 2;
});
console.log(doubled);  // [2, 4, 6]

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

&lt;/div&gt;

</description>
    </item>
  </channel>
</rss>
