<?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: திரைச்சுவடு</title>
    <description>The latest articles on DEV Community by திரைச்சுவடு (@thiraisuvadu_dev).</description>
    <link>https://dev.to/thiraisuvadu_dev</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%2F3721216%2F464976c4-8940-454d-a3f9-184d8416cd17.jpg</url>
      <title>DEV Community: திரைச்சுவடு</title>
      <link>https://dev.to/thiraisuvadu_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thiraisuvadu_dev"/>
    <language>en</language>
    <item>
      <title>Variable</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Tue, 03 Feb 2026 07:16:54 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/variable-p6k</link>
      <guid>https://dev.to/thiraisuvadu_dev/variable-p6k</guid>
      <description>&lt;p&gt;&lt;strong&gt;Variable-னா என்ன?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript-ல variable-ன்றது ஒரு மனுஷனோட அடையாளம் (Identity) மாதிரி. ஒரு மனுஷனுக்கு எப்படி பல விஷயங்கள் இருக்கும் (பேர், வயசு, வேலை), அதே மாதிரி ஒரு டேட்டாவை ஸ்டோர் பண்ண வைக்கிறதுதான் variable.&lt;/p&gt;

&lt;p&gt;நம்ம ஒரு டேட்டாவை (Data) கம்ப்யூட்டர் மெமரில சேமிச்சு வைக்கிறதுக்கு யூஸ் பண்ற ஒரு "கண்டெய்னர்" (Container) தான் வேரியபிள். ஜாவாஸ்கிரிப்ட் ஒரு Dynamically Typed Language, அதனால நீங்க டேட்டா டைப்பை மென்ஷன் பண்ணாமலே வேல்யூஸை ஸ்டோர் பண்ணலாம்.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;Const:&lt;/code&gt; மாற்ற முடியாதவை (Like Date of Birth / Blood Group)
ஒரு மனுஷன் பிறந்த தேதியையோ (DOB) அல்லது அவனோட ரத்த வகையையோ (Blood Group) மாத்த முடியாது. இதுதான் const.
விளக்கம்: ஒரு தடவை வேல்யூ குடுத்துட்டா, அப்புறம் அதை மாத்தவே முடியாது.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;JS Code: const rathaVagai = "O+ve";&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;Let:&lt;/code&gt; அவ்வப்போது மாறுபவை (Like Current Designation / Address)
ஒருத்தர் இன்னைக்கு 'Junior Developer'-ஆ இருப்பாரு, அடுத்த வருஷம் 'Senior'-ஆ மாறிடுவாரு. இன்னைக்கு சென்னையில இருப்பாரு, நாளைக்கு பெங்களூருக்கு மாறிடுவாரு. இதுதான் let.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ஒரு குறிப்பிட்ட சூழ்நிலைக்கோ (Block Scope) அல்லது நேரத்துக்கோ ஏத்த மாதிரி இதை மாத்திக்கலாம்.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;JS Code: let velai = "Junior Dev"; (அடுத்த வருஷம் velai = "Senior Dev";-ன்னு மாத்தலாம்).&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;Var:&lt;/code&gt; ஒரு பழைய பழக்கம் (Like Family Reputation / Nickname)
முன்னாடி காலத்துல ஒரு குடும்பத்தோட கௌரவம் (Reputation) ஊர் முழுக்க பேசப்படும். அது அந்த மனுஷனோட கண்ட்ரோல்லயே இருக்காது. எங்க வேணா மாறும். இதுதான் var.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;இது Function Scope. அதாவது ஒரு ரூம்குள்ள மட்டும் இல்லாம, எல்லா இடத்துலயும் இதோட ஆதிக்கம் இருக்கும். இது அடிக்கடி குழப்பத்தை உண்டாக்கும் (Hoisting). அதனால இப்ப யாரும் இதை அதிகமா யூஸ் பண்றது இல்ல.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;JS Code: var ooruPayer = "Madurai";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;இதோட Pros &amp;amp; Cons :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Const (Pros)&lt;/code&gt;: ரொம்ப Safe. தெரியாம கூட வேல்யூவை மாத்த முடியாது. அதனால கோட் 'Predictable'-ஆ இருக்கும்.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Let (Pros)&lt;/code&gt;: Memory Management-க்கு சூப்பர். வேலை முடிஞ்சதும் மெமரியை விட்டு போயிடும் (Block scope).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Var (Cons)&lt;/code&gt;: இதோட பெரிய மைனஸ் Hoisting. அதாவது வேரியபிளை டிக்ளர் பண்றதுக்கு முன்னாடியே அது வந்து நிக்கும் (ghost மாதிரி). இதனால நிறைய 'Bugs' வரும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Execution (எப்படி நடக்கும்?):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Memory Phase:&lt;/strong&gt; மனுஷன் பிறக்குறதுக்கு முன்னாடியே அவனுக்கு என்னென்ன தேவைன்னு பிளான் பண்ற மாதிரி, JS என்ஜின் மெமரியை ஒதுக்கும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution Phase:&lt;/strong&gt; மனுஷன் வளர்ந்து ஒரு ஒரு ஸ்டேஜா அடையுற மாதிரி, கோட் ஒரு ஒரு லைனா ரன் ஆகி வேல்யூவை அசைன் பண்ணும்.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>discuss</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Built this comprehensive guide in Tamil, but the code speaks English! Get the full picture by using the browser's translate feature. Appreciate any feedback and engagement from the DEV community!
#Web development.</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Mon, 02 Feb 2026 04:40:38 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/built-this-comprehensive-guide-in-tamil-but-the-code-speaks-english-get-the-full-picture-by-using-3fi1</link>
      <guid>https://dev.to/thiraisuvadu_dev/built-this-comprehensive-guide-in-tamil-but-the-code-speaks-english-get-the-full-picture-by-using-3fi1</guid>
      <description>&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/thiraisuvadu_dev/javascript-3595" class="crayons-story__hidden-navigation-link"&gt;JavaScript (The Brain)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/thiraisuvadu_dev" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3721216%2F464976c4-8940-454d-a3f9-184d8416cd17.jpg" alt="thiraisuvadu_dev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/thiraisuvadu_dev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              திரைச்சுவடு
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                திரைச்சுவடு
                
              
              &lt;div id="story-author-preview-content-3184661" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/thiraisuvadu_dev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3721216%2F464976c4-8940-454d-a3f9-184d8416cd17.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;திரைச்சுவடு&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/thiraisuvadu_dev/javascript-3595" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jan 20&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/thiraisuvadu_dev/javascript-3595" id="article-link-3184661"&gt;
          JavaScript (The Brain)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/discuss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/thiraisuvadu_dev/javascript-3595#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




</description>
      <category>javascript</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Built this comprehensive guide in Tamil, but the code speaks English! Get the full picture by using the browser's translate feature. Appreciate any feedback and engagement from the DEV community! 
#Web development.</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Mon, 02 Feb 2026 04:39:59 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/built-this-comprehensive-guide-in-tamil-but-the-code-speaks-english-get-the-full-picture-by-using-2abj</link>
      <guid>https://dev.to/thiraisuvadu_dev/built-this-comprehensive-guide-in-tamil-but-the-code-speaks-english-get-the-full-picture-by-using-2abj</guid>
      <description>&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363" class="crayons-story__hidden-navigation-link"&gt;HTML (The Skeleton)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/thiraisuvadu_dev" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3721216%2F464976c4-8940-454d-a3f9-184d8416cd17.jpg" alt="thiraisuvadu_dev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/thiraisuvadu_dev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              திரைச்சுவடு
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                திரைச்சுவடு
                
              
              &lt;div id="story-author-preview-content-3184919" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/thiraisuvadu_dev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3721216%2F464976c4-8940-454d-a3f9-184d8416cd17.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;திரைச்சுவடு&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jan 20&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363" id="article-link-3184919"&gt;
          HTML (The Skeleton)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/discuss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/html"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;html&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




</description>
      <category>html</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>HTTP - இணையத்தின் முதுகெலும்பு</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 10:57:15 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/http-innaiyttinnn-mutukelumpu-1pbe</link>
      <guid>https://dev.to/thiraisuvadu_dev/http-innaiyttinnn-mutukelumpu-1pbe</guid>
      <description>&lt;p&gt;HTTP என்பது இணையத்தின் முதுகெலும்பு போன்றது. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What: HTTP-ன்னா என்ன?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTTP என்பது &lt;strong&gt;HyperText Transfer Protocol&lt;/strong&gt;. இது பிரவுசருக்கும் (Client) சர்வர்க்கும் (Server) இடையே தகவல்களைப் பரிமாறப் பயன்படும் ஒரு "விதிமுறை" (Rules). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; நீங்க ஒரு ஜூஸ் கடைக்கு (Server) போறீங்க. நீங்க ஒரு வாடிக்கையாளர் (Client). அங்க இருக்குற சர்வர் (Waiter) தான் HTTP. &lt;br&gt;
நீங்க "எனக்கு ஒரு ஆப்பிள் ஜூஸ் குடுங்க"ன்னு கேட்குறீங்க (இது Request).&lt;/p&gt;

