<?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: Nazmus Sakib</title>
    <description>The latest articles on DEV Community by Nazmus Sakib (@saakeeb).</description>
    <link>https://dev.to/saakeeb</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%2F565634%2F41906726-cc38-440b-838f-170fab495488.png</url>
      <title>DEV Community: Nazmus Sakib</title>
      <link>https://dev.to/saakeeb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saakeeb"/>
    <language>en</language>
    <item>
      <title>It's all about the Javascript concept</title>
      <dc:creator>Nazmus Sakib</dc:creator>
      <pubDate>Tue, 15 Nov 2022 08:44:21 +0000</pubDate>
      <link>https://dev.to/saakeeb/its-all-about-the-javascript-concept-2lg</link>
      <guid>https://dev.to/saakeeb/its-all-about-the-javascript-concept-2lg</guid>
      <description>&lt;p&gt;&lt;strong&gt;High abstraction language&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Javascript is a high-abstraction language. It does not need to manually manage the resource and the memory allocation, like in C, we have to manually do the resource management and memory allocation. But in javascript, we do need to do that. It does this by itself.&lt;/p&gt;

&lt;p&gt;It also manages the Garbage collection by itself. Garbage collection uses a mark &amp;amp; sweep algorithm for it. It searches memory if any variable has been allocated but no pointer, it just marks it and sweeps it out from the memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Edge Case&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Global Variable: Garbage collection won't remove this variable because it will call in every time in the global call, it just confused whether is it important or not.&lt;/li&gt;
&lt;li&gt;Event listener: Especially in SPA, it won't remove the unused variable.&lt;/li&gt;
&lt;li&gt;Set timer: Like before set timer context is not removed by garbage collection.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;JIT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We all assume javascript is an interpreted language, but javascript is not a purely interpreted language. It's JIT(just in time) interpreted language.&lt;/p&gt;

&lt;p&gt;JIT means that it is a mixture of compiled and interpreted language.&lt;/p&gt;

&lt;p&gt;The interpreter tries to read the code and try to execute them one by one. First, it executes fast later on it became slow, on the other hand, the compiler takes time to compile for the first time later on it became faster.&lt;/p&gt;

&lt;p&gt;So in this scenario, JIT comes into the place. it uses both an interpreter and a compiler simultaneously.&lt;br&gt;
The interpreter executes code line by line and the compiler prefix looks for code that can be optimized, it sends the code to the compiler if the code is optimizable. After optimizing this, the code executes faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paradigm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A paradigm is a mindset of code structure that determines your coding style.&lt;/p&gt;

&lt;p&gt;There are different types of paradigms. Like&lt;/p&gt;

&lt;p&gt;Procedural programming&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Object-oriented programming (OOP)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Functional programming (FP)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Javascript support all of the paradigm. So we call javascript a multi-paradigm language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prototyped-Based&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A prototype is a blueprint or design of a structure. If you think about the Array.prototype then we can see an Array has some methods like pop, Push, Index of, etc. If you try to build a new array, we can inherit the method from Array.prototype then. We use it in our arrays. So this is the design we follow from the prototype.&lt;/p&gt;

&lt;p&gt;So, we can say that javascript is a prototyped-based language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First-class citizens&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In javascript, functions are first-class citizens.&lt;/p&gt;

&lt;p&gt;It means that you can throw functions anywhere you want. You can treat the function as a variable. You can pass a function as a parameter of a function you can return functions from inside of another function. The feature keeps you a lot of flexibility while you using the function.&lt;/p&gt;

&lt;p&gt;Like higher-order function, and the callback function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dynamically Typed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You don’t need to specify the type of the variable on the declaration time, it will know its type in the runtime&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Single-threaded&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Javascript is a single-threaded language. And single threaded means the execution of instruction happens in a single sequence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Javascript Engine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In modern web browsers, there is a javascript engine. In Chrome, we call it the V8 engine. If any javascript code enters into the V8 engine then it parses the code, parses means the engine reads the code, and then it goes to the AST(abstract syntax tree). Then the engine starts to interpret the code line by line and the profiler starts to find the code which can be optimized. Then the execution part.&lt;br&gt;
In Execution, there are call stack and memory heap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runtime&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Javascript engine and runtime are different topics, they are not the same. If we use Google Chrome then the environment of Google Chrome is  runtime. And the mechanism of Google Chrome is a javascript engine is a V8 engine. If we work on the local environment then Nodejs is the runtime.&lt;br&gt;
Runtime has web API options like DOM, Fetch API, and Timer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Synchronous / Asynchronous&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Javascript is a core synchronous language. When javascript gets an execution request in the call stack then web API take it to the callback queue and the callback queue responds against the request. then event loops take back the successful response to the call stack to execute. &lt;br&gt;
That's how javascript works in an asynchronous way.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>paradigm</category>
      <category>programming</category>
      <category>concept</category>
    </item>
    <item>
      <title>Simple Way to Learn SASS</title>
      <dc:creator>Nazmus Sakib</dc:creator>
      <pubDate>Mon, 13 Jun 2022 16:58:01 +0000</pubDate>
      <link>https://dev.to/saakeeb/simple-way-to-learn-sass-1o58</link>
      <guid>https://dev.to/saakeeb/simple-way-to-learn-sass-1o58</guid>
      <description>&lt;h1&gt;
  
  
  What is SASS
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;SASS = Syntactically Awesome Style Sheet&lt;/strong&gt;&lt;br&gt;
It is an extension of CSS. It was designed by Hampton Catin and developed by Natalie Weizenbaun in 2006.&lt;br&gt;
To make the CSS more maintainable &amp;amp; scalable, in a short SASS give us freedom and extra feature that does not have normal CSS.&lt;/p&gt;

