<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Digvijay Singh</title>
    <description>The latest articles on Forem by Digvijay Singh (@digvijaysingh).</description>
    <link>https://forem.com/digvijaysingh</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%2F305624%2Fdb6e55aa-027b-4004-9934-a47fa1195775.jpeg</url>
      <title>Forem: Digvijay Singh</title>
      <link>https://forem.com/digvijaysingh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/digvijaysingh"/>
    <language>en</language>
    <item>
      <title>What is Cloud Computing? Explained with Examples</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Sat, 23 Jan 2021 07:41:33 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/what-is-cloud-computing-explained-with-examples-3d4a</link>
      <guid>https://forem.com/digvijaysingh/what-is-cloud-computing-explained-with-examples-3d4a</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Ky_Wp9fuVEs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Cloud computing is a new buzz word. It is getting more popular because of its powerful infrastructure at a cheaper price.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Cloud Computing?
&lt;/h2&gt;

&lt;p&gt;Cloud computing is the on-demand delivery of computing services and resources over the internet.&lt;/p&gt;

&lt;p&gt;The resources may include server, database, storage, networking, analytics, intelligence like AI and others.&lt;/p&gt;

&lt;p&gt;We can understand this with an &lt;strong&gt;example&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Suppose you are the owner of a pharma company. You need business applications and software to run your operations smoothly.&lt;/p&gt;

&lt;p&gt;In earlier times you have to build large data centres, for which you have to spend time and money on server, security, storage, power and cooling.&lt;/p&gt;

&lt;p&gt;These are just a few hardware parts. You also need to focus on its software parts like testing, development, backups, disaster recovery and many more.&lt;/p&gt;

&lt;p&gt;In simple words, you will spend too much time on your IT infrastructure.&lt;/p&gt;

&lt;p&gt;The modern &lt;strong&gt;solution to this problem&lt;/strong&gt; will be cloud computing.&lt;/p&gt;

&lt;p&gt;Instead of building large data centres, you can simply use cloud infrastructure to handle your applications.&lt;/p&gt;

&lt;p&gt;All the business applications will be hosted on cloud which is much cheaper, efficient and easy to manage. Now, you will need relatively less number of peoples to manage your cloud applications.&lt;/p&gt;

&lt;p&gt;Many things such as monitoring, testing, backups and disaster recovery can be automated. It will let you focus on your primary business by making your IT infrastructure automated, secure, stable and efficient.&lt;/p&gt;

&lt;p&gt;You just have to pay for the resources which you use over the cloud.&lt;/p&gt;

&lt;p&gt;The pricing model of Cloud computing is generally "pay as you go", which means you need to pay only for resources which you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloud Computing and Cloud Service Providers
&lt;/h2&gt;

&lt;p&gt;Cloud computing also has large data centres all over the world but they are set up and managed by the cloud service providers.&lt;/p&gt;

&lt;p&gt;They provide cloud as a service to peoples like you and me who has large computing requirements don't want to set up complex data centres.&lt;/p&gt;

&lt;p&gt;Cloud service providers handle all the hardware and software on the underlying infrastructure.&lt;/p&gt;

&lt;p&gt;Cloud is generally more secure because providers regularly update and patch their software. They have their own security teams working to make it secure.&lt;/p&gt;

&lt;p&gt;Some of the major cloud service providers are Amazon Web services or AWS, Google Cloud, Microsoft Azure, IBM Cloud, Alibaba cloud.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Cloud Computing
&lt;/h2&gt;

&lt;p&gt;Now, we know what is cloud. It's time to look at the top benefits of cloud computing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scalability
&lt;/h3&gt;

&lt;p&gt;Cloud computing services can scale elastically. It means as the load increase we can easily scale our applications by adding more resources such as more computing power, bandwidth or storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Availability
&lt;/h3&gt;

&lt;p&gt;Availability means the time cloud service provider guarantees that the data and services will remain online. They are measured in percentage and at a time span of 1 year.&lt;/p&gt;

&lt;p&gt;For example, if a cloud guarantees 99.99999% of uptime it means it will go down for only 3 seconds a year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reliability
&lt;/h3&gt;

&lt;p&gt;Cloud computing has features of automatic data backup, disaster recovery so the chances or impact of failures are very less.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost
&lt;/h3&gt;

&lt;p&gt;As I have mentioned earlier, the cloud has 'pay as you go' pricing model. So cost is an advantage in cloud computing.&lt;/p&gt;

&lt;p&gt;You pay only for the resources which you use. They are less costly as compared to set up your own data centres.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security
&lt;/h3&gt;

&lt;p&gt;Security is an important advantage of cloud computing.&lt;/p&gt;

&lt;p&gt;Cloud offers a various set of tools and technologies to secure your application from attacks. Cloud service providers are always very active to keep their infrastructure secure.&lt;/p&gt;

&lt;p&gt;There are still more advantages of cloud computing such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Speed due to global data centres&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better collaborations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Detailed monitoring.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Uses of Cloud Computing
&lt;/h2&gt;

&lt;p&gt;Cloud computing is growing widely. It is used in almost every sectors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Infrastructure as a Service
&lt;/h3&gt;

&lt;p&gt;It means to deliver fundamental computing resources such as network, CPU, memory and others.&lt;/p&gt;

&lt;p&gt;In our example, we can use cloud computing infrastructure to host our business application which falls under this category.&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage
&lt;/h3&gt;

&lt;p&gt;Because of high scalability, global data centres and the cheaper price they are widely used as storage providers for many applications worldwide.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backup
&lt;/h3&gt;

&lt;p&gt;Cloud is widely used for backup purpose due to its automation features. It is also cheaper, secure and has more availability as compared to alternatives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Disaster Recovery
&lt;/h3&gt;

&lt;p&gt;Due to inbuilt data backup, it becomes easy for disaster recovery. We can easily revert to the previous state of cloud in just simple clicks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Big Data and Analytics
&lt;/h3&gt;

&lt;p&gt;You must have heard the term Big data. Thanks to high availability and cheaper computing resources Cloud computing is growing its popularity in big data and analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intelligence
&lt;/h3&gt;

&lt;p&gt;Cloud is not limited to anything. It is also expanding in the field of intelligence. Now you can also use intelligent models to predict and engage customers to your applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Business Process
&lt;/h3&gt;

&lt;p&gt;Cloud is widely used in the business process. Business management applications such as ERP and CRM software are mostly hosted on some cloud as Software as a solution service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;This was a simple explanation of cloud computing.&lt;/p&gt;

&lt;p&gt;It is like your own data centre over the internet without any infrastructure setup problems. You will need a small team to handle your cloud applications as compared to having your own data centres.&lt;/p&gt;

