<?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: Hardik Chopra</title>
    <description>The latest articles on DEV Community by Hardik Chopra (@hardikchopra).</description>
    <link>https://dev.to/hardikchopra</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%2F539145%2F8ed59e9a-ee6b-485a-abba-dc930e89422c.png</url>
      <title>DEV Community: Hardik Chopra</title>
      <link>https://dev.to/hardikchopra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hardikchopra"/>
    <language>en</language>
    <item>
      <title>Open Source Backend Server - AppWrite 🔥</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Sun, 24 Oct 2021 06:03:39 +0000</pubDate>
      <link>https://dev.to/hardikchopra/open-source-backend-server-appwrite-48b9</link>
      <guid>https://dev.to/hardikchopra/open-source-backend-server-appwrite-48b9</guid>
      <description>&lt;h3&gt;
  
  
  Contents
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;What is Appwrite?&lt;/li&gt;
&lt;li&gt;Amazing Features&lt;/li&gt;
&lt;li&gt;Why Appwrite is better?&lt;/li&gt;
&lt;li&gt;Installation&lt;/li&gt;
&lt;li&gt;Hands On&lt;/li&gt;
&lt;li&gt;
Bonus🔥&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;💡 What is Appwrite?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://appwrite.io/" rel="noopener noreferrer"&gt;Appwrite&lt;/a&gt; is an open-source backend server for web and mobile applications. It is similar to Firebase, AWS Amplify, and Supabase in terms of features and APIs, including Authentication (User management), Database Management, Storage, and Cloud Functions.&lt;br&gt;
It is a self-hosted solution that provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq2o26mk4wwj2nv6otu4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq2o26mk4wwj2nv6otu4f.png" alt="Home Page" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;✨ Amazing Features!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It can run on any operating system and the Console User Interface provides you with a great variety of services you can use with your project!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt; -Store, query and manage access control to your app documents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt; - Upload, download and preview your app and users files and media&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Users&lt;/strong&gt; - Authenticate, confirm and manage your users using multiple signin methods&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GEO &amp;amp; Localization&lt;/strong&gt; - Detect your users location, locale and fetch GEO related data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Functions&lt;/strong&gt; - Run your backend code in a secure and isolated environment to customize your app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Console&lt;/strong&gt; - Track your backend API usage and manage your project resources from a modern UI&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;..... and others including &lt;strong&gt;privacy&lt;/strong&gt;, &lt;strong&gt;security&lt;/strong&gt; and many more.&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;🤔 Why Appwrite is better?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No Cost&lt;/strong&gt;&lt;br&gt;
Appwrite is open-source, so we can expect everything for free here. Others options by companies like Microsoft, Amazon etc. can get expensive as you scale your product up. Appwrite has an upper edge here.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Usage Statistics&lt;/strong&gt;&lt;br&gt;
Using the usage statistics provided by AppWrite, you can easily get to know which projects -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;take up the most space&lt;/li&gt;
&lt;li&gt;use more CPU time,  You can even see &lt;/li&gt;
&lt;li&gt;the bandwidth usage on each project separately
..... and many more stats.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API support&lt;/strong&gt;&lt;br&gt;
Due to the amount of APIs that Appwrite provides to a user, building projects is much easier with having to do difficult task of bundling API servers together.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Task Manager&lt;/strong&gt;&lt;br&gt;
Using Appwrite, you can schedule an automatic function execution using cron syntax. This function can do anything from sending newsletter emails to buying you a pizza. No limitations at all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Community Support&lt;/strong&gt;&lt;br&gt;
AppWrite has a great community support that is ready to help you all the time. If you have any doubt or query, you can have a chat in their &lt;a href="https://appwrite.io/discord" rel="noopener noreferrer"&gt;discord server&lt;/a&gt;, and you will get your query resolved faster than any other forums.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  📩 Installation
&lt;/h3&gt;

&lt;p&gt;The easiest way to start running your Appwrite server is by running our &lt;strong&gt;Docker&lt;/strong&gt; installer tool from your terminal. &lt;br&gt;
Before running the installation command, make sure you have &lt;a href="https://www.docker.com/products/docker-desktop" rel="noopener noreferrer"&gt;Docker CLI&lt;/a&gt; installed on your host machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Unix&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--volume&lt;/span&gt; /var/run/docker.sock:/var/run/docker.sock &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--volume&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;/appwrite:/usr/src/code/appwrite:rw &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--entrypoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"install"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    appwrite/appwrite:0.11.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;For Windows&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;--rm&lt;/span&gt; ^
    &lt;span class="nt"&gt;--volume&lt;/span&gt; //var/run/docker.sock:/var/run/docker.sock ^
    &lt;span class="nt"&gt;--volume&lt;/span&gt; &lt;span class="s2"&gt;"%cd%"&lt;/span&gt;/appwrite:/usr/src/code/appwrite:rw ^
    &lt;span class="nt"&gt;--entrypoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"install"&lt;/span&gt; ^
    appwrite/appwrite:0.11.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hyper-V and Containers Windows features must be enabled to run Appwrite on Windows with Docker. &lt;/li&gt;
&lt;li&gt;If you don't have these features available, you can install &lt;a href="https://docs.docker.com/toolbox/toolbox_install_windows/" rel="noopener noreferrer"&gt;Docker Toolbox&lt;/a&gt; that uses Virtualbox to run Appwrite on a Virtual Machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  💥 Lets Try it Out
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Appwrite&lt;/strong&gt; can be used for Web, Apple, Flutter, Android etc. Here we will try to understand how to use it for Web.&lt;/p&gt;

&lt;p&gt;Appwrite is a development platform providing you easy yet powerful API and management console to get your next project up and running quickly.&lt;/p&gt;