&lt;p&gt;அந்த சர்வர் கடைக்குள்ள போய் ஜூஸ் போட்டு எடுத்துட்டு வந்து உங்ககிட்ட குடுக்குறார் (இது Response). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why: இது ஏன் தேவை?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;இணையத்துல இருக்குற ஒரு வெப்சைட்-ஐ நீங்க பாக்கணும்னா, அந்த வெப்சைட் பைல்கள் எங்கோ ஒரு கம்ப்யூட்டர்ல (Server) இருக்கும். அந்த பைல்களை உங்க கம்ப்யூட்டருக்கு கொண்டு வர ஒரு "பாலம்" வேணும். அந்த வேலையைத்தான் HTTP செய்யுது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Where &amp;amp; When: இது எங்கே, எப்போது நடக்கும்?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Where:&lt;/strong&gt; இது உங்க பிரவுசரோட பேக்கிரவுண்ட்-ல (Background) நடக்கும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When:&lt;/strong&gt; நீங்க ஒரு URL டைப் பண்ணும்போதோ, அல்லது ஒரு பட்டனை கிளிக் செய்யும்போதோ (உதாரணத்துக்கு Facebook 'Like' பட்டன்), உடனே ஒரு HTTP Request கிளம்பி சர்வருக்கு போகும். &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. HTTP Types (Methods): முக்கியமான வகைகள்&lt;/strong&gt;&lt;br&gt;
 ஒரு மனுஷன் கடைக்கு போய் என்னென்ன காரியம் செய்வானோ, அதே மாதிரி HTTP-லயும் வகைகள் இருக்கு: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GET (வாசித்தல்):&lt;/strong&gt; சர்வருகிட்ட இருந்து ஒரு தகவலை மட்டும் எடுத்துட்டு வர (உதாரணம்: News படிக்கிறது).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;POST (உருவாக்குதல்):&lt;/strong&gt; புதுசா ஒரு தகவலை சர்வருக்கு அனுப்ப (உதாரணம்: புதுசா ஒரு Account Create பண்றது).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PUT / PATCH (மாற்றுதல்):&lt;/strong&gt; ஏற்கனவே இருக்குற தகவலை அப்டேட் பண்ண (உதாரணம்: Profile Photo மாத்துறது).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DELETE (நீக்குதல்):&lt;/strong&gt; ஒரு தகவலை டெலீட் பண்ண (உதாரணம்: ஒரு Post-ஐ டெலீட் பண்றது). &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Pros and Cons (நன்மைகள் மற்றும் தீமைகள்)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros (நன்மைகள்)&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ரொம்ப சிம்பிள் மற்றும் உலகம் முழுவதும் பயன்படுது.&lt;/li&gt;
&lt;li&gt;டெக்ஸ்ட், இமேஜ், வீடியோன்னு எல்லாத்தையும் அனுப்பலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons (தீமைகள்)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP பாதுகாப்பானது இல்லை. அதனாலதான் 2026-ல் எல்லாரும் HTTPS (S - Secure) பயன்படுத்துறாங்க.
&lt;/li&gt;
&lt;li&gt;டேட்டா திருடப்பட வாய்ப்பு இருக்கு (Encryption கிடையாது).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Alternatives (மாற்று வழிகள்)&lt;/strong&gt;&lt;br&gt;
HTTP-க்கு மாற்றாக இவை பயன்படுது: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WebSockets:&lt;/strong&gt; இது ஒரு போன் கால் மாதிரி. சர்வரும் நீங்களும் எப்போவும் பேசிக்கிட்டே இருக்கலாம் (உதாரணம்: WhatsApp Chat, Live Game).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;gRPC:&lt;/strong&gt; ரொம்ப வேகமா டேட்டாவை அனுப்ப பெரிய கம்பெனிகள் பயன்படுத்துறாங்க.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FTP:&lt;/strong&gt; வெறும் பைல்களை மட்டும் ஏத்தவோ இறக்கவோ பயன்படுது. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;சுருக்கமாக:&lt;/strong&gt; HTTP என்பது பிரவுசருக்கும் சர்வருக்கும் இடையே நடக்கும் ஒரு "கேள்வி-பதில்" விளையாட்டு போன்றது.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>http</category>
      <category>api</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Local file communication</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 10:45:53 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/local-file-communication-5aa1</link>
      <guid>https://dev.to/thiraisuvadu_dev/local-file-communication-5aa1</guid>
      <description>&lt;p&gt;உங்கள் லோக்கல் (Local) ஃபைல்களைத் திறக்கும்போது ஏன் '&lt;a href="https://dev.to/thiraisuvadu_dev/http-innaiyttinnn-mutukelumpu-1pbe"&gt;HTTP Call&lt;/a&gt;' அல்லது 'Network Request' நடக்கிறது என்பதற்கான விளக்கம் இதோ:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 'Request' என்பது ஒரு தகவல் தொடர்பு (Communication)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஜாவாஸ்கிரிப்ட் மற்றும் பிரவுசரைப் பொறுத்தவரை, ஒரு ஃபைலைத் திறப்பது என்பது ஒரு "ஆர்டர்" கொடுப்பது போன்றது. &lt;/li&gt;
&lt;li&gt;உங்கள் HTML ஃபைல் லோக்கல் டிஸ்க்கில் (&lt;code&gt;C: Drive&lt;/code&gt; அல்லது &lt;code&gt;D: Drive&lt;/code&gt;) இருந்தாலும், பிரவுசர் அதை நேரடியாகப் படிக்காது.&lt;/li&gt;
&lt;li&gt;மாறாக, பிரவுசரின் ஒரு பகுதி (Client) உங்கள் கம்ப்யூட்டரின் மற்றொரு பகுதியிடம் (File System) அந்த ஃபைலைத் தரும்படி ஒரு ரிக்வெஸ்ட் கேட்கும். இந்தத் தொடர்புதான் நெட்வொர்க் டேப்பில் பதிவாகிறது. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. ஏன் இது 'HTTP' ஆகக் காட்டப்படுகிறது?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;பொதுவாக இணையதளங்கள் &lt;code&gt;http://&lt;/code&gt; அல்லது &lt;code&gt;https://&lt;/code&gt; மூலம் இயங்கும். ஆனால் லோக்கல் ஃபைல்கள் &lt;code&gt;file:///&lt;/code&gt; என்ற புரோட்டோகால் மூலம் இயங்கும். &lt;/li&gt;
&lt;/ul&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%2Fwrly9yzpso1nphl2on4w.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%2Fwrly9yzpso1nphl2on4w.png" alt=" " width="800" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome போன்ற நவீன பிரவுசர்கள், அனைத்து வகையான டேட்டா பரிமாற்றங்களையும் (அது லோக்கல் ஃபைலாக இருந்தாலும் சரி) ஒரே மாதிரியான Network Log-ல் காட்டுகின்றன.&lt;/li&gt;
&lt;li&gt;நீங்கள் ஒரு HTML-ஐத் திறந்தால், அதில் உள்ள CSS, Images மற்றும் JS கோப்புகளை ஒவ்வொன்றாகப் பெற பிரவுசர் தனித்தனி 'Internal Requests' அனுப்பும். &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. JavaScript Point of View (JS ஏன் இதைச் செய்கிறது?)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஜாவாஸ்கிரிப்ட் கோப்புகள் இயங்க வேண்டுமானால், அவை முதலில் பிரவுசரின் மெமரிக்குள் (Memory) வர வேண்டும். &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parsing:&lt;/strong&gt; பிரவுசர் உங்கள் HTML-ஐ வாசிக்கும்போது, &lt;code&gt;&amp;lt;script src="script.js"&amp;gt;&lt;/code&gt; என்ற வரியைப் பார்த்தால், உடனே அந்த ஃபைலைத் தேடி ஒரு ரிக்வெஸ்ட் அனுப்பும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security (CORS):&lt;/strong&gt; நீங்கள் லோக்கல் ஃபைலை நேரடியாகத் திறக்கும்போது (Double click), சில ஜாவாஸ்கிரிப்ட் வேலைகள் (உதாரணமாக: &lt;code&gt;fetch()&lt;/code&gt; அல்லது &lt;code&gt;APIs&lt;/code&gt;) பாதுகாப்பு காரணங்களுக்காகத் தடுக்கப்படலாம். ஏன்னென்றால், &lt;code&gt;file://&lt;/code&gt; முறையில் ரிக்வெஸ்ட் அனுப்புவது பாதுகாப்பற்றதாக பிரவுசர் கருதுகிறது.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. எப்போது இது மாறும்?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;நீங்கள் Live Server (VS Code extension) அல்லது லோக்கல் ஹோஸ்ட் (Localhost) பயன்படுத்தினால், அது உண்மையான HTTP Request ஆக மாறும். &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Localhost:&lt;/strong&gt; இங்கே ஒரு குட்டி சர்வர் உங்கள் கம்ப்யூட்டருக்குள்ளேயே ஓடும். இது &lt;code&gt;file://&lt;/code&gt; என்பதை விட &lt;code&gt;http://localhost:5500&lt;/code&gt; என இயங்குவதால், ஒரிஜினல் இணையதளம் போலவே வேலை செய்யும். &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;சுருக்கமாக:&lt;/strong&gt; உங்கள் ஃபைல்கள் கம்ப்யூட்டருக்கு உள்ளேயே இருந்தாலும், பிரவுசர் அவை ஒவ்வொன்றையும் தனித்தனியாகத் திரட்டி &lt;code&gt;(Fetch)&lt;/code&gt; ஒரு பக்கமாக உருவாக்க வேண்டியுள்ளது. அந்தத் "திரட்டும்" செயலே நெட்வொர்க் டேப்பில் ரிக்வெஸ்ட்டாகத் தெரிகிறது.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>networking</category>
      <category>webdev</category>
      <category>http</category>
      <category>productivity</category>
    </item>
    <item>
      <title>திருத்து - Debug</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 10:24:36 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/tiruttu-debug-1pcg</link>
      <guid>https://dev.to/thiraisuvadu_dev/tiruttu-debug-1pcg</guid>
      <description>&lt;p&gt;JavaScript (JS) கோப்புகளைத் திருத்துவதற்கும் (Debug), அதேபோல் HTML மற்றும் CSS கோப்புகளைச் சரிபார்ப்பதற்கும் பல எளிய வழிகள் உள்ளன.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. JavaScript Debugging: வழிகள் (Ways)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Browser Developer Tools (F12):&lt;/strong&gt; இதுவே முதன்மையான வழி. Chrome அல்லது Edge பிரவுசரில் &lt;code&gt;F12&lt;/code&gt; அழுத்தி Sources Tab-க்குச் சென்றால் உங்கள் JS கோப்பைக் காணலாம்.&lt;/li&gt;