&lt;p&gt;Cloud computing is the future because of the features it provides at a cheaper price.&lt;/p&gt;

&lt;p&gt;Benefits of cloud computing are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Scalability&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Availability&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reliability&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cost&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Speed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better Collaborations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better Monitoring&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uses of the cloud are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Infrastructure as a service&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Storage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backup&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Disaster Recovery&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Big data and analytics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Intelligence&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Business process&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cloud computing is better as compared to hosted solutions because of scalability and availability.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to Open a New Tab or Window using Javascript?</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Fri, 23 Oct 2020 14:02:02 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/how-to-open-a-new-tab-or-window-using-javascript-5ebc</link>
      <guid>https://forem.com/digvijaysingh/how-to-open-a-new-tab-or-window-using-javascript-5ebc</guid>
      <description>&lt;p&gt;It is a very general use case to open a link in another tab or in a separate window. We prefer to use &lt;code&gt;target="_blank"&lt;/code&gt; attribute in HTML to open a link in new tab.&lt;/p&gt;

&lt;p&gt;Sometimes we need to open a link in new tab only by javascript. Here are the code snippets to open a link in a new tab or new window by pure Vanilla Javascript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open New Tab Using Javascript
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; window.open("https://holycoders.com/", "_blank", "noopener")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/open"&gt;open method&lt;/a&gt; is very useful to open a new tab or window in the browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open New Window Using Javascript
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; window.open('https://holycoders.com', '_blank', 'noopener,height=600,width=960,scrollbars=yes'); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let me warn you that it is very annoying and never recommended to open a new window on the user's system just for your own purpose (I am talking about those ads).&lt;br&gt;
 If you liked this article you will also like &lt;strong&gt;&lt;a href="https://holycoders.com/vanilla-javascript-popup-modal/"&gt;Pure Javascript Modal&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>A Developer's Guide to Website Speed Optimization</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Fri, 10 Jul 2020 13:23:39 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/a-developer-s-guide-to-website-speed-optimization-4km4</link>
      <guid>https://forem.com/digvijaysingh/a-developer-s-guide-to-website-speed-optimization-4km4</guid>
      <description>&lt;p&gt;I think a lot about how we can optimize our websites for speed. The world is getting busy and nobody likes to wait for a website to load.&lt;/p&gt;

&lt;p&gt;There are very few things a user can do to make a website go faster. But for developers like us, the possibilities are endless. The real optimization starts with the code and finishes on server side things like hosting, CDN's, caching and much more.&lt;/p&gt;

&lt;p&gt;Here I have collected the best possible ways to optimize a website which I learned and implemented while creating a theme for my blog on Ghost CMS.&lt;/p&gt;

&lt;p&gt;Here is a picture of the results.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kCrgM5p7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/flivzj2he9faamznj678.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kCrgM5p7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/flivzj2he9faamznj678.png" alt="ghost theme performance"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The theme is so fast because it contains no extra functionality other than what I need on a very minimal blog. I pay $5/month for cloud hosting. For now I've hidden the domain because its hosted temporarily (testing with some new things).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Speed Matters
&lt;/h2&gt;

&lt;p&gt;People are busy and they will not waste their precious time waiting for your website to load.&lt;/p&gt;

&lt;p&gt;Website loading speed has been one of the most important factors in SEO since &lt;a href="https://webmasters.googleblog.com/2010/04/using-site-speed-in-web-search-ranking.html"&gt;April 2010&lt;/a&gt;. Users love fast websites where they can get useful information.&lt;/p&gt;

&lt;p&gt;One more exciting thing about loading speed is that it affects your brand image. I can easily recall 3-4 superfast websites which load right after the click.&lt;/p&gt;

&lt;p&gt;Suppose you are visiting a product site and it takes 10 seconds to load. Will you waste another 10 seconds in the billing page? How would this affect your trust? Will you trust a website which takes so much time to load?&lt;/p&gt;

&lt;p&gt;Think like a user before you act as a Developer.&lt;/p&gt;

&lt;p&gt;Good websites load faster and users get the webpage in a flash.&lt;/p&gt;

&lt;h2&gt;
  
  
  Different Speed Testing Tools
&lt;/h2&gt;

&lt;p&gt;Now you know why we need to optimize our websites to load faster. Here is a quick overview of the tools which are popular in benchmarking performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your own browser
&lt;/h3&gt;

&lt;p&gt;Yes, your browser has a powerful tool to let you know the loading speed of your website. I generally use it to get detailed information on the number of files (scripts and stylesheets) that load on each webpage request.&lt;/p&gt;

&lt;p&gt;Open the developer’s tools of your browser (right-click then inspect) and then go to the networks tab. Reload the webpage with cache disabled and you will see the detailed statistics of loading speed.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pAoj2bmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ebkh524ae7b03il7it7j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pAoj2bmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ebkh524ae7b03il7it7j.png" alt="browser website speed test"&gt;&lt;/a&gt;&lt;br&gt;
But this method is limited because it tests the loading speed from your location only. And we know that speed changes at different points around the globe.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tools.pingdom.com/"&gt;Pingdom tools&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Here is the solution for global speed testing: choose multiple locations from where to test your website loading speed.&lt;/p&gt;

&lt;p&gt;It also provides a detailed report with recommendations you can use to further optimize.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://developers.google.com/speed/pagespeed/insights/"&gt;Page Speed Insights&lt;/a&gt; (Based on lighthouse)
&lt;/h3&gt;

&lt;p&gt;Page Speed Insights created the belief that a score of 100 is must for SEO.&lt;/p&gt;

&lt;p&gt;This is not completely true, though, because some of the most popular websites have a score less than 70.&lt;/p&gt;

&lt;p&gt;Page speed insights use Lighthouse as their analysis tool and it's not directly related to SEO.&lt;/p&gt;

&lt;p&gt;Lighthouse is an open-source website performance analysis tool. It audits the website for performance, SEO, accessibility, progressive web apps and much more.&lt;/p&gt;

&lt;p&gt;Lighthouse is also available as a browser extension or &lt;a href="https://www.npmjs.com/package/lighthouse"&gt;NPM package&lt;/a&gt; if you are developing a website locally.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QmPHvJ00--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jr1k6oj0vpqf391w8usr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QmPHvJ00--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jr1k6oj0vpqf391w8usr.png" alt="lighthouse report"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It gives some important optimizing details which other tools fail to report. It is very helpful to reduce the webpage size and optimize the loading speed of the website.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gtmetrix.com/"&gt;GTmetrix&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I find this much more accurate than other services. It gives accurate insights about the loading speed of your website. It also gives an in-depth report of the best practices which can further improve the performance of your website.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best Ways to Optimize Website Loading Speed
&lt;/h2&gt;