&lt;p&gt;We will learn how ca you start using Appwrite products and build your next project. Before starting, make sure you have followed the Appwrite installation, and you have an Appwrite server instance up and running on your host machine or server.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 1 : Create Your First Appwrite Project
&lt;/h4&gt;

&lt;p&gt;Go to your new Appwrite console and once inside click the&lt;br&gt;
'Create Project' button on your console homepage. Choose a name for your project and click create to get started.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplzm143vz4nib23lmb2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplzm143vz4nib23lmb2h.png" alt="Home Page" width="800" height="440"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h4&gt;
  
  
  Step 2 : Add Your Web Platform
&lt;/h4&gt;

&lt;p&gt;For you to init your SDK and interact with Appwrite services you need to add a web platform to your project. To add a new platform, go to your Appwrite console, choose the project you created in the step before and click the 'Add Platform' button.&lt;/p&gt;

&lt;p&gt;From the options, choose to add a web platform and add your client app hostname. By adding your hostname to your project platform you are allowing cross-domain communication between your project and the Appwrite API.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 3 : Get Appwrite Web SDK
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;NPM&lt;/strong&gt;&lt;br&gt;
Use NPM (node package manager) from your command line to add Appwrite SDK to your project.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;appwrite
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If you're using a bundler (like Browserify or webpack), you can import the Appwrite module when you need it:&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Appwrite&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;appwrite&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;strong&gt;CDN&lt;/strong&gt;&lt;br&gt;
To install with a CDN (content delivery network) add the following scripts to the bottom of your tag, but before you use any Appwrite services:&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;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/appwrite@4.0.4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Init your SDK&lt;/strong&gt;&lt;br&gt;
Initialize your SDK code with your project ID which can be found in your project settings page.&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;// Init your Web SDK&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;appwrite&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Appwrite&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nx"&gt;appwrite&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setEndpoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://localhost/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Your Appwrite Endpoint&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setProject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;455x34dfkj&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Your project ID&lt;/span&gt;
&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;

&lt;h4&gt;
  
  
  Step 4 : Make Your First Request
&lt;/h4&gt;

&lt;p&gt;Once your SDK object is set, access any of the Appwrite services and choose any request to send. Full documentation for any service method you would like to use can be found in your SDK documentation or in the API References section.&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;// Register User&lt;/span&gt;
&lt;span class="nx"&gt;appwrite&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;account&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;me@example.com&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;password&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;Jane Doe&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="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&amp;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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&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;
  
  
  Step 5 : Listen to Changes
&lt;/h4&gt;

&lt;p&gt;If you want to listen to changes in realtime from Appwrite, you can subscribe to a variety of channels and receive updates within milliseconds. Full documentation for Realtime can be found here.&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;// Subscribe to files channel&lt;/span&gt;
&lt;span class="nx"&gt;appwrite&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;subscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;files&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;response&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;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;storage.files.create&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="c1"&gt;// Log when a new file is uploaded&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&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;
  
  
  Lets put everything together
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Init your Web SDK&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;appwrite&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Appwrite&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nx"&gt;appwrite&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setEndpoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://localhost/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Your Appwrite Endpoint&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setProject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;455x34dfkj&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Your project ID&lt;/span&gt;

&lt;span class="c1"&gt;// Register User&lt;/span&gt;
&lt;span class="nx"&gt;appwrite&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;account&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;me@example.com&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;password&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;Jane Doe&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="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&amp;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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Subscribe to files channel&lt;/span&gt;
&lt;span class="nx"&gt;appwrite&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;subscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;files&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;response&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;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;storage.files.create&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="c1"&gt;// Log when a new file is uploaded&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&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;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  Bonus 🔥
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Appwrite&lt;/th&gt;
&lt;th&gt;🔗&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Github Repo&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/appwrite/appwrite" rel="noopener noreferrer"&gt;Visit Repo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite.io/docs" rel="noopener noreferrer"&gt;Visit Docs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discord&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite.io/discord" rel="noopener noreferrer"&gt;Join Sever&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 Days of Appwrite&lt;/td&gt;
&lt;td&gt;&lt;a href="https://30days.appwrite.io/" rel="noopener noreferrer"&gt;Lets Start&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Demos&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Demo&lt;/th&gt;
&lt;th&gt;🔗&lt;/th&gt;
&lt;th&gt;🔗&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Todo App with React JS&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/appwrite/todo-with-react" rel="noopener noreferrer"&gt;Visit Repo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite-todo-with-react.vercel.app/" rel="noopener noreferrer"&gt;See Live&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Todo App with Vue JS&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/appwrite/todo-with-vue" rel="noopener noreferrer"&gt;Visit Repo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite-todo-with-vue.vercel.app/" rel="noopener noreferrer"&gt;See Live&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Todo App with Angular&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/appwrite/todo-with-angular" rel="noopener noreferrer"&gt;Visit Repo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite-todo-with-angular.vercel.app/" rel="noopener noreferrer"&gt;See Live&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Todo App with Svelte&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/appwrite/todo-with-svelte" rel="noopener noreferrer"&gt;Visit Repo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://appwrite-todo-with-svelte.vercel.app/" rel="noopener noreferrer"&gt;See Live&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/appwrite" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2225%2F81202665-3201-4ceb-b247-f8c5feae746f.png" alt="Appwrite" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F119691%2F5be2bcad-e1ee-4ef8-928b-d71f4e355af6.png" alt="" width="800" height="800"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/appwrite/announcing-appwrite-0-9-the-open-source-firebase-alternative-53ho" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Announcing Appwrite 0.9: The open source Firebase alternative&lt;/h2&gt;
      &lt;h3&gt;Christy Jacob for Appwrite ・ Jul 7 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#flutter&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#android&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#kotlin&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;




