<?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: Shantun Parmar</title>
    <description>The latest articles on DEV Community by Shantun Parmar (@parmarshantun).</description>
    <link>https://dev.to/parmarshantun</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%2F437911%2F18135d2a-0fcc-430e-a865-c9d4339f7613.png</url>
      <title>DEV Community: Shantun Parmar</title>
      <link>https://dev.to/parmarshantun</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parmarshantun"/>
    <language>en</language>
    <item>
      <title>Exploring the Remarkable Benefits of Docker Containers</title>
      <dc:creator>Shantun Parmar</dc:creator>
      <pubDate>Fri, 07 Jul 2023 13:45:27 +0000</pubDate>
      <link>https://dev.to/parmarshantun/exploring-the-remarkable-benefits-of-docker-containers-3lmo</link>
      <guid>https://dev.to/parmarshantun/exploring-the-remarkable-benefits-of-docker-containers-3lmo</guid>
      <description>&lt;p&gt;In recent years, Docker containers have revolutionized the way software applications are developed, deployed, and managed. Docker, an open-source containerization platform, has gained popularity among developers, DevOps teams, and system administrators due to its many benefits. In this article, we’ll take a look at the benefits of docker containers offer and understand why they’ve become an indispensable tool in modern software development.&lt;/p&gt;

&lt;p&gt;Lightweight and efficient&lt;br&gt;
One of the benefits of docker containers is their lightness. Unlike traditional virtual machines (VMs), which require a full operating system to run each instance, Docker containers take advantage of the host operating system and share its kernel. This eliminates the need for a separate operating system for each container, resulting in significantly reduced resource consumption and faster boot times. The lightweight nature of Docker containers allows for efficient use of hardware resources, resulting in greater scalability and cost savings.&lt;/p&gt;

&lt;p&gt;Portability and Consistency&lt;br&gt;
Docker containers encapsulate all the dependencies and libraries required for an application, ensuring consistency and reproducibility across all environments. Once a container is created, it can be easily deployed and run on any host machine, regardless of the underlying infrastructure. This portability eliminates the “it works on my computer” problem and streamlines the software deployment process. Developers can securely bundle their applications with all required components, ensuring they run consistently across development, test, and production environments.&lt;/p&gt;

&lt;p&gt;Isolation and security&lt;br&gt;
Docker containers provide strong isolation between applications and their underlying host system. Each container operates in its own isolated environment, ensuring that problems or vulnerabilities in one container do not affect others. This isolation improves security by preventing unauthorized access to critical resources and reducing the potential attack surface. Additionally, Docker allows granular control over container permissions and resource allocation, allowing administrators to implement strong security measures.&lt;/p&gt;

&lt;p&gt;Scalability and Elasticity&lt;br&gt;
The scalability capabilities of Docker are exceptional. Containers can easily scale up or down as needed, allowing applications to efficiently handle varying workloads. With Docker orchestration tools like Docker Swarm or Kubernetes, developers can easily manage and scale large amounts of containers. The ability to scale quickly and automatically enables organizations to respond to changes in user demand, which improves application performance and user experience.&lt;/p&gt;

&lt;p&gt;Fast Application Delivery&lt;br&gt;
Docker simplifies the application deployment process, enabling faster and more frequent releases. By packaging applications in self-contained containers, developers can avoid conflicts with the underlying system and reduce deployment errors. Containers can be built and deployed in seconds, streamlining continuous integration and continuous deployment (CI/CD) pipelines. Docker’s infrastructure-as-code approach makes it easy to release, manage, and roll back deployments, which speeds time to market for software products.&lt;/p&gt;

