<?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>Forem: Muhammad Asif</title>
    <description>The latest articles on Forem by Muhammad Asif (@asifonthecode).</description>
    <link>https://forem.com/asifonthecode</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%2F784502%2Fefbf0677-9aed-4509-ab75-2feba6ed3aa5.jpg</url>
      <title>Forem: Muhammad Asif</title>
      <link>https://forem.com/asifonthecode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/asifonthecode"/>
    <language>en</language>
    <item>
      <title>Laravel taught me one of the most underrated lessons in software development.</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Tue, 19 Aug 2025 15:41:39 +0000</pubDate>
      <link>https://forem.com/asifonthecode/laravel-taught-me-one-of-the-most-underrated-lessons-in-software-development-4gba</link>
      <guid>https://forem.com/asifonthecode/laravel-taught-me-one-of-the-most-underrated-lessons-in-software-development-4gba</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Laravel taught me one of the most underrated lessons in software development.
&lt;/h2&gt;

&lt;p&gt;It’s not just about writing controllers, routes, or migrations...&lt;/p&gt;

&lt;p&gt;It’s about building systems that scale with clarity and maintainability.&lt;/p&gt;

&lt;p&gt;After 15+ years, here’s what Laravel made me realize:&lt;br&gt;
✅ Convention beats confusion → Laravel’s opinionated structure saves time.&lt;br&gt;
✅ Eloquent is more than ORM → It teaches how to think in relationships, not just tables.&lt;br&gt;
✅ Middleware isn’t just code → It’s how you keep projects secure, fast, and clean.&lt;br&gt;
✅ Artisan CLI → Cuts repetitive tasks and helps you focus on real problems.&lt;/p&gt;

&lt;p&gt;When I embraced these, I stopped seeing Laravel as just a framework…&lt;br&gt;
👉 I started seeing it as a mindset for clean architecture.&lt;/p&gt;

&lt;p&gt;💡 Pro tip for developers: Don’t fight Laravel’s conventions—use them. They exist to make you productive and to let you focus on solving business problems, not reinventing the wheel.&lt;/p&gt;

&lt;p&gt;👉 What’s the biggest mindset shift Laravel has given you?&lt;/p&gt;

&lt;h1&gt;
  
  
  Laravel #PHP #SoftwareDevelopment #WebDevelopment #CleanCode #Scalability #Developers #TechMindset
&lt;/h1&gt;

</description>
      <category>laravel</category>
      <category>cleancode</category>
      <category>performance</category>
      <category>techmind</category>
    </item>
    <item>
      <title>Most developers write code. But fewer developers actually ship products.</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Mon, 18 Aug 2025 16:56:38 +0000</pubDate>
      <link>https://forem.com/asifonthecode/most-developers-write-code-but-fewer-developers-actually-ship-products-5a5h</link>
      <guid>https://forem.com/asifonthecode/most-developers-write-code-but-fewer-developers-actually-ship-products-5a5h</guid>
      <description>&lt;h2&gt;
  
  
  🚨Most developers write code. But fewer developers actually ship products.
&lt;/h2&gt;

&lt;p&gt;💡 Ever noticed how many projects get stuck at "it works on my machine"?&lt;br&gt;
That’s not just a meme—it’s a career trap.&lt;/p&gt;

&lt;p&gt;Over 4+ years as a software developer working with PHP, Laravel, MySQL, JavaScript, and DevOps tools, I’ve realized something powerful:&lt;br&gt;
👉 Your real value isn’t only in writing clean code—it’s in delivering working software that runs in production.&lt;/p&gt;

&lt;p&gt;Here’s what changed my game:&lt;br&gt;
✅ Learning to deploy Laravel apps on different servers (Apache, Nginx, shared hosting, VPS, cloud).&lt;br&gt;
✅ Understanding databases beyond queries—optimizing MySQL for performance.&lt;br&gt;
✅ Bridging frontend (JavaScript) with backend (PHP/Laravel) so clients see results faster.&lt;br&gt;
✅ Picking up just enough DevOps to avoid waiting for someone else to "push my work live."&lt;/p&gt;

&lt;p&gt;When you combine these skills → You’re not just a coder, you become a problem-solver who takes projects from idea → deployment → impact.&lt;/p&gt;

&lt;p&gt;🔑 That’s the difference between being replaceable and being irreplaceable.&lt;/p&gt;

&lt;p&gt;👉 So here’s my question for you:&lt;br&gt;
Do you focus more on writing code or on delivering working products?&lt;/p&gt;

&lt;h1&gt;
  
  
  SoftwareDevelopment #Laravel #PHP #JavaScript #MySQL #DevOps #WebDevelopment #Coding #Programmer #CareerGrowth #Deployment
&lt;/h1&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>softwaredevelopment</category>
      <category>careergrowth</category>
    </item>
    <item>
      <title>Time Complexity - The Easiest Way</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Thu, 07 Jul 2022 15:53:07 +0000</pubDate>
      <link>https://forem.com/asifonthecode/time-complexity-the-easiest-way-3gn</link>
      <guid>https://forem.com/asifonthecode/time-complexity-the-easiest-way-3gn</guid>
      <description>&lt;p&gt;&lt;em&gt;Hey, What's up guys😊&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this article, I will talk about a basic topic in computer programming which is Time Complexity(O). Though this is basic thing but many student, senior/mid level programmers are don't understand clearly this Time Complexity. I hope you guys practice with my code and Read carefully this article so that you can understand this clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Time Complexity?&lt;/strong&gt;&lt;br&gt;
A Programs takes how much time to execute is called Time Complexity&lt;br&gt;
It is always better to select the most efficient algorithm when a simple problem can solve with different methods. Time complexity defines by Big O notation.&lt;/p&gt;

&lt;p&gt;Time Complexity depends on  some operations --&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assignment operation -&amp;gt;  &lt;code&gt;x = 10&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Comparison operation -&amp;gt; &lt;code&gt;a &amp;gt; b&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Mathematical operation  -&amp;gt; &lt;code&gt;a + b, a -b&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Function call and it's inside work -&amp;gt; function()
and include all the operations &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will start coding into C++, Because most of beginners are learn C and C++ language in their classes. So include the important header files&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;iostream&amp;gt;
using namespace std;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All code will be inside the &lt;code&gt;int main()&lt;/code&gt; function. Let's Jump into code...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Time Complexity O(1):&lt;/strong&gt;&lt;br&gt;
When the number of operations in the program does not depend on the input and the number of operations is constant, we call it O(n).if any problem has one assignment operation then the Time Complexity will be O(1). Example--&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n1, n2, result1;
    n1 = 10;    // 1 assignment operation
    n2 = 20;    // 1 assignment operation
    result1 = n1 + n2;   // 2 assignment operation =, +
    cout &amp;lt;&amp;lt; "result no 1: " &amp;lt;&amp;lt; result1 &amp;lt;&amp;lt;endl; //using double endl for line space
    cout &amp;lt;&amp;lt; endl;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We see that, there is 4 operations, but the Time complexity will be O(1). Because here operation is constant. No matter how much input value is. the operation does not depend on input values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Time Complexity O(n):&lt;/strong&gt;&lt;br&gt;
