<?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: devbookmark</title>
    <description>The latest articles on DEV Community by devbookmark (@devbookmark).</description>
    <link>https://dev.to/devbookmark</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%2F689498%2Fde566f5e-2b0f-41fa-b47a-6fe1cb5eebb8.png</url>
      <title>DEV Community: devbookmark</title>
      <link>https://dev.to/devbookmark</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devbookmark"/>
    <language>en</language>
    <item>
      <title>15 Websites to host your projects for free in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Tue, 31 Aug 2021 03:47:17 +0000</pubDate>
      <link>https://dev.to/devbookmark/15-websites-to-host-your-projects-for-free-in-2021-2c04</link>
      <guid>https://dev.to/devbookmark/15-websites-to-host-your-projects-for-free-in-2021-2c04</guid>
      <description>&lt;p&gt;A web facilitating administration is one kind of Internet facilitating administration which permits any people or organizations to make their site available on the World Wide Web. For the most part facilitating is paid, however there are numerous free site facilitating options, that can fill your need. &lt;/p&gt;

&lt;p&gt;We as a whole love gifts and it should not shock anyone that even in web facilitating there are huge loads of gifts on the off chance that you realize where to look. Not everything free are equivalent however, and this time I will take a gander at what a portion of these free (and "nearly free") web has have to bring to the table.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://fosshost.org/"&gt;FOSS Host&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--24FbUlsr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822890800/egt3ytuPu.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--24FbUlsr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822890800/egt3ytuPu.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They're a non-profit organisation that exists to serve the hosting needs of the global open source community. It's hard to apply there so please read all the instruction before you apply. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gbLJ9pm---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818706837/ZjhOi6mb-.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gbLJ9pm---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818706837/ZjhOi6mb-.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Netlify functions as publicized, you don't need to think about DevOps taking care of or anything to do with cloud facilitating. You can send your static applications directly from your facilitating supplier, regardless of whether it is Gitlab or Github, it simply works. &lt;/p&gt;

&lt;p&gt;The beginning cost is additionally free so you can send your various ventures free of charge and have a custom space, these are highlights I truly appreciate, only straightforwardness at its best.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://firebase.google.com/"&gt;Firebase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZYxCLfr7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818959124/XwYIuUjxp.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZYxCLfr7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818959124/XwYIuUjxp.png%3Fauto%3Dcompress" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/"&gt;AWS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B9vZKh85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819217797/s7XH73kes.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B9vZKh85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819217797/s7XH73kes.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have been utilizing S3 for quite a while now, its simple to arrangement and work with. Programming interface reconciliations are extremely simple to arrangement. It can easily hold huge informational indexes, yet in some cases looking on S3 for documents isn't simple, it is a lethargic interaction and hangs the application. On a general level my involvement in S3 is awesome, I would emphatically suggest S3 for capacity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.heroku.com/"&gt;Heroku&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mJ15DEkG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819383372/0fLI2Ar0_.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mJ15DEkG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819383372/0fLI2Ar0_.png%3Fauto%3Dcompress" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have been utilizing it for a very long time to grandstand my own ventures to others on GitHub. It's an incredible stage to convey my ventures and it upholds a wide range of programming languages. I like the highlights of sending of my GitHub archives and furthermore set up the webhook for programmed redeployment on changes on my GitHub vaults. It's not difficult to utilize and doesn't have to manage a great deal of foundations as it's a PaaS. &lt;/p&gt;

&lt;p&gt;Likewise, the startup can utilize this stage and spotlight more on advancement as opposed to setting up own workers and designing it. Additionally I love highlight of scaling the web applications/administrations starightforword, I simply need to indicate the quantity of dynos to scale it. It offers both the incredible dashboard and CLI so I can perform something on its dashboard or by utilizing its CLI. I love when I can convey a web application in a matter of seconds so its quick and easy to send. It additionally gives free addons like PostgreSQL, redis and so on which I can use in my web applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://pages.github.com/"&gt;Github Pages&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N8qFdbfZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819763203/pvK-Z7qBj.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N8qFdbfZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623819763203/pvK-Z7qBj.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on GitHub, optionally runs the files through a build process, and publishes a website.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://azure.microsoft.com/en-in/free/"&gt;Azure&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wd_v56Jk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822183937/DKPvfpIq9.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wd_v56Jk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822183937/DKPvfpIq9.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is not difficult to utilize and is a solid extraordinary tool for my distributed storage needs. I like that it is not difficult to store a wide range of information and information drop expansions. It is really an astounding on the web stockpiling program.&lt;/p&gt;

&lt;p&gt;It permits the sharing of enormous recordings and designs, which are hard to send by email, because of this component, it consummately upholds the work process and adds to the improvement of our business cycle. the joy of sharing significant substance, for example, recordings and designs that I need to partake in an agreeable, quick and secure route with no limitations is priceless.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com"&gt;Vercel&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AD63UiCQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818815848/HzXJitBun.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AD63UiCQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623818815848/HzXJitBun.png%3Fauto%3Dcompress" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Developing and conveying a frontend application utilizing Vercel is exceptionally viable in term of the expense and time spending. Combination with &lt;code&gt;ember.js&lt;/code&gt; is smooth and has no issue in similarity. The capacity to shares the live review of the site to customer and colleagues in a solitary snap truly shortening the typical cycle that are long and distressing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://surge.sh/"&gt;Surge&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k_LgC_Yo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623820544942/b-vgLV2ys.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k_LgC_Yo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623820544942/b-vgLV2ys.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simple, single-command web publishing. Publish HTML, CSS, and JS for free, without leaving the command line.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.stormkit.io/"&gt;Stormkit&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HbIU2Y9v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623821884072/2ZyfPwxvF.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HbIU2Y9v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623821884072/2ZyfPwxvF.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Powerful infrastructure for modern javascript apps. &lt;br&gt;
Stormkit integrates perfectly with your git flow.&lt;br&gt;
It builds, deploys and scales your javascript apps seamlessly. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://render.com/"&gt;Render&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--woVUnVcN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623820840420/YUjEKYbt0c.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--woVUnVcN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623820840420/YUjEKYbt0c.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the main thing I saw about Render was the means by which everything about sending appears to "simply work". It's a particularly reviving encounter to have the option to follow their documentation, relating to your particular arrangement, and not need to then scour the web searching for the real method to send with their administration. &lt;/p&gt;

&lt;p&gt;Further, Render robotizes your site's HTTPS/SSL (TLS these days, ideally) and coordinates with GitHub. They likewise make confining outer admittance to your information base a breeze — security feels amazing and simple to carry out with Render (its majority is taken care of for you). &lt;/p&gt;

&lt;p&gt;Furthermore, on the off chance that you have an inquiry, their care staff is instructive, kind, and convenient. It's really caused sending to feel much less like "arrangement" and more like... "we're live!"&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://cloud.google.com/solutions/web-hosting"&gt;Google Cloud Hosting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WwrTZ12E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630378431952/ezXlyO4AY.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WwrTZ12E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630378431952/ezXlyO4AY.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google cloud has turned into the go to stage for capacity and information the executives in my work environment. Best of all, a fundamental membership (free) accompanies adequate room for yoou to begin with your information stockpiling, You would then be able to purchase more space with the littlest of cost. (Also, assuming you need to share the extra room theres even a family plan).&lt;/p&gt;

&lt;p&gt;This is not free but offers a one year trial that is a lot to just explore around with there amazing features. &lt;/p&gt;

&lt;p&gt;The possibly issue I have is when attempting to move a record from the drive to another stage. I need to download it in mass then, at that point discover the document and afterward move it. I do know this is on the grounds that google joining frameworks, however it very well may be somewhat troublesome, extraordinarily assuming you need to move significant documents that you have put away inside the framework.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gitlab.com"&gt;Gitlab Pages&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;We can have free private repos, however it has restricted highlights. Yet, we can become acclimated to it prior to buying the item. Additionally, I like the web IDE in GitLab, which is much better than the content tool in other VCS. Additionally, we can check the GitLab ci config document prior to pushing it and testing it ready to go. We can approve the yml script on the GitLab site itself. &lt;/p&gt;

&lt;p&gt;Gitlab has a decent number of abilities for making and overseeing vaults. It is additionally loaded with great action checking highlights; Gives us thorough investigations of applications that assist us with improving them. &lt;br&gt;
Permits us to work in a more consistent way and makes interdepartmental correspondences simpler for us. &lt;br&gt;
Accompanies a few helpful combinations and different abilities for time-following and source code the executives, among others.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hostman.com/"&gt;Hostman&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8GKMEXh9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822438469/P5t98e4Ta.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8GKMEXh9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1623822438469/P5t98e4Ta.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was not difficult to send my task, I didn't need to do any arrangements. I conveyed a site and it was free for me, so that is a major in addition to. So Hostman is an ideal arrangement when you need to send your undertaking effectively, quick, yet be certain that it's protected. &lt;/p&gt;

&lt;p&gt;I utilized Hostman to convey static site. I expected to do it truly speedy, without drawing in DevOps and with Hostman I saw my site live in no time flat. I'm not actually acquainted with this things like introducing conditions, setting up systems administration and the rest that is expected to convey and have a site, so Hostman was an answer for me.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.awardspace.com"&gt;AwardSpace&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VICdjboM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630380385717/qj6eUVAnu.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VICdjboM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630380385717/qj6eUVAnu.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Incredible web hosting services and straightforward modules!!! Begun to have a test site. How effectively I could understand rule and assemble all parts to distribute is stunning. Very little specialized information needed for this. Plans are additionally entirely sensible and savvy.&lt;/p&gt;




&lt;p&gt;Every free thing has some issues or the other, so be ready for some normal issues that show up with it. &lt;/p&gt;

&lt;p&gt;Indeed, even the best free facilitating will in general be genuinely shaky, which can bring about vacation. Likewise, suppliers regularly place limitations on capacity and transfer speed, restricting your site's development and traffic limit. Your site may likewise have slow execution. &lt;/p&gt;

&lt;p&gt;All things considered, there are times you might need to consider free facilitating. For an individual task, it could be all you need. The equivalent is valid in case you're rehearsing your website architecture and improvement abilities and simply need a space to evaluate groundbreaking thoughts. &lt;/p&gt;

&lt;p&gt;Maybe you're setting up a space to test new modules or subjects. All things considered, the constraints of free facilitating shouldn't be an obstruction to what you need to achieve. Obviously, in the event that you essentially need an organizing site, you might need to utilize a neighborhood improvement instrument like Local and not stress over facilitating by any means.&lt;/p&gt;




&lt;p&gt;Who doesn't love freebies? So above were some of the websites(PaaS) that offer free services to everyone. You just need to code your project and host and done. &lt;/p&gt;

&lt;p&gt;Thanks for Reading😀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>jamstack</category>
      <category>hosting</category>
    </item>
    <item>
      <title>12 websites to Ace you programming skills in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Mon, 30 Aug 2021 04:26:34 +0000</pubDate>
      <link>https://dev.to/devbookmark/12-websites-to-ace-you-programming-skills-in-2021-55pi</link>
      <guid>https://dev.to/devbookmark/12-websites-to-ace-you-programming-skills-in-2021-55pi</guid>
      <description>&lt;p&gt;Hey everyone building projects and solving real world problems is inarguable one of the best ways you can learn how to code. In a culture dependent on usefulness, more often than not, practice is left to the side. It is now and again viewed as an exercise in futility, particularly for those with more long stretches of involvement. &lt;/p&gt;

&lt;p&gt;I'm not discussing simply playing or accomplishing something. I'm discussing intentionally rehearsing an action. With regards to the basics. The nuts and bolts of your calling. &lt;/p&gt;

&lt;p&gt;I'm not saying to simply rehearse the entire day. You have work to do, a daily routine to experience. Rest and an even life are just about as significant as training. Yet, save a period in your every day schedule for rehearsing. &lt;/p&gt;

&lt;p&gt;It very well may be two hours or 30 minutes. The time you spend doing it will rely upon your experience and the amount you actually need to learn.&lt;/p&gt;

&lt;p&gt;So in this post we will talk about 12 websites you can practice coding or in other words you can increase your web development skills. &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://www.codewell.cc/"&gt;CodeWell&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f-ah8XlP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296011665/O4FRh3-Ey.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f-ah8XlP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296011665/O4FRh3-Ey.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to level up your HTML, CSS and JavaScript skills, codewell offers real world Figma tempaltes that you can use to improve. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://coderbyte.com/"&gt;Coderbyte&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XccE2ipG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296054381/DNk5OBw_j.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XccE2ipG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296054381/DNk5OBw_j.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They offer free challenges to get a feel for the paltform before subscribing to their plans which start at $35/mo. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://projecteuler.net/"&gt;Project Euler&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D_BAekO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296105893/11bdxn7F-.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D_BAekO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296105893/11bdxn7F-.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Investigate a space of numerical difficulties and information structures that require more than numerical bits of knowledge to tackle. The coding issues on the site give an inductive chain learning experience meaning every issue presents new ideas that can assist with taking care of different issues. &lt;/p&gt;