&lt;p&gt;Easy Development Environment Setup&lt;br&gt;
Developers often face challenges when setting up their development environments, especially when working on projects with multiple Dependencies. Docker containers solve this problem by providing a consistent and repeatable development environment across all machines. Developers can define a Dockerfile containing all necessary configurations and dependencies and launch identical development environments with it. This consistency eliminates compatibility issues, reduces setup time, and ensures that all developers are working in the same environment.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Docker containers have changed the way software applications are developed, deployed, and managed. Due to their lightweight and efficient nature, portability, isolation, and scalability, Docker containers offer many benefits to developers, operations teams, and businesses. The ability to bundle applications and their dependencies into self-contained units provides consistency, simplifies deployment, and improves security. As technology advances, Docker containers will undoubtedly play a vital role in shaping the future of software development and deployment practices.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The best 9 Artificial Intelligence(AI) trends</title>
      <dc:creator>Shantun Parmar</dc:creator>
      <pubDate>Thu, 01 Jul 2021 04:45:45 +0000</pubDate>
      <link>https://dev.to/parmarshantun/the-best-9-artificial-intelligence-ai-trends-47bd</link>
      <guid>https://dev.to/parmarshantun/the-best-9-artificial-intelligence-ai-trends-47bd</guid>
      <description>&lt;p&gt;While the COVID-19 pandemic affected numerous parts of how we work together, it didn't decrease the effect of Artificial Intelligence(AI) on our regular daily existences. Indeed, it is coming to be unmistakable that self-showing calculations and clever machines will assume a significant part in the continuous fight against this pandemic just as others that we may look later on.&lt;/p&gt;

&lt;p&gt;There is no uncertainty that AI stays a key trends with regards to innovation and developments that will essentially change how we live, work, and play sooner rather than later.&lt;/p&gt;

&lt;p&gt;As per a study, 77% of the gadgets that we use as of now have AI incorporated into them. Artificial intelligence is the power behind numerous advanced innovative solaces that are currently essential for our everyday lives, from an assortment of brilliant contraptions to Netflix proposals to items like Amazon's Alexa and Google Home.&lt;/p&gt;

&lt;p&gt;In 2019, the worldwide AI market size was assessed at $39.9 billion and an accumulate yearly development rate (CAGR) of up to 42.2 percent is relied upon from 2020 to 2027. With consistent study, innovation has made huge improvements in significant fields like medical care, retail, auto, assembling, and money. Computer based intelligence is one fundamental part that vows to totally change the computerized age with high exactness and precision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Robotic Process Automation (RPA)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To smooth out business measures and decrease costs, more CIOs are going to a developing innovation practice called Robotic Process Automation (RPA). With RPA, organizations can automate rule-based drawn-out business measures, permitting their labor force to give more opportunity to serving customers or other higher-esteem work.&lt;/p&gt;

&lt;p&gt;RPA is focused on the automation of business measures, represented by business rationale and coordinated information sources. RPA arrangements can go from something as simple as delivering a robotized email reaction to conveying a huge number of bots, each modified in an ERP framework to computerize rule-based errands. RPA is being carried out across industry verticals like assembling, KPO, HR, and finance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Conversational AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Computer based intelligence fueled chatbots, otherwise called Conversational AI, improve the client experience's reach, responsiveness, and personalization. As per Forrester, conversational AI arrangements change into better automation of client support. &lt;/p&gt;

&lt;p&gt;To all the more likely comprehend what the human says and needs, an AI-controlled chatbot utilizes normal language handling (NLP) and AI to give a more regular, close human-level collaboration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Increase in demand for ethical AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a growing interest for ethical AI and it is at the first spot on the list of arising improvements in innovation. The next decade, as per Forrester, will expect CIOs to both react to advanced speed increase and proactively handle vulnerability and business coherence with the moral utilization of Artificial Intelligence. &lt;/p&gt;