The number of operations is proportional to N values&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n3, result2;
    cout&amp;lt;&amp;lt; "Type O(1) Input_";
    // scanf("%d", &amp;amp;n);
    cin &amp;gt;&amp;gt; n3;
    result2 = n3 * (n3 + 1) / 2;    //here 1 assignment and 3 mathmatical operation = 4 operation
    cout &amp;lt;&amp;lt; "result no 2: " &amp;lt;&amp;lt; result2 &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; endl;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So the Time Complexity will be O(1). whatever the n value is, the operation is constant here too.&lt;/p&gt;

&lt;p&gt;Now I will solve the same type problem in loop. the output will be linear type. But the Time Complexity will be same? what will be the complexity of this program? let's see.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int i, n4, result3;
    cout &amp;lt;&amp;lt; "type O(n) input_";
    cin &amp;gt;&amp;gt; n4;
    result3 = 0;
    for(i = 0; i &amp;lt;= n4; i++){
        result3 = result3 + 1;
        cout &amp;lt;&amp;lt; "result no 3 = " &amp;lt;&amp;lt; result3 &amp;lt;&amp;lt; endl;
    }
    cout &amp;lt;&amp;lt; endl;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we see that, if n value is 3, the loop will run 3 time and the operations will run 6 times. because there is two operations(=, +). 1 loop run = 2 operation run.&lt;br&gt;
    if n = 1 operation = 2&lt;br&gt;
    n = 5 operation = 10&lt;br&gt;
    n = 10 operation = 20&lt;br&gt;
    n is proportional to operation. so the operation is increasing by 2 times. so this 2 is constant we know and we can remove this 2. Now the complexity is O(n).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Time Complexity O(n^2):&lt;/strong&gt;&lt;br&gt;
The value of n will be the square of the number of operations&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int i2, j2, n5, count;
    cout &amp;lt;&amp;lt; "Type O(n^2) input_";
    cin &amp;gt;&amp;gt; n5;
    count = 0;
    for(i2 = 0; i2 &amp;lt; n5; i2++){
        for(j2 = 0; j2 &amp;lt; n5; j2++){
            count = count + 1;
        }
    }
    cout &amp;lt;&amp;lt; "----result no 4----" &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; "n = " &amp;lt;&amp;lt; n5 &amp;lt;&amp;lt; ", count = " &amp;lt;&amp;lt; count &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; endl;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For two loop operation&lt;br&gt;
    if n = 1 , count = 1&lt;br&gt;
    n = 2, count = 4&lt;br&gt;
    n = 3, count = 9,&lt;br&gt;
    n = 10, count = 100&lt;br&gt;
    We see that, the value of count is increasing by 2 multiplying, which i n^2. so the Time Complexity will be O(n^2). when the two loop will be depend on same value(n), then we can call it O(n^2), otherwise it will be O(n). Because the operation numbers are constant, whatever it is 2, 3, 4 etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Time Complexity O(n^3):&lt;/strong&gt;&lt;br&gt;
think about loop, The number of loops depends on the value of n. if the loop is 3 times and the nth value is 3 times the Time Complexity will be O(n^3) and the each operation will run for 3 times. that's the main fact--&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int i3, j3, k3, n6, count2;
    cout &amp;lt;&amp;lt; "Type O(n^3) input_";
    cin &amp;gt;&amp;gt; n6;
    for(i3 = 0; i3 &amp;lt; n6; i3++){
        for(j3 = 0; j3 &amp;lt; n6; j3++){
            for(k3 = 0; k3 &amp;lt; n6; k3++){
                count2 = count2 + 1;
            }
        }
    }
    cout &amp;lt;&amp;lt; "----result no 5----" &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; "n = " &amp;lt;&amp;lt; n6 &amp;lt;&amp;lt; ", count = " &amp;lt;&amp;lt; count2 &amp;lt;&amp;lt; endl;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we add another loop, the complexity will be O(n^4). Basically we don't use more complexity than O(n^3) in our program. So remember this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How the Big O Increase?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdl0nxwaktvzadxn53zzb.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%2Fdl0nxwaktvzadxn53zzb.PNG" alt=" " width="567" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O(1)&lt;/strong&gt; - There no change in time by increasing input value. whatever the input value the time is same and operation will be same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O(n)&lt;/strong&gt; - The number of operations is proportional to N values. the operation and n will be same. so it will take equal time&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O(n^2)&lt;/strong&gt; -  The value of n will be the square of the number of operations. the operation numbers are multiply by 2 times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O(n^3)&lt;/strong&gt; - This operation numbers are multiply by 3 times of n value. Takes more time to run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O(n!)&lt;/strong&gt; - The factorial n will be the highest Time Complexity. You can search it on google or YouTube.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br&gt;
By mistake if you are using four nested loop, that mean's something is wrong and be careful about that program.&lt;br&gt;
Don't try to memorize this algorithm, always practice, do code, mind it and this is good practice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Mohammad-Asif-Web/programming-C-and-projects/blob/master/data_structure_algorithm/time_complexity.cpp" rel="noopener noreferrer"&gt;Click here to see the full code&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt; &lt;br&gt;
 #muhammadasif #webdeveloper #bangladesh&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>algorithms</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Best NPM Package for React.js Part - 2</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Fri, 24 Jun 2022 15:39:30 +0000</pubDate>
      <link>https://forem.com/asifonthecode/best-npm-package-for-reactjs-part-2-5h0e</link>
      <guid>https://forem.com/asifonthecode/best-npm-package-for-reactjs-part-2-5h0e</guid>
      <description>&lt;h3&gt;
  
  
  At my previous article, I share 20 React.js packages. If you didn't read that check it out &lt;a href="https://dev.to/muhammad_asif/best-npm-package-for-reactjs-j6e"&gt;Best NPM Package for React.js part -1&lt;/a&gt; and then continue this article.
&lt;/h3&gt;