&lt;p&gt;Here comes the part where we'll start working on optimization. All these steps are very helpful in improving the performance of any website.&lt;/p&gt;

&lt;p&gt;But just remember that not all steps are necessary for everyone. You can skip the steps which might break your site (happens a lot during optimization).&lt;/p&gt;

&lt;h3&gt;
  
  
  Avoid additional packages and scripts wherever possible
&lt;/h3&gt;

&lt;p&gt;When I started web development, I preferred NPM install for each and every problem. But I was a noob :). Very soon I realised the cost of installing a new package for every problem I faced.&lt;/p&gt;

&lt;p&gt;Using npm packages is good for rapid development but every new package comes with many additional functionalities which you might never need.&lt;/p&gt;

&lt;p&gt;The real problem lies in updating the project. Packages deprecate with time so managing a lot of packages is like a nightmare.&lt;/p&gt;

&lt;p&gt;It's a good idea to try to solve basic problems by yourself instead of finding an NPM package to do it for you.&lt;/p&gt;

&lt;p&gt;Here is a useful &lt;a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost"&gt;VS Code extension&lt;/a&gt; that lets you know the size of the imported package.&lt;/p&gt;

&lt;p&gt;The same thing applies to jQuery. There was a time when it was a must-have JavaScript library for each and every application. But now Vanilla JS stands strong.&lt;/p&gt;

&lt;p&gt;If you can avoid using jQuery, it will save you about 30KB of additional loading to your webpage.&lt;/p&gt;

&lt;p&gt;This website is helpful for finding jQuery alternatives: &lt;a href="http://youmightnotneedjquery.com/"&gt;Amazing collection of jQuery alternatives.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I saved around 100ms only by removing jQuery from my Ghost CMS theme. It was a lot to work to replace jQuery with Vanilla Js but the result was awesome.&lt;/p&gt;

&lt;p&gt;And it is good to say every script counts in performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove unused CSS
&lt;/h3&gt;

&lt;p&gt;CSS frameworks are very helpful in the rapid development of web applications. However, they have many components and styles which we never use in our projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://purgecss.com/"&gt;PurgeCSS&lt;/a&gt; is very helpful in this case, as it removes the unused CSS from the stylesheet.&lt;/p&gt;

&lt;p&gt;It is not as easy to use as it seems but it's worth the time investment.&lt;/p&gt;

&lt;p&gt;Just a heads up: sometimes PurgeCSS also removes the CSS which is useful to your projects. So I recommend that you manually verify and test the website properly after using it.&lt;/p&gt;

&lt;p&gt;As an example, the dark theme of my website was broken because PurgeCSS removed the CSS variables as they were unused at that time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Minify CSS and JavaScript
&lt;/h3&gt;

&lt;p&gt;You should minify Javascript and CSS files before pushing them to the production server.&lt;/p&gt;

&lt;p&gt;Minify CSS and Javascript mean removing unnecessary code like comments, space, tabs from the file because in production they are only for browsers to understand.&lt;/p&gt;

&lt;p&gt;This reduces approximately 50% of the file size and enables your web pages to load much faster.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FP9Cx7ff--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/970i86nedypu9h998nxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FP9Cx7ff--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/970i86nedypu9h998nxk.png" alt="minfied assets size compression"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are online CSS and Javascript minifiers which you can use.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://cssminifier.com/"&gt;Online CSS Minifier&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://javascript-minifier.com/"&gt;Online JavaScript Minifier&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is aother observation using Tailwind CSS with minify and purge CSS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Original size of stylesheet: ~150KB&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With Minify+Purge CSS: 4.9KB (and everything was working fine)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It was not a one-shot solution, though. Initially it broke many things (like night mode and many other functionalities triggered by Javascript) because purge CSS removed it as they were unused at that time.&lt;/p&gt;

&lt;p&gt;I had to manually review and exclude those styles from the purge CSS plugin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compress and resize images
&lt;/h3&gt;

&lt;p&gt;Images are critical factors that affect the loading speed of any website. A lot of websites use high-resolution images even when they don't need it.&lt;/p&gt;

&lt;p&gt;The perfect example is that you don't need a 2000 x 2000 image for a 250 x 250 author image.&lt;/p&gt;

&lt;p&gt;Always consider cropping and compressing your images before you upload them to the web.&lt;/p&gt;

&lt;p&gt;You can use online compression tools like &lt;a href="https://tinypng.com/"&gt;Tiny PNG&lt;/a&gt; to compress images before using them on your website. You can reduce up to 60-70% of image size using image compression.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lazy loading images
&lt;/h3&gt;

&lt;p&gt;As I said, images are critical factors in website loading speed. This means you must take the right steps toward optimizing images when loading them.&lt;/p&gt;

&lt;p&gt;First, you can defer offscreen images. This means that the images after 1 viewport height will load once the user scrolls to them.&lt;/p&gt;

&lt;p&gt;Lazy loading is also recommended and is very efficient in optimizing your website for fast loading.&lt;/p&gt;

&lt;p&gt;It's helpful because sometimes the user doesn't need to scroll all the way to the bottom of the page and read all contents of your website. So lazy loading only loads images when the user scrolls to them.&lt;/p&gt;

&lt;p&gt;You must implement lazy loading carefully and make sure JavaScript fallbacks are in place as an alternative.&lt;/p&gt;

&lt;p&gt;You can take the example of Medium.com's articles for lazy loading of images. They put an image of very low resolution as a placeholder and load the original image once the user scrolls to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Defer JavaScript loading
&lt;/h3&gt;

&lt;p&gt;You should always put all heavy scripts at the end of the page before the closing body tag.&lt;/p&gt;

&lt;p&gt;This is important because users can at least read the contents on slower connections while heavy scripts keep loading in the background.&lt;/p&gt;

&lt;p&gt;This is one of the most common problems highlighted by Google speed insights. You can easily improve your score by implementing this step properly.&lt;/p&gt;

&lt;p&gt;The defer attribute is helpful in this scenario, as it allows script execution only after the document is loaded.&lt;/p&gt;

&lt;h3&gt;
  
  
  Select a good hosting provider
&lt;/h3&gt;

&lt;p&gt;You can never expect good website loading speed on shared hosting of any low-quality hosting provider.&lt;/p&gt;

&lt;p&gt;Go for VPS if you can afford it, or cloud hosting (they are as cheap as 5$ a month at Linode, Digital Ocean, and Vultr, for example).&lt;/p&gt;