&lt;p&gt;Seeing how trends are quickly evolving, values-based clients and laborers anticipate that businesses should carry out AI responsibly. Organizations will effectively decide to work with accomplices focused on information morals in the following not many years.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. AI for Cybersecurity and knowledge breach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the coming years, information will grow to be extra available, and computerized information will be at more serious danger of being undermined and presented to hacking and phishing assaults. Computer based intelligence and arising innovation will furnish the security office with help in each space against malignant exercises. Artificial intelligence will help deflect cybercrimes later on with improved network protection measures. Counterfeit computerized movement or exchanges that match criminal patterns will be identified by the AI-empowered system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Reinforcement Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Reinforced learning  (RL) is a particular use of deep learning  that works dependent on its experience to upgrade the productivity and viability of information. Some utilization instances of RL are advanced mechanics in arranging business procedures, upgrading promotion content, computerizing enterprises, controlling airplane, and making movement control robots.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Quantum AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To quantify the Qubits for use in supercomputers, progressed organizations will start utilizing quantum incomparability. In view of quantum bits, quantum PCs tackle issues at a faster speed than exemplary PCs do. In addition, they aid the translation of information and afterward figure a few special patterns. &lt;/p&gt;

&lt;p&gt;Quantum PCs will assist different associations with distinguishing unavailable issues and furthermore anticipate significant arrangements. Future PCs will likewise uphold assorted use cases in fields like medical services, money, and science.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. The Intersection of the Internet of Things with AI (AIoT)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a growing obscuring of limits among AI and IoT. Albeit the two technologies have singular qualities, when utilized together, better and more one of a kind prospects open up. The conjunction of AI and IoT is principally the explanation we have canny voice associates like Alexa and Siri. &lt;/p&gt;

&lt;p&gt;The ability of AI to acquire bits of knowledge from information rapidly makes IoT arrangements more wise. Gartner predicts that in excess of 80% of big business IoT activities will execute AI somehow or another by 2022.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Edge Computing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Edge computing provides gadgets with servers and data storage to get to their gadgets and allow them to place information into them. It is characterized as information preparing progressively and is more remarkable than cloud computing services. There is another instance of edge computing that is carried on hubs. It's anything but a mini-server situated nearby a neighborhood media communications supplier. Hubs help to construct a scaffold between the nearby specialist organization and the cloud. It costs less, saves time, and gives clients quick help.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. The role of AI in Healthcare&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Big Data has been widely used to recognize COVID patients and basic hot points. Computer based intelligence is now helping the medical care area generally with high exactness. In addition, scientists have created warm cameras and portable applications to screen singular temperatures and to gather information for medical services associations.&lt;/p&gt;

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

&lt;p&gt;We anticipate perceiving how these improvements in AI and AI work out and what developments they bring to the table in coming future.&lt;/p&gt;

&lt;p&gt;AI’s spectrum is broad and differs starting with one organization then onto the next. Organizations need to keep awake to-date with arising trends and discover approaches to use AI-controlled answers for scale new statures. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Share your valuable feedback if you have already read&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanking you , Stay blassed&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to Create Bitcoin Blockchain Wallets using javascript?</title>
      <dc:creator>Shantun Parmar</dc:creator>
      <pubDate>Tue, 22 Jun 2021 16:22:18 +0000</pubDate>
      <link>https://dev.to/parmarshantun/how-to-create-bitcoin-blockchain-wallets-using-javascript-3lme</link>
      <guid>https://dev.to/parmarshantun/how-to-create-bitcoin-blockchain-wallets-using-javascript-3lme</guid>
      <description>&lt;h3&gt;
  
  
  Introduction :
&lt;/h3&gt;

&lt;p&gt;The Bitcoin blockchain is one of the biggest and most impressive blockchains on the planet. It was planned principally to send Bitcoin, the cryptographic money. In this way, normally, to make a message in the Bitcoin blockchain, you should send some Bitcoins starting with one record then onto the next.&lt;/p&gt;

&lt;p&gt;A Bitcoin wallet address is made out of 32 unique characters. It permits you to send and get Bitcoins. Your private key is a mysterious code related with your Bitcoin address that allows you to demonstrate your responsibility for Bitcoins connected with the location. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's start&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What will be covered in this Blog&lt;/p&gt;

&lt;p&gt;1.Generate Address Endpoint&lt;/p&gt;

&lt;p&gt;2.Validate address&lt;/p&gt;

&lt;p&gt;3.Address Balance Endpoint&lt;/p&gt;