&lt;p&gt;React front-end Design &amp;amp; Development for some important "npm" packages that will play a very helpful role in your daily work. These packages are widely used and they will play a great role in making your work easier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A. Html-react-parser:&lt;/strong&gt;&lt;br&gt;
When we write blogs, we have to post them from our backend or admin panel. However, when we make posts, they are stored in the database as normal text, but if we use this plugin, the entire HTML structure will be stored in the database. This means that we can send full html through this plugin.&lt;br&gt;
Example:  &lt;code&gt;parse('&amp;lt;h1&amp;gt;single&amp;lt;/h1&amp;gt;');&lt;/code&gt; That is, we get the output here just like that &lt;code&gt;&amp;lt;h1&amp;gt;single&amp;lt;/h1&amp;gt;,&lt;/code&gt; Another will be completely stored in the database.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/html-react-parser" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/html-react-parser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;B. Axios:&lt;/strong&gt;&lt;br&gt;
This is a popular plugin for receiving HTTP clients. Usually in client site we have to work with API. It is mandatory to use API for loading data. But in the beginning we use fetch (). But the most interesting thing is that this plugin is so simple that you can load the API very quickly&lt;br&gt;
Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.options(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/axios" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/axios&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;C. React-share:&lt;/strong&gt;&lt;br&gt;
In various blog posts we can see at the bottom or at the top. Some social networks have a system of sharing. We can take such action if we want through this plugin. The function of this plugin is to connect with social networks, that is, if you want to share your post on social networks, you can do it through this plugin.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-share" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-share&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;D. Export-from-json:&lt;/strong&gt;&lt;br&gt;
This is commonly used to export json files. Export to plain text, css, html, json, csv, xls, xml files from JSON. If you need to export from JSON file to plain text, css, html, json, csv, xls, xml files then you can use it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/export-from-json" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/export-from-json&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;E. EmailJS:&lt;/strong&gt;&lt;br&gt;
We usually exchange information in the contact list. The communication system starts from the contact list and you can make the communication system very easy with this plugin, which means you can easily get the files in the contact list via email with this plugin.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.emailjs.com/docs/examples/reactjs/" rel="noopener noreferrer"&gt;https://www.emailjs.com/docs/examples/reactjs/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;F. Progressbar:&lt;/strong&gt;&lt;br&gt;
Most of the time we see Progressbar in website design, Progressbar is some symbolic design which shows how much knowledge he has acquired on a subject or all the information of a company. You can create your own design using the plugins.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-circular-progressbar" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-circular-progressbar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/@ramonak/react-progress-bar" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@ramonak/react-progress-bar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-customizable-progressbar" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-customizable-progressbar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kimmobrunfeldt/progressbar.js" rel="noopener noreferrer"&gt;https://github.com/kimmobrunfeldt/progressbar.js&lt;/a&gt;...&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-progressbar-fancy" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-progressbar-fancy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kimmobrunfeldt.github.io/progressbar.js/" rel="noopener noreferrer"&gt;https://kimmobrunfeldt.github.io/progressbar.js/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;G. Rich editor:&lt;/strong&gt;&lt;br&gt;
The Rich Text Editor is a tool that allows you to add or edit content, images, links, and other components on the page without having to know any code. It displays the content and any formatting as it would display in the browser. These plugins are related to html-react-parser.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ckeditor.com/.../latest/guide/dev_react_v2.html" rel="noopener noreferrer"&gt;https://ckeditor.com/.../latest/guide/dev_react_v2.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/quill" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/quill&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;H. React-tabs:&lt;/strong&gt;&lt;br&gt;
I can't go on without it. I have had to use this plugin on every website I create. In a word, extraordinary. I even created menu / navbar with this plugin. However, other frameworks have similar designs, such as the Bootstrap tab, but I will put this React-tabs plugin at the top.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-tabs" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-tabs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I. Scroll Effect:&lt;/strong&gt;&lt;br&gt;
These plugins are quite useful for CSS design. These plugins allow you to make a number of changes as you scroll through your website.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-scroll-parallax" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-scroll-parallax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.npmjs.com/package/react-custom-scroll" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-custom-scroll&lt;/a&gt; (This plugin can be used to change the scroll bar design on the right side of the browser)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-infinite-scroller" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-infinite-scroller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-custom-scrollbars" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-custom-scrollbars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;J. React Date Picker:&lt;/strong&gt;&lt;br&gt;
By hearing the name you can understand what a job can be. A simple and reusable Datepicker component for React. Many times we may need to count the dates on the website. You can easily pick up time with this plugin. Very popular plugin that is widely used.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-datepicker" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-datepicker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-datetime" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-datetime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-date-range" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-date-range&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;K. React-select:&lt;/strong&gt;&lt;br&gt;
This is a very advanced topic. Usually there is a tag called html select. Which is used to select. However w3school on this website (&lt;a href="https://www.w3schools.com/tags/tag_option.asp" rel="noopener noreferrer"&gt;https://www.w3schools.com/tags/tag_option.asp&lt;/a&gt;) is very normal but if you want to get some features in advance then this npm React-select package is not an option. A little complicated, however, if you read their documentation well, you can easily use it. &lt;br&gt;
The last 2 days I had a lot of trouble using this package, but I did not give up and after spending about 14 hours I solved the problem. I said that you have to read the documentation well. I read the documentation line by line over time and then he brought the codes to their proper status.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-select" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-select&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;L. React-accessible-accordion:&lt;/strong&gt;&lt;br&gt;
After hearing the name Accordion, you understand what it does. I clicked on a text or an icon and immediately a section at the bottom gave out some information, then I clicked on that icon and it closed. Ha's name is Accordion. You can use Bootstrap or any other framework that you have, but I like this plugin very much. I have also used it on some websites.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-accessible-accordion" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-accessible-accordion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-collapsible" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-collapsible&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/rc-collapse" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/rc-collapse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;M. React Visibility Sensor:&lt;/strong&gt;&lt;br&gt;
is a very advanced topic. But it is very easy to understand. The last two months I purchased four react templates from Themeforest for research purposes only. And the most interesting package I've seen is this. Its function is the Sensor component for React that notifies you when it goes in or out of the window viewport. &lt;br&gt;
This means that once your entire web page is loaded, the task will wait for you until you go to a specific section. Suppose you create a section called Counter on your website and there is a count of one to one hundred when data or website is reloaded. But one thing you will notice is that if your counter section is in the footer then you will see in the footer that counter 100 is full. You no longer see the counter being 100. And so the function of this React Visibility Sensor plugin is that the counter will not be counted until you go to that section. As soon as you see that section or that section of your monitor, that counter will start counting. In other words, by turning the scroll of the mouse, you will start counting from one to one hundred as soon as you go to the counter section.&lt;br&gt;
Example:  &lt;a href="http://met-cifo.amitjs.com/about-us" rel="noopener noreferrer"&gt;http://met-cifo.amitjs.com/about-us&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-visibility-sensor" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-visibility-sensor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;N. React Hook Form:&lt;/strong&gt;&lt;br&gt;
A very popular plugin is React Hook Form (Performant, flexible and extensible forms with easy-to-use validation). We have to create a lot of obligations when we work with Form, and so this plugin will help you a lot to do that. This plugin has a very simple structure and a lot of popularity. It can work with both react web and react native.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react-hook-form.com" rel="noopener noreferrer"&gt;https://react-hook-form.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;O. React-helmet:&lt;/strong&gt;&lt;br&gt;
This plugin is very popular for dynamically setting metadata. I use this plugin on every website.&lt;br&gt;
Example: &lt;a href="http://met-cifo.amitjs.com/" rel="noopener noreferrer"&gt;http://met-cifo.amitjs.com/&lt;/a&gt; (If you hover over the favicon of each page on this website, you will see that the metadata is seen separately on each page.)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-helmet" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-helmet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;P. React-image-magnify:&lt;/strong&gt;&lt;br&gt;
When we visit an e-commerce website and hover the mouse over the product, the product is magnified and zoomed. You can do this with the React-image-magnify plugin. However, the setup is a little complicated, so read the documentation well.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-image-magnify" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-image-magnify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Q. React-modal:&lt;/strong&gt;&lt;br&gt;
Clicked on an icon and a pop up box appeared. This means that this plugin can be used to create pop-up models.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-modal" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-modal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;R. Countdown:&lt;/strong&gt;&lt;br&gt;
Countdown is used. On the website we usually see some information called counter which is mostly seen how many people are working in a company or how many people are in a company or how many projects have been completed. Such information is presented through a design. Suppose you have completed a project, now your design will be calculated from 1 to 100. You can do this by following the plugins below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-countdown" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-countdown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/use-react-countdown" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/use-react-countdown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-countdown-circle-timer" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-countdown-circle-timer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;S. Table:&lt;/strong&gt;&lt;br&gt;
Table which is a very useful tag. When we have a lot of data in our hands, we have to take the help of tables to show that data. If you want, you can create and use the normal table format in w3schools. Again if you want something of advanced level then you can use this plugin I personally use these plugins.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-table" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-table&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/rc-table" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/rc-table&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;T. React Rating:&lt;/strong&gt;&lt;br&gt;
We often have to use ratings to create feedback sections. You can create ratings very nicely with the help of these plugins below. Using these plugins, you can customize the designs through your own customization.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-rating" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-rating&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-simple-star-rating" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-simple-star-rating&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-rating-stars-component" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-rating-stars-component&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-star-ratings" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-star-ratings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;U. Typewriter Effect:&lt;/strong&gt;&lt;br&gt;
Various texts show that some texts are dancing and disappearing. Yes these are called Typewriter Effect. You can easily create text effects using these plugins given below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/typewriter-effect" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/typewriter-effect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-simple-typewriter" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-simple-typewriter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt; &lt;br&gt;
 #muhammadasif #webdeveloper #bangladesh&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>npm</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Best NPM Package for React.js</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Wed, 22 Jun 2022 06:55:42 +0000</pubDate>
      <link>https://forem.com/asifonthecode/best-npm-package-for-reactjs-j6e</link>
      <guid>https://forem.com/asifonthecode/best-npm-package-for-reactjs-j6e</guid>
      <description>&lt;p&gt;React front-end design and development feedback for some important "npm" packages that will play a very helpful role in your day-to-day work. These packages are widely used and will play a great role in making your job easier.&lt;/p&gt;

&lt;p&gt;A. &lt;strong&gt;carousel Slider:&lt;/strong&gt; &lt;br&gt;
Of course we use sliders in a website. In order to catch 90% of the websites we have to use sliders. Here are three sliders.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.npmjs.com/package/react-slick" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-slick&lt;/a&gt; (I personally use it)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/rc-slider" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/rc-slider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/swiper" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/swiper&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;B. &lt;strong&gt;Marquee:&lt;/strong&gt; &lt;br&gt;
Many times we need a slider show that will continue automatically. Most of the time we use this Marquee design when we use the logo section. If you want you can use React Fast Marquee this npm package. Built by a very simple and very attractive design.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-fast-marquee" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-fast-marquee&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C. &lt;strong&gt;JavaScript image gallery and lightbox:&lt;/strong&gt;&lt;br&gt;
We may need to show gallery images a lot of the time. We've even seen many websites where gallery images start with pop-ups. You can use this package to show exactly the same gallery images through pop-ups.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/photoswipe" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/photoswipe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-image-lightbox" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-image-lightbox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;D. &lt;strong&gt;Lazyload:&lt;/strong&gt;&lt;br&gt;
Listening to the name, you can understand what it does. This is Lazyload. When the content of a website becomes redundant, the website does not have much time to load and this Lazyload npm package will give you some features that are surprising. This means that your skin will load as much as you want - the whole page will never load. You will scroll the website and it will load as well as scroll. Due to which customers will be able to see your content even before your web page is completed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-lazyload" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-lazyload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E. &lt;strong&gt;Modal-video:&lt;/strong&gt;&lt;br&gt;
To create a website we may need to show youtube video or self made video and we have seen in many websites that clicking a button will show youtube video through pop-up and it will continue if you want. You can use the package to show YouTube video pop-ups in the same way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-modal-video" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-modal-video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-player" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-player&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;F. &lt;strong&gt;Tooltip:&lt;/strong&gt;&lt;br&gt;
I hover the mouse over an item and suddenly I see something showing, yes it is called Tooltip. If you want, you can use this package to use beautiful Tooltip. There are several types of designs that are great.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-tooltip" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-tooltip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://atomiks.github.io/tippyjs/" rel="noopener noreferrer"&gt;https://atomiks.github.io/tippyjs/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;G. &lt;strong&gt;Recharts:&lt;/strong&gt;&lt;br&gt;
Usually when we create dashboard or admin panel we have to look at the data through graph chart and this npm package has a unique role to show the data through graphat I have personally used it is quite good and friendly behavior. In the middle of it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://recharts.org/en-US" rel="noopener noreferrer"&gt;https://recharts.org/en-US&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;H. &lt;strong&gt;Animate:&lt;/strong&gt;&lt;br&gt;
And without animation, a website can never be 100 percent beautiful. Attraction to a website is created by the type of animation. Below I have given some animation usage npm packages which are very popular and top notch.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://animate.style/" rel="noopener noreferrer"&gt;https://animate.style/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://michalsnik.github.io/aos/" rel="noopener noreferrer"&gt;http://michalsnik.github.io/aos/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mojs.github.io/" rel="noopener noreferrer"&gt;https://mojs.github.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-reveal" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-reveal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dbramwell.github.io/react-animate-on-scroll/" rel="noopener noreferrer"&gt;https://dbramwell.github.io/react-animate-on-scroll/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I. &lt;strong&gt;Alert:&lt;/strong&gt;&lt;br&gt;
By hearing the name you can understand what it might be like. We may use it when we need the signal on the website. For example, a person went to your website in contact form and sent a message to you, now he sent you a token to know if the work was successful and these npm packages are very useful for sending this token.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/sweetalert2" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/sweetalert2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sweetalert.js.org/guides/" rel="noopener noreferrer"&gt;https://sweetalert.js.org/guides/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/cogo-toast" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/cogo-toast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/ngx-toastr" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/ngx-toastr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-toastify" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-toastify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/notistack" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/notistack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;J. &lt;strong&gt;Google-maps:&lt;/strong&gt;&lt;br&gt;
We often have to put maps on the website and we have seen many websites that have maps so that the customer can know the location accurately. You can easily setup Google Maps using this npm package.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/@react-google-maps/api" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@react-google-maps/api&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;K. &lt;strong&gt;Menu:&lt;/strong&gt;&lt;br&gt;
This allows you to create menus. Those who are struggling to create custom menus can use it. But I think if you can't create custom menus then you can use any framework like Bootstrap, material-ui etc. and if you like then you can also use this package.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/rc-menu" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/rc-menu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/rc-drawer" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/rc-drawer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L. &lt;strong&gt;Sticky Nav:&lt;/strong&gt;&lt;br&gt;
Many websites have Navbar position Fixed but with a little scrolling you can see an effective design Navbar from top to bottom and you can use this package to do this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-js-stickynav" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-js-stickynav&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;M. &lt;strong&gt;scroll-to-top:&lt;/strong&gt;&lt;br&gt;
Suppose you scroll down to the bottom footer of a website but for some reason you have to climb to the top, then what do you do? Usually what we do is turn the scroll and go up again but here is a package that you can use. If you click through an icon, you can go to the Home stage, that is, if you click on an icon with Footer, you can jump to the top.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-scroll-to-top" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-scroll-to-top&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-scroll-up" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-scroll-up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;N. &lt;strong&gt;Perfect-scrollbar:&lt;/strong&gt;&lt;br&gt;
One of the most popular packages is the Perfect-scrollbar, which is most commonly used in admin panels or dashboards. It places the data on the basis of a specific volume and creates a scrolling effect within that volume. If we put a lot of data on a normal website then the perpendicular of that website will be a lot so using this package thousands of data can be loaded in a specific section and they can be displayed in that section by scrolling.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/perfect-scrollbar" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/perfect-scrollbar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O. &lt;strong&gt;React-ui-scrollspy:&lt;/strong&gt;&lt;br&gt;
Many times we show all the items through one page, such as, Home, About, Blog, Contact, Portfolio etc. And just in case you need to scroll through the menu item and the section option activated through this package you can do all this work very easily.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-ui-scrollspy" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-ui-scrollspy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;P. React Icons: &lt;br&gt;
No matter, just install and use. The benefits of this npm package cannot be overstated. We have to set up icons on the website normally and to set up this icon we have to go to different websites and gather crowds. You can get all the icons from here using this package if you want. Here you will find the icons--- Bootstrap Icons , BoxIcons Devicons, Feather Flat Color Icons, Font Awesome, Game Icons, Github Octicons icons, Grommet-Icons, Heroicons, IcoMoon Free, Ionicons 4, Ionicons 5, Material Design icons, Remix Icon, Simple Icons, Tabler Icons , Typicons, VS Code Icons, Weather Icons, css.gg&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://react-icons.github.io/react-icons/" rel="noopener noreferrer"&gt;https://react-icons.github.io/react-icons/&lt;/a&gt; (I can't go on without it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Q. &lt;strong&gt;Spinners:&lt;/strong&gt;&lt;br&gt;
We have to place spinners when the website loads. You can use a great spinner using these npm packages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-spinners" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-spinners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/spinners-react" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/spinners-react&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-loader-spinner" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-loader-spinner&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;R. &lt;strong&gt;React-code-input:&lt;/strong&gt;&lt;br&gt;
Many times we may need OTP (one-time password) from our mobile number. If you need to create a website in such a situation then you can use this npm package. It takes code input in a very nice way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-code-input" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-code-input&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;S. &lt;strong&gt;React-currency-format:&lt;/strong&gt;&lt;br&gt;
E-commerce website may need to sort the amount of money in a format. And you can use this npm package to sort the amount of money.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-currency-format" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-currency-format&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nosir.github.io/cleave.js/" rel="noopener noreferrer"&gt;https://nosir.github.io/cleave.js/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;T. &lt;strong&gt;React-countup:&lt;/strong&gt; &lt;br&gt;
This is very effective in creating designs that can increase a certain number of times over time. We see on most websites that such a company did a job and how many members they have in their team and also starts counting from zero is a specific. If you want, you can create it using this package.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/react-countup" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-countup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt; &lt;br&gt;
 #muhammadasif #webdeveloper #bangladesh&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>npm</category>
    </item>
    <item>
      <title>password strength indicator in JavaScript</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Sun, 24 Apr 2022 14:59:51 +0000</pubDate>
      <link>https://forem.com/asifonthecode/password-strength-indicator-in-javascript-4n4e</link>
      <guid>https://forem.com/asifonthecode/password-strength-indicator-in-javascript-4n4e</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/CODER_ASIF/embed/powMvqe?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>JavaScript closure in 2 minutes..</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Fri, 08 Apr 2022 16:16:03 +0000</pubDate>
      <link>https://forem.com/asifonthecode/javascript-closure-in-2-minutes-2346</link>
      <guid>https://forem.com/asifonthecode/javascript-closure-in-2-minutes-2346</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;Closure is one of the most important tricky concepts of JavaScript.&lt;br&gt;
Many people's heads hang when they hear the name of Closure, but in this post I will prove that your fears were unfounded.&lt;br&gt;
&lt;strong&gt;A common question on the interview board is Closure ??&lt;/strong&gt;&lt;br&gt;
So it is very important for us to know this.&lt;/p&gt;

&lt;p&gt;The smart concept of JavaScript is Closure, Smart means there is something in it which is not in others. Closure really does something that others cannot do.&lt;br&gt;
Before talking about Closure, I would like to ask you to know &lt;code&gt;Scope&lt;/code&gt;, &lt;code&gt;Lexical Scope&lt;/code&gt;, &lt;code&gt;Context&lt;/code&gt;, &lt;code&gt;Variable&lt;/code&gt; Life Cycle a little better.&lt;/p&gt;
&lt;h2&gt;
  
  
  Let's Start --
&lt;/h2&gt;

&lt;p&gt;We know that the JavaScript engine normally executes all code in the default global context except for a single function call.&lt;br&gt;
Because the function itself creates a context which is called functional context.&lt;/p&gt;

&lt;p&gt;The life cycle of the variables that are used in a function lasts until the function is executed. As soon as the function is executed, the variables die.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function counter(){
var count = 0
return count +=1
}
counter() // 1
counter() // 1
counter() // 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here 3 times counter function was called &amp;amp; 3 times result came 1,1,1.&lt;br&gt;
This means that if you call a function, its internal variable cannot store the previous data.&lt;/p&gt;

&lt;p&gt;If we want this to come 1,2,3 then it is not going to be done through a function.&lt;br&gt;
But it is possible to do this by creating closures,&lt;br&gt;
Because he (Closure) remembers a lot like a lover who gets deception.&lt;/p&gt;

&lt;p&gt;We know that all the parameters of OuterFunc get Variable InnerFunc Access through lexical scope and even if it returns the function.&lt;br&gt;
Take a closer look at the 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 counter(){
var count=0
return function(){
return count += 1
}
}
var counter1 = counter() ;
counter1() // 1
counter1() // 2
counter1() // 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Same !! How did this happen !?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Let me tell you what happened here&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A function is declared named counter, a variable named count is taken and it is returned by adding 1 to InnerFunc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Since the function in JavaScript is a fastclass function, the function can be returned in the form of value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Here, since Counter1 is placed in the variable, we get the result only by calling Counter1 as a function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Well understood !! But the second time I called the function, the count increased by 1 - &lt;strong&gt;how did it happen&lt;/strong&gt; ???&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Um, of course, yes, I know this, why it's something known in advance.&lt;br&gt;
This means that even after a function is executed, it is the job of the Closure Viber to keep the internal variables and parameters alive.&lt;/p&gt;

&lt;p&gt;I hope if you can understand this much better then you will get 6-7 effortlessly at 10.&lt;br&gt;
If you want to get 10 out of 10, you can read the book Scope &amp;amp; Closures By Kyle Simpson.&lt;br&gt;
And I, the student, will be 100% wrong, so I hope you will do a little constructive criticism without swearing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Let's Learn About SASS</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Fri, 01 Apr 2022 08:48:31 +0000</pubDate>
      <link>https://forem.com/asifonthecode/lets-learn-about-sass-mgi</link>
      <guid>https://forem.com/asifonthecode/lets-learn-about-sass-mgi</guid>
      <description>&lt;h1&gt;
  
  
  sass:
&lt;/h1&gt;

&lt;p&gt;SASS is a pre-processor of CSS. The code is most beautiful and optimized when using it. SASS is written without curly brackets [{}], SCSS is written with curly brackets [{}].&lt;/p&gt;

&lt;h2&gt;
  
  
  Mainly SASS can be installed in two ways.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;LIVE SASS COMPILER.&lt;/li&gt;
&lt;li&gt;node package modules (NPM).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you do it with the best NPM and with COMPILER, it will not issue browser support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now let's see how to install SASS?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  first Method:
&lt;/h3&gt;

&lt;p&gt;First come the compiler, now the code editor VS Code is very popular for coding. Go to its extension and install LIVE SASS COMPILER. Then create a file, create html and SASS file and turn on LIVE SASS COMPILER.&lt;/p&gt;

&lt;h3&gt;
  
  
  The second method is:
&lt;/h3&gt;

&lt;p&gt;With Node Package Module (NPM):&lt;br&gt;
First you have to go to the terminal and select the correct file.&lt;br&gt;
You have to give the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;gt; npm init - Enter
&amp;gt; npm install / i sass -D (developer) Enter
"liveSassCompile.settings.generateMap": false,
"liveSassCompile.settings.formats": [
{
"Format":"expanded",
or
"format":"compressed",
"extensionName": ".css",
"savePath":"/sass"
}
],
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go to the format option [compressed]&amp;gt; convert the code into a small file / [expanded]&amp;gt; the code will show the output exactly as it is written.&lt;br&gt;
Once installed, go to the Jason file and type in the crypt option ("...")&lt;/p&gt;

&lt;p&gt;Another is to extract the SASS file from the settings and set them there.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
"compile-sass": "sass style.scss style.css -style compiler --watch --no-source-map"
},
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you go to see the code manually you have to give the command in the terminal, when the code changes you have to give the command every time to see which is very paramatman. A nice solution is to turn on the WATCH option. For that, the crypt file first has SASS which refers to the main topic then there is the name of the compiler (you can name it as you like)&amp;gt; then when the code is compiled its place&amp;gt; there is code to indicate that it will not be compressed or expanded&amp;gt; atchwatch which makes the code live&amp;gt; No source map commands.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(--watch)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  If you want to SASS beautifully, you have to learn these:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Variable&lt;/li&gt;
&lt;li&gt;Operators&lt;/li&gt;
&lt;li&gt;Extension / Inheritance&lt;/li&gt;
&lt;li&gt;Rules&lt;/li&gt;
&lt;li&gt;Value&lt;/li&gt;
&lt;li&gt;Modules&lt;/li&gt;
&lt;li&gt;Nesting&lt;/li&gt;
&lt;li&gt;Mixin&lt;/li&gt;
&lt;li&gt;Much more&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>css</category>
    </item>
    <item>
      <title>The 4 Common Programming Errors</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Sat, 19 Mar 2022 18:34:12 +0000</pubDate>
      <link>https://forem.com/asifonthecode/the-4-common-programming-errors-3hn2</link>
      <guid>https://forem.com/asifonthecode/the-4-common-programming-errors-3hn2</guid>
      <description>&lt;p&gt;Hey, what's up mates,&lt;br&gt;
At previous blog I was written about &lt;a href="https://dev.to/muhammad_asif/master-the-web-storage-api-3572"&gt;master the web API&lt;/a&gt;. If you didn't catch it yet, check it out right now. Because that was the special resource for developers, specially for JavaScript developers.&lt;br&gt;
So, in this tutorial I have written about The most common problems of every developers, which is being stuck with software engineers. Developers should need an exact knowledge about this problems, because it stuck with our every single line of code. so let's get start.&lt;/p&gt;

&lt;p&gt;Did you know, the program can be sick? Yes programs also get sick when we break the rules while writing programs. The program's errors are called programming errors and programming errors result in abnormal functioning of the program.&lt;/p&gt;

&lt;p&gt;We all need to know what is programming error and what is the error in programming, because if the doctor can not catch the patient's disease, then the doctor will not be able to treat the patient properly. In the same way, if we can't understand what kind of error has occurred in this program after watching or doing a program, then we will not be able to run the program successfully. And when I can not solve the error of programming. Then we get frustrated that maybe the programming possibility by me.&lt;/p&gt;

&lt;p&gt;I have even seen in many exam questions or job interviews that there is an error program to tell where it is wrong and what kind of mistake it is.&lt;/p&gt;

&lt;p&gt;Programming error is an invalid operation performed by a user which results in abnormal operation of the program.&lt;br&gt;
Programming errors are often undetectable until the program is compiled or executed. Some errors prevent the program from being compiled or executed. Errors should be removed before compiling and executing in this way.&lt;/p&gt;

&lt;p&gt;The most common errors can be broadly classified as follows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax Error:
&lt;/h2&gt;

&lt;p&gt;The errors that occur when you violate the C / C ++ syntax writing rules are known as Syntax Error. This compiler error indicates something that must be corrected before compiling the code. All of these errors are detected by the compiler and are thus known as compile-time errors.&lt;br&gt;
The most frequent syntax errors are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Missing parentheses (}).&lt;/li&gt;
&lt;li&gt;Print without declaring the value of the variable.&lt;/li&gt;
&lt;li&gt;If the semicolon is not given at the end of the program statement.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Run-Time Error:
&lt;/h2&gt;