&lt;p&gt;In contrast to different destinations on the rundown, you can not code on the actual site so you would need to settle it on a piece of paper.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://freecodecamp.org"&gt;FreeCodeCamp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N-0uErVk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296136561/Tgalckvol.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N-0uErVk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296136561/Tgalckvol.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inarguable one of the best and free resources to learn Web Development. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://geektastic.com/"&gt;Geektastic&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w6_BeE_V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296206918/sL2FVKZ-4.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w6_BeE_V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296206918/sL2FVKZ-4.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Geektastic has a combination of various decision and companion checked on code difficulties to appreciate. Each different decision question likewise has a point by point clarification with each answer. &lt;/p&gt;

&lt;p&gt;Too as finishing difficulties you can likewise make and offer your own difficulties with their worldwide local area. Rank sufficiently high and you may even be welcome to join their survey group who get compensated to code for world's developing tech orgs. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.datacamp.com/"&gt;Datacamp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zNnDFRPh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296240447/iNie8VK-M.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zNnDFRPh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296240447/iNie8VK-M.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Investigate data science and code with the website's online code editor utilizing Python and R. Their courses offer short quality instructional exercises and more on applying what you have realized. The site likewise allows you to apply your abilities to take care of certifiable issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://teamtreehouse.com/"&gt;TreeHouse&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0B84jT-C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296297432/gT1_gaURl.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0B84jT-C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296297432/gT1_gaURl.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Treehouse is a great platform to help you learn certain languages like JavaScript or even backend languages like PHP.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---BmnwvgC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296322903/pcDkete29.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---BmnwvgC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296322903/pcDkete29.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LeetCode is a a most popular websites that gives a rundown of 190+ difficulties that can assist you with planning for specialized new employee screenings. You can address the difficulties straightforwardly online in one of 9 programming dialects. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.frontendmentor.io/"&gt;Frontend Mentor&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Kkdj7pxY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296401438/yUD5sxJnX.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Kkdj7pxY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296401438/yUD5sxJnX.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Solve real world HTML, CSS and JavaScript challenges whilst working to professional designs. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://cssbattle.dev/"&gt;CSSBattle&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This one is specific to CSS but its gamification system is a great way to track you progress and continue learning. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.codingame.com/"&gt;CodingGame&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NHbVKgKD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296806581/f1cUEMNvD.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NHbVKgKD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296806581/f1cUEMNvD.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CodinGame is a bit not the same as different sites, on the grounds that rather than essentially settling coding difficulties in an editorial manager, you really participate recorded as a hard copy the code for games that you play straightforwardly on the web.&lt;/p&gt;

&lt;p&gt;The game accompanies an issue depiction, experiments, and a manager where you can compose your code in one of 20+ programming dialects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://javascript30.com/"&gt;Javascript30&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ns-vWvSz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296491949/azEtztXm8.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ns-vWvSz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1630296491949/azEtztXm8.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A 30 days vanilla JS coding challenge by Wes Bos. You get to build clocks, drum kits and so much more using just javascript. &lt;/p&gt;




&lt;p&gt;Figuring out how to program can be hard. It is significantly harder to dominate it. &lt;/p&gt;

&lt;p&gt;Likewise with some other expertise, you need to continue rehearsing so you're not neglecting and are improving. Every one of the elite competitors and laborers do it. &lt;/p&gt;

&lt;p&gt;Make sure to isolate practice from the genuine game. You need them both to develop as a software engineer. The two of them have their significance in your life.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>The Node.js ultimate beginner to pro Cheatsheet in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Fri, 27 Aug 2021 06:16:33 +0000</pubDate>
      <link>https://dev.to/devbookmark/the-node-js-ultimate-beginner-to-pro-cheatsheet-in-2021-3d61</link>
      <guid>https://dev.to/devbookmark/the-node-js-ultimate-beginner-to-pro-cheatsheet-in-2021-3d61</guid>
      <description>&lt;p&gt;Many of you guys requested us for NodeJS cheatsheets and here you go guys, this is an ultimate NodeJS cheatsheet. &lt;/p&gt;




&lt;p&gt;In programs, the 'high level' scope is the global scope. That implies that in programs in case you're in the global scope 'var' something will characterize a global variable. In Node this is unique. The high level scope isn't the global scope; var inside a Node module will be neighborhood module to that module.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;__filename&lt;/code&gt; - The filename of the code being executed(absolute path)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;__dirname&lt;/code&gt; - The name of the directory that the currently execcuting script resides in(absolute path. )&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process&lt;/code&gt; - The process objecet is a global object and can be accessed from anywhere. It is an instance of &lt;code&gt;Event Emitter&lt;/code&gt;. &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Modules
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;var module = require('./module.js');&lt;/code&gt; - Loads the module.js in same directory. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.require('./another_moude.js');&lt;/code&gt; - Loads another_module as if &lt;code&gt;require()&lt;/code&gt; was called frmo the module itself&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.id;&lt;/code&gt; - The identifier for the module. Typically this is the fully resolved filename&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.filename;&lt;/code&gt; - The fully resolved filename to the module&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.loaded;&lt;/code&gt; - Whether or not the module is done loading , or is in the process of loading&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.parent;&lt;/code&gt; - The module that required this one&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;module.children;&lt;/code&gt; - The Module objects required by this one. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Path in NodeJS
&lt;/h3&gt;

&lt;p&gt;Use &lt;code&gt;require('path')&lt;/code&gt; to use this module. This module contains utilities for handling and transforming file paths. Almost all these methods perform only string transformation. The file system is not consulted to check whether paths are ValidityState. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;path.normalize(p);&lt;/code&gt; - Normalize a string path, taking care of '..' and '.' parseInt. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.join([path1], [path2], [...]);&lt;/code&gt; - Join all arguments together and normalize the resulting path&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.resolve([from ...], to);&lt;/code&gt; - Solve the relative path from &lt;code&gt;from&lt;/code&gt; to &lt;code&gt;to&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.dirname(p);&lt;/code&gt; - Return the directory name of a path. Similar to the Unix dirname command. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.basename(p, [ext]);&lt;/code&gt; - Return the last portion of a path. Similar to the Unix basename command. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.extname(p);&lt;/code&gt; - Return the extension of the path, from the last &lt;code&gt;'.'&lt;/code&gt; to end of string in the last portion of the path. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.sep;&lt;/code&gt; - The platform-specific file separator. &lt;code&gt;\\&lt;/code&gt; or &lt;code&gt;/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;path.delimeter;&lt;/code&gt; - The platform-specific path delimiter, &lt;code&gt;';'&lt;/code&gt; or &lt;code&gt;':'&lt;/code&gt;. &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Process in NodeJS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;process.on('exit', function(code) {});&lt;/code&gt; - Emitted when the process is about ot exit. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.on('uncaughtException', functiion(err) {});&lt;/code&gt; - Emitted when an exception bubbles all the way back to the event loop&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.stdout;&lt;/code&gt; - A writable stream to stdout. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.stderr;&lt;/code&gt; - A writable stream to stderr. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.stdin;&lt;/code&gt; - A readble sream for stdin. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.argv;&lt;/code&gt; - An array containing the command line arguments &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.env;&lt;/code&gt; - An object containing the user environment. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.execPath;&lt;/code&gt; - This is the absolute of the executable that started the process. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.execArgv;&lt;/code&gt; - This is the set of node-specific command line options form the executable that started the process. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.arch;&lt;/code&gt; - What processor architecture you're running on 'arm', 'ia32' or 'x64'&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.config;&lt;/code&gt; - An object containing the JavaScript representation of the configure options that were used to compile the current node executable. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.pid;&lt;/code&gt; - The PID of the process &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.platform;&lt;/code&gt; - What platform you're running on: &lt;code&gt;darwin&lt;/code&gt;, &lt;code&gt;freebsd&lt;/code&gt;, 'linux', 'sunos' or 'win32'. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.abort();&lt;/code&gt; - This causes node to emit an AbortController. This will cause node to exit and generate a core file. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.chidr(dir);&lt;/code&gt; - Changes the current working directory of the prcess or throws an exception if that fails. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.exit([code]);&lt;/code&gt; - Ends the process with the specified code. If the omitted, exit uses the 'success' code 0. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.getgid();&lt;/code&gt; - Gets the group identity of the process. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.setgid(id);&lt;/code&gt; - Sets the group identity of the process. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;proces.setuid(id);&lt;/code&gt; - Setss the group identity of the process&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.getgroups(grps);&lt;/code&gt; - Sets the supplementary group IDs. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.kill(pid, [signal]);&lt;/code&gt; - Send a signal to a process. &lt;code&gt;pid&lt;/code&gt; is the process id and signal is the string describing the signal to send. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.memoryUsaage();&lt;/code&gt; - Returns an object describing the memory usage of the Node process measured in Byte. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;process.uptime();&lt;/code&gt; - Number of seconds Node has been running&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  HTTP in NodeJS
&lt;/h3&gt;

&lt;p&gt;To use the HTTP server and client one must require('http'). &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;http.STATUS_CODE;&lt;/code&gt; - A collection of all the standard HTTP response status codes, and the short description of each&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;http.request(options, [callback]);&lt;/code&gt; - This function allows one to transparently issue requests&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;http.get(options, [callback]);&lt;/code&gt; - Set the method to GET and calls &lt;code&gt;req.end()&lt;/code&gt; automatically&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server = http.createServer([requestListener]);&lt;/code&gt; - Returns a new web server object. The &lt;code&gt;requestListener&lt;/code&gt; is a function which is automatically added to the &lt;code&gt;request&lt;/code&gt; event&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.listen(path, [callback]);&lt;/code&gt; - Start a UNIX socket server listening for connections on the given path. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.listen(handle, [callback]);&lt;/code&gt; - The handle object an be set to either a server r socket (anything with an underlying _handle member), or a {fd: &lt;code&gt;&amp;lt;n&amp;gt;&lt;/code&gt;} object. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.close([callback]);&lt;/code&gt; - Stops the server from accepting new connections&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.setTimeout(msecs, callback);&lt;/code&gt; - Sets the timeout value for sockets and emits a &lt;code&gt;timeout&lt;/code&gt; event on the server object, passing the socket as an argument, it a timeout occurs. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.maxHeadersCount;&lt;/code&gt; - Limits maximum incoming headers count, equal to 1000 by default. If set to 0 - no limit will be applied. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.timeout;&lt;/code&gt; - The number of milliseconds of inactivity before a socket is presumed to havea timed out&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('request', function (request, response){});&lt;/code&gt; - Emitted each time there is a request&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('connection', function (socket) { });&lt;/code&gt; - When a  new TCP stream is established&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('close', function () { });&lt;/code&gt; - Emitted when the server closes &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('checkContinue', function (request, response) { });&lt;/code&gt; - Emitted eachn time a request with an http Expect: 100-continue is received.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('connect', function (request, socket, head) {});&lt;/code&gt; - Emitted each time a client requests a http &lt;code&gt;CONNECT&lt;/code&gt; method. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('upgrade', function (request, socket, head) {});&lt;/code&gt; - Emitted each time a client requests a http upgrade. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;server.on('clientError', function (exception, socket) { });&lt;/code&gt; - If a client connection emmits an &lt;code&gt;error&lt;/code&gt; event - it will forwarded here&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.write(chunk, [encoding]);&lt;/code&gt; - Sends a chunk of body&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.end([data], [encoding]);&lt;/code&gt; - Finishes sending the requests. If any parts of the body are unsent, it will flush them to the stream. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;requests.abort();&lt;/code&gt; - Aborts  are requests&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.setTimeout(timeout, [callback]);&lt;/code&gt; - Once a socket is assigned to this request and is connect &lt;code&gt;socket.setTimeout();&lt;/code&gt; will be called. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.setNoDelay([noDelay]);&lt;/code&gt; - Once a socket is assinged to this request and is connected &lt;code&gt;socket.setNoDelay()&lt;/code&gt; will be called&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.setSocketKeepAlive([enable], [initiateDelay]);&lt;/code&gt; - Once a socket is assigned to this request and is connected &lt;code&gt;socket.setKeepAlive()&lt;/code&gt; will be called &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.on('socket', function(socket) {});&lt;/code&gt; - Emitted after a soscket is assigned to this request&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.on('connect', function(response, socket, head) { });&lt;/code&gt; - Emitted each time a server responds to a request with a CONNECT methods. If this event isn't being listened for, clients receiving a CONNECT method will have their connections closed. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request.on('upgrade', function(response, socket, head) {});&lt;/code&gt; - Emitted each time a server responds to a request with an upgrade. If this event isn't being listened for, clients receiving an upgraded header will have their connections closed&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.write(chunk, [encoding]);&lt;/code&gt; - This sends a chunk the response body. If this method is called and &lt;code&gt;response.writeHead()&lt;/code&gt; has not been called, it will switch to implicit header mode and flush the implicit headers &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.writeHead(statusCode, [reasonPhrase], [headers]);&lt;/code&gt; - Sends a response header to the request&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.setHeader(name, value);&lt;/code&gt; - Sets a single header value for implicit headers. If this headers already exists in the to-be-sent headers, its value will be replaced. Use an array of strings here if you need to send multiples headers with the same name.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.removeHeader(name);&lt;/code&gt; - Removes a header that's queud for implicit sending&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reponse.end([data], [encoding]);&lt;/code&gt; - This method signals to the server that all of the response headers and body havae been sent; that server should consider this mesage complete. The method, &lt;code&gt;response.end()&lt;/code&gt;, methis be called on eaach response. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.statusCode;&lt;/code&gt; - When usinsg implicit headers (not calling &lt;code&gt;response.writeHead()&lt;/code&gt; explicitly), tis property controls the status code that will be sent to the client when the headers get flushed&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.headersSent;&lt;/code&gt; - Bolean (read-only). True if headers were sent false otherwise&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.sendDate;&lt;/code&gt; - When true, the date header will be automatcally generated and sent in the reponse if it is not already present in the headers. Defaults are true. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.on('close', function() {});&lt;/code&gt; - Indicates that the underlying connection was terminated before &lt;code&gt;response.end()&lt;/code&gt; was called or able&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.on('finish', function() {})&lt;/code&gt; - Emitted when the response has been sent&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.httpVersion;&lt;/code&gt; - In case of server request, the HTTP version sent by the client. In the case of client response, the HTTP version of the connected to server&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.headers;&lt;/code&gt; - The request/response headers object&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.trailers;&lt;/code&gt; - The request/response trailers object. Only populated after the 'end' event&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.method;&lt;/code&gt; - The request method as a string. Read only. Example: &lt;code&gt;GET&lt;/code&gt; and 'DELETE'. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.url;&lt;/code&gt; - Request URL string. This contains only the URL that is present in the actual HTTP request &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.statusCode;&lt;/code&gt; - The 3 digit HTTP response status code. Ex: 404. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.socket;&lt;/code&gt; - The net socket object associated with the connection. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message.setTimeout(msecs, callback)&lt;/code&gt; - Calls &lt;code&gt;message.connection.setTimeout(msecs, callback)&lt;/code&gt; - &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  URL
&lt;/h3&gt;