&lt;div class="ltag__link"&gt;
  &lt;a href="/daryllukas" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F228745%2F62b70520-19aa-48f0-a6bb-2bc1a981bafc.jpg" alt="daryllukas"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/daryllukas/authentication-exploring-appwrite-io-with-react-series-1iec" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Authentication - Exploring Appwrite.io with React Series&lt;/h2&gt;
      &lt;h3&gt;Daryl Lukas ・ Jun 26 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#100daysofcode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#appwrite&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;div class="ltag__link"&gt;
  &lt;a href="/appwrite" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2225%2F81202665-3201-4ceb-b247-f8c5feae746f.png" alt="Appwrite" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F551623%2Fd6834701-4563-4984-8f1d-7c6735acd3b6.jpg" alt="" width="400" height="400"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/appwrite/magic-url-authentication-with-flutter-appwrite-349g" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Magic URL authentication with Flutter + Appwrite&lt;/h2&gt;
      &lt;h3&gt;Damodar Lohani for Appwrite ・ Sep 8 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#flutter&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#news&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#serverless&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;





&lt;p&gt;&lt;em&gt;If you got to learn something new and useful show some love by giving this post a ❤️&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful for you, &lt;strong&gt;save this post&lt;/strong&gt; and share it with your programming buddies 😃&lt;/p&gt;

&lt;p&gt;Have you tried Appwrite? Share your experience in the comment section! 💬&lt;/p&gt;

</description>
      <category>appwrite</category>
      <category>webdev</category>
      <category>backend</category>
      <category>server</category>
    </item>
    <item>
      <title>Future of DApps?</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 21 Jan 2021 14:50:51 +0000</pubDate>
      <link>https://dev.to/hardikchopra/future-of-dapps-17g0</link>
      <guid>https://dev.to/hardikchopra/future-of-dapps-17g0</guid>
      <description>&lt;p&gt;Recently when I was reading an article, I saw the term &lt;strong&gt;DApps&lt;/strong&gt; for the first time. For the ones who are also new to this term, let's have a brief introduction.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⚡ What are DApps?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Dapps are decentralized apps. They are like normal apps and offer similar functions, but the key difference is they are run on a peer-to-peer network, such as a blockchain ⛓️&lt;br&gt;
That means no person or entity has control of the network.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;🔑 Some DApps Alternatives&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While researching about DApps I found some decentralized alternatives to popular apps that you must check out.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Alternative For&lt;/th&gt;
&lt;th&gt;DApp&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Facebook&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.minds.com/" rel="noopener noreferrer"&gt;MINDS&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Youtube&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;&lt;a href="https://d.tube/" rel="noopener noreferrer"&gt;DTUBE&lt;/a&gt;&lt;/strong&gt;  / &lt;strong&gt;&lt;a href="https://lbry.com/" rel="noopener noreferrer"&gt;LBRY&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Whatsapp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.signal.org/" rel="noopener noreferrer"&gt;SIGNAL&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reddit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://getaether.net/" rel="noopener noreferrer"&gt;AETHER&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dribble&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://creary.net/" rel="noopener noreferrer"&gt;CREARY&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Medium&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.publish0x.com/" rel="noopener noreferrer"&gt;PUBLISH0x&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Twitter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://peepeth.com/welcome" rel="noopener noreferrer"&gt;PEEPETH&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Instagram&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://karmaapp.io/index.html" rel="noopener noreferrer"&gt;KARMA&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Gmail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://protonmail.com/" rel="noopener noreferrer"&gt;PROTONMAIL&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;DApps have many pros and cons, lets see some of them ➡️&lt;/p&gt;

&lt;h3&gt;
  
  
  PROS ➕
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Censorship-resistant&lt;/strong&gt; : With no single point of failure, it’s very difficult for governments or powerful individuals to control the network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No downtime&lt;/strong&gt; : Relying on a peer-to-peer system ensures the Dapps continue to work even if individual computers or parts of the -network go down.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Blockchain-based&lt;/strong&gt; : As they are made of smart contracts, they can easily integrate cryptocurrencies into the basic&lt;br&gt;
functionalities of the Dapp.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open-source&lt;/strong&gt; : This encourages the widespread development of the dapp ecosystem enabling developers to build better dapps with more useful or interesting functions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CONS ➖
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hacks&lt;/strong&gt; : As many are run on open-source smart contracts, it allows hackers the rare opportunity to probe the networks looking for weaknesses. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usability&lt;/strong&gt; : A lot of Dapps have poor user-interfaces, which have put a lot of users off.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Users&lt;/strong&gt; : The more users a Dapp has, the more effective the network is at delivering those services. This is often referred to as the network effect. Dapp's struggle from low user numbers, which can make them less interactive. It can also make them less secure, as a Dapp's security can often rely on how many users it has.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Question ⚠️&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you have worked with Dapps or have any knowledge about the same then &lt;strong&gt;give your reviews on being introduced years ago, why it has not been so popularized? and what do you think will be the future of Dapps? 💬 ⬇️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Have you tried these cool CSS Games?</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 14 Jan 2021 15:05:03 +0000</pubDate>
      <link>https://dev.to/hardikchopra/have-you-tried-these-cool-css-games-33gi</link>
      <guid>https://dev.to/hardikchopra/have-you-tried-these-cool-css-games-33gi</guid>
      <description>&lt;p&gt;There are many topics in CSS which require practice to master.&lt;br&gt;