&lt;p&gt;Errors that occur during program execution (run-time) after successful compilation are called run-time errors. One of the most common run-time errors is partitioning by zero, also known as section error. This type of error is difficult to find because the compiler does not point to the line where the error occurs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linker Error:
&lt;/h2&gt;

&lt;p&gt;This error occurs when after compiling we link different object files to the main object using Ctrl + F9 key (RUN). These errors are created when the executable of the program cannot be created. This may be due to incorrect function prototyping, incorrect header file. One of the most common linker errors is writing Main () instead of main ().&lt;/p&gt;

&lt;h2&gt;
  
  
  Logical Error:
&lt;/h2&gt;

&lt;p&gt;During the compilation and execution of a program, if the specified input value is given, the desired output is not obtained. Such errors that provide incorrect output but appear to be error-free are called logical errors. This is one of the most common mistakes made by newbies to programming.&lt;br&gt;
These errors depend only on the logical thinking of the programmer and it is easy to determine if we follow the line of execution and why the program takes that path of execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Semantic Error:
&lt;/h2&gt;

&lt;p&gt;This error does not make sense to the compiler when the program statement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Master the web storage API</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Sun, 13 Mar 2022 16:44:36 +0000</pubDate>
      <link>https://forem.com/asifonthecode/master-the-web-storage-api-3572</link>
      <guid>https://forem.com/asifonthecode/master-the-web-storage-api-3572</guid>
      <description>&lt;h2&gt;
  
  
  What is Web storage?