&lt;/ul&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%2Fv7ojoixni6y78jjnub18.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%2Fv7ojoixni6y78jjnub18.png" alt=" " width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Breakpoints:&lt;/strong&gt; Sources Tab-ல் கோட்டின் எண்ணைக் (Line Number) கிளிக் செய்தால் Breakpoint அமையும். கோடு அங்கே வந்து நின்றுவிடும், அப்போது வேரியபிள்களில் என்ன மதிப்பு இருக்கிறது என்று ஒவ்வொன்றாகச் சரிபார்க்கலாம்.&lt;/li&gt;
&lt;/ul&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%2Fhkpwktc99frtdxaldmyc.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%2Fhkpwktc99frtdxaldmyc.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Console Logging:&lt;/strong&gt; உங்கள் கோடில் &lt;code&gt;console.log(variableName);&lt;/code&gt; என்று சேர்ப்பதன் மூலம், அந்த வேரியபிளின் மதிப்பை Console Tab-ல் உடனுக்குடன் பார்க்கலாம்.&lt;/li&gt;
&lt;/ul&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%2Fgpj4597h485baiv8ri8j.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%2Fgpj4597h485baiv8ri8j.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Debugger Keyword:&lt;/strong&gt; உங்கள் கோடில் &lt;code&gt;debugger;&lt;/code&gt; என்று டைப் செய்தால், பிரவுசர் அந்த இடத்தில் தானாகவே எக்ஸிகியூஷனை நிறுத்திவிடும்.&lt;/li&gt;
&lt;/ul&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%2Fudohmf7f999ubpf0lqsw.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%2Fudohmf7f999ubpf0lqsw.png" alt=" " width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VS Code Debugger:&lt;/strong&gt; Visual Studio Code எடிட்டரிலேயே &lt;a href="https://code.visualstudio.com/docs/debugtest/debugging" rel="noopener noreferrer"&gt;'Run and Debug'&lt;/a&gt; வசதியைப் பயன்படுத்தி பிரவுசரை இணைத்து டிபக் செய்யலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. CSS மற்றும் HTML-ஐ Debug செய்ய முடியுமா?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;நிச்சயமாக முடியும். ஆனால் இவை JS போல இயங்கும் கோடுகள் அல்ல என்பதால், இவற்றைப் பார்க்கும் விதம் சற்று வேறுபடும். &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML Debugging:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elements Tab: பிரவுசரில் &lt;code&gt;F12&lt;/code&gt; அழுத்தி Elements Tab-க்குச் சென்றால், உங்கள் HTML ஸ்ட்ரக்சரைப் பார்க்கலாம்.&lt;/li&gt;
&lt;/ul&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%2F4a0jydgz5pr9darkxvhl.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%2F4a0jydgz5pr9darkxvhl.png" alt=" " width="800" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஏதேனும் டேக் மூடப்படாமல் இருந்தாலோ அல்லது தவறாக இருந்தாலோ இங்கே கண்டறியலாம்.&lt;/li&gt;
&lt;li&gt;நேரடியாக அங்கேயே டெக்ஸ்ட்டை மாற்றிப் பார்த்து (Edit as HTML) சோதனை செய்யலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CSS Debugging:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Styles Pane:&lt;/strong&gt; ஒரு எலிமெண்ட்டைத் தேர்வு செய்தால், அதற்கு என்னென்ன CSS விதிகள் பயன்படுத்தப்பட்டுள்ளன என்று வலது பக்கம் தெரியும்.&lt;/li&gt;
&lt;/ul&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%2Fg9tlejbmp6uq8hlns0eu.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%2Fg9tlejbmp6uq8hlns0eu.png" alt=" " width="800" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;தேவையற்ற ஸ்டைல்களை அணைத்து (Disable) பார்க்கலாம் அல்லது புதிய ஸ்டைல்களை உடனுக்குடன் சேர்த்து (Live Edit) அவுட்புட்டைச் சரிபார்க்கலாம்.&lt;/li&gt;
&lt;/ul&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%2Fejouxk8nfik3ezavayca.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%2Fejouxk8nfik3ezavayca.png" alt=" " width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Computed Tab:&lt;/strong&gt; ஒரு எலிமெண்ட்டின் இறுதி விளிம்பு (Border), பேடிங் (Padding) போன்றவை எவ்வளவு பிக்சல்களில் உள்ளன என்பதை இங்கே பார்க்கலாம்.&lt;/li&gt;
&lt;/ul&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%2Fzcm2djhnsa82nloeomjc.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%2Fzcm2djhnsa82nloeomjc.png" alt=" " width="800" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. பொதுவான சிக்கல்கள் (Common Problems)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Syntax Errors:&lt;/strong&gt; &lt;code&gt;}&lt;/code&gt; அல்லது &lt;code&gt;;&lt;/code&gt; போன்றவற்றை விடுவித்தால் JS இயங்காது.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specificity Issues (CSS):&lt;/strong&gt; நீங்கள் ஒரு ஸ்டைல் கொடுத்தும் அது மாறவில்லை என்றால், வேறு ஒரு ஸ்டைல் அதை ஓவர்ரைட் (Overwrite) செய்கிறது என்று அர்த்தம்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching:&lt;/strong&gt; நீங்கள் மாற்றிய கோடு பிரவுசரில் தெரியவில்லை என்றால் Ctrl + Shift + R கொடுத்து ஹார்ட் ரீலோட் (Hard Reload) செய்யவும். &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>browser</category>
      <category>vscode</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Executions</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 09:39:24 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/executions-32oc</link>
      <guid>https://dev.to/thiraisuvadu_dev/executions-32oc</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Traditional/Separate Files Way&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traditional/Separate Files Way என்பது &lt;a href="https://dev.to/thiraisuvadu_dev/html-the-skeleton-363"&gt;HTML&lt;/a&gt;, &lt;a href="https://dev.to/thiraisuvadu_dev/css-the-skin-dress-55im"&gt;CSS&lt;/a&gt; மற்றும் &lt;a href="https://dev.to/thiraisuvadu_dev/javascript-3595"&gt;JavaScript&lt;/a&gt; ஆகிய மூன்றையும் தனித்தனி ஃபைல்களாகப் பிரித்து வைப்பதாகும். இது ஒரு சமையலறையில் மளிகை பொருட்கள், பாத்திரங்கள் மற்றும் காய்கறிகளைத் தனித்தனியாக அடுக்கி வைப்பது போன்றது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ஏன் இப்படி பிரிக்க வேண்டும்? (Pros)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean Code:&lt;/strong&gt; HTML-ல் ஸ்ட்ரக்சர் மட்டும் இருக்கும், CSS-ல் அழகுபடுத்தும் வேலை மட்டும் இருக்கும். குழப்பம் வராது.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy &lt;a href="https://dev.to/thiraisuvadu_dev/tiruttu-debug-1pcg"&gt;Debugging&lt;/a&gt;:&lt;/strong&gt; ஸ்டைலில் பிரச்சனை என்றால் CSS ஃபைலை மட்டும் பார்க்கலாம்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reusability:&lt;/strong&gt; ஒரு CSS ஃபைலை பல HTML பக்கங்களுக்குப் பயன்படுத்தலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step Example:&lt;/strong&gt;&lt;br&gt;
 உதாரணத்திற்கு ஒரு பட்டனை உருவாக்கி, அதை அழகுபடுத்தி, கிளிக் செய்தால் ஒரு மெசேஜ் வருவது போல செய்வோம்.&lt;br&gt;