Here I will be sharing some of the CSS games which I found worth trying if you want to make a strong grip on CSS.&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;1. CSS Battle&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Compete&lt;/strong&gt; with thousands of people by playing different CSS based games and completing various challenges.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzu6n40ftgde25ohhyz7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzu6n40ftgde25ohhyz7p.png" alt="Alt Text" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://cssbattle.dev/" rel="noopener noreferrer"&gt;Click Here to Play&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;2. Flexbox Froggy&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Guide Froggy to the lilypad using &lt;strong&gt;Flexbox&lt;/strong&gt; properties. This game is fantastic to visualize flexbox properties as you practice them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2sim8qkvtv50st8mij0g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2sim8qkvtv50st8mij0g.png" alt="Alt Text" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://flexboxfroggy.com/" rel="noopener noreferrer"&gt;Click Here to Play&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;3. CSS Diner&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Have you ever felt confused using CSS Selectors? Well, this game is for you. Write different &lt;strong&gt;CSS Selectors&lt;/strong&gt; to place different objects as mentioned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjgjpnrhhv9uda4dittdh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjgjpnrhhv9uda4dittdh.jpg" alt="Alt Text" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://css-diner.netlify.app/" rel="noopener noreferrer"&gt;Click Here to Play&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;4. Grid Garden&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;CSS Grids is a must to learn and it gives a solution to the menace of aligning the content. &lt;br&gt;
Gird Garden is possibly the best way to get a good grip on &lt;strong&gt;CSS Grid&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7oyjr1q2p2e1n7mdvxmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7oyjr1q2p2e1n7mdvxmb.png" alt="Alt Text" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://cssgridgarden.com/" rel="noopener noreferrer"&gt;Click Here to Play&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;5. Flexbox Defense&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Yet another way to practice &lt;strong&gt;flex-box&lt;/strong&gt; properties.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F628lkrs5sucgneqst1js.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F628lkrs5sucgneqst1js.jpg" alt="Alt Text" width="720" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="http://www.flexboxdefense.com/" rel="noopener noreferrer"&gt;Click Here to Play&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;p&gt;&lt;em&gt;If you got to learn something new and useful show some love by giving this post a ❤️&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you also know other cool games then do share them in the comment section below ⬇️&lt;/p&gt;

&lt;p&gt;If you like this article then do check out my other ones 😎&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;div class="ltag__link__content"&gt;
    &lt;div class="missing"&gt;
      &lt;h2&gt;Article No Longer Available&lt;/h2&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag__link"&gt;
  &lt;div class="ltag__link__content"&gt;
    &lt;div class="missing"&gt;
      &lt;h2&gt;Article No Longer Available&lt;/h2&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag__link"&gt;
  &lt;div class="ltag__link__content"&gt;
    &lt;div class="missing"&gt;
      &lt;h2&gt;Article No Longer Available&lt;/h2&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>css</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Go in 2 minutes</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 07 Jan 2021 07:19:16 +0000</pubDate>
      <link>https://dev.to/hardikchopra/introduction-to-go-374o</link>
      <guid>https://dev.to/hardikchopra/introduction-to-go-374o</guid>
      <description>&lt;p&gt;Golang or Go was developed at Google as an open-source programming language and is one of the most trending programming languages among developers. Used by Google, Netflix, Twitter, and millions of users let's take a look at it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Go?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Golang is a &lt;strong&gt;procedural and statically typed programming language&lt;/strong&gt;. The goal was to create a language, loosely based on the syntax of C. It can be used in place of Python, Node.js, or PHP in the backend. &lt;/p&gt;

&lt;p&gt;Go is not a free-form language, its conventions specify many formatting details, including how &lt;em&gt;indentation and spaces&lt;/em&gt; are to be used. The language requires that none of its declared variables or imported libraries are unused, and all return statements are compulsory.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Why Go?&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go is a general-purpose language so it can be used for almost anything.&lt;/li&gt;
&lt;li&gt;Mostly for &lt;strong&gt;scalable&lt;/strong&gt; and &lt;strong&gt;efficient&lt;/strong&gt; (web) services.&lt;/li&gt;
&lt;li&gt;Another area is &lt;strong&gt;cloud applications&lt;/strong&gt;. Google has high hopes for it becoming the defacto cloud language&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Some features of Go&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One defining feature of Go is &lt;strong&gt;concurrency&lt;/strong&gt;, which means that multiple processes can be executed at the same time, which makes Go an efficient language.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It’s compilation time is very &lt;strong&gt;fast&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It supports the patterns which adapt to the surrounding environment similar to dynamic languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It supports the &lt;strong&gt;interfaces&lt;/strong&gt; and &lt;strong&gt;embedded types&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It doesn’t require any external dependencies for the production of the statically linked native binaries.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Statistics&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here are some stats from &lt;em&gt;Stack Overflow 2020 Developer Survey&lt;/em&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;From last year, Go has jumped from 10th position to 5th position, making it in the list of &lt;strong&gt;Top 5 most loved programming language&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn2po1wnon8kuajcg7c91.png" alt="Alt Text" width="800" height="543"&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;Go is also one of the &lt;strong&gt;Top 3 languages associated with the highest salaries globally&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbferwhncgvpg6tg05unm.png" alt="Alt Text" width="800" height="605"&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Bonus 🔥&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;So up to this point, we have seen and understand what is Go and why to use go, now let's see how to write Go. It is a beginner's guide so we will just write code for everyone's favorite, Hello World!&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;INPUT&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;package&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="s"&gt;"fmt"&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello World !"&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;
  
  
  &lt;strong&gt;OUTPUT&lt;/strong&gt;
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Hello World !&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;If you got to learn something new and useful show some love by giving this post a ❤️&lt;/p&gt;