&lt;h1&gt;
  
  
  Why SASS
&lt;/h1&gt;

&lt;p&gt;It has some extra features special features that helps us to style that does not exist in CSS, like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We can use variables&lt;/li&gt;
&lt;li&gt;We can use nested rules&lt;/li&gt;
&lt;li&gt;We can imports others CSS file and mixin also&lt;/li&gt;
&lt;li&gt;We can inherit other CSS rules&lt;/li&gt;
&lt;li&gt;We can make our code more maintainable in simple way&lt;/li&gt;
&lt;li&gt;NO DRY(Do not Repeat Yourself), we easily maintain DRY.&lt;/li&gt;
&lt;li&gt;SASS is free&lt;/li&gt;
&lt;li&gt;It supports all CSS versions&lt;/li&gt;
&lt;li&gt;It supports standard CSS Comment (/* Comment */) and inline comment (//comment)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  How SASS Works
&lt;/h1&gt;

&lt;p&gt;Our browser does not supports SASS Directly. It supports CSS only. To make it support by browser we create a &lt;strong&gt;demo.scss&lt;/strong&gt;(SASS file)  to convert it to demo.css file by the preprocessor transpiler(source-to-source translator).&lt;br&gt;
So that our browser can easily show demo.css file.&lt;/p&gt;

&lt;h1&gt;
  
  
  Add SASS
&lt;/h1&gt;

&lt;p&gt;Add &lt;strong&gt;Live Sass Compiler&lt;/strong&gt; Extension to VS Code. It will compile the SASS file to CSS.&lt;/p&gt;

&lt;p&gt;Then Add a folder to our project named Compiler. Under the the folder add two file name &lt;strong&gt;style.scss&lt;/strong&gt;(we will write our sass file into this file) and &lt;strong&gt;style.css&lt;/strong&gt;(compiler will add CSS into this after compile).&lt;br&gt;
We will add stylesheet CSS file from  the compiler folder. Then click Watch Sass to activate compiler.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mMLvH__m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dmkqh4lf9lyhl9tg2f6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mMLvH__m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dmkqh4lf9lyhl9tg2f6n.png" alt="Image description" width="880" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Variables
&lt;/h1&gt;

&lt;p&gt;Like JavaScript, we can declare variables in SASS and use them in  where necessary. In SASS we declare variable using &lt;strong&gt;$&lt;/strong&gt; sign, then we put variable values. &lt;br&gt;
Using SASS variables we can declare &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;strings&lt;/li&gt;
&lt;li&gt;numbers&lt;/li&gt;
&lt;li&gt;colors&lt;/li&gt;
&lt;li&gt;Booleans&lt;/li&gt;
&lt;li&gt;lists&lt;/li&gt;
&lt;li&gt;nulls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Main benefits of variables is that when we use same CSS rules in multiple elements, if we want to change the value we don’t have to change one by one. We can simply change the variables value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--10rSVc3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/puqz7ztx66aipz4ler0u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--10rSVc3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/puqz7ztx66aipz4ler0u.png" alt="Image description" width="434" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Nesting
&lt;/h1&gt;

&lt;p&gt;SASS nesting means, we easily use CSS rules in a nesting way of our element according to their DOM tree. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5WpvZKfs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ocnsdavb1q8ssox13qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5WpvZKfs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ocnsdavb1q8ssox13qp.png" alt="Image description" width="575" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Import &amp;amp; partial
&lt;/h1&gt;

&lt;p&gt;If we want to import other SASS fill into another SASS file we can do that by using import keywords.&lt;br&gt;
If we want import &lt;strong&gt;demo.scss&lt;/strong&gt; file and its SASS rules into our &lt;strong&gt;style.scss&lt;/strong&gt; file then we will use import keywords.&lt;br&gt;
If we put under score before (_demo.scss) demo file then SASS transpiler will not convert this SASS file into CSS file, it will consider as a SASS file which rule will be imported.&lt;br&gt;
The main reason for this import to make the file more maintainable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YceXItQp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z7xwt7zdjb1zjlzjd76c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YceXItQp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z7xwt7zdjb1zjlzjd76c.png" alt="Image description" width="563" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Mixin &amp;amp; Include
&lt;/h1&gt;

&lt;p&gt;The declaration of CSS group that can be used throughout  the style sheet.&lt;br&gt;
We can declare a CSS group by mixin and we can access it by include.&lt;br&gt;
We can also pass variable to mixin to change its value on our demand at include.&lt;br&gt;
&lt;strong&gt;Mixin without the variables declaration&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W76YwYTG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0lmqadw4rnd9f6e787a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W76YwYTG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0lmqadw4rnd9f6e787a.png" alt="Image description" width="880" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mixin with variables declaration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ldTWOfrT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uwz9vdfdmpga5jff79q3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ldTWOfrT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uwz9vdfdmpga5jff79q3.png" alt="Image description" width="880" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Extend
&lt;/h1&gt;

&lt;p&gt;We can share rule of any CSS selector to other CSS selector by using &lt;strong&gt;extend&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s say we create default some rule for a button of a site. We can share the rules and also add additional rules for other button selector. &lt;strong&gt;extend&lt;/strong&gt; inherit the default rules to the selected selector.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f96T91Jo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cslenjmfvaz0gsw5eqqy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f96T91Jo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cslenjmfvaz0gsw5eqqy.png" alt="Image description" width="880" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  If, else if, else
&lt;/h1&gt;

&lt;p&gt;We use condition in sass as like as JavaScript condition. We can pass value if the condition full filled the demand.&lt;br&gt;
We use if, else if, else in the middle of mixin, we pass parameter in mixin , we get the value of mixin using include with the conditional parameter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SE9OWub0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exvdqz3zvtesvoffznep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SE9OWub0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exvdqz3zvtesvoffznep.png" alt="Image description" width="602" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  For
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;For&lt;/strong&gt; keywords in SASS is also works as similar way of JavaScript loops. It has initial value and a closing value. It checks every value and apply rules on it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LCVLQAnj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ar348gmoiyso34xa2e7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LCVLQAnj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ar348gmoiyso34xa2e7.png" alt="Image description" width="663" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we can see &lt;strong&gt;for&lt;/strong&gt; syntax with &lt;strong&gt;$i&lt;/strong&gt; that is index and it will run 1 to 12. We have keep in mind that if we use through keyword then it will check 1 to 12 as value mention here but if we use to keyword then it will check below 1 from the mention closing value. That’s why we use 13 to get value of 1 to 12.&lt;br&gt;
&lt;strong&gt;#{i}&lt;/strong&gt; will apply CSS grid width by these rules.&lt;/p&gt;

&lt;h1&gt;
  
  
  While
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;While&lt;/strong&gt; is worked as for loop. We will first declare index here, which will be initial point then we will mention the end point.&lt;br&gt;
After the condition we will increase the value of index to re-walk the path up to to the closing condition.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZAK5ttd9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdxvm23y5myx155bpmz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZAK5ttd9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdxvm23y5myx155bpmz7.png" alt="Image description" width="510" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Each
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Each&lt;/strong&gt; is like JavaScript map method. We can map over items using each.&lt;br&gt;
Suppose we can declare the background color as variable but we can easily do this by using each.&lt;br&gt;
Here we can &lt;strong&gt;$color&lt;/strong&gt; is listing three color, when red color come to the variable then it set the background color red, again green color set the variable green and set the background color green, as blue set background color blue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--adNTHmgM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53wa2gm0hqydc7meqt3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--adNTHmgM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53wa2gm0hqydc7meqt3i.png" alt="Image description" width="627" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We set list of item in a different list to iterate over the list to set variable and required rules.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ns6gN1gu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2oy82yb0v3bfmqwpoobo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ns6gN1gu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2oy82yb0v3bfmqwpoobo.png" alt="Image description" width="541" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we create  a color list with a variable name &lt;strong&gt;$colors&lt;/strong&gt;. We put it in &lt;strong&gt;each&lt;/strong&gt; to iterate over there. We have to keep in  mind that when we put additional list then we have to add &lt;strong&gt;$key&lt;/strong&gt; keyword to bind it with the list.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://sass-lang.com/"&gt;https://sass-lang.com/&lt;/a&gt;, Anisul Islam blog&lt;/p&gt;

</description>
      <category>sass</category>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