&lt;p&gt;First of all you will need API for which you can create developer account on platform like block.io or blockcypher.com , Here i am using blockcypher &lt;a href="https://www.blockcypher.com/dev/bitcoin/#introduction"&gt;API&lt;/a&gt;. Here you can use TESTNET (Testing) and MAINNET (Deployment).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Different Bitcoin addresses:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.P2PKH which begins with the number 1, &lt;br&gt;
for e.g.: 1PkCrXg22onNePtQmiepDspLJUv7CtkACx&lt;/p&gt;

&lt;p&gt;2.P2SH type starting with the number 3, &lt;br&gt;
for e.g.: 3PZjS8D9bA15km6vfHskNnPvHDL73QH2MN&lt;/p&gt;

&lt;p&gt;3.Bech32 type starting with bc1, for e.g.: &lt;br&gt;
bc1qGh7s6BYhqV1R3N1qdK8P1KNJjbqmRBs&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Generate Address Endpoint&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API Endpoints&lt;/p&gt;

&lt;p&gt;MAINNET&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.blockcypher.com/v1/btc/main/addrs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;TESTNET&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.blockcypher.com/v1/btc/test3/addrs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make HTTP request&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var xhr = new XMLHttpRequest();
xhr.open("POST", url);

xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {

      var data = JSON.parse(xhr.responseText);

   }};

xhr.send();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
"private": "81ee75559d37cbe4b7cbbfb9931ab1ba32172c5cdfc3ac2d020259b4c1104198",
"public": "0231ff9ec76820cb36b69061f6ffb125db3793b4aced468a1261b0680e1ef4883a",
"address": "mvpW7fMSi1nbZhJJDySNS2PUau8ppnu4kY",
"wif": "cRwGhRjCuuNtPgLcoYd1CuAqjFXCV5YNCQ1LB8RsFCvu61VfSsgR"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;See demo  &lt;a href="https://shantunparmar.github.io/crypto.github.io/"&gt;here&lt;/a&gt;  , Check MAINNET and TESTNET address&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Validate address&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A valid Bitcoin address resembles a ledger number utilizing which you store your bitcoins and check your balances. If you got wrong address then you might lose your money. So before assiging any address make sure it is valid or not.&lt;/p&gt;

&lt;p&gt;To validate address we will use a library named as &lt;code&gt;wallet-address-validator&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Installation &lt;/p&gt;

&lt;p&gt;NPM&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install wallet-address-validator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Browser&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="wallet-address-validator.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You may get js from &lt;a href="https://github.com/shantunparmar/crypto.github.io/blob/gh-pages/wallet-address-validator.min.js"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Call below function to check validation&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    var address = document.getElementById('addr').value;

    var valid = WAValidator.validate(address, 'bitcoin');
    if(valid)
        alert('This is a valid address');
    else
        alert('Address INVALID');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;Note *&lt;/em&gt;: This validation will allow you to validate MAINNET&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Address Balance Endpoint&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API Endpoints&lt;/p&gt;

&lt;p&gt;TESTNET&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.blockcypher.com/v1/btc/test3/addrs/{address}/balance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MAINNET&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.blockcypher.com/v1/btc/test3/addrs/{address}/balance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OUTPUT&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "address": "mx52XPqpzygzadkk8n1rCZPrC7B4h4UcwT",
  "total_received": 2404904,
  "total_sent": 0,
  "balance": 2404904,
  "unconfirmed_balance": 0,
  "final_balance": 2404904,
  "n_tx": 4,
  "unconfirmed_n_tx": 0,
  "final_n_tx": 4
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can track down all the code in my GitHub Repository. Drop a star on the off chance that you think that its helpful.&lt;/p&gt;

&lt;p&gt;We will continue transactions in next article.&lt;/p&gt;