&lt;/h2&gt;

&lt;p&gt;web storage is a storage location in our browser that can store data locally on our machine.&lt;br&gt;
the web storage api is a small mechanism that the browser uses to securely store key/value pairs.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Key&lt;/code&gt; : The identifier of a piece of data&lt;br&gt;
&lt;code&gt;value&lt;/code&gt; : The value corresponding to the defined key&lt;/p&gt;
&lt;h3&gt;
  
  
  There are two types of storage in your browser:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Local Storage:&lt;/strong&gt; Maintains storage for a given web page for an unlimited period of time until it is deleted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session Storage:&lt;/strong&gt; Maintains storage for given web page until the browser is closed completely.&lt;/p&gt;
&lt;h2&gt;
  
  
  Basic Usage
&lt;/h2&gt;

&lt;p&gt;We will use localStorage in our examples. For any key/value pair, the value given must always be a string. Numbers are automatically converted into strings when stored.&lt;br&gt;
Let's say we want to remember the theme one user prefers every time they come back to our web page. We can use localStorage for this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storing Data:&lt;/strong&gt;&lt;br&gt;
We use the &lt;code&gt;.setItem()&lt;/code&gt; method to store a key/value pair. The first parameter of the function is the key, the second is the value we want to assign to it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localStorage.setItem('appTheme', 'dark');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Accessing Data:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(localStorage.getItem('appTheme'));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Accessing the whole Storage object&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(localStorage);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Working With Objects
&lt;/h2&gt;