&lt;strong&gt;1. HTML File (index.html)&lt;/strong&gt;&lt;br&gt;
இதுதான் எலும்புக்கூடு. இதில் CSS மற்றும் JS ஃபைல்களை இணைக்க (Link) வேண்டும்.&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%2Fb1lyvl9u2ax16f93cle1.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%2Fb1lyvl9u2ax16f93cle1.png" alt=" " width="538" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CSS File (style.css)&lt;/strong&gt;&lt;br&gt;
இது மேக்கப் போடும் வேலை. இந்த ஃபைலில் HTML டேக்குகளுக்கு ஸ்டைல் கொடுப்போம்.&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%2F9xgk8rl2b3w8ncl9ymus.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%2F9xgk8rl2b3w8ncl9ymus.png" alt=" " width="566" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. JavaScript File (script.js)&lt;/strong&gt;&lt;br&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%2Fqpxjwmtloun2x3dm75av.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%2Fqpxjwmtloun2x3dm75av.png" alt=" " width="501" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;எப்படி வேலை செய்கிறது?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;பிரவுசர் index.html-ஐ முதலில் படிக்கும்.&lt;/li&gt;
&lt;li&gt; &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; டேக் பார்த்தவுடன் &lt;code&gt;style.css&lt;/code&gt;-ஐ டவுன்லோட் செய்து அழகைக் கொடுக்கும்.&lt;/li&gt;
&lt;li&gt; கடைசியில் &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; டேக் பார்த்தவுடன் &lt;code&gt;script.js&lt;/code&gt;-ஐ எடுத்துக்கொண்டு மூளையை (Logic) செயல்படுத்தும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;செய்யக்கூடாதவை (Don'ts):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSS மற்றும் JS ஃபைல் பெயர்களைத் தவறாகக் கொடுக்காதீர்கள் (உதாரணம்: &lt;code&gt;Style.css&lt;/code&gt; என இருந்தால் &lt;code&gt;style.css&lt;/code&gt; என அழைக்காதீர்கள் - Case Sensitive).&lt;/li&gt;
&lt;li&gt;ஃபைல்கள் எல்லாம் ஒரே ஃபோல்டரில் (Folder) இருப்பதை உறுதி செய்யவும். இல்லையெனில் சரியான பாத் (Path) கொடுக்க வேண்டும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Single File Way (Inline/Internal)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Single File Way என்பது HTML, CSS, மற்றும் JavaScript ஆகிய மூன்றையும் ஒரே &lt;code&gt;.html&lt;/code&gt; கோப்பிற்குள் எழுதுவதாகும். இதை Internal Styling மற்றும் Internal Scripting என்றும் அழைப்பார்கள்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;இது எப்போது உதவும்?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;மிகச்சிறிய புராஜெக்ட்கள் அல்லது ஒரு சிறிய 'Landing Page' செய்யும்போது.&lt;/li&gt;
&lt;li&gt;கோடிங் கற்றுக் கொள்ளும் ஆரம்பக் கட்டத்தில் (Beginners) கோப்புகளை மாற்றி மாற்றிப் பார்க்காமல் இருக்க.&lt;/li&gt;
&lt;li&gt;யாராவது ஒருவருக்குத் தபால் (Email) மூலம் ஒரு சிறிய வேலையை அனுப்பும்போது (ஒரே ஃபைலாக அனுப்ப எளிது).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Single File Example:&lt;/strong&gt;&lt;br&gt;
இந்த ஒரு ஃபைலை மட்டும் சேமித்து ரன் செய்தால் போதும்.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="ta"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;title&amp;gt;Single File Example&amp;lt;/title&amp;gt;

    &amp;lt;!-- 1. CSS இங்கேயே இருக்கும் (Internal CSS) --&amp;gt;
    &amp;lt;style&amp;gt;
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            padding-top: 50px;
            background-color: #e3f2fd;
        }

        .box {
            background: white;
            padding: 20px;
            display: inline-block;
            border-radius: 10px;
            box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
        }

        button {
            background-color: #ff5722;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;div class="box"&amp;gt;
        &amp;lt;h1 id="status"&amp;gt;விளக்கு அணைந்துள்ளது&amp;lt;/h1&amp;gt;
        &amp;lt;!-- 2. Inline Event - HTML-க்குள்ளேயே சிறிய JS --&amp;gt;
        &amp;lt;button onclick="changeLight()"&amp;gt;விளக்கை ஏற்று&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;!-- 3. JavaScript இங்கேயே இருக்கும் (Internal JS) --&amp;gt;
    &amp;lt;script&amp;gt;
        function changeLight() {
            const status = document.getElementById("status");
            status.innerHTML = "விளக்கு எரிந்து கொண்டிருக்கிறது! 💡";
            status.style.color = "#fbc02d";
            document.body.style.backgroundColor = "#fff9c4";
        }
    &amp;lt;/script&amp;gt;

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

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;இதில் உள்ள முக்கியமான பகுதிகள்:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; Tag: இதுதான் CSS-க்கான இடம். &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; பகுதிக்குள் இருக்கும்.&lt;/li&gt;
&lt;li&gt;Inline Attributes: &lt;code&gt;onclick="changeLight()"&lt;/code&gt; என்பது HTML டேக்கிற்குள்ளேயே நேரடியாக JavaScript-ஐக் குறிப்பது.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; Tag: இது JavaScript-க்கான இடம். பொதுவாக இதைப் பாடியின் (&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;) இறுதியில் வைப்பார்கள்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pros &amp;amp; Cons&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஒரே ஃபைலை மட்டும் மெயின்டைன் செய்தால் போதும்.&lt;/li&gt;
&lt;li&gt;பிரவுசர் ஒரே ஒரு முறைதான் சர்வரைக் கேட்கும் &lt;a href="https://dev.to/thiraisuvadu_dev/local-file-communication-5aa1"&gt;Single HTTP Request&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;கோடு 1000 வரிகளுக்கு மேல் போனால் எங்கு என்ன இருக்கிறது என்று தேடுவது கஷ்டம்.&lt;/li&gt;
&lt;li&gt;இதே ஸ்டைலை இன்னொரு பக்கத்திற்குப் பயன்படுத்த முடியாது (Code Reusability இல்லை).&lt;/li&gt;
&lt;li&gt;பிரவுசருக்கு இந்த கோப்பைத் தனியாகப் பிரித்து சேமிக்க (Caching) முடியாது, அதனால் பக்கம் மெதுவாகத் தெரியலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Modern Framework Way (React, Vue, Angular)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;இங்கு HTML, CSS மற்றும் JS ஆகியவை Components-களாக பிரிக்கப்படுகின்றன. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pros:&lt;/strong&gt; பெரிய அப்ளிகேஷன்களை உருவாக்க இதுவே சிறந்த வழி. கோட் மீண்டும் பயன்படுத்தக்கூடியதாக (Reusable) இருக்கும். இணையதளம் மிகவும் வேகமாக இயங்கும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cons:&lt;/strong&gt; இதைக் கற்றுக்கொள்வது கடினம் (Steep learning curve). ஆரம்பத்தில் செட்-அப் செய்ய அதிக நேரம் எடுக்கும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Progressive Web Apps (PWA)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;இணையதளங்களை மொபைல் ஆப் (App) போல இயங்கச் செய்யும் முறை. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pros:&lt;/strong&gt;இணையம் (Internet) இல்லாமலும் இயங்கும் வசதி உண்டு. மொபைல் ஆப் போலவே புஷ் நோட்டிபிகேஷன் அனுப்பலாம்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cons:&lt;/strong&gt; ஐபோன் (iOS) போன்ற சில தளங்களில் இன்னும் முழுமையான ஆதரவு கிடைக்காமல் போகலாம். &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. அதிகம் அறியப்படாத புதிய முறைகள்&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web Components:&lt;/strong&gt; எவ்வித பிரேம்வொர்க்கும் (React, Vue) இல்லாமல், பிரவுசரின் சொந்த வசதிகளை வைத்தே சொந்தமாக டேக்குகளை (Custom Tags) உருவாக்குவது.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Island Architecture (Astro):&lt;/strong&gt; தேவையான இடங்களில் மட்டும் JavaScript-ஐப் பயன்படுத்தி, மற்ற இடங்களை நிலையான HTML-ஆக வைத்திருப்பது. இது இணையதளத்தின் வேகத்தை உச்சகட்டத்திற்கு கொண்டு செல்லும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS-in-JS:&lt;/strong&gt; JavaScript கோப்பிற்குள்ளேயே CSS எழுதுவது. இது ஸ்டைல்களை டைனமிக்காக மாற்ற உதவும்.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>astro</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Operator - "கருவி"</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 08:54:58 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/operator-kruvi-31ff</link>
      <guid>https://dev.to/thiraisuvadu_dev/operator-kruvi-31ff</guid>
      <description>&lt;p&gt;JavaScript-ல் Operator என்பது ஒரு வேலையைச் செய்யப் பயன்படும் "கருவி" (Tool) அல்லது "குறியீடு" (Symbol) ஆகும். &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What: Operator-ன்னா என்ன?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ரெண்டு டேட்டாவை (Data) வச்சு ஏதாச்சும் ஒரு வேலையைச் செய்யப் பயன்படும் குறியீடுகள்தான் Operators.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; ஒரு மனுஷன் கையில இருக்குற "கத்தி" (Knife) அல்லது "கரண்டி" (Spoon) மாதிரி. கத்தியை வச்சு காய்கறி வெட்டலாம், கரண்டியை வச்சு சாப்பிடலாம். அதே மாதிரி, Operator-ஐ வச்சு ரெண்டு எண்களைக் கூட்டலாம் அல்லது ஒப்பிடலாம்.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;let sum = 10 + 5; -&amp;gt;&lt;/code&gt; இதில் &lt;code&gt;+&lt;/code&gt; என்பதுதான் Operator. &lt;code&gt;10&lt;/code&gt; மற்றும் &lt;code&gt;5&lt;/code&gt; என்பது &lt;code&gt;Operands&lt;/code&gt; (யாரு மேல வேலை நடக்குதோ அவங்க).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why: இது எதுக்கு தேவை?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; உங்களுக்கு ரெண்டு ஆப்பிள் இருக்கு, உங்க ரண்டுக்கு மூணு இருக்கு. மொத்தம் எத்தனைன்னு தெரிய ஒரு "கூட்டல்" (&lt;code&gt;+&lt;/code&gt;) தேவைப்படுதுல?&lt;/p&gt;

&lt;p&gt;லாஜிக் போட: "இவன் உயரமா? அல்லது அவன் உயரமா?"னு செக் பண்ண ஒரு ஒப்பீடு (Comparison) தேவை. இந்த மாதிரி கணக்கு போடவும், கண்டிஷன் செக் பண்ணவும் Operators கண்டிப்பா வேணும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Where &amp;amp; How: முக்கியமான Operator வகைகள் (With Human Example)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Arithmetic Operators (கணக்கீடு செய்பவர்கள்)&lt;/strong&gt;&lt;br&gt;
 ஒரு மனிதன் தன் வரவு-செலவு கணக்கைச் சரிபார்ப்பது போன்றது இது.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;+&lt;/code&gt; (Addition): இருவரை இணைப்பது (உதாரணம்: அப்பா + அம்மா = குடும்பம்).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-&lt;/code&gt; (Subtraction): ஒருவரிடமிருந்து ஒன்றைப் பிரிப்பது.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**&lt;/code&gt; (Exponentiation): இது நவீன ஜாவாஸ்கிரிப்ட்டில் அதிகம் பயன்படும் (Power of).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;let power = 2 ** 3;&lt;/code&gt; (2-ன் அடுக்கு 3 = 8).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;%&lt;/code&gt;(Modulus): மீதி (Remainder) கண்டுபிடிப்பது. 10 சாக்லேட்டை 3 
பேருக்குப் பிரித்துக் கொடுத்தால் மீதி 1 இருக்கும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;10 % 3&lt;/code&gt; அவுட்புட் 1 என வரும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Assignment Operators (பொறுப்பு கொடுப்பவர்கள்)&lt;/strong&gt;&lt;br&gt;
 ஒரு மனிதனுக்கு ஒரு வேலையையோ அல்லது ஒரு பொருளையோ ஒதுக்குவது.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;=&lt;/code&gt; (Simple Assignment): &lt;code&gt;let job = "Doctor";&lt;/code&gt; (வேலை ‘டாக்டர்’ என்று உறுதி செய்தல்).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;+=&lt;/code&gt; (Add and Assign): உங்களிடம் 10 ரூபாய் இருக்கிறது, யாரோ 5 ரூபாய் தருகிறார்கள். இப்போது மொத்தம் 15.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;money += 5;&lt;/code&gt; (இதன் அர்த்தம் &lt;code&gt;money = money + 5&lt;/code&gt;). இது கோடைச் சுருக்கப் பயன்படுகிறது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Comparison Operators (ஒப்பீடு செய்பவர்கள்) **&lt;br&gt;
 மிக முக்கியம் இங்குதான் லாஜிக் (Logic) ஆரம்பிக்கிறது. இருவரை ஒப்பிடுவது.&lt;br&gt;
**&lt;code&gt;==&lt;/code&gt; vs &lt;code&gt;===&lt;/code&gt; (The Deep Difference):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;==&lt;/code&gt; (Abstract Equality): இது மதிப்பை மட்டும் பார்க்கும். (உதாரணம்: "5" மற்றும் 5 சமம் என்று சொல்லும்).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;===&lt;/code&gt;(Strict Equality): இது மதிப்பு மற்றும் டேட்டா வகை (Data Type) இரண்டையும் பார்க்கும். 2026-ல் இதைப் பயன்படுத்துவதுதான் புத்திசாலித்தனம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;5 === "5"&lt;/code&gt; என்பது &lt;code&gt;False&lt;/code&gt; என வரும், ஏன்னா ஒன்று எண், இன்னொன்று டெக்ஸ்ட்.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;!= vs !==&lt;/code&gt;: சமம் இல்லை என்பதை உறுதி செய்ய.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Logical Operators (முடிவு எடுப்பவர்கள்)&lt;/strong&gt;&lt;br&gt;
 ஒரு மனிதன் மூளை மூலம் சிந்தித்து முடிவெடுப்பது போன்றது.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; (AND): "எனக்கு பசியும் எடுக்கணும், சாப்பாடும் இருக்கணும் - அப்போதான் சாப்பிடுவேன்". இரண்டுமே உண்மையாக (True) இருக்க வேண்டும்.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;||&lt;/code&gt; (OR): "டீ அல்லது காபி - எது இருந்தாலும் குடிப்பேன்". ஏதேனும் ஒன்று உண்மையாக இருந்தால் போதும்.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;!&lt;/code&gt; (NOT): தலைகீழாக மாற்றுவது. உண்மையை பொய் என்றும், பொய்யை உண்மை என்றும் மாற்றும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;!true&lt;/code&gt; என்பது &lt;code&gt;false&lt;/code&gt; என மாறும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Ternary Operator (குறுக்கு வழி - Short-cut)&lt;/strong&gt;&lt;br&gt;
 இது if-else கண்டிஷனுக்கு மாற்றாகப் பயன்படுத்தப்படும் ஒரு ஸ்டைலான வழி.&lt;br&gt;
&lt;strong&gt;Syntax:&lt;/strong&gt; &lt;code&gt;condition ? value_if_true : value_if_false&lt;/code&gt;&lt;br&gt;
மனுஷன் எக்ஸாம்பிள்: கல்யாண வயசு வந்துடுச்சா?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let age = 22;
let status = (age &amp;gt;= 21) ? "Eligible" : "Not Eligible";
console.log(status); // Output: Eligible

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Nullish Coalescing Operator (??) - Modern JS&lt;/strong&gt;&lt;br&gt;
 இது 2026-ல் மிக முக்கியமான ஆப்பரேட்டர். ஒரு வேரியபிளில் மதிப்பு இல்லை என்றால் (&lt;code&gt;null&lt;/code&gt; அல்லது &lt;code&gt;undefined&lt;/code&gt;), ஒரு டீபால்ட் மதிப்பைக் கொடுக்க இது உதவும்.&lt;br&gt;
&lt;strong&gt;Example:&lt;/strong&gt; ஒரு மனுஷனுக்கு இன்னும் பெயர் வைக்கவில்லை என்றால், அவரை "Guest" என்று கூப்பிடு.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let username = null;
let displayName = username ?? "Guest"; 
console.log(displayName); // Output: Guest

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Operator-ல் செய்யக்கூடாதவை (Logic Mistakes)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;==&lt;/code&gt; பயன்படுத்துவதைத் தவிர்க்கவும்: இது டேட்டா வகையைச் சரிபார்க்காது (&lt;code&gt;5 == "5"&lt;/code&gt; என்பது &lt;code&gt;True&lt;/code&gt; என வரும்). எப்போதும் &lt;code&gt;===&lt;/code&gt; (Strict Equality) பயன்படுத்துங்கள்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Assignment மற்றும் Equality-ஐக் குழப்பிக் கொள்ளாதீர்கள்:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;if (age = 18)&lt;/code&gt; -&amp;gt; இது தவறு (மதிப்பை மாற்றுகிறது).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;if (age === 18)&lt;/code&gt; -&amp;gt; இதுதான் சரி (சரிபார்க்கிறது).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;சரியான அடைப்புக்குறிகள் (Parentheses) இன்றி எழுதாதீர்கள்:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;let result = 2 + 3 * 5;&lt;/code&gt; -&amp;gt; இது 17 வரும் (முதலில் பெருக்கல் நடக்கும்).&lt;/li&gt;
&lt;li&gt;உங்களுக்கு கூட்டல் முதலில் நடக்க வேண்டுமென்றால் &lt;code&gt;(2 + 3) * 5&lt;/code&gt; என்று எழுதுங்கள். ஆப்பரேட்டர் முன்னுரிமை (Precedence) தெரியாமல் கோடு எழுதாதீர்கள்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;சரம் (String) மற்றும் எண்களைக் கூட்டும்போது கவனம்:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;console.log(5 + "5");&lt;/code&gt; -&amp;gt; இது 55 என்று வரும் (கூட்டாது, இணைத்துவிடும்). எண்களைக் கூட்டும்போது அவை உண்மையில் எண்கள்தானா என்று உறுதி செய்து கொள்ளவும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. பொதுவான தவறுகள்&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Don't use var&lt;/strong&gt;:  &lt;code&gt;var&lt;/code&gt; பயன்படுத்துவது மிகவும் பழைய முறை. எப்போதும் &lt;code&gt;let&lt;/code&gt; அல்லது &lt;code&gt;const&lt;/code&gt; பயன்படுத்துங்கள். இது &lt;code&gt;Identifier&lt;/code&gt;-ல் ஏற்படும் குழப்பங்களைத் தவிர்க்கும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't ignore Null/Undefined&lt;/strong&gt;: ஒரு வேரியபிளில் மதிப்பு இருக்கிறதா இல்லையா என்று தெரியாமல் ஆப்பரேட்டர்களைப் பயன்படுத்தாதீர்கள். &lt;code&gt;??&lt;/code&gt; (Nullish Coalescing) பயன்படுத்தி டீபால்ட் மதிப்பைக் கொடுக்கப் பழகுங்கள்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't write "Spaghetti Code"&lt;/strong&gt;: ஆப்பரேட்டர்களைப் பயன்படுத்தி ஒரே வரியில் மிக நீளமான லாஜிக் எழுதாதீர்கள். அதைப் பிரித்து எழுதுவது மற்றவர்கள் படிக்க எளிதாக இருக்கும்.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Identifier - வைக்கும் "பெயர்"</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 07:02:05 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/identifier-vaikkum-peyr-5aag</link>
      <guid>https://dev.to/thiraisuvadu_dev/identifier-vaikkum-peyr-5aag</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. What: Identifier-ன்னா என்ன?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Identifier என்பது நீங்கள் ஒரு வேரியபிள் (Variable), ஃபங்க்ஷன் (Function), அல்லது ஒரு கிளாஸ்க்கு (Class) வைக்கும் "பெயர்" (Name) ஆகும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; ஒரு குழந்தை பிறக்குதுன்னா, அந்த குழந்தையை மத்தவங்க கிட்ட இருந்து பிரிச்சு காட்ட நாம "ராகுல்" அல்லது "பிரியா"ன்னு ஒரு பெயர் வைக்கிறோம்ல? அந்தப் பெயர்தான் ப்ரோக்ராமிங்ல &lt;strong&gt;Identifier&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;let manithan= "Rahul";&lt;/code&gt;-&amp;gt; இதில் &lt;code&gt;manithan&lt;/code&gt;என்பதுதான் &lt;strong&gt;Identifier&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why: இது எதுக்கு தேவை?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; ஒரு கூட்டத்துல 100 பேர் இருக்காங்க. அங்க போய் "ஏய் மனுஷா இங்க வா!"ன்னு கூப்பிட்டா எல்லாரும் குழம்பிடுவாங்க. அதுவே "ராகுல் இங்க வா!"ன்னு கூப்பிட்டா கரெக்டா அந்த ஒருத்தர் வருவார்.&lt;/p&gt;

&lt;p&gt;அதே மாதிரி, கம்ப்யூட்டர் மெமரியில நிறைய டேட்டா (Data) இருக்கும். எந்த டேட்டாவை நாம இப்போ கூப்பிடுறோம்னு கம்ப்யூட்டருக்கு தெரிய வைக்க இந்த "பெயர்" &lt;strong&gt;(Identifier)&lt;/strong&gt; கண்டிப்பா வேணும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Where: இதை எங்கெல்லாம் பயன்படுத்துவோம்?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ஒரு மனுஷனோட வாழ்க்கையில பல இடத்துல பெயர் தேவைப்படுற மாதிரி, கோடுல இந்த இடத்துலலாம் வரும்:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables (பெயர்): &lt;code&gt;let name = "Kumar";&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Constants (மாறாத குணம்): &lt;code&gt;const bloodGroup = "O+";&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Functions (அவன் செய்யுற வேலை): &lt;code&gt;function walking() { ... }&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Objects (அவனை பத்தின விபரம்): &lt;code&gt;let human = { height: 170, weight: 70 };&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. How: இதை எப்படி உருவாக்கணும்? (Rules)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ஒரு குழந்தைக்கு பெயர் வைக்கும்போது சில ரூல்ஸ் இருக்குல? (உதாரணத்துக்கு: பெயருக்கு நடுவுல நம்பர் வைக்க மாட்டோம்). அதே மாதிரி Identifier-க்கும் 4 முக்கியமான ரூல்ஸ் இருக்கு:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rule 1:&lt;/strong&gt; எண்கள் (Numbers) கூடாது: பெயரோட ஆரம்பத்துல நம்பர் வரக்கூடாது.&lt;br&gt;
❌ &lt;code&gt;let 1stPerson = "Rahul";&lt;/code&gt; (தப்பு - 1-னு ஆரம்பிக்குது)&lt;br&gt;
✅ &lt;code&gt;let person1 = "Rahul";&lt;/code&gt; (சரி - 1 கடைசில வருது)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rule 2:&lt;/strong&gt; ஸ்பேஸ் (Space) இருக்கக்கூடாது:&lt;br&gt;
❌ &lt;code&gt;let human name = "Rahul";&lt;/code&gt; (தப்பு - நடுவுல கேப் இருக்கு)&lt;br&gt;
✅ &lt;code&gt;let humanName = "Rahul";&lt;/code&gt; (சரி - இதான் camelCase-ன்னு சொல்லுவாங்க. 2026-ல இதான் ஸ்டாண்டர்டு).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rule 3:&lt;/strong&gt; ஸ்பெஷல் சிம்பல்ஸ்: $ மற்றும் _ (underscore) தவிர வேற எந்த குறியீடும் (Like @, #, %) பயன்படுத்தக்கூடாது.&lt;br&gt;
✅ &lt;code&gt;let _human = "Rahul";&lt;/code&gt;&lt;br&gt;
✅ &lt;code&gt;let $money = 500;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rule 4:&lt;/strong&gt; ரிசர்வ் செய்யப்பட்ட வார்த்தைகள் &lt;strong&gt;&lt;a href="https://dev.to/thiraisuvadu_dev/keywords-reserved-words-1287"&gt;(Keywords)&lt;/a&gt;&lt;/strong&gt;: JavaScript-க்கே சொந்தமான வார்த்தைகளை (உதாரணத்துக்கு: let, var, function, if) பேரா வைக்க முடியாது.&lt;br&gt;
❌ &lt;code&gt;let let = "Rahul";&lt;/code&gt;(தப்பு - ஏன்னா 'let' ஒரு கீவேர்ட்).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Deep Analysis: Case Sensitive (சின்ன எழுத்து - பெரிய எழுத்து)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript-ல சின்ன எழுத்தும் பெரிய எழுத்தும் வேற வேற.&lt;br&gt;
மனுஷன்.&lt;br&gt;
 &lt;strong&gt;Example:&lt;/strong&gt; உங்க வீட்டுல ரெண்டு பேரு இருக்காங்கன்னு வச்சுப்போம். ஒருத்தன் பேரு "RAHUL" (எல்லாமே கேப்பிட்டல்), இன்னொருத்தன் பேரு "rahul" (எல்லாமே ஸ்மால்). நீங்க "rahul"ன்னு கூப்பிட்டா அந்த சின்ன ராகுல் தான் வருவான். பெரிய ராகுல் வரமாட்டான்.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;let age = 25;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;let Age = 30;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;இங்க &lt;code&gt;age&lt;/code&gt;வேற, &lt;code&gt;Age&lt;/code&gt;வேற. கம்ப்யூட்டர் இத ரெண்டு தனி மனுஷனா பார்க்கும்.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Keywords - RESERVED words</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Thu, 22 Jan 2026 05:19:52 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/keywords-reserved-words-1287</link>
      <guid>https://dev.to/thiraisuvadu_dev/keywords-reserved-words-1287</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Keywords-ன்னா என்ன? (What is it?)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Keywords-ங்கிறது ஜாவாஸ்கிரிப்ட் லாங்குவேஜ்ல இருக்குற &lt;strong&gt;"Reserved Words"&lt;/strong&gt;. அதாவது, இந்த வார்த்தைகளை ஜாவாஸ்கிரிப்ட் தனக்காக மட்டும் ஒதுக்கி வச்சிருக்கு. நீங்க ஒரு வேரியபிள் &lt;strong&gt;(Variable)&lt;/strong&gt; பேருக்கோ இல்ல ஃபங்க்ஷன் &lt;strong&gt;(Function)&lt;/strong&gt; பேருக்கோ இந்த வார்த்தைகளை பயன்படுத்த முடியாது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; ஒரு ஹோட்டலுக்கு போறீங்க. அங்க ஒரு டேபிள்ல "RESERVED"-ன்னு போர்டு வச்சிருக்காங்க. அந்த டேபிள்ல நீங்க போய் உட்கார முடியாது, ஏன்னா அது வேற ஒருத்தருக்காக ஒதுக்கப்பட்டது. அதே மாதிரி ஜாவாஸ்கிரிப்ட் இன்ஜினுக்கும் சில வார்த்தைகள் 'Reserved'.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why and Where? (ஏன் மற்றும் எங்கே?)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; ஜாவாஸ்கிரிப்ட் இன்ஜினுக்கு (Browser) நாம என்ன செய்யச் சொல்றோம்னு புரிய வைக்க இந்த வார்த்தைகள் ஒரு &lt;strong&gt;Command (கட்டளை)&lt;/strong&gt; மாதிரி பயன்படுது.&lt;br&gt;
&lt;strong&gt;Where:&lt;/strong&gt; நீங்க கோட் எழுதுறப்போ கம்ப்யூட்டருக்கு லாஜிக் சொல்லிக் குடுக்க ஒவ்வொரு வரியிலயும் இதைப் பயன்படுத்துவீங்க.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. How and When? (எப்படி மற்றும் எப்போ?)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;நீங்க ஒரு கீவேர்டை டைப் பண்ணும்போதே VS Code எடிட்டர்ல அது கலர் மாறி காட்டும் (உதாரணத்துக்கு &lt;code&gt;const&lt;/code&gt;அப்படின்னு டைப் பண்ணா அது நீல கலர்ல மாறும்). &lt;br&gt;
&lt;strong&gt;&lt;a href="https://www.w3schools.com/js/js_reserved.asp" rel="noopener noreferrer"&gt;All reserved words reference.,&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
எப்போ எதை யூஸ் பண்ணணும்?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஒரு வேல்யூவை சேவ் பண்ண: &lt;code&gt;const&lt;/code&gt; இல்ல &lt;code&gt;let&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;ஒரு கண்டிஷன் செக் பண்ண: &lt;code&gt;if&lt;/code&gt; இல்ல &lt;code&gt;else&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;ஒரு வேலையைச் செய்ய: &lt;code&gt;function&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4.முக்கியமான Keywords லிஸ்ட் (The VIP List)&lt;/strong&gt;&lt;br&gt;
 ஜாவாஸ்கிரிப்ட்ல நிறைய இருக்கு, ஆனா நீங்க அடிக்கடி பயன்படுத்துறவை இவைதான்:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A. டேட்டா சேமிக்க (Variable Creation)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;const&lt;/code&gt;: இது ஒரு "Constant". ஒருவாட்டி வேல்யூ குடுத்தா மாத்த முடியாது. (எ.கா: உங்களோட Brand Name - திரைச்சுவடு).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;let&lt;/code&gt;: இது மாத்தக்கூடியது. (எ.கா: ஸ்கோர் அல்லது டைம்).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;var&lt;/code&gt;: இது பழைய மெத்தட், இப்போ இதை அதிகமா பயன்படுத்துறது இல்லை.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;B. கண்டிஷன் செக் பண்ண (Decision Making)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;if, else, switch&lt;/code&gt;: "இது நடந்தா இத பண்ணு, இல்லன்னா அத பண்ணு"-ன்னு சொல்றதுக்கு.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;break, continue&lt;/code&gt;: ஒரு லூப்பை (Loop) நிறுத்தவோ இல்ல அடுத்த ஸ்டெப்புக்கு போகவோ இது உதவும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;C. வேலைகளைச் செய்ய (Action Words)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;function&lt;/code&gt;: ஒரு வேலையை திரும்பத் திரும்பச் செய்ய ஒரு பிளாக் உருவாக்குறதுக்கு.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;return&lt;/code&gt;: ஒரு வேலை முடிஞ்சதும் ரிசல்ட்ட வெளிய குடுக்க.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;D. நவீன காலத்து Keywords (2026 Trends)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;async, await&lt;/code&gt;: ஒரு டேட்டா வர்ற வரைக்கும் வெயிட் பண்ணி அப்புறம் வேலை செய்ய.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;import, export&lt;/code&gt;: ஒரு ஃபைல்ல இருக்குற கோடை இன்னொரு ஃபைலுக்கு கொண்டு போக.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Syntax:&lt;br&gt;
&lt;code&gt;// தப்பான முறை (This will give Error):&lt;br&gt;
let const = "Hello";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// சரியான முறை:&lt;br&gt;
let myName = "Arun";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note: &lt;code&gt;this&lt;/code&gt;அப்படின்ற கீவேர்டை ரொம்ப கவனமா யூஸ் பண்ணனும். ஏன்னா அது ஒவ்வொரு இடத்துலயும் ஒவ்வொரு மாதிரி பிஹேவ் பண்ணும்.&lt;/p&gt;

&lt;p&gt;Conclusion:&lt;/p&gt;

&lt;p&gt;Keywords-ங்கிறது ஜாவாஸ்கிரிப்ட் உலகத்தோட Grammar மாதிரி. இத நீங்க சரியா கத்துக்கிட்டாலே, பாதி கோட நீங்க பிழை இல்லாம எழுதிடலாம்!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Event Bubbling - தண்ணீர் குமிழி</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Wed, 21 Jan 2026 11:42:38 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/event-bubbling-tnnnniir-kumillli-1oge</link>
      <guid>https://dev.to/thiraisuvadu_dev/event-bubbling-tnnnniir-kumillli-1oge</guid>
      <description>&lt;p&gt;Event Bubbling என்பது ஜாவாஸ்கிரிப்ட் ஈவென்ட்களின் ஒரு "இயற்கையான குணம்".  இந்த தத்துவத்தை (Concept) புரிந்துகொள்வது மிக முக்கியம்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is Event Bubbling? (அப்படின்னா என்ன?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ஒரு எலிமெண்ட்டில் (உதாரணமாக ஒரு பட்டன்) ஈவென்ட் நடக்கும்போது, அது அங்கேயே நின்றுவிடாமல், மெதுவாக ஒரு &lt;strong&gt;தண்ணீர் குமிழி&lt;/strong&gt; (Bubble) மேலே வருவது போல, அதன் 'Parent' எலிமெண்ட்டுகளுக்கு வரிசையாகப் பரவும். இதுதான் Event Bubbling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
ஒரு அடுக்குமாடி குடியிருப்பு (Apartment). தரைத்தளத்தில் (Ground Floor) ஒரு சிறுவன் பட்டாசு வெடிக்கிறான். அந்தச் சத்தம் அப்படியே முதல் மாடி, இரண்டாம் மாடி என மேலே இருப்பவர்களுக்கும் கேட்கும் இல்லையா? அதுதான் பப்ளிங்!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why it happens? (ஏன் இப்படி நடக்குது?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;பிரவுசர்கள் இப்படித்தான் வடிவமைக்கப்பட்டுள்ளன. ஒரு எலிமெண்ட் என்பது அதன் Parent-க்குள் ஒரு பகுதிதான். எனவே, ஒரு 'Child'-ல் நடக்கும் விஷயம் 'Parent'-க்கும் தெரிந்தால்தான் &lt;strong&gt;&lt;a href="https://dev.to/thiraisuvadu_dev/event-delegation-3cpa"&gt;Event Delegation&lt;/a&gt;&lt;/strong&gt; போன்ற ஸ்மார்ட் வேலைகளைச் செய்ய முடியும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. How to find it? (எப்படி நடக்குதுன்னு கண்டுபிடிக்கிறது?):&lt;/strong&gt;&lt;br&gt;
இதை ஒரு சின்ன டெஸ்ட் மூலம் கண்டுபிடிக்கலாம். ஒரு DIV-க்குள் ஒரு BUTTON வைப்போம்.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div onclick="alert('DIV Clicked!')"&amp;gt;&lt;br&gt;
  &amp;lt;button onclick="alert('BUTTON Clicked!')"&amp;gt;கிளிக் செய்&amp;lt;/button&amp;gt;&lt;br&gt;
&amp;lt;/div&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
இப்போது நீங்கள் பட்டனை கிளிக் செய்தால்:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;முதலில் "BUTTON Clicked!" அலர்ட் வரும்.&lt;/li&gt;
&lt;li&gt;அது முடிந்ததும் தானாகவே "DIV Clicked!" அலர்ட் வரும்.
ஏன்? பட்டனில் தொடங்கிய அந்த 'கிளிக்' சிக்னல் அப்படியே மேலே பப்ளிங் ஆகி DIV-க்கும் போயிருச்சு!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;4. How it Works? (இதன் படிநிலைகள்):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 1: Capturing Phase (The Journey Down):&lt;/strong&gt;&lt;br&gt;
ஈவென்ட் மேலிருந்து (Window/Document) தொடங்கி, நீங்கள் கிளிக் செய்த எலிமெண்ட் (Target) வரை கீழே நோக்கி வரும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; டெலிவரி பாய் அப்பார்ட்மெண்ட் மெயின் கேட்டிற்கு வருகிறார். அங்கிருந்து லிஃப்ட் அல்லது படிக்கட்டு வழியாக 1-வது மாடி, 2-வது மாடி எனத் தாண்டி 5-வது மாடியை நோக்கி கீழே (உள்ளே) இறங்கி வருகிறார்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical:&lt;/strong&gt; &lt;code&gt;Window -&amp;gt; Document -&amp;gt; Body -&amp;gt; Parent -&amp;gt; Child.&lt;/code&gt;&lt;br&gt;
Note: Default-ஆக நாம் இதைக் கவனிக்க முடியாது, ஆனால் &lt;code&gt;addEventListener(..., true)&lt;/code&gt; என்று கொடுத்தால் இந்த ஸ்டேஜைப் பிடிக்கலாம்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 2: Target Phase (The Delivery):&lt;/strong&gt;&lt;br&gt;
ஈவென்ட் நீங்கள் கிளிக் செய்த அந்த குறிப்பிட்ட எலிமெண்ட்டை வந்தடையும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; டெலிவரி பாய் 5-வது மாடியில் உள்ள சரியான கதவைத் தட்டி, அந்த நபரிடம் பார்சலைக் கொடுக்கிறார். இதுதான் முக்கியமான இடம் (Target).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical:&lt;/strong&gt; நீங்கள் எந்த பட்டனை அல்லது DIV-ஐ கிளிக் செய்தீர்களோ, அங்கு அந்த ஈவென்ட் 'Trigger' ஆகும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 3: Bubbling Phase (The Journey Back Up):&lt;/strong&gt;&lt;br&gt;
பார்சலைக் கொடுத்த பிறகு, அந்த சிக்னல் மீண்டும் கீழிருந்து மேல் நோக்கி (Parent-களுக்கு) பரவும்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; பார்சலை வாங்கிய நபர் சந்தோஷத்தில் சத்தம் போடுகிறார். அந்தச் சத்தம் அவர் வீட்டுக்கு வெளியே கேட்டு, 4-வது மாடி, 3-வது மாடி என மெயின் கேட் வரை மேலே பரவுகிறது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical:&lt;/strong&gt; &lt;code&gt;Child -&amp;gt; Parent -&amp;gt; Body -&amp;gt; Document -&amp;gt; Window&lt;/code&gt;.&lt;br&gt;
Importance: 99% டெவலப்பர்கள் இந்த ஸ்டேஜைத்தான் &lt;strong&gt;&lt;a href="https://dev.to/thiraisuvadu_dev/event-delegation-3cpa"&gt;Event Delegation&lt;/a&gt;&lt;/strong&gt; செய்யப் பயன்படுத்துகிறார்கள்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. How to STOP it? (இதை எப்படி நிறுத்துவது?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;சில நேரம் உங்களுக்குப் பப்ளிங் தலைவலியாக இருக்கலாம். ஒரு பட்டனை அழுத்தினால் அந்த வேலை மட்டும் நடந்தால் போதும், Parent-க்கு சிக்னல் போகக் கூடாது என நினைத்தால் &lt;strong&gt;event.stopPropagation()&lt;/strong&gt; பயன்படுத்தலாம்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time Example:&lt;/strong&gt;&lt;br&gt;
சிறுவன் பட்டாசு வெடிக்கும்போது, வீட்டின் ஜன்னல்களைச் சாத்திவிட்டால் (Stop Propagation), சத்தம் மேலே போகாது.&lt;br&gt;
&lt;code&gt;button.addEventListener("click", function(event) {&lt;br&gt;
    alert("பட்டன் மட்டும் வேலை செய்யும்!");&lt;br&gt;
    event.stopPropagation(); // இதோட நிறுத்து, மேல போகாதே!&lt;br&gt;
});&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;6.Pros and Cons (நன்மைகள் மற்றும் தீமைகள்)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;நன்மைகள் (Pros):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event Delegation: ஒரு மெயின் லிசனர் வச்சே எல்லாத்தையும் கவனிக்கலாம்.&lt;/li&gt;
&lt;li&gt;Simplicity: மெமரியை மிச்சப்படுத்தும் (RAM save ஆகும்).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;தீமைகள் (Cons):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accidental Triggers: தேவையில்லாத Parent வேலைகளும் நடக்கும்.&lt;/li&gt;
&lt;li&gt;Logic Bugs: கவனிக்காவிட்டால் பெரிய ஆப்ஸில் குழப்பத்தை உண்டாக்கும்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;StopPropagation vs StopImmediatePropagation:&lt;/strong&gt; &lt;code&gt;stopPropagation&lt;/code&gt; சிக்னலை மேலே போகாமல் தடுக்கும். ஆனால் அதே பட்டனில் வேறு ஒரு லிசனர் இருந்தால் அது வேலை செய்யும். அதை நிறுத்த &lt;code&gt;stopImmediatePropagation&lt;/code&gt;பயன்படுத்த வேண்டும்.&lt;/li&gt;
&lt;li&gt;Debugging: பிரவுசர் கன்சோலில் &lt;code&gt;event.bubbles&lt;/code&gt; என்று செக் செய்தால், அந்த ஈவென்ட் பப்ளிங் ஆகுமா இல்லையா (True/False) என்று தெரிந்துவிடும்.&lt;/li&gt;
&lt;li&gt;Modern Apps: ரியாக்ட் 19-ல் கூட இந்த பப்ளிங் தத்துவத்தை வைத்துதான் அனைத்து ஈவென்ட்களும் கையாளப்படுகின்றன.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ஈவென்ட் பப்ளிங் என்பது ஒரு நதி (River) மாதிரி. அதன் ஓட்டத்தைப் புரிந்துகொண்டால் &lt;strong&gt;&lt;a href="https://dev.to/thiraisuvadu_dev/event-delegation-3cpa"&gt;(Event Delegation)&lt;/a&gt;&lt;/strong&gt; நீங்கள் அதைப் பயன்படுத்திக்கொள்ளலாம், இல்லையென்றால் அணை (Stop Propagation) போட்டுத் தடுத்துவிடலாம்!&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>eventdriven</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Event Delegation</title>
      <dc:creator>திரைச்சுவடு</dc:creator>
      <pubDate>Wed, 21 Jan 2026 11:18:01 +0000</pubDate>
      <link>https://dev.to/thiraisuvadu_dev/event-delegation-3cpa</link>
      <guid>https://dev.to/thiraisuvadu_dev/event-delegation-3cpa</guid>
      <description>&lt;p&gt;Event Delegation என்பது ஜாவாஸ்கிரிப்ட் மற்றும் பிரண்ட்-எண்ட் ஆர்க்கிடெக்சரில் (Architecture) ஒரு மிகச்சிறந்த "ஸ்மார்ட்" நுட்பமாகும். பெர்பார்மென்ஸை (Performance) மேம்படுத்த நீங்கள் பயன்படுத்த வேண்டிய முக்கியமான ஆயுதம் இது.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is it? (Event Delegation-ன்னா என்ன?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ஒவ்வொரு தனித்தனி எலிமெண்டிற்கும் (உதாரணமாக 100 பட்டன்கள்) தனித்தனியாக 'Listener' வைக்காமல், அவை அனைத்தையும் உள்ளடக்கிய ஒரு பெற்றோர் எலிமெண்டிற்கு (Parent Element) மட்டும் ஒரே ஒரு லிசனர் வைக்கும் முறைதான் Event Delegation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; ஒரு வகுப்பறையில் 50 மாணவர்கள் உள்ளனர். ஒவ்வொரு மாணவருக்கும் ஒரு தனித்தனி தண்ணீர் பாட்டில் கொடுப்பதற்குப் பதிலாக, வகுப்பின் நடுவில் ஒரு பொதுவான வாட்டர் டேங்க் வைத்துவிடுவது போன்றது. யார் தாகம் எடுத்தாலும் அங்கே வந்து குடித்துக்கொள்ளலாம்.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Why &amp;amp; Where? (ஏன் மற்றும் எங்கே பயன்படுத்துவது?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; 1000 எலிமெண்ட்டுகள் இருந்தால், 1000 லிசனர்ஸ் வைப்பது கம்ப்யூட்டரின் மெமரியை (RAM) காலி செய்யும். ஒரே ஒரு லிசனர் வைப்பதன் மூலம் மெமரியை மிச்சப்படுத்தலாம்.&lt;br&gt;
&lt;strong&gt;Where:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lists: &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; அல்லது &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; போன்ற இடங்களில் பல வரிசைகள் இருந்தால்.&lt;/li&gt;
&lt;li&gt;Dynamic Content: புதியதாகச் சேர்க்கப்படும் எலிமெண்ட்டுகள் (உதாரணமாக 'Add Member' கொடுக்கும்போது வரும் புதிய லிஸ்ட்).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. How to use? (எப்படி?):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ஈவென்ட் பப்ளிங் &lt;strong&gt;&lt;a href="https://dev.to/thiraisuvadu_dev/event-bubbling-tnnnniir-kumillli-1oge"&gt;(Event Bubbling) &lt;/a&gt;&lt;/strong&gt; என்ற தத்துவத்தின் அடிப்படையில் இது வேலை செய்கிறது. அதாவது ஒரு 'Child' எலிமெண்ட்டை கிளிக் செய்தால், அந்த சிக்னல் அதன் 'Parent'-க்கு தானாகவே செல்லும்.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// Parent-ஐ மட்டும் பிடியுங்கள்&lt;/code&gt;&lt;br&gt;
&lt;code&gt;const list = document.querySelector("#myList");&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// Parent-க்கு ஒரே ஒரு லிசனர்&lt;/code&gt;&lt;br&gt;
&lt;code&gt;list.addEventListener("click", function(event) {&lt;br&gt;
    // எதை கிளிக் செய்தோம் என்று செக் செய்யுங்கள்&lt;br&gt;
    if (event.target.tagName === 'LI') {&lt;br&gt;
        console.log("திரைச்சுவடு: கிளிக் செய்யப்பட்ட லிஸ்ட் ஐட்டம்: " + event.target.innerText);&lt;br&gt;
    }&lt;br&gt;
});&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Pros and Cons (நன்மைகள் மற்றும் தீமைகள்)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;நன்மைகள் (Pros):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High Performance:&lt;/strong&gt; மெமரியை மிகக் குறைவாகப் பயன்படுத்தும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Support:&lt;/strong&gt; புதுசாக ஒரு எலிமெண்ட் ஆட் பண்ணினாலும் அது ஆட்டோமேட்டிக்கா வேலை செய்யும் (மறுபடி லிசனர் ஆட் பண்ண தேவையில்லை).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner Code:&lt;/strong&gt; 100 வரிக் கோடை 5 வரியாகக் குறைக்கலாம்.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;தீமைகள் (Cons):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Logic Complexity:&lt;/strong&gt; கிளிக் செய்தது சரியான எலிமெண்ட்டா என்று if கண்டிஷன் போட்டு செக் செய்ய வேண்டும்.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event Bubbling Dependancy:&lt;/strong&gt; சில ஈவென்ட்கள் (உதாரணம்: focus, blur) பப்ளிங் ஆகாது, அங்கே இது வேலை செய்யாது.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. என்னென்ன ஈவென்ட்கள் இதில் வரும்? (Events suitable for Delegation):&lt;/strong&gt;&lt;br&gt;
பப்ளிங் (Bubbling) ஆகும் அனைத்து ஈவென்ட்களையும் இதில் பயன்படுத்தலாம்:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click&lt;/li&gt;
&lt;li&gt;mouseover / mouseout&lt;/li&gt;
&lt;li&gt;keydown / keyup&lt;/li&gt;
&lt;li&gt;mousedown / mouseup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infinite Scroll (இன்ஸ்டாகிராம் மாதிரி) இல்லன்னா பெரிய Data Tables பண்ணும்போது இந்த Event Delegation இல்லாம பெர்பார்மென்ஸ் கொண்டு வர முடியாது.&lt;/li&gt;
&lt;li&gt; React அல்லது Angular பயன்படுத்தும்போது, அந்த பிரேம்வொர்க்குகள் உள்ளுக்குள்ளேயே (Internally) இந்த Event Delegation முறையைப் பயன்படுத்திதான் ஈவென்ட்களைக் கையாளுகின்றன. அதனால்தான் அவை அவ்வளவு வேகமாக இருக்கின்றன.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>eventdriven</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