&lt;p&gt;Low quality hosting providers won't affect your website's speed much if you don't have many visitors. However, as the number of visitors grows they fail to handle such traffic.&lt;/p&gt;

&lt;p&gt;That's why it is good to remain on the safe side and keep your website running on traffic spikes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use a CDN
&lt;/h3&gt;

&lt;p&gt;If your website has visitors from all around the globe, then CDNs will help deliver your assets quickly.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N6dldnXV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0uw00mfpm6d3mqh2i5vt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N6dldnXV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0uw00mfpm6d3mqh2i5vt.png" alt="how cdn works"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The users gets the assets from the nearest CDN node ensuring the shortest travel for data. This reduces the overall loading speed of the website and provides a consistent experience for all your users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Caching
&lt;/h3&gt;

&lt;p&gt;Caching is the best possible solution for the fastest website loading speed. Cache as much as possible, but with care.&lt;/p&gt;

&lt;p&gt;Caching on the server-side enables faster delivery of data and on the client-side empowers lightning-fast loading speed.&lt;/p&gt;

&lt;p&gt;There are various resources like scripts, stylesheets, and some other common files which are used with every page load. We can cache them locally so next time they are fetched from the cache instead of the server.&lt;/p&gt;

&lt;p&gt;Server-side caching prevents excess database operations each time and saves both time and money.&lt;/p&gt;

&lt;p&gt;Just keep in mind that server-side caching is not suitable if you have too much dynamic data.&lt;/p&gt;

&lt;p&gt;You must be careful with caching, though: if it's not implemented properly then the user may see the same old content each time they visit the site.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gzip compression
&lt;/h3&gt;

&lt;p&gt;Gzip compression is one of the most common recommendations by the Pingdom speed test.&lt;/p&gt;

&lt;p&gt;Gzip is a method of compressing files for faster delivery to your users. It is enabled by default by many hosting providers.&lt;/p&gt;

&lt;p&gt;If you are using cloud hosting then you are on your own. But enabling Gzip compression will not only decrease the loading speed of your website but also reduce the bandwidth usage of servers.&lt;/p&gt;

&lt;p&gt;Here is the code to add in configuration file to enable Gzip compression on Nginx server.&lt;/p&gt;

&lt;p&gt;Here is the code to add in .htaccess file to enable Gzip on Apache server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.keycdn.com/support/enable-gzip-compression"&gt;Source&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  AMP for mobile
&lt;/h3&gt;

&lt;p&gt;I read a &lt;a href="https://kinsta.com/blog/disable-google-amp/"&gt;case study&lt;/a&gt; that AMP can affect your sales. But as I said earlier in the post you do not need to implement all steps in this post to make your website faster. Just choose wisely.&lt;/p&gt;

&lt;p&gt;If you are running a publishing platform like a simple blog then you must go for AMP as it will only benefit you.&lt;/p&gt;

&lt;p&gt;AMP also supports ads so this will have the least effect on your earning but the benefits are great. AMP has the fastest loading speed on mobile phones.&lt;/p&gt;

&lt;p&gt;Here is a very basic AMP code. You can look &lt;a href="https://amp.dev/documentation/guides-and-tutorials/start/create/"&gt;here&lt;/a&gt; for complete guide and best practices to create AMP version of your website.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wordpress specific optimizations
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Fewer plugins
&lt;/h4&gt;

&lt;p&gt;Plugins are the power of WordPress. Or I should say that plugins are the curse of WordPress.&lt;/p&gt;

&lt;p&gt;Both depend on the number and quality of plugins you use on your site.&lt;/p&gt;

&lt;p&gt;The number of plugins directly affects the loading speed of your website. I always recommend that you use only the necessary plugins and avoid the rest.&lt;/p&gt;

&lt;h4&gt;
  
  
  A minimal theme will do the work
&lt;/h4&gt;

&lt;p&gt;Let me tell you that your "Popular Wordpress theme" has inbuilt support for most of the popular WordPress plugins that you may never use.&lt;/p&gt;

&lt;p&gt;Yes, this is the truth. They have a large number of customers to target so they built a one-stop solution for all (really?).&lt;/p&gt;

&lt;p&gt;You should go with a minimal theme which is dedicated for a particular purpose.&lt;/p&gt;

&lt;p&gt;If there is no theme that fits best then it is good to create your own theme from scratch. This will be a time-consuming process but it will load assets specific to your needs and will definitely have great speed benefits.&lt;/p&gt;

&lt;h4&gt;
  
  
  Use Autoptimize plugin
&lt;/h4&gt;

&lt;p&gt;This is a simple plugin that solves most of the problems with stylesheets and JavaScript files. I got +20 score in Google speed insights right after installing this plugin.&lt;/p&gt;

&lt;p&gt;It caches, defers and auto-minifies CSS and JavaScript files which improves page loading speed.&lt;/p&gt;

&lt;h4&gt;
  
  
  Do you really need WordPress?
&lt;/h4&gt;

&lt;p&gt;I know this topic should not be here under WordPress optimizations. But it is important to ask yourself if you really need WordPress.&lt;/p&gt;

&lt;p&gt;I love WordPress because it is mature and best for beginners. But sometimes I think it's too heavy for simple tasks.&lt;/p&gt;

&lt;p&gt;WordPress is really heavy in its core because it has features for everyone. Whether you want to use these features or not they are there running and eating server resources.&lt;/p&gt;

&lt;p&gt;If you need a simple publishing platform with no complex integrations, then these options are good alternatives.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ghost CMS (freeCodeCamp News uses it)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Netlify CMS (Getting popular with Static Site generators).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gatsby, Hugo, Jekyll (Static site generators)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to include Strapi in the list, but it lacks tutorials and demo. It will get its own place in future web development as its community increases.&lt;/p&gt;

&lt;p&gt;To demonstrate the effect here is a screenshot of the speed index on my current site on WordPress and a migrated version on Ghost CMS with a custom theme.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cxt99PAy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jy69dtpfibpswzhsdih1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cxt99PAy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jy69dtpfibpswzhsdih1.png" alt="Wordpress speed"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--faIW4MPG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5be3383d4ufgq7680o32.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--faIW4MPG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5be3383d4ufgq7680o32.png" alt="ghost cms theme speed"&gt;&lt;/a&gt;&lt;br&gt;
I am by no means biased with anything. There are use cases for each. WordPress can handle complex things easily while Ghost wins for its simplicity and static site generators win on speed.&lt;/p&gt;

&lt;p&gt;You can choose the alternatives to WordPress as per your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  In the end: don't over-optimize
&lt;/h2&gt;

&lt;p&gt;Optimizing is good but you should not try to be strict with all the steps. As I mentioned earlier, there is a high chance that certain steps might break your site and lead to hard debugging sessions.&lt;/p&gt;