&lt;p&gt;If you have read so far, save this post and share it with your programming buddies 😃&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Resources 👑&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/digitalocean" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F175%2F369f1227-0eac-4a88-8d3c-08851bf0b117.png" alt="DigitalOcean" width="180" height="180"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F64516%2Fa0c9989b-6d18-46c7-bc66-4c2c1580534e.jpg" alt="" width="400" height="400"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/digitalocean/how-to-code-in-go-32p0" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to Code in Go (Tutorial Series)&lt;/h2&gt;
      &lt;h3&gt;DigitalOcean for DigitalOcean ・ Dec 30 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#go&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#series&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;div class="ltag__link"&gt;
  &lt;a href="/pluralsight" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F953%2Fb41d3128-3536-43b5-9fe4-92393b3eea45.jpg" alt="Pluralsight" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F48220%2F392b62cb-75f7-4107-9fc9-0c9e35794320.png" alt="" width="625" height="625"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/pluralsight/the-top-10-places-to-learn-go-3lhp" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;The Top 10 Places to Learn Go&lt;/h2&gt;
      &lt;h3&gt;Jeremy Morgan for Pluralsight ・ Nov 23 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#go&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;






&lt;p&gt;Do you something else about Go? Do share that with the community in the comment section 💬&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>go</category>
      <category>tutorial</category>
      <category>devops</category>
    </item>
    <item>
      <title>Do you know Markdown!</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 31 Dec 2020 09:44:28 +0000</pubDate>
      <link>https://dev.to/hardikchopra/do-you-know-markdown-2d2p</link>
      <guid>https://dev.to/hardikchopra/do-you-know-markdown-2d2p</guid>
      <description>&lt;p&gt;If you write articles on DEV you might know markdown but if you don't know, let's learn it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt; is a lightweight markup language that you can use to add formatting elements to plain text documents. Markdown is used widely in the community, being it either writing README for Github or writing dev articles, markdown is used everywhere.&lt;/p&gt;

&lt;p&gt;I will be discussing some basics and resources related to markdown.&lt;/p&gt;

&lt;h3&gt;
  
  
  Contents
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
Syntax

&lt;ul&gt;
&lt;li&gt;Headings&lt;/li&gt;
&lt;li&gt;Formatting Texts&lt;/li&gt;
&lt;li&gt;
Links &lt;/li&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;Code Snippet&lt;/li&gt;
&lt;li&gt;Lists&lt;/li&gt;
&lt;li&gt;Blockquotes&lt;/li&gt;
&lt;li&gt;Tables&lt;/li&gt;
&lt;li&gt;Horizontal Lines&lt;/li&gt;
&lt;li&gt;Emoticons&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Practice online&lt;/li&gt;
&lt;li&gt;
Bonus!
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Headings&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Just like we have &lt;code&gt;h1,h2....h6&lt;/code&gt; tags in HTML, we have these heading tags in markdown as well. We use this with the help of &lt;code&gt;#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# This is Heading
## This is Heading
### This is Heading
#### This is Heading
##### This is Heading
###### This is Heading  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h1&gt;
  
  
  This is Heading
&lt;/h1&gt;

&lt;h2&gt;
  
  
  This is Heading
&lt;/h2&gt;

&lt;h3&gt;
  
  
  This is Heading
&lt;/h3&gt;

&lt;h4&gt;
  
  
  This is Heading
&lt;/h4&gt;

&lt;h5&gt;
  
  
  This is Heading
&lt;/h5&gt;

&lt;h6&gt;
  
  
  This is Heading
