<?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: Kiran Kamath</title>
    <description>The latest articles on DEV Community by Kiran Kamath (@kirankamath96).</description>
    <link>https://dev.to/kirankamath96</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%2F381231%2Fae69c1c1-18b3-45ac-9549-f5b795e4097f.jpeg</url>
      <title>DEV Community: Kiran Kamath</title>
      <link>https://dev.to/kirankamath96</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kirankamath96"/>
    <language>en</language>
    <item>
      <title>What is CORS 🤔?</title>
      <dc:creator>Kiran Kamath</dc:creator>
      <pubDate>Fri, 02 Jan 2026 11:07:04 +0000</pubDate>
      <link>https://dev.to/kirankamath96/what-is-cors--21e9</link>
      <guid>https://dev.to/kirankamath96/what-is-cors--21e9</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ever faced an issue while making a fetch call saying that it is a CORS issue.&lt;br&gt;
This is probably due to client saying that request to server belonging to another domain could not be made.&lt;br&gt;
CORS actually stands for Cross Origin Resource Sharing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;By default, in all browsers request made from a client having domain to server belonging to same origin is allowed i.e. Same Origin requests are allowed.&lt;br&gt;
example:- request from &lt;a href="http://www.xyz.com/create" rel="noopener noreferrer"&gt;www.xyz.com/create&lt;/a&gt; to server having origin as &lt;a href="http://www.xyz.com" rel="noopener noreferrer"&gt;www.xyz.com&lt;/a&gt; is allowed by browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This is done to prevent unknown source from making a request and corrupting the system i.e. for security purposes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;But if the browser itself allows a client from another origin to make request, based on the headers provided by server , then we can make this cross origin requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Every request made from client end has a header property called as &lt;strong&gt;Origin&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When client sends the request , server will send a header in response stating what all cross origin requests are allowed by specifying it in the property :-  &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So the browser will check the response from server and checks if the property &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt; has the origin name specified in it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In case if the request is not a normal request i.e. is request type is not GET or POST , then a special request is sent from the server first called as Preflight Request.&lt;br&gt;
So this preflight request sent from server will have only headers and no resources , it contains headers such as &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt; , &lt;strong&gt;Access-Control-Allow-Methods&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Based on this request from the server , the client will make a new request for resources to the server.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>cors</category>
      <category>javascript</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Kiran Kamath</dc:creator>
      <pubDate>Fri, 02 Jan 2026 07:31:37 +0000</pubDate>
      <link>https://dev.to/kirankamath96/-49hj</link>
      <guid>https://dev.to/kirankamath96/-49hj</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/lydiahallie/cs-visualized-cors-5b8h" class="crayons-story__hidden-navigation-link"&gt;✋🏼🔥 CS Visualized: CORS&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="/lydiahallie" 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%2F198900%2Fd19268b1-6b0b-4530-9889-64fcf0a19d6d.png" alt="lydiahallie profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/lydiahallie" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Lydia Hallie
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Lydia Hallie
                
              
              &lt;div id="story-author-preview-content-343820" 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="/lydiahallie" 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%2F198900%2Fd19268b1-6b0b-4530-9889-64fcf0a19d6d.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Lydia Hallie&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/lydiahallie/cs-visualized-cors-5b8h" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 27 '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/lydiahallie/cs-visualized-cors-5b8h" id="article-link-343820"&gt;
          ✋🏼🔥 CS Visualized: CORS
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/security"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;security&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/lydiahallie/cs-visualized-cors-5b8h" 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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&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;1579&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/lydiahallie/cs-visualized-cors-5b8h#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              87&lt;span class="hidden s:inline"&gt; comments&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;
            9 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>tutorial</category>
      <category>webdev</category>
      <category>security</category>
    </item>
    <item>
      <title>Caesar's Cipher (FreeCode Camp Solution)</title>
      <dc:creator>Kiran Kamath</dc:creator>
      <pubDate>Fri, 31 Dec 2021 14:32:42 +0000</pubDate>
      <link>https://dev.to/kirankamath96/caesars-cipher-freecode-camp-solution-3a8a</link>
      <guid>https://dev.to/kirankamath96/caesars-cipher-freecode-camp-solution-3a8a</guid>
      <description>&lt;p&gt;I recently came across a free code camp problem while solving JavaScript Algorithms and Data Structures certification.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Problem Statement *&lt;/em&gt;: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the simplest and most widely known ciphers is a Caesar cipher, also known as a shift cipher. In a shift cipher the meanings of the letters are shifted by some set amount.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A common modern use is the ROT13 cipher, where the values of the letters are shifted by 13 places. Thus A ↔ N, B ↔ O and so on.&lt;/p&gt;

&lt;p&gt;Write a function which takes a ROT13 encoded string as input and returns a decoded string.&lt;/p&gt;

&lt;p&gt;All letters will be uppercase. Do not transform any non-alphabetic character (i.e. spaces, punctuation), but do pass them on.&lt;/p&gt;

&lt;p&gt;Example : rot13("SERR PBQR PNZC") should decode to the string FREE CODE CAMP&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Take an empty array &amp;amp; store the string passed as arguments by using String split method. &lt;br&gt;
example : let str = "An Apple"; str.split(''); this will give the result as ['A', 'n', ' ', 'A', 'p', 'p', 'l', 'e'];&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Iterate the array using for loop&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inside the loop , take the ASCII char code of the first index and store it in a variable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check if the ASCII value lies between 65 and 90 i.e Capital alphabets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If condition is true , check if ASCII value is greater than 77 i.e greater than 'M' , if it is true then subtract 13 from the ascii value , else if it is less than 77 than add 13 to the ascii value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now we need to replace character at that index with the corresponding new ASCII code obtained from step 5 using splice and String.fromCharCode&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After the entire loop is completed we need to join the array using the join method.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Check out the final code below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function rot13(str) {
  let charCode = 0;
  let strArr = [];
  strArr = str.split(""); // split the string into array
  for (let i = 0; i &amp;lt; strArr.length; i++) {
    charCode = strArr[i].charCodeAt();
    if (charCode &amp;gt;= 65 &amp;amp;&amp;amp; charCode &amp;lt;= 90) {
      if (charCode &amp;gt; 77) {
        charCode = charCode - 13;
      }
      else {
        charCode = charCode + 13;
      }

      strArr.splice(i,1,String.fromCharCode(charCode));
    }
  }
  return strArr.join('');
}

rot13("SERR PBQR PNZC");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the link for the problem : &lt;a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>algorithms</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