&lt;p&gt;This module has utilities for URL resolution and parsing. Call &lt;code&gt;require('url')&lt;/code&gt; to use it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;url.parse(urlStr, [parseQueryString], [slashesDenoteHost]);&lt;/code&gt; - Take a URL string and return an object. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;url.format(urlObj);&lt;/code&gt; - Take a parsed URL object, and return a formatted URL string. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;url.resolve(from, to);&lt;/code&gt; - Take a abse URL, and a href URL and resolve them as a browser would for an anchor tag. &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  OS in NodeJS
&lt;/h3&gt;

&lt;p&gt;Provides a few basics operating systems related utility funtions. Use &lt;code&gt;require('os')&lt;/code&gt; to access this module. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;os.tmpdir();&lt;/code&gt; - Returns the operating system's default directory for temp files &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.hostname();&lt;/code&gt; - Returns the hostname of the operating system&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.type();&lt;/code&gt; - Returns the operating system name&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.platform();&lt;/code&gt; - Returns the operating system platform&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.arch();&lt;/code&gt; - Returns the operating system CPU architecture&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.release();&lt;/code&gt; - Returns the operating system release&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.uptime();&lt;/code&gt; - Returns the system uptime in seconds &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.totalmem();&lt;/code&gt; - Returns the total amount of system memory in bytes &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.freemem();&lt;/code&gt; - Returns the total amount of free system memory in bytes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.cpus();&lt;/code&gt; - Returns an array of objects containing information about each CPU/Core installed: model, speed (in mhz), and times (an object containing the number of milliseconds the CPU/code SPENT IN: USER, sys, idle and irq)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.networkInterfaces();&lt;/code&gt; -  Get a list of network interfaces&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Buffer in NodeJS
&lt;/h3&gt;

&lt;p&gt;Buffer is used to dealing with binary data. Buffer is similar to an arrayn of integers but corresponds to a raw memory allocation outside the V8 heap. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Buffer.from(size);&lt;/code&gt; - Allocates a new buffer of size octets &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.from(array);&lt;/code&gt; - Allocates a new buffer using an array of octets&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.from(str, [encoding]);&lt;/code&gt; - Allocates a new buffer containing the given st. encoding defaults to 'utf8' &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.isEncoding(encoding);&lt;/code&gt; - Returns true if the encoding is a valid encoding argument or false otherwise &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.isBuffer(obj);&lt;/code&gt; - Tests if obj is a buffer &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.concat(list, [totalLength]);&lt;/code&gt; - Returns a buffer which is the result of concatening all the buffers in the list together &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.byteLength(string, [encoding]);&lt;/code&gt; - Gives the acutal bybte length of string &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Buffer.toString([encoding], [start], [end]);&lt;/code&gt; - Decodes and returns a string from buffer data encoded with encoding (defaults to 'utf8') beginning at start (defaults to 0) and ending at end (defaults to &lt;code&gt;buffer.length&lt;/code&gt;) &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Assert in NodeJS
&lt;/h3&gt;

&lt;p&gt;This module is used for writing unit tests for your applications, you can access it with &lt;code&gt;require('assert')&lt;/code&gt;. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;assert.fail(actual, expected, message, operator);&lt;/code&gt; - Throws an exception that displays the values for actual and expected separated by the provided operator&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert(value, message); asset.ok(value, [message]);&lt;/code&gt; - Tests id value is truthy, it is equivalent to &lt;code&gt;assert.equal(true, !!value, message)&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.equal(actual, expected, [message]);&lt;/code&gt; - Tests shallow, coercive equality with the equal comparison operator &lt;code&gt;( == )&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.notEqual(actual, expected, [message]);&lt;/code&gt; - Tests shallow, coercive non-quality with the not eual comparison operator&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.deepEqual(actual, expected, [message]);&lt;/code&gt; - Tests for deep equality&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.notDeepEqual(actual, expected, [message]);&lt;/code&gt; - Tests for any deep inequality&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.strictEqual(actual, expected, [message]);&lt;/code&gt; - Tsts strict equality, as determined by the strict equality operator&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.notStrictEqual(actual, expected, [message]);&lt;/code&gt; - Tests strict non-quality as determined by the strict not equal operator&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.throws(block, [error], [message]);&lt;/code&gt; - Tests strict non-equality as determined by the strict not equal operator&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assert.doesNotThrow(block, [message]);&lt;/code&gt; - Expects block not to throw an error, see &lt;code&gt;assert.throws&lt;/code&gt; for details&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;code&gt;assert.ifError(value);&lt;/code&gt; - Tests if value is not a false value, throws if it is a true value. Useful when testing the first argument, error in callbacks. 
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Query String
&lt;/h3&gt;

&lt;p&gt;This module provides utilities for dealing with query strings. Call &lt;code&gt;require('querystring')&lt;/code&gt; to use it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;querystring.stringify(obj, [sep], [eq]);&lt;/code&gt; - Serialize an object to a query string. Optinally override the default separator ('&amp;amp;') and assignment ('=') characters. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;querystring.parse(str, [sep], [eq], [options]);&lt;/code&gt; - Deserialize a query string to an object. Optionally override the default separator ('&amp;amp;') and assignment ('=') characters. &lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;We would like thank many people who have contributed this article and the offical NodeJS website, if you have anything to add here please comment it down. If you find any mistakes here please let us know, thanks for reading. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>node</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>An ultimate guide to Logging in JavaScript</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Thu, 26 Aug 2021 07:54:52 +0000</pubDate>
      <link>https://dev.to/devbookmark/an-ultimate-guide-to-logging-in-javascript-52nf</link>
      <guid>https://dev.to/devbookmark/an-ultimate-guide-to-logging-in-javascript-52nf</guid>
      <description>&lt;p&gt;In this post we'll also learn more about Logging in JavaScript. This post is for everyone who wants final guide to Logging in JavaScript. &lt;/p&gt;




&lt;p&gt;The console is part of the window object that gives you access to the browser's console. It lets you output strings, arrays and objects that help debug your code. &lt;/p&gt;

&lt;p&gt;We can get access to the console on one of two ways:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello World!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;I'm sammy&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 

&lt;span class="c1"&gt;// Hello World&lt;/span&gt;
&lt;span class="c1"&gt;// I'm sammy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The most common element of the console object is &lt;code&gt;console.log()&lt;/code&gt;. For most scenarios, you'll use it to get the job done. &lt;/p&gt;

&lt;p&gt;There are four different ways of outputting a message to the console: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;log&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PWoIR1O9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817742750/8SxL44ciq.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PWoIR1O9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817742750/8SxL44ciq.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;info&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BKygPeMD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817783335/YTt8A_xkn.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BKygPeMD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817783335/YTt8A_xkn.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;warn&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tWWFEBsj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817843829/hqFKPVqpu.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tWWFEBsj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817843829/hqFKPVqpu.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;error &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6w2yftKd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817870907/OW1ekLUb3.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6w2yftKd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616817870907/OW1ekLUb3.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Where &lt;code&gt;console.error&lt;/code&gt; and &lt;code&gt;console.warn&lt;/code&gt; out puts to &lt;strong&gt;stderr&lt;/strong&gt;, the other output to &lt;strong&gt;stdout&lt;/strong&gt;. &lt;/p&gt;




&lt;p&gt;With the console object and its logging methods, long are the days of calling &lt;code&gt;alert()&lt;/code&gt; to debug and get a variable's value. &lt;/p&gt;

&lt;p&gt;Besides the general logging methods that we have discussed in the previous part, there are few more methods that we can play around with.&lt;/p&gt;