&lt;p&gt;Write out all the steps and then decide if each step is suited for your website or not.&lt;/p&gt;

&lt;p&gt;Again, in the end, over-optimization is usually bad. Speed is really necessary but on the other hand user experience (UI and UX) also matters a lot.&lt;/p&gt;

&lt;p&gt;A good website maintains amazing speed with great UI and UX.&lt;/p&gt;

&lt;p&gt;I can send you more articles like this with our &lt;a href="https://holycoders.com/newsletter/"&gt;Weekly Newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more posts like this you can visit &lt;a href="https://holycoders.com/blog/"&gt;https://holycoders.com/blog/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>Best Python Project Ideas - Infographics</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Fri, 10 Apr 2020 08:21:30 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/best-python-project-ideas-infographics-2dlh</link>
      <guid>https://forem.com/digvijaysingh/best-python-project-ideas-infographics-2dlh</guid>
      <description>&lt;p&gt;This article was originally published on &lt;a href="https://holycoders.com/infographics-python-project-ideas/" rel="noopener noreferrer"&gt;HolyCoders: Best Python project ideas Infographics&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Infographics: Best Python project ideas
&lt;/h2&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%2Fuser-images.githubusercontent.com%2F35258289%2F78973768-2a808800-7b2e-11ea-8c6e-dd427e7ff019.png" 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%2Fuser-images.githubusercontent.com%2F35258289%2F78973768-2a808800-7b2e-11ea-8c6e-dd427e7ff019.png" alt="Best Python project ideas"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Description of all Python Project ideas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Website blocker
&lt;/h3&gt;

&lt;p&gt;This is a great project idea for those who want to be focused at a specific time.&lt;/p&gt;

&lt;p&gt;There are several websites which distract us from our work and affect productivity. This script may be very useful in such situations.&lt;/p&gt;

&lt;p&gt;This script will block specific websites for a certain amount of time.&lt;/p&gt;

&lt;p&gt;It will be helpful to concentrate on our work.&lt;/p&gt;

&lt;p&gt;Hint: You need to edit the operating systems host file with Python. It is quite easy but you need to learn how it works.&lt;/p&gt;

&lt;p&gt;This is a great source of learning for new developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Youtube downloader
&lt;/h3&gt;

&lt;p&gt;It may not be legal to download youtube videos. But still, we can create a simple GUI based software only for learning purpose.&lt;/p&gt;

&lt;p&gt;The software needs to take a URL input of the video and download it locally.&lt;/p&gt;

&lt;p&gt;There are several packages to download youtube videos in Python, here is a popular one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://pypi.org/project/youtube_dl/" rel="noopener noreferrer"&gt;Youtube_dl&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You may add some additional features like playlist download and video to mp3 download, it depends on your creativity and knowledge.&lt;/p&gt;

&lt;p&gt;You can consider PyQt for GUI because it is modern as compared to Tkinter. Documentation may be a downside of PyQT.&lt;/p&gt;

&lt;h3&gt;
  
  
  Email Reader
&lt;/h3&gt;

&lt;p&gt;A simple email reader script which fetches email updates.&lt;/p&gt;

&lt;p&gt;It will be very helpful to check your emails directly from the terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@sdoshi579/to-read-emails-and-download-attachments-in-python-6d7d6b60269" rel="noopener noreferrer"&gt;Here is a tutorial to do the same.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Web Scraper
&lt;/h3&gt;

&lt;p&gt;Web scrapers are quite popular these days to extract data from any website for analysis and data visualisation.&lt;/p&gt;

&lt;p&gt;You can create simple web scrapper that fetch all useful data from any website and save it in any readable document format.&lt;/p&gt;

&lt;p&gt;These data are very useful in data analysis on certain topics.&lt;/p&gt;

&lt;p&gt;There are various libraries like  &lt;a href="https://pypi.org/project/beautifulsoup4/" rel="noopener noreferrer"&gt;BeautifulSoup&lt;/a&gt;,  &lt;a href="https://scrapy.org/" rel="noopener noreferrer"&gt;Scrapy&lt;/a&gt;  and  &lt;a href="https://pypi.org/project/selenium/" rel="noopener noreferrer"&gt;Selenium&lt;/a&gt;  that will do the task.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dictionary Software
&lt;/h3&gt;

&lt;p&gt;We often need to find the meaning of the words, dictionary software will be very useful for this.&lt;/p&gt;

&lt;p&gt;A simple dictionary software (prefer GUI) which takes a word as input and display its meaning.&lt;/p&gt;

&lt;p&gt;You can also add many other features such as idioms, synonyms, antonyms, related words.&lt;/p&gt;

&lt;p&gt;Here are the data files which you will need as a data source.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://github.com/matthewreagan/WebstersEnglishDictionary" rel="noopener noreferrer"&gt;English Dictionary JSON&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://github.com/zaibacu/thesaurus" rel="noopener noreferrer"&gt;Synonyms&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Music Player
&lt;/h3&gt;

&lt;p&gt;PyQt is very useful in making good looking GUI in Python. A simple music player with basic controls but excellent GUI will make the software a popular one.&lt;/p&gt;

&lt;p&gt;There are various operating systems which still lacks a good music player.&lt;/p&gt;

&lt;p&gt;You can create a simple music player with basic features which we often require like play, pause, skip, next/previous, seek. Some other features like volume control and customizations may be hard to implement but you will learn many new things.&lt;/p&gt;

&lt;p&gt;You can take inspiration from online audio players and Android song players for beautiful GUI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chatbot
&lt;/h3&gt;

&lt;p&gt;The list will be empty without a chatbot in the Python side project list.&lt;/p&gt;

&lt;p&gt;They are in high demand right now, several companies use chatbots for general customer support.&lt;/p&gt;

&lt;p&gt;You can use existing chatbots API’s to build a chatbot. Here are some free API’s to build a chatbot easily.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://www.engati.com/" rel="noopener noreferrer"&gt;Engati&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://dialogflow.com/" rel="noopener noreferrer"&gt;Dialogflow&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will need to have deep knowledge of Machine learning and Artificial intelligence to create your chatbot from scratch.&lt;/p&gt;

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

&lt;p&gt;This is the all-time popular side project idea for the web application. It is easy to create one using the Django framework of Python.&lt;/p&gt;

&lt;p&gt;URL shorteners can be an interesting side project idea with Python.&lt;/p&gt;

&lt;p&gt;You just need to create a simple web app which takes user input of any URL and shortens it by replacing the log URL in some unique code.&lt;/p&gt;