&lt;p&gt;Since we can only store strings inside our browser's storage, we have  to convert any objects we might want to store onto a JSON string:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myData = { name: 'david', job: 'web developer'};
localStorage.setItem('user', JSON.stringify(myData));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the changes in your browser's developer tools under the 'application' tab in Chrome or "Storage" tab in Firefox. Notice how the storage in only kept for the web page where we ran our code, the live server localhost:5500.&lt;/p&gt;

&lt;p&gt;When you want to read an object that has been stringified, you will need to run &lt;code&gt;JSON.parse()&lt;/code&gt; like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(JSON.parse(localStorage.getItem('user')));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Deleting Data
&lt;/h2&gt;

&lt;p&gt;Data stored using localStorage will not be deleted until it is deleted manually or the browser's history is erased.&lt;br&gt;
So in order two delete items, we have two methods:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Delete specific items using removeItem()&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localStorage.removeItem('appTheme');

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

&lt;/div&gt;



&lt;p&gt;this allows you to delete an item by specifying the key that belongs to it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Clear the entire storage for the active web page&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localStorage.clear();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This method is straight forward and will erase all key/value pairs entirely from the web page's local storage.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Storage Event
&lt;/h2&gt;

&lt;p&gt;We can detect storage changes on a web page by using the storage event listener.&lt;/p&gt;