&lt;p&gt;Thank you &amp;amp; Take care!!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>productivity</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Small play tool for kids in javascript</title>
      <dc:creator>Shantun Parmar</dc:creator>
      <pubDate>Sun, 20 Jun 2021 05:31:53 +0000</pubDate>
      <link>https://dev.to/parmarshantun/small-play-tool-for-kids-in-javascript-2223</link>
      <guid>https://dev.to/parmarshantun/small-play-tool-for-kids-in-javascript-2223</guid>
      <description>&lt;p&gt;Children's creativity has been affected the most at this covid time. So for a kids curiosity, I did a little too prep, which is a way to create a drawing by filling colors in a table box. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the article of the Building an play tool for kids using html and javascript. Where dynamically generated a HTML table with its properties derived from user input. There are 2 main categories of user inputs. The 1st category relates to the overall properties of the table, like the no. of cols, rows, etc, and the 2nd category relates to the properties of each cell in the table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So let's start,&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here firstly I'll use sublime edito to run the code.&lt;/p&gt;

&lt;p&gt;First Simple create an index.html file looks in which you have to create form as depict below image&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zeIf2bH2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624087816476/MX9lSWkEj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zeIf2bH2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624087816476/MX9lSWkEj.png" alt="form.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mANgwjHA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624088640347/P-aIjERr5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mANgwjHA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624088640347/P-aIjERr5.png" alt="Untitled.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here no. of cols and rows will decide table size , Simple cell data mean text which you want to show inside cell as well as you can adjust css using cell width and height.&lt;br&gt;
Colors will draw cell as per selected color, Apart from it if you want to disable editing then set an counter once counter will be finish then table won't be editable anymore.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  &amp;lt;div class="form-group col-md-6"&amp;gt;
                    &amp;lt;button class="btn btn-primary" onclick="clock();"&amp;gt;Start counter&amp;lt;/button&amp;gt;
                    &amp;lt;button class="btn btn-primary" onclick="clearInterval(myTimer);"&amp;gt;Stop counter&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To run the counter and to stop, two functions have been done to it. Once you selected all element and will click on generate table , generate()  function will invoke&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function generate() {
    var i;
    var p = document.getElementById("appData");
    var k = document.createElement("hr");
    var e = document.createElement("hr");
    p.appendChild(k);
    var d = document.getElementById("data");
    var n = document.createElement("table");
    var b = document.createElement("body");
    i = document.getElementById("cols").value;
    if (isNaN(i) || i &amp;lt; 1 || i &amp;gt; 100) {
        alert("Not valid input for no. of column, Cannot be blank and must be in range 1 - 100");
        return false;
    } else {
    }
    var o;
    o = document.getElementById("rows").value;
    if (isNaN(o) || o &amp;lt; 1 || o &amp;gt; 100) {
        alert("Not valid input for no. of row, Cannot be blank and must be in range 1 - 100");
        return false;
    } else {
    }
    var m = document.getElementById("height").value;
    if (isNaN(m) || m &amp;lt; 1 || m &amp;gt; 50) {
        alert("Not valid input for no. of height, Cannot be blank and must be in range 1 - 50");
        return false;
    } else {
    }
    var a = document.getElementById("width").value;
    if (isNaN(a) || a &amp;lt; 1 || a &amp;gt; 50) {
        alert("Not valid input for no. of width, Cannot be blank and must be in range 1 - 50");
        return false;
    } else {
        alert("Input OK");
    }
    for (var h = 0; h &amp;lt; o; h++) {
        var g = document.createElement("TR");
        b.appendChild(g);
        for (var j = 0; j &amp;lt; i; j++) {
            var c = document.createElement("TD");
            c.width = document.getElementById("width").value;
            c.height = document.getElementById("height").value;
            var l = d.value;
            var f = "cell [" + j + ", " + h + "]";
            c.setAttribute("id", f.toString());
            c.addEventListener("click", function () {
                cellClicked(this);
            });
            c.addEventListener("mouseover", function () {
                mouseHover(this);
            });
            if (l) {
                c.appendChild(document.createTextNode(l));
            } else {
                c.appendChild(document.createTextNode("Cell" + j + "," + h));
            }
            g.appendChild(c);
        }
    }
    n.appendChild(b);
    p.appendChild(n);
    p.appendChild(e);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This snippet create dynamic table. Once it will done then move your cursor and select various colors. Your table will look a like below image&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tW8-Vm97--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624088849889/7I9TIaOjo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tW8-Vm97--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1624088849889/7I9TIaOjo.png" alt="table.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can reach for Source Code to this build this small tool from my GitHub Repository.&lt;br&gt;
 &lt;a href="https://raw.githubusercontent.com/shantun7792/SmallPlayToolForKids/gh-pages/"&gt;Small Playtool for Kids&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In the event that you like my substance and need to help my endeavors please like👍🏻, share📲 and subscribe get advised at whatever point I post another blog.&lt;/p&gt;

&lt;p&gt;Take care &amp;amp; stay safe&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>devops</category>
    </item>
    <item>
      <title>Don't want miss recent post on dev, Make feed on your web</title>
      <dc:creator>Shantun Parmar</dc:creator>
      <pubDate>Thu, 29 Apr 2021 05:33:40 +0000</pubDate>
      <link>https://dev.to/parmarshantun/don-t-want-miss-recent-post-on-dev-make-feed-on-your-web-551e</link>
      <guid>https://dev.to/parmarshantun/don-t-want-miss-recent-post-on-dev-make-feed-on-your-web-551e</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.to/"&gt;Dev&lt;/a&gt; is a community of software/web developers getting together to assist each other. We can’t be active all time over community so don’t miss creative post, You can get all post under single page over your website or your blog.&lt;/p&gt;

&lt;p&gt;Let’s start with &lt;a href="https://nodejs.org/en/"&gt;node.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will show you to scrap dev.to latest post including their title and relevant content. You will be required to include Axios npm package to send http request over dev.to. This package will extract html of latest post, Afterward you need to load html and have to scrap html content, For which you must install &lt;a href="https://www.npmjs.com/package/cheerio"&gt;cheerio&lt;/a&gt; npm package.&lt;/p&gt;

&lt;p&gt;Http request to extract html using &lt;a href="https://www.npmjs.com/package/axios"&gt;axios&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;axios.get(url)
.then(response =&amp;gt; {
getData(response.data);
})
.catch(error=&amp;gt;{
console.log(error);
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Load and scrap html using cheerio
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let getData = html =&amp;gt; {
  data = [];
  const $ = cheerio.load(html);
  $('a.crayons-story__hidden-navigation-link').each((i, elem) =&amp;gt; {
    data.push({
      title : $(elem).text(),
      link:$(elem).attr('href')
    });

  }); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here i just scrap title and their href , Whatever you want to scrap of a post , you may access using class name or id. Store scrap data into an array and send to view files for render.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="jumbotron"&amp;gt;
        &amp;lt;h1&amp;gt;Dev.to Feeds&amp;lt;/h1&amp;gt;
        &amp;lt;ul&amp;gt;
        &amp;lt;% data.forEach(function(elem) { %&amp;gt;
            &amp;lt;li&amp;gt;
                &amp;lt;strong&amp;gt;&amp;lt;a href="https://dev.to/&amp;lt;%= elem.link %&amp;gt;"&amp;gt;&amp;lt;%= elem.title %&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/strong&amp;gt;

            &amp;lt;/li&amp;gt;
        &amp;lt;% }); %&amp;gt;
    &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Preview&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BNahUjqr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.coodingdessign.com/wp-content/uploads/2020/12/image-1-768x535.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BNahUjqr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.coodingdessign.com/wp-content/uploads/2020/12/image-1-768x535.png" alt="Coodigdessign.com"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may get code from &lt;a href="https://github.com/shantun7792/dev.to_scrap_with_nodejs/tree/master"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ETEJyCFL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xczd6k8rs5gqpfv7kn4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ETEJyCFL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xczd6k8rs5gqpfv7kn4g.png" alt="Thanks for reading!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Originally published at my blog &lt;a href="https://www.coodingdessign.com/"&gt;coodingdessign.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