&lt;p&gt;URL shorteners are very useful for purposes like monetizing outgoing traffic and advanced user analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Desktop Wallpaper Manager
&lt;/h3&gt;

&lt;p&gt;A software that manages desktop wallpaper.&lt;/p&gt;

&lt;p&gt;Most operating systems have inbuilt wallpapers which becomes boring to use after a certain time.&lt;/p&gt;

&lt;p&gt;You can create a software in Python which gets stunning backgrounds from API’s like  &lt;a href="https://pixabay.com/api/docs/" rel="noopener noreferrer"&gt;Pixabay&lt;/a&gt;  and  &lt;a href="https://www.pexels.com/api/" rel="noopener noreferrer"&gt;Pexels&lt;/a&gt;  and set it desktop wallpaper.&lt;/p&gt;

&lt;p&gt;It will be a popular application if you manage to create a good looking software with useful features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Text editor
&lt;/h3&gt;

&lt;p&gt;There are good text editors in every operating system so it may not very useful for real use.&lt;/p&gt;

&lt;p&gt;But, it is one of the best side project ideas in Python GUI.&lt;/p&gt;

&lt;p&gt;You can create a basic text editor with basic features like open, delete, save, edit, undo, redo and others which you see fit.&lt;/p&gt;

&lt;p&gt;You will learn advanced concepts of Python GUI and data structures and algorithms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clipboard Manager
&lt;/h3&gt;

&lt;p&gt;We all need to access the data stored in clipboard but it is often hard to get old data from the clipboard.&lt;/p&gt;

&lt;p&gt;A simple script that runs in background and stores the historic data of clipboard will be very useful.&lt;/p&gt;

&lt;p&gt;You can either store the data in some file or bind some keys to use the data.&lt;/p&gt;

&lt;p&gt;This is the project I am currently working, and it has a lot to learn.&lt;/p&gt;

&lt;p&gt;If you want to create something more useful, you can also create a GUI based software using PyQT or Tkinter to manage the same.&lt;/p&gt;

&lt;h3&gt;
  
  
  Face and Emotion detector
&lt;/h3&gt;

&lt;p&gt;Face and Emotion detection is both a basic level and advanced level project idea in Python. It depends upon the accuracy and other features that you implement.&lt;/p&gt;

&lt;p&gt;An application that detects face and emotion will be a good side project to practice and implement Machine learning knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;These were some of the best side project ideas in Python.&lt;/p&gt;

&lt;p&gt;There are hundreds of other project ideas in Python and all of them are interesting. There is no limit on the number of projects you can do with Python.&lt;/p&gt;

&lt;p&gt;Python is used everywhere from desktop to web applications. The only limit is your creativity.&lt;/p&gt;

&lt;p&gt;At last, I will only suggest you that instead on cloning and copying already existing products you need to try something different.&lt;/p&gt;

&lt;p&gt;Most of the project ideas in this list are unique.&lt;/p&gt;

&lt;p&gt;You can also clone ideas if you think there is something more to learn, it is totally fine. But being different makes you stand apart of the crowd.&lt;/p&gt;

&lt;p&gt;You can view more &lt;br&gt;
&lt;a href="https://holycoders.com/infographics/" rel="noopener noreferrer"&gt;Infographics on Programming&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>learning</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Infographics: 12 Web development Side Project ideas</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Thu, 09 Apr 2020 11:53:19 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/infographics-12-web-development-side-project-ideas-4j5n</link>
      <guid>https://forem.com/digvijaysingh/infographics-12-web-development-side-project-ideas-4j5n</guid>
      <description>&lt;p&gt;I created two posts on best web development side project ideas and got an amazing response.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://holycoders.com/full-stack-web-development-coding-project-ideas/" rel="noopener noreferrer"&gt;Web development Side Project Ideas Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://dev.to/digvijaysingh/best-side-project-ideas-for-web-developers-1ghe"&gt;Web development Side Project ideas Part 2 on dev.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Texts are boring and anyone can easily forget them so I decided to create a visual list of web development project ideas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Web development Side Projects Infographics
&lt;/h2&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%2Fuser-images.githubusercontent.com%2F35258289%2F78891310-f00ee080-7a84-11ea-9205-76c6ec06930f.png" 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%2Fuser-images.githubusercontent.com%2F35258289%2F78891310-f00ee080-7a84-11ea-9205-76c6ec06930f.png" alt="Best web development side project ideas infographics"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post first appeared on &lt;a href="https://holycoders.com/infographics-web-development-side-projects/" rel="noopener noreferrer"&gt;HolyCoders&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>10 Python Interview Questions and Answers for Freshers
</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Wed, 25 Mar 2020 07:46:18 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/10-python-interview-questions-and-answers-for-freshers-1jj2</link>
      <guid>https://forem.com/digvijaysingh/10-python-interview-questions-and-answers-for-freshers-1jj2</guid>
      <description>&lt;p&gt;Python is growing to be the most popular language because of simplicity. It is considered as the best programming language to start if you don't have a computer science background. There are lots of Jobs for python developers all around the world with an average salary of $79k (according to &lt;a href="https://www.payscale.com/research/US/Job=Python_Developer/Salary"&gt;payscale&lt;/a&gt;). Here is the list of best Python interview questions and answers for freshers that can be helpful to crack Python job interview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python Interview Questions
&lt;/h2&gt;

&lt;p&gt;Most of the questions in the list are based on my personal experience of Python programming job interviews during the college recruitment process, and also some other well-known questions that are asked in almost all programming interviews.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the difference between compiler and Interpreter?
&lt;/h3&gt;

&lt;p&gt;Both Compiler and interpreter do the same job of converting high-level language into low-level language.&lt;br&gt;
The compiler converts high-level language to machine understandable code and then gives the output.&lt;br&gt;
Interpreter on the other hand directly gives the output of the statement.&lt;br&gt;
One more difference which is general is that compiler execute the whole program at once and Interpreter executes program line by line.&lt;br&gt;
This is the reason why the program executes successfully until any error occurs in Python.&lt;br&gt;
&lt;a href="https://www.guru99.com/difference-compiler-vs-interpreter.html"&gt;Here&lt;/a&gt; is a detailed comparison between the two.&lt;/p&gt;
&lt;h3&gt;
  
  
  Difference between Python and Java
&lt;/h3&gt;

&lt;p&gt;This is the question of general discussion and often asked in advanced Python programming interview. The interviewer expects you to know about other programming languages.&lt;br&gt;
Python is Interpreted Language while Java is compiled language.&lt;br&gt;
Python is Very Easy to learn as compared to java.&lt;br&gt;
Multiple inheritance is supported by Python, but in Java, multiple inheritance is done through the interface.&lt;br&gt;
Python is mostly Used Data Analytics, Machine learning, software and web development and Java in software development and web development&lt;/p&gt;
&lt;h3&gt;
  
  
  What is list comprehension in Python?