&lt;p&gt;Keep in mind that this event will only be triggered when opening two tabs with the same origin, so the same web page. If we make changes to the storage in the first tab, the event will triggered  in the second tab and all other tabs will the same origin. You can use this event like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.addEventLister('storage', (e)=&amp;gt;{
console.log(`Storage Event triggered from ${document.title}`)
console.log(e)
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Other Facts
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;When browsing privately (incognito), localStorage will also be emptied when you close the browser, in the same way as &lt;code&gt;sessionStorage&lt;/code&gt; is deleted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With little setup, localStorage can be succesfully used as a small database for basic practice projects and you can implement a full CRUD functionality using it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The browser's web page storage is actually an object, so you can treat it like one and perform actions such as:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localStorage.appTheme = 'dark':
localStorage['userName'] = 'david';

//using object methods
console.log(Object.values(localStorage))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, it is best to use the setItem and getItem methods to avoid possible problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;G i t h u b&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;P o r t f o l i o&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mohammadasif10/" rel="noopener noreferrer"&gt;L i n k e d i n&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Deep Copying in JavaScript just in few minutes</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Tue, 08 Mar 2022 06:40:38 +0000</pubDate>
      <link>https://forem.com/asifonthecode/deep-copying-in-javascript-just-in-few-minutes-3d55</link>
      <guid>https://forem.com/asifonthecode/deep-copying-in-javascript-just-in-few-minutes-3d55</guid>
      <description>&lt;p&gt;In the previous Article, I have written about&lt;br&gt;
&lt;a href="https://dev.to/muhammad_asif/shallow-copying-in-javascript-using-object-spread-operator-1a60"&gt;Shallow Copying in javascript using Spread Operator&lt;/a&gt;&lt;br&gt;
You can check it out!!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deep Copy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unlike the shallow copy, deep copy makes a copy of all the members of the old object, allocates separate memory location for the new object and then assigns the copied members to the new object. In this way, both the objects are independent of each other and in case of any modification to either one the other is not affected. Also, if one of the objects is deleted the other still remains in the memory. Now to create a deep copy of an object in JavaScript we use &lt;code&gt;JSON.parse()&lt;/code&gt; and &lt;code&gt;JSON.stringify()&lt;/code&gt; methods. Let us take an example to understand it better.&lt;/p&gt;

&lt;p&gt;Code Implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var employee = {
    eid: "E102",
    ename: "Jack",
    eaddress: "New York",
    salary: 50000
}
console.log("=========Deep Copy========");
var newEmployee = JSON.parse(JSON.stringify(employee));
console.log("Employee=&amp;gt; ", employee);
console.log("New Employee=&amp;gt; ", newEmployee);
console.log("---------After modification---------");
newEmployee.ename = "Beck";
newEmployee.salary = 70000;
console.log("Employee=&amp;gt; ", employee);
console.log("New Employee=&amp;gt; ", newEmployee);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Copy from Array:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Copying arrays is just as common as copying objects. A lot of the logic behind it is similar, since arrays are also just objects under the hood.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nested Arrays:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similar to objects, using the methods above to copy an array with another array or object inside will generate a shallow copy. To prevent that, also use &lt;code&gt;JSON.parse(JSON.stringify(someArray))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spread Operator:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const a = [1, 2, 3]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let b = [...a]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;b[1] = 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(b[1]) // 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(a[1]) // 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To deal with objects and arrays that are referenced inside of your instance, you would have to apply your newly learned skills about deep copying!&lt;br&gt;
With that copy method, you can put as many values as you want in your constructor, without having to manually copy everything!&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Shallow Copying in JavaScript using Object Spread Operator</title>
      <dc:creator>Muhammad Asif</dc:creator>
      <pubDate>Tue, 01 Mar 2022 13:08:51 +0000</pubDate>
      <link>https://forem.com/asifonthecode/shallow-copying-in-javascript-using-object-spread-operator-1a60</link>
      <guid>https://forem.com/asifonthecode/shallow-copying-in-javascript-using-object-spread-operator-1a60</guid>
      <description>&lt;p&gt;For the longest time, you had to resort to workarounds and libraries to create a deep copy of a JavaScript value.&lt;/p&gt;

&lt;p&gt;Copying a value in JavaScript is almost always shallow, as opposed to deep. That means that changes to deeply nested values will be visible in the copy as well as the original.&lt;/p&gt;

&lt;p&gt;One way to create a shallow copy in JavaScript using the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax" rel="noopener noreferrer"&gt;object spread operator&lt;/a&gt;...:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myOriginal = {
  someProp: "with a string value",
  anotherProp: {
    withAnotherProp: 1,
    andAnotherProp: true
  }
};

const myShallowCopy = {...myOriginal};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding or changing a property directly on the shallow copy will only affect the copy, not the original:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;myShallowCopy.aNewProp = "a new value";
console.log(myOriginal.aNewProp)
// ^ logs `undefined`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, adding or changing a deeply nested property affects both the copy and the original:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;myShallowCopy.anotherProp.aNewProp = "a new value";
console.log(myOriginal.anotherProp.aNewProp) 
// ^ logs `a new value`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The expression &lt;code&gt;{...myOriginal}&lt;/code&gt; iterates over the (enumerable) properties of &lt;code&gt;myOriginal&lt;/code&gt; using the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax" rel="noopener noreferrer"&gt;Spread Operator&lt;/a&gt;. It uses the property name and value, and assigns them one by one to a freshly created, empty object. As such, the resulting object is identical in shape, but with its own copy of the list of properties and values. The values are copied, too, but so-called primitive values are handled differently by the JavaScript value than non-primitive values. To quote &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Primitive" rel="noopener noreferrer"&gt;MDN&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In JavaScript, a primitive (primitive value, primitive data type) is data that is not an object and has no methods. There are seven primitive data types: string, number, bigint, boolean, undefined, symbol, and null.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;MDN — Primitive&lt;/p&gt;

&lt;p&gt;Non-primitive values are handled as references, meaning that the act of copying the value is really just copying a reference to the same underlying object, resulting in the shallow copy behavior.&lt;/p&gt;

&lt;p&gt;That's it for now. Next article I will write about &lt;code&gt;Deep copies&lt;/code&gt; in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.&lt;br&gt;
You can extend your support by giving me stars on GitHub Profile.😊👇&lt;br&gt;
&lt;a href="https://github.com/Mohammad-Asif-Web" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;br&gt;
&lt;a href="https://muhammadasif10.blogspot.com/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/muhammadasif10" rel="noopener noreferrer"&gt;Buy me a Coffee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>oop</category>
    </item>
  </channel>
</rss>