&lt;/h6&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Formatting Texts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You have different formatting options in markdown. You can use bold or italics but you have not the option of underlining text in pure markdown.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To bold, enclose the text between 2 asterisks on both sides. &lt;code&gt;** **&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;To make the text emphasized, enclose text between 1 asterisk on both sides. &lt;code&gt;* *&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;To make bold and emphasized both, enclose text between 3 asterisks. &lt;code&gt;***  ***&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;For Strikethrough text, enclose it between &lt;code&gt;~~ ~~&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**Bold**
*Emphasized*
***Both***
~~Strikethrough~~
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;strong&gt;Bold&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Emphasized&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Both&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;del&gt;Strikethrough&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;Note: Instead of asterisks(*), underscore(_) can also be used.&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Links&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is very easy to add links or hrefs in markdown. Write the text inside square brackets &lt;code&gt;[]&lt;/code&gt; and put the link in round brackets &lt;code&gt;()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[My Dev Profile](https://dev.to/hardikchopra242)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;a href="https://dev.to/hardikchopra242"&gt;My Dev Profile&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Images&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Adding images is very much similar to adding links. One difference is that we put an exclamation mark &lt;code&gt;!&lt;/code&gt; in front. In the square brackets, we write the Alt text and in the round brackets, we give the link to our image.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;![Meme](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse1.mm.bing.net%2Fth%3Fid%3DOIP.YIPISOt_bX8dMMUBzE-hPAHaFj%26pid%3DApi&amp;amp;f=1)

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

&lt;/div&gt;



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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fexternal-content.duckduckgo.com%2Fiu%2F%3Fu%3Dhttps%253A%252F%252Ftse1.mm.bing.net%252Fth%253Fid%253DOIP.YIPISOt_bX8dMMUBzE-hPAHaFj%2526pid%253DApi%26f%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fexternal-content.duckduckgo.com%2Fiu%2F%3Fu%3Dhttps%253A%252F%252Ftse1.mm.bing.net%252Fth%253Fid%253DOIP.YIPISOt_bX8dMMUBzE-hPAHaFj%2526pid%253DApi%26f%3D1" alt="Meme" width="474" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Code Snippet&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;There are two options to add code snippets, one is inside a continuous line and the second is a whole code snippet block.&lt;br&gt;
For inline we use a single back-tick and for a snippet block, we enclose the code in three back-tick pairs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fig4l4v8j74k3yefzf1qf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fig4l4v8j74k3yefzf1qf.png" alt="Alt Text" width="637" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;This is how inline &lt;code&gt;code looks like&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write your code
Here and it
will turn into a 
code block
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Lists&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can add ordered or unordered lists in the markdown by just numbering them or putting asterisks &lt;code&gt;*&lt;/code&gt; ahead of every element&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ordered List

1. List Item   
2. List Item
  1. List 2       //For nested lists, use two-space indentation
  2. List 2
  3. List 2
3. List Item


Unordered List

* List Item      //Inplace of * , - and + can also be used 
* List Item    
  * List 2
  * List 2
  * List 2
* List Item


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

&lt;/div&gt;



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

&lt;p&gt;Ordered List&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;List Item&lt;/li&gt;
&lt;li&gt;List Item

&lt;ol&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;List Item&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;Unordered List&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;List Item&lt;/li&gt;
&lt;li&gt;List Item

&lt;ul&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;li&gt;List 2&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;List Item&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Blockquotes&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Blockquotes can be added using &lt;code&gt;&amp;gt;&lt;/code&gt; at the start of a line. You can also use nested blockquotes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;This is a BlockQuote.
&amp;gt;This is a BlockQuote.
&amp;gt;&amp;gt;This is a ***nested*** BlockQuote.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;blockquote&gt;
&lt;p&gt;This is a BlockQuote.&lt;br&gt;
This is a BlockQuote.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a &lt;strong&gt;&lt;em&gt;nested&lt;/em&gt;&lt;/strong&gt; BlockQuote.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/blockquote&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Tables&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To make tables, every column should be separated using &lt;code&gt;|&lt;/code&gt; and &lt;code&gt;:--------:&lt;/code&gt; can be used to make the column headings bold. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Column 1       | Column 2     | Column 3     |
| :------------- | :----------: | :-----------: |
|  Row 1 | To escape   | the pipes,    |
| Row 2   | Use backslash| Like this  \| |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column 1&lt;/th&gt;
&lt;th&gt;Column 2&lt;/th&gt;
&lt;th&gt;Column 3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Row 1&lt;/td&gt;
&lt;td&gt;To escape&lt;/td&gt;
&lt;td&gt;the pipes,&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Row 2&lt;/td&gt;
&lt;td&gt;Use backslash&lt;/td&gt;
&lt;td&gt;Like this  \&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Horizontal Lines&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;There are three different ways to make a horizontal line. These are:&lt;br&gt;
Using three continuous &lt;code&gt;-&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;, and &lt;code&gt;_&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Paragraph 1

---

Paragraph 2

___

Paragraph 3

***

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OUTPUT:&lt;/strong&gt;&lt;br&gt;
Paragraph 1&lt;/p&gt;



&lt;p&gt;Paragraph 2&lt;/p&gt;



&lt;p&gt;Paragraph 3&lt;/p&gt;



&lt;p&gt;Don't forget to give a line space above and below the syntax.&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Emoticons&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To use emoticons in your markdown place emoticon code inside two colons &lt;code&gt;: emoticon_code :&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INPUT:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:smile: :mask: :bug:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OUTPUT:&lt;/strong&gt;&lt;br&gt;
😄 😷 🐛&lt;/p&gt;

&lt;p&gt;For markdown emoji cheatsheet &lt;strong&gt;&lt;a href="https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Practice Online&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To practice markdown, you can refer to some of the following websites. Anytime if you feel like you should try something out, jump to one of these websites and write markdown!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dillinger.io/" rel="noopener noreferrer"&gt;Dillinger&lt;/a&gt; 👑&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jbt.github.io/markdown-editor/" rel="noopener noreferrer"&gt;JBT Markdown&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;Bonus!!&lt;/strong&gt;🔥
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Typora
&lt;/h3&gt;

&lt;p&gt;Typora is a markdown editor. One of my friends suggested me to use Typora for making notes and it's fantastic!&lt;br&gt;
When we learn something new we have to note that somewhere so that we can recall that later. Typora can be used for this purpose.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkvitu98pydmxqcg1qy5p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkvitu98pydmxqcg1qy5p.png" alt="Alt Text" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ton of themes&lt;/li&gt;
&lt;li&gt;Live preview of what you write in markdown&lt;/li&gt;
&lt;li&gt;Many editing options &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://typora.io/" rel="noopener noreferrer"&gt;Download Typora&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Back to Contents&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you got to learn something new and useful show some love by giving this post a&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;If you find it useful for you, &lt;strong&gt;save this post&lt;/strong&gt; and share it with your programming buddies 😃&lt;/p&gt;

&lt;p&gt;Do you know any other markdown tricks? Do share it in the comment section!💬&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>markdown</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Master VS Code + Resources!</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 24 Dec 2020 07:29:11 +0000</pubDate>
      <link>https://dev.to/hardikchopra/master-vs-code-resources-1e4b</link>
      <guid>https://dev.to/hardikchopra/master-vs-code-resources-1e4b</guid>
      <description>&lt;p&gt;Most of the time of a developer is spent on an IDE/ Code Editor. So it is very important to work in an environment that suits your needs and is comfortable for you.&lt;br&gt;
We will be talking about customizing one of the most popular Code Editor &lt;strong&gt;VS Code&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Themes&lt;/li&gt;
&lt;li&gt;Fonts&lt;/li&gt;
&lt;li&gt;Icons&lt;/li&gt;
&lt;li&gt;Keyboard Shortcuts&lt;/li&gt;
&lt;li&gt;Extensions&lt;/li&gt;
&lt;li&gt;Something Special !&lt;/li&gt;
&lt;li&gt;Resources&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Don't Miss the Bonus and Resources at the end 🔥!&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Themes
&lt;/h1&gt;

&lt;p&gt;To customize the theme in VS Code, go to Settings and select &lt;code&gt;color theme&lt;/code&gt;or type &lt;code&gt;ctrl/cmd + K + ctrl/cmd + T&lt;/code&gt;.&lt;br&gt;
Here you can find some pre-installed themes in VS Code.&lt;/p&gt;

&lt;p&gt;You can also download themes from the extension search.&lt;br&gt;
Some popular themes are :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=sdras.night-owl" rel="noopener noreferrer"&gt;Night Owl&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=wesbos.theme-cobalt2" rel="noopener noreferrer"&gt;Cobalt 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dhedgecock.radical-vscode" rel="noopener noreferrer"&gt;Radical&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Fonts
&lt;/h1&gt;

&lt;p&gt;To customize the font of VS Code go to settings &lt;code&gt;ctrl+,&lt;/code&gt; &amp;gt; User &amp;gt; Text Editor &amp;gt; Font.&lt;br&gt;
You can find the font-family option here, where you can change the font-family, font-style of your choice!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F13jeouy6b708vk7fv7j9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F13jeouy6b708vk7fv7j9.png" alt="Alt Text" width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
Personal Favorites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tonsky/FiraCode" rel="noopener noreferrer"&gt;Fira Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fonts.google.com/specimen/Inconsolata" rel="noopener noreferrer"&gt;Inconsolata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rubjo.github.io/victor-mono/" rel="noopener noreferrer"&gt;Victor-mono&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Icons
&lt;/h1&gt;

&lt;p&gt;You change the folder and file icons in VS Code. To see the pre-installed options, go to Settings &amp;gt; File Icon Theme.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fopa0n0dmvofjfgsshhbb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fopa0n0dmvofjfgsshhbb.png" alt="Alt Text" width="393" height="482"&gt;&lt;/a&gt;&lt;br&gt;
Make sure the &lt;strong&gt;Seti&lt;/strong&gt; is selected on VS Code.&lt;br&gt;
I use the &lt;strong&gt;Material Icon Theme&lt;/strong&gt; (The Best 👑)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme" rel="noopener noreferrer"&gt;Material Icon Theme&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons" rel="noopener noreferrer"&gt;VS Code Icons&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Keyboard Shortcuts
&lt;/h1&gt;

&lt;p&gt;Keyboard Shortcuts saves you a lot of time as a developer and VS Code has got you covered. VS Code has many inbuilt shortcuts.&lt;br&gt;
To preview the shortcuts, go to Settings &amp;gt; Keyboard Shorcuts or press &lt;code&gt;ctrl/cmd + K + ctrl/cmd + S&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnl3l4zbzsstt1x6n2c9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnl3l4zbzsstt1x6n2c9e.png" alt="Alt Text" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best thing is that you can also customize these shortcuts and can override them very easily!&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Extensions
&lt;/h1&gt;

&lt;p&gt;Extensions are a very powerful tool in any IDE. VS Code has many of them and specifically for customization following are my picks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings" rel="noopener noreferrer"&gt;Sublime Text Keymap&lt;/a&gt;&lt;br&gt;
Are you an avid Sublime user, nervous to switch over to VS Code? This extension will make you feel right at home, by changing all of the shortcuts to match those of Sublime.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode" rel="noopener noreferrer"&gt;Prettier&lt;/a&gt;&lt;br&gt;
DONT spend time formatting your code. Let Prettier do it for you It's super easy to set up and can be configured to format your code automatically on save.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments" rel="noopener noreferrer"&gt;Better Comments&lt;/a&gt;&lt;br&gt;
This extension color codes various types of comments to give them different significance and stand out from the rest of your code. Use green color for informatory comments and red color for ToDo comments and much more!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Bonus 🔥&lt;/strong&gt;
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Font ligatures&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qsj6z5qg383twjy2ddu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0qsj6z5qg383twjy2ddu.gif" alt="Alt Text" width="440" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Font Ligatures&lt;/strong&gt; are when multiple characters appear to combine into a single character. Simplistically, &lt;em&gt;when you type two or more characters and they magically attach to each other.&lt;/em&gt; VS Code now supports font-ligatures.&lt;/p&gt;

&lt;p&gt;To activate font-ligatures you need the fonts that also support font-ligatures, examples of such fonts are --&amp;gt; Fira-code, Inconsolota, and many such.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tahoeninjas.blog/2019/03/16/setting-fira-code-as-your-default-visual-studio-code-font/" rel="noopener noreferrer"&gt;Step by Step Guide to activate Font Ligatures&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you got to learn something new and useful show some love by giving this post a&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;Do you know any other customization tricks? Do share it in the comment section!&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;More Resources&lt;/strong&gt; :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Try out different programming fonts online &lt;a href="https://www.programmingfonts.org/" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;

&lt;div class="ltag__link"&gt;
  &lt;a href="/softwaredotcom" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F427%2F71853910-e050-47cb-aa4d-2df249eac23f.png" alt="Software.com" width="384" height="384"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F123230%2F875b3024-42b9-43fb-8e1a-ae508a5e86b8.png" alt="" width="800" height="800"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/softwaredotcom/50-vs-code-themes-for-2020-45cc" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;50 VS Code themes for 2020&lt;/h2&gt;
      &lt;h3&gt;Geoff Stevens for Software.com ・ Jan 6 '20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#vscode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#2020&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;

&lt;div class="ltag__link"&gt;
  &lt;div class="ltag__link__content"&gt;
    &lt;div class="missing"&gt;
      &lt;h2&gt;Article No Longer Available&lt;/h2&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;

&lt;div class="ltag__link"&gt;
  &lt;a href="/gedalyakrycer" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F537261%2F8c5707dc-338c-449f-b608-cc896b161638.jpeg" alt="gedalyakrycer"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/gedalyakrycer/10-visual-studio-code-tricks-to-unleash-your-productivity-p6a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;10 Visual Studio Code Tricks To Unleash Your Productivity&lt;/h2&gt;
      &lt;h3&gt;Gedalya Krycer ・ Dec 22 '20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#vscode&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have read so far, &lt;strong&gt;save this post&lt;/strong&gt; and share it with your programming buddies 😃&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Cool Extensions for VS Code</title>
      <dc:creator>Hardik Chopra</dc:creator>
      <pubDate>Thu, 17 Dec 2020 09:19:38 +0000</pubDate>
      <link>https://dev.to/hardikchopra/cool-extensions-for-vs-code-48jc</link>
      <guid>https://dev.to/hardikchopra/cool-extensions-for-vs-code-48jc</guid>
      <description>&lt;p&gt;&lt;strong&gt;VS Code&lt;/strong&gt; is among the most popular, free, open-source code-editors out there, and one of the reasons for such high demand is the extensions and plugins it offers.&lt;/p&gt;

&lt;p&gt;If you are a VS Code user you must be familiar with some popular extensions like &lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer" rel="noopener noreferrer"&gt;Live-Server&lt;/a&gt; and &lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode" rel="noopener noreferrer"&gt;Prettier&lt;/a&gt;. If you haven't you must check them out.&lt;br&gt;
Here I am sharing my list of cool extensions for VS Code that you might don't know and can make your life easy.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Path Intellisense
&lt;/h2&gt;

&lt;p&gt;In large projects, remembering specific file names and the directories your files are in can get tricky. This extension will provide you IntelliSense for just that. &lt;strong&gt;As you start typing a path in quotations, you will get IntelliSense for directories and file names&lt;/strong&gt;. This will save you from spending a lot of time in the file explorer.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Git Lens
&lt;/h2&gt;

&lt;p&gt;There are a bunch of git extensions out there, but one is the most powerful with tons of features. You get &lt;strong&gt;blame information, line and file history, commit searching&lt;/strong&gt;, and so much more. If you need help with your Git workflow, start with this extension!&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Bracket Pair Colorizer
&lt;/h2&gt;

&lt;p&gt;With tons of nested code, it gets almost impossible to determine which brackets match up with each other. Bracket Pair Colorizer, as its same suggests, colors matching brackets to make your code much more readable. Trust me, you want this!&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Browser Preview
&lt;/h2&gt;

&lt;p&gt;If you use the Live-Server Extension, this one goes another step further in terms of convenience. It gives you a live-reloading &lt;strong&gt;preview right inside of VS Code&lt;/strong&gt;. No more having to tab over to your browser to see a small change!&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Javascript Code Snippet
&lt;/h2&gt;

&lt;p&gt;This extension provides you snippets for popular pieces of modern (ES6) JavaScript code. Now there's no need to retype the same piece of code over and over again.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. ES Lint
&lt;/h2&gt;

&lt;p&gt;This extension can be configured to &lt;strong&gt;auto-format&lt;/strong&gt; your code as well as "yell" with linting errors/warnings. VS Code specifically is also perfectly configured to show you these errors/warnings.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Auto Rename Tags
&lt;/h2&gt;

&lt;p&gt;Need to rename an element in HTML? Well, with Auto Rename Tag, you just need to rename either the opening or closing tag, and the other will be &lt;strong&gt;renamed automatically&lt;/strong&gt;. Simple, but effective!&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Quokka.js
&lt;/h2&gt;

&lt;p&gt;Need a quick place to test out some JavaScript? Quokka gives you a &lt;strong&gt;JavaScript (and TypeScript) scratchpad in VS Code&lt;/strong&gt;. This means you can test out a piece of code right there in your favorite editor!&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Better Comments
&lt;/h2&gt;

&lt;p&gt;This extension &lt;strong&gt;color codes&lt;/strong&gt; various types of comments to give them different significance and stand out from the rest of your code.&lt;br&gt;
You can color informatory comments with green color, to-do comments with orange color, and just like that.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Better Align
&lt;/h2&gt;

&lt;p&gt;If you're the kind of person who loves &lt;strong&gt;perfect alignment&lt;/strong&gt; in your code, you need to get Better Align. You can align multiple variable declarations, trailing comments, sections of code, etc. There's no better way to get a feel for how amazing this extension is than installing it and giving it a try!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Bonus!🔥&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  # Polacode
&lt;/h2&gt;

&lt;p&gt;You know those fancy code &lt;strong&gt;screenshots&lt;/strong&gt; you see in articles and tweets? Well, most likely they came from Polacode. It's super simple to use. Copy a piece of code to your clipboard, open up the extension, paste the code, and click to save your image!&lt;/p&gt;

&lt;h4&gt;
  
  
  Demo:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F10f7j07ql34f8o5lpyy5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F10f7j07ql34f8o5lpyy5.png" alt="PolaCode Demo Image" width="800" height="759"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you got to learn something new and useful show some love by giving this post a&lt;/em&gt; ❤️&lt;br&gt;
&lt;em&gt;If you also know some cool extensions then do share them in the comment section below.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;To download and to learn more about these extensions visit the links:&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense" rel="noopener noreferrer"&gt;Path Intellisense&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" rel="noopener noreferrer"&gt;Git Lens&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer" rel="noopener noreferrer"&gt;Bracket Pair Colorizer&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=auchenberg.vscode-browser-preview" rel="noopener noreferrer"&gt;Browser Preview&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets" rel="noopener noreferrer"&gt;Javascript Code Snippet&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint" rel="noopener noreferrer"&gt;ES Lint&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag" rel="noopener noreferrer"&gt;Auto Rename Tags&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=WallabyJs.quokka-vscode" rel="noopener noreferrer"&gt;Quokka&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments" rel="noopener noreferrer"&gt;Better Comments&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=wwm.better-align" rel="noopener noreferrer"&gt;Better Align&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=pnp.polacode" rel="noopener noreferrer"&gt;Polacode&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer" rel="noopener noreferrer"&gt;Live-Server&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode" rel="noopener noreferrer"&gt;Prettier&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have read so far, save this post and share it with your programming buddies 😃&lt;/p&gt;

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