&lt;p&gt;Now we will cover: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stack tracing&lt;/li&gt;
&lt;li&gt;Asserting&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stack tracing
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;console.trace()&lt;/code&gt; method displays a trace that show how to code ended up at certain point. &lt;br&gt;
Take a look at the below example, to understand how &lt;code&gt;console.trace()&lt;/code&gt; works.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;hey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;trace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;name:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;`Hello &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;hey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sammy&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 

&lt;span class="c1"&gt;// OUTPUT&lt;/span&gt;
&lt;span class="c1"&gt;// "Hello sammy!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Asserting
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;console.assert&lt;/code&gt; method is an easy way to run assertion tests. If the assertion of the 1st argument fails, the subsequent argument gets printed to the console. &lt;/p&gt;

&lt;p&gt;Let's look at this example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// this will pass, nothing will be logged&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;assert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1 not == to "1"&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The below assertion fails,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// this will pass, nothing will be logged&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;assert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1 not == to "1"&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&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 javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;Assertion&lt;/span&gt; &lt;span class="nx"&gt;failed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;not&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Formatting Logs
&lt;/h2&gt;

&lt;p&gt;There is a way to print out objects in a nice formatted way using &lt;code&gt;console.dir()&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sammy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Logging&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="na"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Javascript&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;year&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2020&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;month&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;March&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;day&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Saturday&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt; 

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sammy&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_HS5nEjC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616819016518/fbHExT-rb.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_HS5nEjC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616819016518/fbHExT-rb.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can print out a DOM element's markup in a formatted way using &lt;code&gt;console.dirxml()&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;for example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hey&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;

   &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dirxml&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;   
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The same will be the output 😅&lt;/p&gt;

&lt;h4&gt;
  
  
  Countings
&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;console.count()&lt;/code&gt; method is used to count the number of times it has been invokedd with the same provided label. &lt;/p&gt;

&lt;p&gt;For example, here we have two counter, one for even values and another on for odd values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nb&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nb&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;even&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;odd&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Clearing the logs:
&lt;/h4&gt;

&lt;p&gt;You can clear out all the console logs using the &lt;code&gt;console.clear()&lt;/code&gt; method. &lt;/p&gt;




&lt;h3&gt;
  
  
  Record Timings
&lt;/h3&gt;

&lt;p&gt;You can record how long an operation took to complete using console. You can start a timer with &lt;code&gt;console.time&lt;/code&gt; and then end it with &lt;code&gt;console.endTime&lt;/code&gt;. &lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;time&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;timer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;timeEnd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;timer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 

&lt;span class="c1"&gt;// timer: 0.123945114ms&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: Passing the label in console.time is optional. If you use a label with &lt;code&gt;console.time&lt;/code&gt; you must pass-in that same label when calling &lt;code&gt;console.timeEnd&lt;/code&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Grouping logs
&lt;/h3&gt;

&lt;p&gt;You can group the console messages together with console. Use &lt;code&gt;console.group&lt;/code&gt; and &lt;code&gt;console.groupEnd&lt;/code&gt; to group console messages together. &lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Even Numbers&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;groupEnd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Even Numbers&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Nested grouping logs
&lt;/h3&gt;

&lt;p&gt;Groups ca also be nested to another one. Take a look at the below example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Even&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Odd&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;groupEnd&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;6&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;groupEnd&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Styling your logs:
&lt;/h3&gt;

&lt;p&gt;Console logging can be styled using the delimiter &lt;code&gt;%c&lt;/code&gt;. The first argument is the message to displayed. Everything that comes after the first &lt;code&gt;%c&lt;/code&gt; will be styled by the string provided by the secong argument, then everything after the next &lt;code&gt;%c&lt;/code&gt; is styled by the following string argumnet, and so on.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello %csammy%c!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;color: blue; font-weight: bold; font-size: 1rem;&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;color: hotpink; font-weight: bold; font-size: 1rem;&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tabular visualization of logs
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;console.table()&lt;/code&gt; allows to display data in the console in a nice tabular format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;jsonData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;red&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#f00&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt; 
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;green&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#0f0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt; 
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#00f&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt; 

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jsonData&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GdGS1rJc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821591744/oY2AIh8p0.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GdGS1rJc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821591744/oY2AIh8p0.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Any type of JSON can be represented in a tabular view. You can display an Array in a tabular view&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;One&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Two&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Three&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Four&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PHQOUrZ8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821909570/9om9JSKgk.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PHQOUrZ8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821909570/9om9JSKgk.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And, you can also display an object in a tabular view. You may wonder how? Take a look at this example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;v&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ocuSB2xy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821970521/Pxa8ZBp2B.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ocuSB2xy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616821970521/Pxa8ZBp2B.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;console.table() displays nay object data in a tabular view. But, if a JSON has multiple nested objects inside, it just prints the root level objects in the tabular view. &lt;/p&gt;

&lt;p&gt;Let's see that in this example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;p&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;i&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; 
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;p&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;124&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;i&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
        &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
            &lt;span class="na"&gt;b&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;s&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DiQCAkni--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616822319169/2JnZByG6J.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DiQCAkni--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616822319169/2JnZByG6J.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sorting in logs
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;console.table()&lt;/code&gt; comes with an inbuilt sorting. Yoou can sort the table by a particular column by clicking on that column's label.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;One&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Two&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Three&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Four&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt; 

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2NdMnavL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616822372891/8PQRsIs3n.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2NdMnavL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616822372891/8PQRsIs3n.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;⚡Thanks For Reading | Happy Coding🚀&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>guide</category>
    </item>
    <item>
      <title>21 essential cheatsheets for Developers in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Wed, 25 Aug 2021 04:58:43 +0000</pubDate>
      <link>https://dev.to/devbookmark/21-essential-cheatsheets-for-developers-in-2021-7hm</link>
      <guid>https://dev.to/devbookmark/21-essential-cheatsheets-for-developers-in-2021-7hm</guid>
      <description>&lt;p&gt;Essentially, programmers have a great deal of stuff to recall. It's normal quicker to go to the web for answers than to invest energy trying out their own answers. Also, designers who work in groups regularly need to look into specific orders and dialects, particularly when altering others' code. &lt;/p&gt;

&lt;p&gt;That is the reason engineers of all expertise levels know about the force of the all-strong cheat sheet. As great as it might feel to concoct the specific right line of code on your first attempt, or review how a past bug was fixed from memory, that is not generally reality. &lt;/p&gt;

&lt;p&gt;As a developer, you will depend on a scope of asset advisers for discover answers for normal errors, and that is alright.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://dzone.com/refcardz"&gt;DZONE Refcardz&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2ywXix_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629530347821/jxnx1H2yK.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2ywXix_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629530347821/jxnx1H2yK.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Largest libraries of cheatsheets&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ilovecoding.org/blog/js-cheatsheet"&gt;JavaScript comprehensive cheatsheet with PDF&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--olhg-mS2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629530379173/zKdIML_8Y.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--olhg-mS2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629530379173/zKdIML_8Y.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From basic to advanced concepts. ES6+, simple explanations, DOM API, Event loop, functions, array, object, Type and so much more. Everything explained in this 13 page JavaScript Cheatsheet&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://lecoupa.github.io/awesome-cheatsheets/"&gt;Awesome Cheatsheets&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KMPfToEo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531101179/JmziEQXF1.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KMPfToEo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531101179/JmziEQXF1.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Awesome cheatsheets for popular programming languages, frameworks and development tools.&lt;br&gt;
They include everything you should know in one single file. 👩‍💻👨‍💻&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marozed.com/vue-cheatsheet/"&gt;VUE Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cQXpaHKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531189522/n9INA1t0C.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cQXpaHKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531189522/n9INA1t0C.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://flexbox.malven.co/"&gt;Cool visual flexbox cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--49w7Nj97--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531148054/6s2clH98A4.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--49w7Nj97--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531148054/6s2clH98A4.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn all about the properties available in flexbox through simple visual examples.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://html5sec.org/"&gt;HTML5 Security Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L8hTPahP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531168655/GANoY2_8k.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L8hTPahP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531168655/GANoY2_8k.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTML5 Security Cheatsheet - A collection of HTML5 related XSS attack vectors&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://overapi.com"&gt;OverAPI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r2b7OWHD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531213401/nLmienaJH.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r2b7OWHD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531213401/nLmienaJH.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's just another top website for cheatsheets. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://1stwebdesigner.com/essential-cheatsheets-web-design-developer/"&gt;Cheatsheet for designers and Developers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nCzSC1nY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531236576/ODZqADGqO.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nCzSC1nY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531236576/ODZqADGqO.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;40 Essential Cheatsheets for Web Designers and Developers&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://html5doctor.com/element-index/"&gt;HTML Element Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ToZlgt-X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531261460/NR-q4wE5Qt.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ToZlgt-X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531261460/NR-q4wE5Qt.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a quick reference of elements that are new or have been redefined in HTML5.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/detailyang/awesome-cheatsheet"&gt;awesome cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1jokwLgJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531296544/_V7q3R6ic.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1jokwLgJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531296544/_V7q3R6ic.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From project management to Security to Tools to Databases to Backend and Frontend development to programming languages covering everything with amazing cheatsheets. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://cheatography.com/programming/"&gt;Cheatography&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mxLlEQiD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531316971/Nw-6e2ztS.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mxLlEQiD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531316971/Nw-6e2ztS.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A collection of interactive cheatsheets. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://devhints.io/"&gt;Rico's Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5calt2kC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531339672/Cyc8MyYap.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5calt2kC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629531339672/Cyc8MyYap.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A modest collection of cheatsheets written by Rico. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/mbeaudru/modern-js-cheatsheet"&gt;MODERN JS Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--htdEEkkz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629536989715/mhc-Dg3lu.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--htdEEkkz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629536989715/mhc-Dg3lu.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheatsheet for the JavaScript knowledge you will frequently encounter in modern projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://cheatography.com/davechild/cheat-sheets/php/"&gt;David's PHP CheatSheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--saHK21T3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537011648/DBdvst02F.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--saHK21T3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537011648/DBdvst02F.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A quick reference guide for PHP, with functions references, a regular expression syntax guide and a reference for PHP's date formating functions. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gitsheet.wtf/"&gt;GitSheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wD8Crm3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537027593/JIFAGneyy.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wD8Crm3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537027593/JIFAGneyy.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A dead simple git cheatsheet. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.samanthaming.com/flexbox30/"&gt;Ultimate Flexbox cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v2ZlR7cJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537061947/2-jaZ_NdI-.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v2ZlR7cJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537061947/2-jaZ_NdI-.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn Flexbox with 30 Code Tidbits ✨&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://htmlcheatsheet.com/"&gt;HTML Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kaj9NTHI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537084573/hiK1QtVdc.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kaj9NTHI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537084573/hiK1QtVdc.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Online interactive HTML Cheat Sheet contains useful code examples and web developer tools, markup generators and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://mac-blog.org.ua/css-3-media-queries-cheat-sheet/"&gt;Media Queries Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J4tHZOT6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537107191/HhGMOkl9w.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J4tHZOT6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537107191/HhGMOkl9w.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://front-line-php.com/cheat-sheet"&gt;Modern PHP Cheat Sheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ARBiEMxY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537125567/R_WJ8dOS1.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ARBiEMxY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537125567/R_WJ8dOS1.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This sample is an excerpt from the ebook Front Line PHP.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://www.justinaguilar.com/animations/"&gt;CSS Animation Cheatsheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CAGm2i6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537203224/9Egzzo5hz.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CAGm2i6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537203224/9Egzzo5hz.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The CSS3 Animation Cheat Sheet is a set of preset, plug-and-play animations for your web projects&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://moz.com/learn/seo/seo-cheat-sheet"&gt;WebDev SEO CheatSheet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--um0hQ-sH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537173308/aNBxdCCzb.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--um0hQ-sH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629537173308/aNBxdCCzb.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A must know SEO cheatsheet for Developers&lt;/p&gt;




&lt;p&gt;In the realm of PC programming, there are regularly different approaches to accomplish a similar outcome, and it never damages to pursue a faster route when you can. Ideally these cheat sheets accelerate your interaction and assist you with tidying up your code. &lt;/p&gt;

&lt;p&gt;These apparatuses joined will make you a more innovative, certain, and proficient web designer.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>python</category>
    </item>
    <item>
      <title>29 Largest icon libraries to use in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Tue, 24 Aug 2021 07:38:23 +0000</pubDate>
      <link>https://dev.to/devbookmark/29-largest-icon-libraries-to-use-in-2021-5d67</link>
      <guid>https://dev.to/devbookmark/29-largest-icon-libraries-to-use-in-2021-5d67</guid>
      <description>&lt;p&gt;Typography assumes a major part in a wide range of plans, from item bundling to versatile applications and then some. Today we're investigating the best places to discover free textual styles, and take your plan work to another level.&lt;/p&gt;

&lt;p&gt;There are many spots you can download an extraordinary looking text style for nothing. We limited the rundown to the best 29 sites for discovering free text styles. See.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://github.com/react-icons/react-icons" rel="noopener noreferrer"&gt;React Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209298216%2F_m_-5tdbo.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209298216%2F_m_-5tdbo.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;svg react icons of popular icon packs&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/lipis/flag-icon-css" rel="noopener noreferrer"&gt;Flag icons CSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209317678%2FrxecqAfk3.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209317678%2FrxecqAfk3.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎏 A collection of all country flags in SVG — plus the CSS for easier integration&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.iconshock.com/" rel="noopener noreferrer"&gt;IconShock&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209354512%2FQEiWvRuEs.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209354512%2FQEiWvRuEs.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;free icons and premium icon packs.  Flat icons, Material icons, Glyph icons, iOS icons, Font icons, and more design styles. Vector files, including PNG and SVG icons. Ready for apps, web or social media projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://orioniconlibrary.com/" rel="noopener noreferrer"&gt;Orion Icon&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209503566%2FhBKZ_oxf5.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209503566%2FhBKZ_oxf5.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6014 Free SVG Vector Icons, &lt;br&gt;
Advanced Interactive, &lt;br&gt;
Web App. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/tabler/tabler-icons" rel="noopener noreferrer"&gt;Tabler Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209420688%2FGmBBcL7qp.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209420688%2FGmBBcL7qp.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A set of over 1250 free MIT-licensed high-quality SVG icons for you to use in your web projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/erikflowers/weather-icons" rel="noopener noreferrer"&gt;Weather Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209404693%2Fb_-oblXVX.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209404693%2Fb_-oblXVX.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;215 Weather Themed Icons and CSS&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://thenounproject.com/" rel="noopener noreferrer"&gt;The Noun Project&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209564999%2F3jQiApqjX.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209564999%2F3jQiApqjX.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Icons and Photos For Everything&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://streamlinehq.com/" rel="noopener noreferrer"&gt;StreamLineHQ&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209586005%2F2y9-n2Q4v.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209586005%2F2y9-n2Q4v.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;100,000 icons, illustrations and emoji for all your projects. Customize them to your brand in seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/saeedalipoor/icono" rel="noopener noreferrer"&gt;Icono&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209735941%2F-04QJp8_mp.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209735941%2F-04QJp8_mp.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One tag One icon, no font or svg, Pure CSS&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://smashicons.com" rel="noopener noreferrer"&gt;Smashicons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209655301%2FZQPiJHN7y.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629209655301%2FZQPiJHN7y.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Smashicons is the world's largest and most complete icon set with over 342,450 icons for designers and developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/kenangundogan/fontisto" rel="noopener noreferrer"&gt;Fontisto&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The iconic font and CSS toolkit. Fontisto gives you scalable vector icons that can instantly be customized: size, color, drop shadow and anything that can be done with the power of CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://pngtree.com/so/icon" rel="noopener noreferrer"&gt;PNG Tree&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212376320%2FgSXejykGf.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212376320%2FgSXejykGf.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pngtree provides free download of png, png images, backgrounds and vector. Millions of high quality free png images, PSD, AI and EPS Files are available.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/CoreyGinnivan/system-uicons" rel="noopener noreferrer"&gt;System UICons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212391670%2FRECoAkY_q.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212391670%2FRECoAkY_q.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System UIcons is an icon library design for systems and products. Use how you want, without attribution.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nucleoapp.com/" rel="noopener noreferrer"&gt;Nucleyo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212426909%2FULxHCyqRS.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212426909%2FULxHCyqRS.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nucleo is a Mac/Windows app to organize, customize and export all your icons, and a library of 31467 icons.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.pixellove.com/" rel="noopener noreferrer"&gt;PixelLove&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212530426%2FyNzFCv6GM.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212530426%2FyNzFCv6GM.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download 15,000 icons in 6 distictive styles made for professionals&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://iconstore.co/" rel="noopener noreferrer"&gt;IconStore&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212474796%2FHNynHK9Th.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629212474796%2FHNynHK9Th.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;br&gt;
The IconStore is a library of free, vector (SVG) icons created by talented designers to download for commercial use.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/feathericons/feather" rel="noopener noreferrer"&gt;Feather&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213374368%2FK4uDZBWOQ.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213374368%2FK4uDZBWOQ.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simply beautiful open source icons&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://iconmonstr.com/" rel="noopener noreferrer"&gt;Iconmostr&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213399179%2Fq5Nu5ycVY.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213399179%2Fq5Nu5ycVY.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Discover 4512+ free icons in 316 collections. Free simple icons for your next project&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://materialdesignicons.com" rel="noopener noreferrer"&gt;Material Design Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213508412%2FYV7xdwA3a.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213508412%2FYV7xdwA3a.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;View all the Material Design Icons and more from the community. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://evil-icons.io/" rel="noopener noreferrer"&gt;Evil Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213575606%2FQ9mtV8YOO.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213575606%2FQ9mtV8YOO.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simple and clean SVG icon pack with the code to support Rails, Sprockets, Node.js, Gulp, Grunt and CDN.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://useiconic.com/open" rel="noopener noreferrer"&gt;useIconic&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213728826%2FwojaYm8rQ.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213728826%2FwojaYm8rQ.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An open source icon set with 223 marks in SVG, webfont and raster formats&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/ionic-team/ionicons" rel="noopener noreferrer"&gt;Ionicons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213759968%2FUjBOBhf5Q.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629213759968%2FUjBOBhf5Q.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Premium hand-crafted icons built by Ionic, for Ionic apps and web apps everywhere 🌎&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://freeicons.io" rel="noopener noreferrer"&gt;FreeIcons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214045089%2FhAKJCB1zp.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214045089%2FhAKJCB1zp.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;THE LARGEST DATABASE OF FREE ICONS&lt;br&gt;
Available in PNG, SVG, EPS, PSD and BASE 64 formats.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://freeware.iconfactory.com/icons" rel="noopener noreferrer"&gt;IconFactory&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214088262%2F_UJUIdc2x.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214088262%2F_UJUIdc2x.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our freeware is only for personal use and all copyrights remain the property of their respective holders. We have amazing Design Services for commercial projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/astrit/css.gg" rel="noopener noreferrer"&gt;CSS.gg&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628141423667%2FIYKAjoHiku.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628141423667%2FIYKAjoHiku.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;700+ Pure CSS, SVG &amp;amp; Figma UI Icons Available in SVG Sprite, styled-components, NPM &amp;amp; API&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dribbble.com/tags/free_icons" rel="noopener noreferrer"&gt;Dribbble - Free Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214238490%2Fxw66MX7rY.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214238490%2Fxw66MX7rY.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Discover 500+ Free Icons designs on Dribbble. Your resource to discover and connect with designers worldwide.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://uxwing.com" rel="noopener noreferrer"&gt;UX Wing&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214293058%2Frh0qW3BDX.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214293058%2Frh0qW3BDX.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Exclusive collection of free icons download, Free icons SVG and PNG that can use for commercial use no attribution. For websites, PowerPoint, android apps, etc. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://www.entypo.com/" rel="noopener noreferrer"&gt;Entypo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214304616%2F7Fn8jcbGY.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1629214304616%2F7Fn8jcbGY.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entypo is a suite of 411 carefully crafted premium pictograms by Daniel Bruce.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/twbs/icons" rel="noopener noreferrer"&gt;Bootstrap Icons&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628141343800%2FvuEGp357G.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628141343800%2FvuEGp357G.png%3Fauto%3Dcompress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Official open source SVG icon library for Bootstrap.&lt;/p&gt;




&lt;p&gt;Consequently, these were the absolute best hotspots for investigating free text styles. Choosing the right textual style is vital to the accomplishment of any business. &lt;/p&gt;

&lt;p&gt;The clarity of the textual style is likewise significant notwithstanding the plan. It is significant that you get your work done well and chooses the best. Good luck!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>developer</category>
      <category>design</category>
    </item>
    <item>
      <title>22 Must watch programming movies in 2021 (hottest)</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Mon, 23 Aug 2021 03:48:37 +0000</pubDate>
      <link>https://dev.to/devbookmark/22-must-watch-programming-movies-in-2021-hottest-2o26</link>
      <guid>https://dev.to/devbookmark/22-must-watch-programming-movies-in-2021-hottest-2o26</guid>
      <description>&lt;p&gt;We will be owning your weekends now. These movies and series are unique and not like the same content you find on every website. Get some Coke and a seat and ENJOIIII. &lt;/p&gt;

&lt;p&gt;Each software engineer couldn't want anything more than to see their jobs according to the viewpoint of films. We as a whole realize Hollywood is notable in exhibiting programming and Artificial Intelligence in the correct manners. Thus, with no further ado, here are the 10 best films that each developer should watch. &lt;/p&gt;




&lt;h5&gt;
  
  
  So these are are must watch movies for programming geeks and watchers.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;We are Legion&lt;/li&gt;
&lt;li&gt;Jobs&lt;/li&gt;
&lt;li&gt;Tron&lt;/li&gt;
&lt;li&gt;Source Code&lt;/li&gt;
&lt;li&gt;The Social Dillema &lt;/li&gt;
&lt;li&gt;Hackers&lt;/li&gt;
&lt;li&gt;TAKEDOWN&lt;/li&gt;
&lt;li&gt;Primer&lt;/li&gt;
&lt;li&gt;Matrix&lt;/li&gt;
&lt;li&gt;The Social Network&lt;/li&gt;
&lt;li&gt;The fifth Estate&lt;/li&gt;
&lt;li&gt;AntiTrust&lt;/li&gt;
&lt;li&gt;Mr Robot&lt;/li&gt;
&lt;li&gt;The Pirate Bay Away From Keyboard&lt;/li&gt;
&lt;li&gt;Silicon Valley&lt;/li&gt;
&lt;li&gt;The Greact Hack&lt;/li&gt;
&lt;li&gt;The Founder&lt;/li&gt;
&lt;li&gt;EX MACHINA&lt;/li&gt;
&lt;li&gt;HER&lt;/li&gt;
&lt;li&gt;Untraceable&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  We are legion
&lt;/h3&gt;

&lt;p&gt;This film reveals a lot of insight into the cloudy and confounding universe of the programmer bunch Anonymous. The movie producers had the option to accomplish amazing admittance to the gathering and recount to the verifiable story generally through interviews with members. &lt;/p&gt;

&lt;p&gt;The film is basically ordered so it recounts to their story so that individuals who haven't followed its advancement can acquire some comprehension of an exceptionally confounded and fairly befuddling association. &lt;/p&gt;

&lt;p&gt;The film is done in a self-basic design that while for the most part positive isn't reluctant to show the gathering's negatives, its contentions and its inner battles. It is incredibly all around made and profoundly enlightening. The gatherings' practically incidental development from joyful wisecrackers into some kind of political activists is interesting. &lt;/p&gt;

&lt;p&gt;While they are obviously propelled by obligation to free discourse – particularly on the web – it is difficult to unmistakably characterize their advancing belief system. I trust that this film is generally seen since it gives a perspective on one of the new political outskirts of the web.&lt;/p&gt;

&lt;h3&gt;
  
  
  Jobs
&lt;/h3&gt;

&lt;p&gt;It's a totally wooden and tasteless portrayal of the tech symbol, yet for Apple enthusiasts, it'll in any case have an allure as an enlightening biopic. &lt;/p&gt;

&lt;p&gt;Occupations presents an entrancing story of how Jobs defeats corporate belittling and channels his own propensity toward fixation to fabricate apparently the most inventive organization of the last decade. &lt;/p&gt;

&lt;p&gt;It once in a while slowly inhales and is packed with innovative language, yet it never feels hindered. Halls become animated with symbolism. Minutes from the past crosscut consistently and educate the present, frequently with covering exchange. Furthermore, the glare of the lights and roar of the groups can be so sweeping, they cause you to feel like you were there, as well: on the incline of things to come.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tron
&lt;/h3&gt;

&lt;p&gt;This was a serious amazement for me. I hadn't seen the first TRON in years, yet I felt like I adequately realized to enter that world once more. After the blended audits began coming out, I'll concede, I was a smidgen apprehensive. &lt;/p&gt;

&lt;p&gt;While the story isn't amazing however any means, TRON:LEGACY gave me significantly more than I anticipated. First off, I thought Garrett Hedlund was a decent decision for the job of Sam, and despite the fact that he has a somewhat more "equation legend" feel, he made Sam a lovely affable person. Also, obviously, having Jeff Bridges returning was a delight to watch, despite the fact that his more "loose" approach didn't generally work, however it was still nice to see him once more. Michael Sheen is additionally present, and keeping in mind that I do wish we might have seen a greater amount of him, he made the best of what he was given. Trust me, he's a sight to see. &lt;/p&gt;

&lt;p&gt;The champion for me, and numerous others, was Olivia Wilde as Quorra. She brings an irresistible, youngster like appeal to her job - yet in addition somebody not to be messed with in a fight. Frankly, she felt much more human than different characters, and it worked superbly. &lt;/p&gt;

&lt;p&gt;Generally, regardless of it's blemishes in the story, TRON:LEGACY ended up being a visual show-stopper, and the strong cast raised the film to a more significant level. Unquestionably one I'm glad to return to!&lt;/p&gt;

&lt;h3&gt;
  
  
  Source Code
&lt;/h3&gt;

&lt;p&gt;It's uncommon that I discover a film so engaging and mind-twisting. Source Code is a science fiction spine chiller activity brainbuster. You might have to watch it more than once to get every one of the subtleties of this astonishing film. Jake Gyllenhaal is a helicopter pilot positioned in Afganistan who awakens on a train outside of Chicago.&lt;/p&gt;

&lt;p&gt;He's in another person's body and has just 8 minutes to discover a fear monger aircraft. You will be snared quick. Cherished it!&lt;/p&gt;

&lt;h3&gt;
  
  
  The Social Dilemma
&lt;/h3&gt;

&lt;p&gt;It's truly astounding film and I figure everybody ought to need to watch this particularly those young who feel that web-based media is everything . &lt;/p&gt;

&lt;p&gt;I saw my a few companions who is consistently accessible on online they're constantly connected with on this public activity . Also, it's truly doesn't imply that her life was absolutely amazing even I saw that she's completely wrecked this current life , her reality . This will in a real sense make you question your life, decisions, feelings. It's a genuine stunner. Particularly for individuals who've consistently viewed as online media a terrible impact. &lt;/p&gt;

&lt;p&gt;This is only an entire another explanation and presumably the lone motivation behind why we ought to, with prompt impact get off our gadgets and move out into this present reality, structure genuine suppositions, settle on non one-sided choices. I've generally been very blown a gasket about losing the capacity to fuse assessment, become less lenient and comprehension towards all sides of a discussion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hackers
&lt;/h3&gt;

&lt;p&gt;The most under appraised 90's American secondary school film beyond a shadow of a doubt and it very well may be contended that it's the awesome. Respectable plot, high schooler tension, excellent cast, amazing soundtrack, great style. It was a film for the bizarre child in class before individuals were professing to be the unusual child in class. &lt;/p&gt;

&lt;p&gt;While staggering visuals and quick altering, give this film it's drive and speed, that make the entirety of this significant; raising a vivid and drawing in film into a sort characterizing religion exemplary.&lt;/p&gt;

&lt;h3&gt;
  
  
  TAKEDOWN
&lt;/h3&gt;

&lt;p&gt;This freely depicts the genuine story of Kevin. In the event that you read his book (A Ghost in the Wires), it clarifies that he even undermined the film with lawful activity to change the specific pieces of the content. As the first was over misrepresented and basically made Kevin look underhanded. However, genuinely, the book is a wonderful perused. What I for one believe is Hollywood's awful portrayal of programmers is lamentable.&lt;/p&gt;

&lt;h3&gt;
  
  
  PRIMER
&lt;/h3&gt;

&lt;p&gt;A dazzling, confounding and startling wreck of a film that doesn't avoid coming to the heart of the matter of conceivable cerebrum harm. Each and every subsequent feels intentional, making each review special. The sort of film will keep you up around evening time contemplating it each time you watch it. &lt;/p&gt;

&lt;p&gt;Its a low spending film the thought, story is acceptable yet I didn't actually loved the film since I was completely lost as crowd in the main half and its sluggish as well. It's in reality eventually with extraordinary tolerance you will become acquainted with the film better and it's acceptable film.&lt;/p&gt;

&lt;h3&gt;
  
  
  Matrix Series
&lt;/h3&gt;

&lt;p&gt;An incredible film that is relatively radical, simply the prospect of how individuals are stunned by this film on the year it was delivered entertains me. Individuals in those days were likely stunned and in wonder of the idea that in those days was practically difficult to get a handle on. After 20 years I figure the crowd will in any case be stunned similarly as how it astounded me, despite the fact that there have been many movies that fundamentally had a similar plot and executed a lot more prominent CGI impact. &lt;/p&gt;

&lt;p&gt;the plot and idea were completely executed well through embellishments and extraordinary actin. It was an extraordinary film that gives the watchers new discernment particularly at the time it was discharge, it was the time another thousand years was drawing closer. It offered motivation to numerous scifi and superhuman thoughts and film ideas of the 21st century.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Social Network
&lt;/h3&gt;

&lt;p&gt;The first occasion when I caught wind of the interpersonal organization, I wasn't intrigued and thought it was simply going to be an exhausting film. In any case, a couple of years after the fact I discovered the number of good surveys that this film had. &lt;/p&gt;

&lt;p&gt;So I gave watching it a shot netflix and I really adored the interpersonal organization. The film is about the maker of facebook, Mark Zuckerberg. Jessie Eisenberg is an incredible depiction as Mark. No big surprise it won an Oscar for best adjusted screenplay. &lt;/p&gt;

&lt;p&gt;It has wonderful acting, coordinating, composing, characters, and plot too. The film likewise has incredible cinematography. Andrew Garfield had the best execution out of the entire film and should've been designated for best supporting entertainer. I additionally truly loved Justin Timberlake as well. &lt;/p&gt;

&lt;p&gt;Generally, the interpersonal organization was perhaps the best film that I found in my life and it merited best picture. In any case, basically it won a few honors.&lt;/p&gt;

&lt;h3&gt;
  
  
  The fifth Estate
&lt;/h3&gt;

&lt;p&gt;Benedict Cumberbatch does an attractive depiction of Wikileaks originator Julian Assange. The controls and the smoke screens make the whole demonstration ethically dim. The Internet for sure gives an essential fifth home of society. &lt;/p&gt;

&lt;p&gt;Benedict as regular has given appropriate equity to the said job. Fair depiction of the "Free Information" perspective on the screen. Supporting entertainers satisfying their hopes, over every one of the a decent bundle of a genuine exciting story.&lt;/p&gt;

&lt;h3&gt;
  
  
  AntiTrust
&lt;/h3&gt;

&lt;p&gt;I suggest all software engineers, security experts, new companies, and individuals working in the field of data innovation and PC to watch this film. The film is all around made and I see it like clockwork. It gives you a feeling of energy, experience and secret. I love this film and "The I Inside" with the Actor Ryan Philippe. This film is as relatable to whats going on today with exploiting skilled individuals.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mr Robot
&lt;/h3&gt;

&lt;p&gt;Best series I have watched, not just for dramatization, anticipation and psyche softening turns, the melodic score and sound is carefully incredible. &lt;/p&gt;

&lt;p&gt;In case you were ever an old fashioned raver or advanced music fan, the feeling of your spine shivering when certain form ups occur in the series is as fulfilling. Possibly a bit too nostalgic in certain spaces for millennial's nevertheless it was ideal for me. &lt;/p&gt;

&lt;p&gt;The subsequent season appears to be slow yet it isn't, simply need to continue onward and you'll see. I thought Ram Malek was splendid before this as I had appear him in 24(series), just for a couple of scenes, yet the scene with him and Keifer Sutherland is entrancing and unfortunate, however the absolute best acting I had scene in a television series. &lt;/p&gt;

&lt;p&gt;Christian Slater has consistently been one of my number one entertainers too, and the female cast in this is sublime, with solid astonishing exhibitions by all. I have watched the series since finish again and it is simply genuinely virtuoso all around and must be number one series for me last decade, without a doubt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Silicon Valley
&lt;/h3&gt;

&lt;p&gt;Ostensibly the best consummation of a TV series that I've seen. &lt;/p&gt;

&lt;p&gt;On the off chance that you observe each of the six seasons, you'll get a total story that beginnings in a single outlook, and finishes in a totally unique one, with a characteristic movement and development en route. &lt;/p&gt;

&lt;p&gt;The characters are silly. The world structure is incredible. Furthermore, as you're giggling so hard, it's truly saying something. It's a story of a Silicon Valley startup, investigating topics of innovative arrangement, conscience, realism, industrialism, insatiability with a portion of psychological well-being... furthermore, it's grand. &lt;/p&gt;

&lt;p&gt;I don't think of it as overstatement to put this among the best TV shows ever. Assuming you need to genuinely pass judgment on a series, judge it on an entire, and the conclusion is ostensibly the main piece... how would they end it? &lt;br&gt;
As I said in the opening, this is hopefully acceptable... to the extent conveying a very much themed idea beginning to end without thinking twice, this has a place in the discussion with "Breaking Bad" as being that extraordinarily complete. &lt;/p&gt;

&lt;p&gt;Mike Judge is the John Hughes within recent memory... he's putting out less work than Hughes, however to the extent truly catching the human and social side of an age, it's difficult to contend that Idiocracy, Office Space, and this, aren't original works that unequivocally characterize a timeframe. Hell, I'll even put Bevis and Butthead on that rundown. &lt;/p&gt;

&lt;p&gt;This is comical, a total direct story with theming hopefully acceptable, and an ideal closure. I adored each snapshot of this show, my solitary objection is that seasons didn't have twenty two scenes so I could remain in this world longer.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Pirate Bay Away From Keyboard
&lt;/h3&gt;

&lt;p&gt;I'm amped up for this film, its plot will be substantially more fascinating than any of the motion pictures that Hollywood has been letting out and flipping us off with throughout the previous thirty years (with special case of not very many movies of coarse)&lt;/p&gt;

&lt;h3&gt;
  
  
  The Great Hack
&lt;/h3&gt;

&lt;p&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This narrative splendidly clarifies the Cambridge Analytica embarrassment that associates Facebook, Brexit, Trump and the manner in which our own information are taken from Social Media and weaponized for political purposes. It's vital and done. I watched it in the wake of seeing Netflix' "The Social Dilemma," another information and majority rules system uncover.&lt;/p&gt;

&lt;p&gt;These issues are not surely known by people in general, even the informed public, which limits the issue with information protection. I was in that class yet these movies have raised my mindfulness. Great narratives are significant&lt;/p&gt;

&lt;h3&gt;
  
  
  HER
&lt;/h3&gt;

&lt;p&gt;"Her" is a clever (however very upsetting) study uncovering the course humankind is going in case AI is permitted to continue to develop, unchecked. &lt;/p&gt;

&lt;p&gt;In a social environment of phony dating profiles and the fancy of going gaga for a photograph and not the real individual behind it, it's not really difficult to accept that somebody could experience passionate feelings for an OS, which is actually what befalls the primary person in this film. &lt;/p&gt;

&lt;p&gt;Joaquin Phoenix handles his job satisfactorily as the tortured essayist and Scarlet Johansson's hot Samantha is an unmistakable success. &lt;/p&gt;

&lt;p&gt;I figure I would have partaken in this film more had it not scared the dickens out of me, precisely portending what is shockingly soon to come.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Founder
&lt;/h3&gt;

&lt;p&gt;Never heard the first McDonalds story, so the film sort of left me in shock before its finish. Every one of the entertainers and particularly Michael Keaton potraying the lead character(Ray) worked effectively. I felt a profound association with the characters that I failed to remember I was observing only a film. &lt;/p&gt;

&lt;p&gt;It left me disrupting , how a diligent, profoundly driven at this point not really effective sales rep with more than 30 years of involvement like Ray has acquired the possibility of the two ethically grounded, inventive McDonalds siblings and fabricated a domain and fortune out of it. &lt;/p&gt;

&lt;p&gt;The handshake bargain reminds " an arrangement made with even the firmest of handshakes can never rise to a straightforward composed understanding". Not certain if the McDonalds siblings were too guiltless to even consider believing Ray about the eminences or Ray played his business cards excessively well. Yet, I wish the siblings accepted their due credit ,whose brainchild were the proficient activity of the food goliath and the brilliant circular segments. Indeed Ray did sure skyrocket its deals, however it would have been non existent without its unique originators. &lt;/p&gt;

&lt;p&gt;The story was described in a holding way from start till end. Particularly the person change of Ray keeps you stuck till end. I was thinking about what is this current person's job when there are originators who have astonishing ideas.Oh kid, he made a huge difference!&lt;/p&gt;

&lt;h3&gt;
  
  
  The Imitation Game
&lt;/h3&gt;

&lt;p&gt;The film just came on Netflix and I found the opportunity to watch it interestingly. From the absolute first second, the film is extremely fascinating and the story (in view of genuine occasions) was spectacular. In the wake of watching, Sherlock and The Imitation Game, one thing is extremely obvious to me that Benedict Cumberbatch is likely the best entertainer to play these marginally unconventional, most astute individual in the room jobs. &lt;/p&gt;

&lt;p&gt;A magnificent film that should be watched, all the more so in light of the fact that it has, among others, four extremely skilled and noticeable entertainers - Benedict Cumberbatch, Mark Strong, Charles Dance and Keira Knightley. A solid five stars for the whole cast and team just as the content. Praise to the writer of the book bearing a similar name on which this film is based.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ex Machina
&lt;/h3&gt;

&lt;p&gt;This is likely extraordinary compared to other piece of sci-fi that I've at any point watch. It is about a Turing trial of an AI, a Turing Test is a technique for request in man-made reasoning (AI) for deciding if a PC is fit for having a similar outlook as a person. &lt;/p&gt;

&lt;p&gt;Indeed, even in the first piece of the film you will feel that what you're watching isn't what it appears, it resembles there's a going thing on behind the person's activities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Untraceable
&lt;/h3&gt;

&lt;p&gt;This is an exceptionally under-evaluated film that says a lot about our current culture of media utilization and, as it were, fundamental human instinct. Simply take a gander at the sort of unscripted television shows and mainstream news station inclusion that are being marched as early evening diversion today. &lt;/p&gt;

&lt;p&gt;Should extol the scholars and overseer of the film. Diane Lane does an amazing exhibition as the persevering single parent and the supporting cast is splendid as well.&lt;/p&gt;




&lt;p&gt;These were a portion of the top programming films that each software engineer should watch. The Matrix series is by a wide margin the best establishment that shows hacking. Beside it, The Social Network and Jobs verge on showing reality. &lt;/p&gt;

&lt;p&gt;The rundown doesn't end here.. Here. We will bring additional astonishing films out there.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>movies</category>
      <category>developer</category>
      <category>programming</category>
    </item>
    <item>
      <title>17 Top CSS3 libraries to use in 2021</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Sat, 21 Aug 2021 05:40:25 +0000</pubDate>
      <link>https://dev.to/devbookmark/17-top-css3-libraries-to-use-in-2021-2ne5</link>
      <guid>https://dev.to/devbookmark/17-top-css3-libraries-to-use-in-2021-2ne5</guid>
      <description>&lt;p&gt;No big surprise, then, at that point, that CSS Frameworlds arose over the long haul and took the vast majority of the aggravation away. Today we can't envision coding without our #1 CSS structure, as focusing on numerous screen sizes has become a need. &lt;/p&gt;

&lt;p&gt;In any case, how would you realize your system is the awesome the current task? Additionally, in case you're new to front-end improvement, which structure should help you pick?&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://milligram.io/"&gt;Milligram&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FLsZdgmF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207470756/yRe_ptzY8.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FLsZdgmF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207470756/yRe_ptzY8.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A minimalist CSS framework. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://csswand.dev"&gt;CSS Wand&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8JyWR46L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207562359/hP9D5mjYM.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8JyWR46L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207562359/hP9D5mjYM.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Easy Copy-Paste Beautiful CSS, &lt;br&gt;
That can be easily customized further at your own choice&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tailwindcss.com/"&gt;TailwindCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B7vG0adn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207673255/8vYxQ-2fc.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B7vG0adn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207673255/8vYxQ-2fc.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rapidly build modern websites without ever leaving your HTML. A &lt;code&gt;utility-first&lt;/code&gt; CSS framework packed with classes like &lt;code&gt;flex&lt;/code&gt;, &lt;code&gt;pt-4&lt;/code&gt;, &lt;code&gt;text-center&lt;/code&gt; and &lt;code&gt;rotate-90&lt;/code&gt; that can be composed to build any design, directly in your markup.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://purecss.io"&gt;PureCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ExcbtMWS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207630872/vBmOesmOw.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ExcbtMWS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207630872/vBmOesmOw.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A set of small, responsive CSS modules that you can use in every web project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://picturepan2.github.io/spectre/"&gt;SpectreCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHhVGmPf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207706405/EaWUpY3vdf.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHhVGmPf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207706405/EaWUpY3vdf.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Lightweight, Responsive and Modern CSS Framework. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://oddbird.net/susy/"&gt;Susy&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K0ss45KS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207831465/9GzXl8aeE.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K0ss45KS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207831465/9GzXl8aeE.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Susy was a responsive layout engine for Sass, before flexbox and CSS grid were available. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://yegor256.github.io/tacit/"&gt;TacIT&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SDzPPa2a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207870586/z6nz1v0nw.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SDzPPa2a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207870586/z6nz1v0nw.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tacit is a CSS framework for dummies, who want their web services to look attractive but have almost zero skills in graphic design, just like myself.  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://animate.style/"&gt;AnimateCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NQILluvt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207888259/12tw6ePyY.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NQILluvt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207888259/12tw6ePyY.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Animate.css is a library of ready-to-use, cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and attention-guiding hints.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://primer.style/"&gt;Primer&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w9mv8WjA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207958548/CiTeYFpOc.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w9mv8WjA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207958548/CiTeYFpOc.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The design system that powers GitHub. Everything consisting of React components, CSS Framework, Octicons, ViewComponents, Figma components. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://semantic-ui.com"&gt;SemanticUI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fVuyADRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207975072/O2SvPZ0bS7.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fVuyADRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629207975072/O2SvPZ0bS7.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;User Interface is the language of the web. Design Beautiful Websites Quickly&lt;br&gt;
Semantic is a development framework that helps create beautiful, responsive layouts using human-friendly HTML.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nicolas-cusan.github.io/destyle.css/"&gt;DestyleCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wKa23RXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208041190/1Aea4P0yQ.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wKa23RXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208041190/1Aea4P0yQ.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Opinionated reset stylesheet that provides a clean slate for styling your html.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://get.foundation/"&gt;Foundation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JkqHmbCy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208068578/sOb4nLDsG.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JkqHmbCy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208068578/sOb4nLDsG.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Foundation. &lt;br&gt;
The most advanced responsive front-end framework in the world.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/tretapey/raisincss"&gt;RaisinCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xxj7fPW4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208266491/-zk-qF_b8.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xxj7fPW4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208266491/-zk-qF_b8.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An Utility CSS only library. It supports css grid and many more useful css properties.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://bulma.io/"&gt;Bulma&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A8HKmPYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208322580/SAyIO2wA6.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A8HKmPYO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208322580/SAyIO2wA6.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bulma is a free, open source CSS framework based on Flexbox and built with Sass. It's 100% responsive, fully modular, and available for free.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://voxelcss.com/"&gt;VoxelCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4ibKy7kU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208353177/Za9YK3-mE.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4ibKy7kU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208353177/Za9YK3-mE.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VoxelCSS make 3d rendering Easy. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://getuikit.com/"&gt;UIKit&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nZi23xIo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208372493/JM588oJrxZ.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nZi23xIo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208372493/JM588oJrxZ.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lightweight and modular front-end framework,&lt;br&gt;
for developing fast and powerful web interfaces.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://watercss.netlify.app/"&gt;WaterCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ecEfjp1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208418875/7cxDIIp5I.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ecEfjp1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629208418875/7cxDIIp5I.png%3Fauto%3Dcompress" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A drop-in collection of CSS styles to make simple websites like this just a little bit nicer.&lt;/p&gt;




&lt;p&gt;CSS is a developing language. It stays up with the latest with the furthest down the line disclosures can at times end up being fairly troublesome. A structure assists with overcoming any issues between composing every single question yourself. It additionally gives you a library so you can do it without anyone's help. &lt;/p&gt;

&lt;p&gt;With regards to creating inside a group climate, CSS systems permit engineers to chip away at a venture together. They can do this at a lot faster speed. This permits them to set aside some improvement time, and eventually save financial plan too.&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>programming</category>
      <category>developer</category>
    </item>
    <item>
      <title>Super ultimate guide to Regex in 2021 (how to  use in JavaScript)</title>
      <dc:creator>devbookmark</dc:creator>
      <pubDate>Fri, 20 Aug 2021 04:55:43 +0000</pubDate>
      <link>https://dev.to/devbookmark/super-ultimate-guide-to-regex-in-2021-how-to-use-in-javascript-ki</link>
      <guid>https://dev.to/devbookmark/super-ultimate-guide-to-regex-in-2021-how-to-use-in-javascript-ki</guid>
      <description>&lt;p&gt;Regular expressions play a vital role in every high-level programming language and so in JavaScript. Let's know them all in detail...&lt;/p&gt;




&lt;p&gt;A &lt;strong&gt;Regular Expression&lt;/strong&gt; (RegEx) is a sequence of characters that defines a search pattern. It helps you to "match" part of the text (string) by given rule.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Let's get our hands dirty with an examples: &lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;A-Z&lt;/span&gt;&lt;span class="se"&gt;]\w&lt;/span&gt;&lt;span class="sr"&gt;+/g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// (We ommited ' ')&lt;/span&gt;
&lt;span class="c1"&gt;// regex holds a regular expression which will match words starting with a capital letter. &lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`Rahul, Taylor and Susanne are coders who live in India`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="c1"&gt;// When we apply the regex to str, it returns all matches in a simple array! &lt;/span&gt;
&lt;span class="c1"&gt;// console.log( str.match(regex) )&lt;/span&gt;
&lt;span class="c1"&gt;//["Rahul", "Taylor", "Susanne", "India"]&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;You can do the same operation by using plain JavaScript, but regex can save you hundreds of lines &amp;amp; you can use it with almost any language (and even CLI tools) &lt;/p&gt;

&lt;h3&gt;
  
  
  The Core and Some Basics
&lt;/h3&gt;

&lt;p&gt;When you write a RegEx, it always starts with &lt;strong&gt;/&lt;/strong&gt; and ends with &lt;strong&gt;/&lt;/strong&gt;. Your write the code in between the two slashes. The simplest example - to match the word 'apple' use &lt;strong&gt;/apple/&lt;/strong&gt; RegEx. This, however, won't match 'APPLE' or 'aPpLe', because RegEx is case sensitive. &lt;/p&gt;

&lt;p&gt;To disable case sensitivity in RegEX, use what is called an &lt;strong&gt;i&lt;/strong&gt; flag &lt;strong&gt;/apple/i&lt;/strong&gt; now it will match 'apple', 'APPLE' &amp;amp; 'aPpLe'. To match both 'apple' and 'nut' use &lt;strong&gt;apple|nut/&lt;/strong&gt; RegEx. Simple, ugh? &lt;/p&gt;

&lt;h3&gt;
  
  
  How to use in JavaScript
&lt;/h3&gt;

&lt;p&gt;Let's learn the most basic methods in JS for working with RegEx'es &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;str.match(regex)&lt;/strong&gt; : Returns an array with all the matches it has found. Actually. there's a little catch here😉. If you try doing this: &lt;code&gt;"apple apple" .match(/apple/)&lt;/code&gt; you would expect to get ['apple', 'apple'] nut that's not the case. In reality it returns just ['apple']. To get a full array with multiple matches, you should add &lt;strong&gt;g&lt;/strong&gt; flag. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;str.test(str)&lt;/strong&gt; : regex is a variable assigned to your RegEx. &lt;strong&gt;str&lt;/strong&gt; is the string you test with the RegEx. The method returns true if it finds any matches or false.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="c1"&gt;// Let's hang with them&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/code|easy/i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;this code is EaSy super easy&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
  &lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// true; means we have a match😍&lt;/span&gt;

  &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// ["code", index: 5, input..]&lt;/span&gt;

  &lt;span class="c1"&gt;// Oops! We forgot adding the g flag&lt;/span&gt;
  &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/code|easy/ig&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// ["code", "EaSy", "easy"]&lt;/span&gt;
  &lt;span class="c1"&gt;// ALRIGHT!!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Concept of Wildcard Period
&lt;/h2&gt;

&lt;p&gt;We learned how to statically match a word, let's say 'hug' (&lt;strong&gt;/hug/&lt;/strong&gt;). But what if we want to match 'huh', 'hug', 'hum' at the same time? Wildcard period! That's the answer. &lt;code&gt;/hu./&lt;/code&gt; This will match all 3 letters long words starting with &lt;strong&gt;'hu'&lt;/strong&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Match single character with multiple possibilities
&lt;/h2&gt;

&lt;p&gt;A lot of times you want something in-between. Instead of targeting every character by using &lt;code&gt;.&lt;/code&gt; you might want to target only  &lt;strong&gt;a, b, c, d, e&lt;/strong&gt; characters. That's when the nest 'tricks' come in handy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// CHARACTER CLASSES allow you to define a group of characters you wish to match. You put the chards in [] "car cat cam cal car".match(/ca[rt]/g); &lt;/span&gt;
&lt;span class="c1"&gt;// returns: ['car', 'cat', 'car']&lt;/span&gt;

&lt;span class="c1"&gt;// match "bag", "big", "bug", but nit "bog" "big bag has a bug bog".match(/b[aiu]g/g); &lt;/span&gt;
&lt;span class="c1"&gt;// ["big", "bag", "bug"]&lt;/span&gt;

&lt;span class="c1"&gt;// MAKE CHARACTER CLASSES SHORTER by using [X-Y] which will match fro letter x to letter y. Example: [a-zA-Z] will match all capital and not capital letters from a to z&lt;/span&gt;

&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;abcdefghijklmnopqr&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;d-j&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["d", "e", "f", "g", "h", "i", "j"]&lt;/span&gt;

&lt;span class="c1"&gt;//same as: &lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;abcdefghijklmnopqr&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/defghij/g&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["d", "e", "f", "g", "h", "i", "j"]&lt;/span&gt;

&lt;span class="c1"&gt;// Use it with a number too: &lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1234567890&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/4-9/g&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;//["4", "5", "6", "7, "8", "9"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reverse the character classes
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;a-z&lt;/code&gt; will match all letters from a to z. To match all symbols, EXCEPT the letters from a to z, use &lt;code&gt;[^a-z]&lt;/code&gt;. The &lt;code&gt;^&lt;/code&gt; operator reverses the behaviours when used in&lt;code&gt;[ ]&lt;/code&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Matching characters that occur more than one times
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// With +&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/a+/g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;abc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["a"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aabc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["aa"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aabac&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["aa", "a"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bbc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//null&lt;/span&gt;

&lt;span class="c1"&gt;//without +&lt;/span&gt;
&lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/a/g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;abc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["a"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aabc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["aa"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aabac&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//["aa", "a"]&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bbc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//null&lt;/span&gt;

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Search for patterns from the beginning of the end of the string
&lt;/h3&gt;

&lt;p&gt;To search a character exactly at the beginning of a string using &lt;code&gt;^&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/^K/&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;__K_K_&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// false - K is not exactly at the beginning!&lt;/span&gt;
&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;K___K___&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// true &lt;/span&gt;

&lt;span class="c1"&gt;//To search for a character at the end of string use $ like so&lt;/span&gt;

&lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/K$/&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;__K__K_&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// false - K has to be at the end&lt;/span&gt;

&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;__K&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Optional character
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/colou&lt;/span&gt;&lt;span class="se"&gt;?&lt;/span&gt;&lt;span class="sr"&gt;r/&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// makes 'u' capital&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;american&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;color&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;british&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;colour&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;american&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;british&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;cologr&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Let's take this to advance level&lt;/p&gt;

&lt;h2&gt;
  
  
  Common shorthands
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Instead of &lt;code&gt;[A-Za=z0-9]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use -&amp;gt; &lt;code&gt;\w&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of &lt;code&gt;[^A-Za-z0-9]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use -&amp;gt; &lt;code&gt;\W&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of &lt;code&gt;[0-9]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;\d&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of  &lt;code&gt;^ 0-9&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use -&amp;gt; &lt;code&gt;\D&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Specify the upper and lower limit of matches
&lt;/h2&gt;

&lt;p&gt;What if you want to match a sequence of characters that repeats X times, for example - match exactly a sequence of 5 letters 'a'? Here we go &lt;code&gt;a{5}&lt;/code&gt; This would match only 'aaaaa' but not 'aa' or 'aaaaaaa'. &lt;/p&gt;

&lt;p&gt;Let's see...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ama baalo maaaaamal aaaaaa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="se"&gt;{5}&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;//prints ["aaaaa". "aaaaa"]&lt;/span&gt;

&lt;span class="c1"&gt;//to match 'm' letter followed by 5 x 'a'&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/ma&lt;/span&gt;&lt;span class="se"&gt;{5}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// prints ["maaaaa", indes: 10, ...]&lt;/span&gt;
&lt;span class="c1"&gt;//which means we have a match at index 10&lt;/span&gt;

&lt;span class="c1"&gt;// to match empty space followed by 4 x 'a'&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\s&lt;/span&gt;&lt;span class="sr"&gt;a&lt;/span&gt;&lt;span class="se"&gt;{4}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// prints [" aaaa", index: 19, ...]&lt;/span&gt;
&lt;span class="c1"&gt;// match at index 19&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You saw how to match an exact number of repeating characters &lt;code&gt;a{5}&lt;/code&gt; matches "aaaaa". But what if you want to match not exactly 5, but in a more flexible manner - from 1 to 3 repeating characters? Here we go &lt;code&gt;a{1,3}&lt;/code&gt; which will match "a" , "aa", "aaa", but not "aaaa". &lt;/p&gt;

&lt;p&gt;We can go even further - by omitting the first or the second parameter &lt;code&gt;a{3}&lt;/code&gt; will not match "a", "aa", but will match "aaa", "aaaa" or higher. &lt;/p&gt;

&lt;p&gt;## Match characters t#hat occur multiple times&lt;/p&gt;

&lt;p&gt;Above we have briefly covered this topic, now is the moment to go deep. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To match one or more characters, use after the target character.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ama balo maaaaamal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/a+/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["a", "a", "aa", "aaaaa", "a"]&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/a/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To match zero or more characters, ue after the target character&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aaa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/a*/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["aaa", ""]&lt;/span&gt;

&lt;span class="nx"&gt;consolle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/a/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["a", "a", "a"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To match zero or one character, use after the target character&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aaa&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="se"&gt;?&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["a", "a", "a", ""]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Positive and Negative lookahead
&lt;/h3&gt;

&lt;p&gt;This is considered one of the abstract topics in regex, but I will try to cover 80/100 of what you need to know. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;a(?=g)&lt;/code&gt; - Positive lookahead Matches all "a" that is followed by "g", without making the "g" part of the match. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;a(?!g)&lt;/code&gt; - Negative lookahead Matches all "a" that are &lt;strong&gt;NOT&lt;/strong&gt; followed by "g", without making "g" part of the match. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it can be even more flexible. See this example -&amp;gt; &lt;strong&gt;&lt;code&gt;(?=regex)&lt;/code&gt;   &lt;code&gt;?!regex&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the place of regex, you can put any valid regex expression. Let's hang with this...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IsFunBaloonIsLearningRegExIsLean&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/Is&lt;/span&gt;&lt;span class="se"&gt;(?=&lt;/span&gt;&lt;span class="sr"&gt;Learning&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;//["Is", index: 11, ...]&lt;/span&gt;
&lt;span class="c1"&gt;//Matches the 2nd "Is", right before "Learning"&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/Is&lt;/span&gt;&lt;span class="se"&gt;(?=&lt;/span&gt;&lt;span class="sr"&gt;Lean&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;//["Is", index: 26, ...]&lt;/span&gt;
&lt;span class="c1"&gt;//Match the 3rd "Is", right before "Lean"&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="sr"&gt;/Is&lt;/span&gt;&lt;span class="se"&gt;(?=&lt;/span&gt;&lt;span class="sr"&gt;L&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;// ["Is", "Is"]&lt;/span&gt;
&lt;span class="c1"&gt;//Matches all "Is" which are followed by "L"&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/Is&lt;/span&gt;&lt;span class="se"&gt;(?!&lt;/span&gt;&lt;span class="sr"&gt;L&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="c1"&gt;//["Is", index:0, ...]&lt;/span&gt;
&lt;span class="c1"&gt;// Matches all "Is" which aren't followed by "L"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What if you want the opposite - check the character before, not after the target character? &lt;strong&gt;You use a LookBehind&lt;/strong&gt; ;P&lt;/p&gt;

&lt;h3&gt;
  
  
  Reusing patterns with capture groups
&lt;/h3&gt;

&lt;p&gt;We all know the DRY programming principle - Don't Repeat Yourself. Capture groups help us to do exactly this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bam&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt;  &lt;span class="nx"&gt;same&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; 
&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;bamm+&lt;/span&gt;&lt;span class="se"&gt;)\w(&lt;/span&gt;&lt;span class="sr"&gt;bamm+&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt; &lt;span class="nx"&gt;same&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt;
&lt;span class="sr"&gt;/bamm+&lt;/span&gt;&lt;span class="se"&gt;\w&lt;/span&gt;&lt;span class="sr"&gt;bamm+/g&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt; &lt;span class="nx"&gt;same&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt;
&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;(\w&lt;/span&gt;&lt;span class="sr"&gt;+&lt;/span&gt;&lt;span class="se"&gt;)\s\1\1\1\1\1\1&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;

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

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;g&lt;/span&gt;  &lt;span class="nx"&gt;same&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt;
&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\w&lt;/span&gt;&lt;span class="sr"&gt;+&lt;/span&gt;&lt;span class="se"&gt;\s\w&lt;/span&gt;&lt;span class="sr"&gt;+&lt;/span&gt;&lt;span class="se"&gt;\w&lt;/span&gt;&lt;span class="sr"&gt;+&lt;/span&gt;&lt;span class="se"&gt;\w&lt;/span&gt;&lt;span class="sr"&gt;+/g&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Now let's learn how to unleash this potential regex power and fuel it all to your JavaScript skills!&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating RegEx in JavaScript
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;b+/&lt;/span&gt;

&lt;span class="c1"&gt;//if you want to pass flags (like i and g)&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/a&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;0-9&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;b+/ig&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;-&amp;gt; Compiles when script is loaded&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using the RegEx constructor function
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;RegExp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;a[0-9]b+&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="c1"&gt;//if you want to pass flags (like i and g)&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;RegExp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;a[0-9]b+&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ig&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;-&amp;gt; Compiled on runtime&lt;/p&gt;




&lt;h2&gt;
  
  
  FLAGS
&lt;/h2&gt;

&lt;p&gt;In JavaScript we have 6 flags which affect the match: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;i&lt;/strong&gt; - Makes the match case-insensitive. No difference between 'C' and 'c'&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;g&lt;/strong&gt; - Without this flag, only the first match will be returned&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;m&lt;/strong&gt; - Multiline more; only affects the behavior of &lt;code&gt;^&lt;/code&gt; and &lt;code&gt;$&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;s&lt;/strong&gt; - Dotall mode; allows wildcard period &lt;code&gt;.&lt;/code&gt; to match newline character &lt;code&gt;\n&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;u&lt;/strong&gt; - Enabled full Unicode support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;y&lt;/strong&gt; - Sticky mode. Enabled searching at a specific position&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;LET'S SEE JS METHODS THAT USE RegEx IN SOME FORM OR ANOTHER&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;str.match(regexp)&lt;/code&gt; - Finds all matches of &lt;strong&gt;regexp&lt;/strong&gt; in the string &lt;strong&gt;str&lt;/strong&gt; and returns an array of those matches&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;regexp.exec(str)&lt;/code&gt; - Similar to the match method but it's meant to be used in a loop when the &lt;strong&gt;regexp&lt;/strong&gt; is stored in global variable but not passed directly
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Difference between the two methods&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;re&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/bla/g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bla and yea bla yeh&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// -&amp;gt; ["bla", index: 0, ...]&lt;/span&gt;
&lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// -&amp;gt; ["bla", index: 13, ...]&lt;/span&gt;
&lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// -&amp;gt; null&lt;/span&gt;
&lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// -&amp;gt; ["bla", index: 0, ...]                &lt;/span&gt;
&lt;span class="c1"&gt;// STARTS AGAIN&lt;/span&gt;

&lt;span class="c1"&gt;//USAGE WITH A LOOP&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bla and yeah bla yeh ble&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mathc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// ["bla", index: 0, input: ...]&lt;/span&gt;
&lt;span class="c1"&gt;// ["bla", index: 13, input: ...]&lt;/span&gt;

&lt;span class="c1"&gt;// on the other side, match works pretty simple&lt;/span&gt;
&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;re&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// ["bla", "bla"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;str.matchAll(regexp)&lt;/code&gt; - A new JS feature and improvement on the match method. 3 Differences: 

&lt;ul&gt;
&lt;li&gt;Returns an iterable object with matches instead of an array. &lt;/li&gt;
&lt;li&gt;Each match is in the same format as &lt;code&gt;str.match&lt;/code&gt; without the 'g' flag. &lt;/li&gt;
&lt;li&gt;If there are no matches it returns empty iterable object rather than null if you used to match. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Always add &lt;strong&gt;g&lt;/strong&gt; flag when using this one!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regexp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/bla/g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bla and yeah bla yeh&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;matches&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;matchAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regexp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// ["bla", index: 0, ...]&lt;/span&gt;
&lt;span class="c1"&gt;// ["bla", index: 13, ...]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;regexp.test(str)&lt;/code&gt; - Looks for at least one match of &lt;strong&gt;regexp&lt;/strong&gt; in &lt;strong&gt;str&lt;/strong&gt;. If found, returns true. Otherwise false. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;str.search(regexp)&lt;/code&gt; - Returns the index of the first available match. If no match is found returns -1. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;str.match(separator)&lt;/code&gt; - Instead of passing a simple string to &lt;strong&gt;separator&lt;/strong&gt; like  ' ', we can also pass regex for more precise split/ &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;str.replace(from, to)&lt;/code&gt; - &lt;strong&gt;from&lt;/strong&gt; is what to match. It can be a string or regex. The first match will be replaced with the string you have passed to the &lt;strong&gt;to&lt;/strong&gt; argument. Instead of a string, you can pass a function too, but this is outside of the scope of this tutorial. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;str.repalceAll(from,to)&lt;/code&gt; - Same as replace, except instead of replacing only the first match it will replace all  matches with the provided to. Example:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;stuffed str living fforever pff&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;regex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sr"&gt;/f+/&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//match one or more 'f'&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;repl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
  &lt;span class="c1"&gt;//repl is "stu*ed str living fforeverpff"&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;repl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replaceAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
  &lt;span class="c1"&gt;// repl is "stu*ed str living *orever p*"&lt;/span&gt;
  &lt;span class="c1"&gt;// NOTE: If you add g flag to replace it works like replaceAll&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;A bit tough and lengthy. Hope you liked it! Use the comments for sharing your views and questions.  &lt;/p&gt;

&lt;p&gt;🔐Thanks For Reading | Happy Coding 📘&lt;/p&gt;

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