&lt;/h3&gt;

&lt;p&gt;List comprehension in Python is a way to write logic inside any list. It is very helpful in writing short and concise code.&lt;br&gt;
Here is an example to print the square of numbers from 1 to 10 using list comprehension.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print([i**2 for i in range(1, 11)])
#Output = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Not only limited to this, but it can also handle nested if-else conditions. Here is an example to check even and odd numbers from 1 to 10.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(["{} is even".format(i) if(i%2==0) else "{} It is odd".format(i) for i in range(1, 11)])
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;List comprehension is the way to write more pythonic code and you must go for it, just remember don't create very complex nested list comprehension because other developers will find it hard to read.&lt;br&gt;
Here is a detailed guide on &lt;a href="https://holycoders.com/python-list-comprehension/"&gt;List comprehension in Python&lt;/a&gt; which can be very helpful in some cases.&lt;/p&gt;
&lt;h3&gt;
  
  
  Difference between Python list and array of C language.
&lt;/h3&gt;

&lt;p&gt;Python list is more flexible and useful as compared to the array data structure.&lt;br&gt;
The list has dynamic size while array has fixed size. It means the list size grows and shrinks internally we do not need to do anything.&lt;br&gt;
The array is more efficient if we know how many elements to store while List can hold useless memory.&lt;br&gt;
Python list is an advanced data structure in which we can write nested logic like list comprehension. There is nothing like this in an array.&lt;/p&gt;
&lt;h3&gt;
  
  
  Difference between list and tuple in Python
&lt;/h3&gt;

&lt;p&gt;List and tuple are very helpful data structures in Python but are often confusing for beginners.&lt;br&gt;
The major difference between list and tuple is that list is mutable (items can be changed) and tuple is immutable (cannot be changed after it is created).&lt;/p&gt;
&lt;h3&gt;
  
  
  What is the use of Map function in Python?
&lt;/h3&gt;

&lt;p&gt;The map function takes two arguments, the first one is a function and the other is iterable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;map(function, iterable)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;It takes each element of iterable and passes it to the function, the returned values are stored and returned in the form of a map object.&lt;br&gt;
Here is an example that convert string elements to integer type.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int_values = map(int, ["1", "2", "3"])
print(list(int_values)) #Convert map object to list type
#Output = [1, 2, 3]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  What are Mutable and Immutable objects in Python?
&lt;/h3&gt;

&lt;p&gt;Mutable objects are those whose values can be changed like a list. Immutable objects are those objects which cannot be changed once they are created, they are read-only, example tuple.&lt;br&gt;
&lt;a href="https://stackoverflow.com/questions/9755990/why-can-tuples-contain-mutable-items"&gt;Tuples can also contain mutable objects like list then how tuples are immutable.&lt;/a&gt;&lt;br&gt;
Thanks to &lt;a href="https://dev.to/nikolaias"&gt;Nik Gil&lt;/a&gt; for this suggestion.&lt;/p&gt;
&lt;h3&gt;
  
  
  Write a Python program to sum all dictionary values.
&lt;/h3&gt;

&lt;p&gt;Unfortunately, I was unable to answer this question because I haven't faced a situation to sum values of a dictionary.&lt;br&gt;
Here is the solution of the question:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;num_dict = {'a': 1, 'b': 2, 'c': 3}
print(sum(num_dict.values()))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;values&lt;/code&gt; method of any dictionary object return iterable of type &lt;code&gt;dict_values&lt;/code&gt;. The sum function takes any iterable and returns its total sum.&lt;br&gt;
An in-depth explanation of the code can be found &lt;a href="https://holycoders.com/python-program-to-sum-all-values-in-dictionary/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Check Sexy Prime numbers in Python
&lt;/h3&gt;

&lt;p&gt;Sexy prime numbers are prime numbers which differ by 6. Also defined as a number &lt;code&gt;n&lt;/code&gt; is sexy Prime if &lt;code&gt;n&lt;/code&gt; is prime and &lt;code&gt;n+6&lt;/code&gt; is also prime number.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def is_prime(num):
    for i in range(2, int(num**0.5)+1):
        if(num%i==0):
            return False
        else:
            return True

if __name__ == "__main__":
    num = int(input("Enter any number to check sexy prime: "))
    if(is_prime(num) and is_prime(num+6)):
        print("{} is sexy Prime".format(num))
    else:
        print("{} is not sexy prime".format(num))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  What is the algorithm behind Python sort function?
&lt;/h3&gt;

&lt;p&gt;Thanks to my curiosity, I was randomly searching some interesting facts about python and find that Python uses &lt;a href="https://en.wikipedia.org/wiki/Timsort"&gt;Timsort&lt;/a&gt; in its sort function. It was developed by Tim Peters in 2002 to use in Python.&lt;/p&gt;

&lt;p&gt;You may also like &lt;a href="https://holycoders.com/python-print-function/"&gt;in-depth explanation of Python print function&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Namecheap is Offering Free domain name with Hosting</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Mon, 24 Feb 2020 20:40:48 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/get-free-domain-name-and-hosting-at-namecheap-4am0</link>
      <guid>https://forem.com/digvijaysingh/get-free-domain-name-and-hosting-at-namecheap-4am0</guid>
      <description>&lt;p&gt;Namecheap which is considered as the best domain registrar is offering free domain name (.website domain) for a year and one month of &lt;a href="https://namecheap.pxf.io/2NdJ0"&gt;free shared hosting to its users&lt;/a&gt;.&lt;br&gt;
It is a wonderful opportunity to grab a free domain name with free hosting for testing purpose or hosting live projects. You don't need to miss this golden chance to get a free domain and hosting setup.&lt;br&gt;
Namecheap has already offered EasyWP managed WordPress hosting trial at a negligible price but this time they are offering shared hosting completely free. &lt;br&gt;
The websites with .website domain name are not that popular but still useful for testing projects.&lt;br&gt;
I have used Namecheap hosting for a year and there was no problem with that.&lt;br&gt;
You can also read more about their managed WordPress hosting &lt;a href="https://holycoders.com/easywp-review-best-managed-wordpress-hosting/"&gt;here&lt;/a&gt; which is based on my personal experience.&lt;/p&gt;

&lt;p&gt;You must check this offer if you want to explore and learn about WordPress and SEO.&lt;br&gt;
You can follow me to get more posts like this.&lt;/p&gt;

&lt;p&gt;This post contains affiliate links by which I may get some commission.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>offers</category>
      <category>wordpress</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Best Side Project Ideas for Web developers</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Tue, 18 Feb 2020 15:55:52 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/best-side-project-ideas-for-web-developers-1ghe</link>
      <guid>https://forem.com/digvijaysingh/best-side-project-ideas-for-web-developers-1ghe</guid>
      <description>&lt;p&gt;Side projects are one of the best ways to learn new things in web development. But it is often confusing to choose the best project to invest time which will help us to learn different things and can also be profitable.&lt;br&gt;
This part 2 of my previous post of &lt;a href="https://holycoders.com/full-stack-web-development-coding-project-ideas/"&gt;full Stack Web development Coding Project ideas&lt;/a&gt; &lt;br&gt;
Here are some of the best side projects which are helpful to learn new things and also profitable if you can SEO optimize them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Budget and Expense Tracker
&lt;/h2&gt;

&lt;p&gt;This will be a great beginner level side project for web developers. Almost all of us need to budget and track our expenses.&lt;br&gt;
It is generally a frontend project but you can extend it with user management feature that save the users data on the server. There are many other functionalities which you can add like a beautiful dashboard, import and export data, notifications and other which you seem fit.&lt;br&gt;
You will learn a lot of new things like user management, advanced javascript and dealing with complex operations.&lt;br&gt;
UI and UX are most important in these projects as they will make your project stand apart from the crowd.&lt;/p&gt;

&lt;h2&gt;
  
  
  Custom Audio and Video Player
&lt;/h2&gt;

&lt;p&gt;The native audio and video player in HTML are not that interactive. To overcome this problem you can create your own audio and video player with javascript.&lt;br&gt;
Javascript has audio and video object which you can use to create and manage audio and video respectively. Creativity is the limit of features which you can add to these.&lt;br&gt;
There are &lt;a href="https://blog.bitsrc.io/5-open-source-html5-video-players-for-2018-38fa85932afb"&gt;many custom video players&lt;/a&gt; which you can use for inspirations. Very few custom Audio players are on the web so this is a great opportunity to create something useful in your side project.&lt;br&gt;
You will learn many things with this project such as audio and video management with javascript and advanced styling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Desktop Wallpaper Application
&lt;/h2&gt;

&lt;p&gt;Web technologies are expanding in different fields including desktop development. There are many frameworks to develop desktop applications, &lt;a href="https://www.electronjs.org/"&gt;Electron.js&lt;/a&gt; is the most popular among them.&lt;br&gt;
You can build a wallpaper application for different platforms using Electron.js. For wallpaper images, you can use Unsplash and Pixabay API.&lt;br&gt;
Wallpaper applications are generally popular on mobile devices and there are tons of them. But in case of desktop, there are very few wallpaper applications.&lt;br&gt;
It is one of the best projects for web developers because there are several things to learn here. You will learn about the development of software applications for desktop, API's, working with node and npm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Javascript and CSS Minifier
&lt;/h2&gt;

&lt;p&gt;Javascript and stylesheet size really matters on the web because it affects the loading time of web pages.&lt;br&gt;
One way to reduce the size of Javascript and CSS files is to minify them. Minifying is the process of removing any redundant or unnecessary data without affecting the performance. It generally includes the removal of comments, whitespace and renaming variable names (in case of javascript) to reduce size. Comments are removed because these files are not for human reading but only for browsers.&lt;br&gt;
You can create your own algorithm to minify Javascript and CSS files if you are an advanced programmer or just use any npm package to do this heavy task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Online FTP Client
&lt;/h2&gt;

&lt;p&gt;This may be a hard side project for web developers but you will learn a lot of things which be super useful in your future career.&lt;br&gt;
You can create a simple FTP client to browse files using FTP or any website using its credentials.&lt;br&gt;
The FTP client has functionality like create, update, edit and delete files and folders. It is not necessary to include all the features as it will take a lot of time, but you add some important ones which you seem fit.&lt;br&gt;
This will be a great project for your portfolio also which will further help you to get a better job. &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;These are some of the ideas to start coding and create something useful. Some web developers use to clone already existing websites and services for their side projects which may be good for learning purpose but we don't need to reinvent the wheel.&lt;br&gt;
If there is an already existing service that lacks some functionality then that would be an opportunity to create something useful.&lt;br&gt;
You must choose some challenging projects instead of old TODO type projects as there is no value of TODO type projects in the portfolio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: Infographics of 12 best web development side project ideas
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1c2s3ijM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/35258289/78891310-f00ee080-7a84-11ea-9205-76c6ec06930f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1c2s3ijM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/35258289/78891310-f00ee080-7a84-11ea-9205-76c6ec06930f.png" alt="Best web development side project ideas infographics"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image by &lt;a href="https://holycoders.com/infographics"&gt;HolyCoders Infographics&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have more ideas, feel free to add them in comments. I will add them in the next post if they seem fit.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>Check Palindrome in Python Program Easy Way</title>
      <dc:creator>Digvijay Singh</dc:creator>
      <pubDate>Sat, 11 Jan 2020 08:41:58 +0000</pubDate>
      <link>https://forem.com/digvijaysingh/check-palindrome-in-python-program-easy-way-5dpb</link>
      <guid>https://forem.com/digvijaysingh/check-palindrome-in-python-program-easy-way-5dpb</guid>
      <description>&lt;p&gt;Python is one of the easiest languages which gained a lot of popularity. The main reason why it is preferred is its simplicity and tons of library. Writing programs in other programs to do certain things is lengthy but in python, its a matter of few lines of code (maybe one line in many cases). To check palindrome in python there is just one line of logic here.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = input()
print("It is palindrome" if a==a[::-1] else "It is NOT Palindrome")
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;See, one line of input and one line of logical output. It is also called the pythonic way of writing code.&lt;br&gt;
To make it simple, I will break it down in parts. The above code was a compressed form of if-else block in python combined with print.&lt;br&gt;
It may also be written as:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = input()
if(a==a[::-1]):
    print("It is palindrome.")
else:
    print("It is not palindrome")
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In this code the line &lt;code&gt;a==a[::-1]&lt;/code&gt;checks if the the string is equal to its reverse string (a[::-1] reverse the string).&lt;br&gt;
A simple code in a simple way.&lt;br&gt;
Python has many internal libraries that make the problem solving very easy like you can &lt;a href="https://holycoders.com/find-square-root-of-number-python/"&gt;find the square root of any number with python in multiple ways&lt;/a&gt; without any issues.&lt;br&gt;
If you are started in programming then here is &lt;a href="https://holycoders.com/how-to-learn-coding-online/"&gt;roadmap to learn programming online for free&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>palindrome</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
