<?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: vansh bhardwaj</title>
    <description>The latest articles on DEV Community by vansh bhardwaj (@vansh__bhardwaj).</description>
    <link>https://dev.to/vansh__bhardwaj</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%2F470049%2Fea4de0ad-05b9-4fbf-974a-5b0de5e7834e.jpeg</url>
      <title>DEV Community: vansh bhardwaj</title>
      <link>https://dev.to/vansh__bhardwaj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vansh__bhardwaj"/>
    <language>en</language>
    <item>
      <title>How to Build a Kubernetes Cluster Using kubeadm</title>
      <dc:creator>vansh bhardwaj</dc:creator>
      <pubDate>Sat, 14 Dec 2024 16:03:33 +0000</pubDate>
      <link>https://dev.to/vansh__bhardwaj/how-to-build-a-kubernetes-cluster-using-kubeadm-13g8</link>
      <guid>https://dev.to/vansh__bhardwaj/how-to-build-a-kubernetes-cluster-using-kubeadm-13g8</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Kubernetes and kubeadm
&lt;/h2&gt;

&lt;p&gt;Kubernetes (K8s) is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a framework to run distributed systems resiliently, offering features like scaling, failover, and service discovery. Setting up a Kubernetes cluster is a fundamental step for developers and DevOps engineers aiming to manage containerized applications at scale. One of the most efficient ways to create and manage a Kubernetes cluster is by using kubeadm, a tool designed to bootstrap Kubernetes clusters.&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%2Fx6v5yc9r34p8y55369jl.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%2Fx6v5yc9r34p8y55369jl.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this guide, we will set up a Kubernetes cluster with one master node and one worker node using kubeadm on AWS EC2 instances.&lt;/p&gt;

&lt;h3&gt;
  
  
  Requirements for Kubernetes Cluster
&lt;/h3&gt;

&lt;p&gt;Master Node: We will use a t2.large instance.&lt;br&gt;
Worker Node: We will use a t2.medium instance.&lt;br&gt;
Operating System: Ubuntu 20.04 or newer (64-bit).&lt;br&gt;
Network: Open port 6443 on the master node (used by Kubernetes API Server).&lt;br&gt;
Memory Requirements:&lt;br&gt;
Master Node: Minimum 2 CPUs and 2 GB RAM (recommended 4 GB RAM).&lt;br&gt;
Worker Node: Minimum 2 CPUs and 2 GB RAM.&lt;br&gt;
Tools Required: Docker, kubeadm, kubelet, kubectl.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps to Set Up the Kubernetes Cluster
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Set Up AWS EC2 Instances
&lt;/h3&gt;

&lt;p&gt;Launch two EC2 instances:&lt;br&gt;
Master Node: Use a t2.large instance.&lt;/p&gt;

&lt;p&gt;Worker Node: Use a t2.medium instance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Use Ubuntu as the OS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the necessary ports ( port 6443 on the master node)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 2: Update and Upgrade Both Nodes
&lt;/h3&gt;

&lt;p&gt;Run the following commands on both the master and worker nodes to update the system:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt update&lt;br&gt;
sudo apt upgrade -y&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Install Docker on Both Nodes
&lt;/h3&gt;

&lt;p&gt;Docker is required to manage containers in Kubernetes. Install it using the following commands:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt install docker.io -y&lt;br&gt;
sudo systemctl start docker&lt;br&gt;
sudo systemctl enable docker&lt;br&gt;
sudo usermod -aG docker $USER&lt;br&gt;
sudo reboot&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Install kubeadm, kubelet, and kubectl on Both Nodes
&lt;/h3&gt;

&lt;p&gt;These tools are essential for setting up and managing the Kubernetes cluster:&lt;/p&gt;

&lt;p&gt;Add the Kubernetes signing key:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Add the Kubernetes repository:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Update the package list:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Install kubeadm, kubelet, and kubectl:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt install -y kubelet kubeadm kubectl&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Initialize the Master Node
&lt;/h3&gt;

&lt;p&gt;On the master node, run the following commands:&lt;/p&gt;

&lt;p&gt;Switch to the root user:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo su&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Initialize the cluster:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubeadm init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Set up the kubeconfig for kubectl:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;export KUBECONFIG=/etc/kubernetes/admin.conf&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Set up a pod network using Weave Net:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Add the Worker Node to the Cluster
&lt;/h3&gt;

&lt;p&gt;On the master node, generate the join command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubeadm token create --print-join-command&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The output will be similar to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubeadm join 172.31.84.246:6443 --token jcgr7p.8x2yqehcg0jbsk80 --discovery-token-ca-cert-hash sha256:cfd5cce76dfe4330f0cd8fed5feed709bdb0efcf1fa0656f188475e3bda7563f&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Copy this command and use it on the worker node to join the cluster.&lt;/p&gt;

&lt;p&gt;Now, on the &lt;strong&gt;worker node&lt;/strong&gt;, run the following commands:&lt;/p&gt;

&lt;p&gt;Switch to the root user:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo su&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Reset pre-flight checks&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubeadm reset pre-flight checks&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Use the join command generated earlier to connect the worker node to the cluster:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubeadm join 172.31.84.246:6443 --token jcgr7p.8x2yqehcg0jbsk80 --discovery-token-ca-cert-hash sha256:cfd5cce76dfe4330f0cd8fed5feed709bdb0efcf1fa0656f188475e3bda7563f --v=5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note -&amp;gt; Append “--v=5” at the end, this ensures we use version 5 to join kubeadm&lt;/p&gt;

&lt;p&gt;We should get the following output “This node has joined the cluster”&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Verify the Cluster
&lt;/h3&gt;

&lt;p&gt;On the master node, verify that the worker node has successfully joined the cluster:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get nodes&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should see an output like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;NAME               STATUS   ROLES           AGE     VERSION&lt;br&gt;
ip-172-31-47-111   Ready    &amp;lt;none&amp;gt;          2m38s   v1.31.1&lt;br&gt;
ip-172-31-84-246   Ready    control-plane   33m     v1.31.1&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8: Deploy an Application (Nginx)
&lt;/h3&gt;

&lt;p&gt;To test the cluster, deploy an Nginx pod:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl run nginx --image=nginx --restart=Never&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Check the pod status:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get pods&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should see an output like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;NAME    READY   STATUS    RESTARTS   AGE&lt;br&gt;
nginx   1/1     Running   0          3m44s&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;On the worker node, you can verify the pod using Docker commands:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker ps&lt;br&gt;
ctr -n k8s.io containers list&lt;br&gt;
crictl ps&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note -&amp;gt; Kubernetes 1.20+ deprecated Docker as the default container runtime (June 23) in favor of containerd or CRI-O. If your worker node is using containerd or cri-o, docker ps won’t show running containers. Instead, you can check the running containers using:&lt;/p&gt;

&lt;p&gt;For containerd: ctr -n k8s.io containers list&lt;br&gt;
For cri-o: crictl ps&lt;/p&gt;

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

&lt;p&gt;Setting up a Kubernetes cluster using kubeadm is a straightforward process that involves:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Preparing the nodes by installing necessary tools like Docker and kubeadm.&lt;/li&gt;
&lt;li&gt;Initializing the master node and setting up the control plane.&lt;/li&gt;
&lt;li&gt;Joining worker nodes to the cluster using a token.&lt;/li&gt;
&lt;li&gt;Verifying the cluster and deploying applications to test the setup.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With Kubernetes, you now have the ability to deploy, scale, and manage containerized applications efficiently. This setup serves as a foundation for experimenting with advanced Kubernetes features and workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  About Me
&lt;/h3&gt;

&lt;p&gt;Hi, I’m Vansh. I’m Building stuff on the web. Exploring Cloud and DevOps. Passionate about creating and scaling solutions. Let’s connect on Twitter: [&lt;a href="https://x.com/heyyvanshh" rel="noopener noreferrer"&gt;heyyvanshh&lt;/a&gt;].&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>docker</category>
      <category>aws</category>
    </item>
    <item>
      <title>DevOps: The Art of Delivering Software with Speed and Precision</title>
      <dc:creator>vansh bhardwaj</dc:creator>
      <pubDate>Sun, 19 Nov 2023 15:17:05 +0000</pubDate>
      <link>https://dev.to/vansh__bhardwaj/devops-the-art-of-delivering-software-with-speed-and-precision-1g0f</link>
      <guid>https://dev.to/vansh__bhardwaj/devops-the-art-of-delivering-software-with-speed-and-precision-1g0f</guid>
      <description>&lt;p&gt;In the rapidly evolving landscape of software development, the need for efficient and reliable delivery practices has never been more critical. DevOps is rooted in the idea of collaboration, communication, and integration between teams. Traditionally, teams operated in silos, leading to inefficiencies, delays, and a lack of agility in software delivery. DevOps breaks down these barriers, fostering a culture of collaboration, automation, shared responsibilities, and continuous improvement.&lt;/p&gt;

&lt;p&gt;Let’s understand the following terms in detail:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaboration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;DevOps promotes collaboration not only between development and operations but across all stakeholders involved in the software development lifecycle. Effective communication and collaboration lead to better decision-making, faster issue resolution, and a more streamlined development process.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Automation is a cornerstone of DevOps. By automating manual processes, organizations can reduce errors, increase efficiency, and accelerate the delivery pipeline. Continuous Integration (CI) and Continuous Deployment (CD) are key components of automation, enabling developers to integrate code changes seamlessly and deploy them automatically.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous Integration and Continuous Deployment (CI/CD)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;CI/CD practices enable developers to integrate code changes frequently and deploy them automatically to production or staging environments. This ensures that software is always in a deployable state, reducing the time between code commits and production releases.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring and Feedback&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;DevOps emphasizes continuous monitoring of applications and infrastructure. Real-time feedback enables teams to identify issues early in the development process, leading to quicker resolution and improved overall system reliability.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;DevOps is more than just a set of practices; it is an art form that transforms how organizations deliver software. By fostering collaboration, automation, and a culture of continuous improvement, DevOps enables teams to achieve faster software delivery, increased collaboration, improved quality, enhanced scalability, and greater stability and reliability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faster time to market:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;DevOps accelerates the software delivery lifecycle, allowing organizations to release features and updates more quickly. This speed to market is crucial in today’s competitive business environment.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Increased Collaboration and Communication:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;By breaking down organizational silos, DevOps fosters a culture of collaboration and open communication, leading to improved efficiency and problem-solving.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improved Quality:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Automation, continuous testing, and continuous monitoring in the DevOps pipeline contribute to higher software quality. Issues are identified and resolved earlier in the development process, reducing the likelihood of defects reaching production.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhanced Scalability:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;DevOps practices, such as Infrastructure as Code, make it easier to scale infrastructure and applications based on demand, ensuring optimal performance during peak periods.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Greater Stability and Reliability:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Continuous monitoring and feedback loops in the DevOps pipeline contribute to increased system stability and reliability. Issues are proactively addressed, minimizing downtime and enhancing the user experience.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As technology continues to advance, the principles of DevOps will remain essential in meeting the evolving demands of the software development landscape. Embracing DevOps is not just a choice; it’s a necessity for organizations striving to stay competitive in today’s fast-paced digital world.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>webdev</category>
      <category>programming</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>7 UI Design Fundamentals for Developers</title>
      <dc:creator>vansh bhardwaj</dc:creator>
      <pubDate>Thu, 23 Sep 2021 23:01:13 +0000</pubDate>
      <link>https://dev.to/vansh__bhardwaj/7-ui-design-fundamentals-for-developers-57hg</link>
      <guid>https://dev.to/vansh__bhardwaj/7-ui-design-fundamentals-for-developers-57hg</guid>
      <description>&lt;p&gt;Hello everyone, my name is Vansh and I'm a frontend developer. A lot of people have asked me this question,"Do I need to learn design to be Front end developer?"&lt;/p&gt;

&lt;p&gt;Before I answer this question first you need to understand that many companies do have in-house UX/UI designers, who will do the designing part and build mockups while you can concentrate on the development part. It's our task to give life to mockups, to make them interactive. &lt;/p&gt;

&lt;p&gt;But what if you don't have a designer or you're building some side project for yourself,  and when you have one, they're not always available because they have a lot of work or maybe if some mockups are missing.&lt;br&gt;
So you cannot always be dependent on a designer to make minor changes to the design as well.&lt;br&gt;
And you having a design sense is of considerable value for you and your team.&lt;/p&gt;

&lt;p&gt;See I'm not saying you need to be a designer nor we are here to replace them. &lt;br&gt;
But it wouldn't hurt for you to pick up some designing skills as well.&lt;br&gt;
And it definitely helps to have a creative eye and develop knowledge esthetics.&lt;/p&gt;

&lt;p&gt;So in this blog post, I'm going to share how you can build interfaces/apps that look good by just following these 7 UI fundamentals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Jump in!&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;White space&lt;/li&gt;
&lt;li&gt;Color&lt;/li&gt;
&lt;li&gt;Contrast&lt;/li&gt;
&lt;li&gt;Scale&lt;/li&gt;
&lt;li&gt;Alignment&lt;/li&gt;
&lt;li&gt;Typography&lt;/li&gt;
&lt;li&gt;Visual Hierarchy&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1. White Space
&lt;/h3&gt;

&lt;p&gt;The first UI fundamental we are going to discuss is the white space.&lt;/p&gt;

&lt;p&gt;White space is the empty space between the elements in your UI.&lt;br&gt;
it's just a void of space but that gives your UI a structure.&lt;/p&gt;

&lt;p&gt;let's look at an example&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%2Fswcfw09oibeqa0qqbcln.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%2Fswcfw09oibeqa0qqbcln.png" alt="whispa.png" width="738" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can see the right side container is much more readable and looks good from the left container.&lt;/p&gt;

&lt;p&gt;By using just 3 CSS properties, padding, margin and line-height, you can significantly improve the appearance of your text.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Alignment
&lt;/h3&gt;

&lt;p&gt;Alignment is the process of ensuring that every element is positioned correctly in relation to other elements.&lt;/p&gt;

&lt;p&gt;Visual alignment is one of the foundations of design, we humans prefer visually aligned objects.&lt;/p&gt;

&lt;p&gt;First, let's look at this UI&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%2F42r1fw4fv0t78ep5voqh.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%2F42r1fw4fv0t78ep5voqh.png" alt="ali1.png" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see here are 4 elements, logo, headline, text and button,&lt;br&gt;
and they all seem to be off a little bit in terms of their alignment.&lt;/p&gt;

&lt;p&gt;Again, with just 3 properties: margin, transform and text-align we can solve this.&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%2Feen73qp90krj2u550ylz.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%2Feen73qp90krj2u550ylz.png" alt="ali2.png" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can see now it looks much better because everything is aligned properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Contrast
&lt;/h3&gt;

&lt;p&gt;Contrast is defined as being in a 'strikingly' different state from something else.&lt;br&gt;
While building UIs we should keep in mind if users can clearly see and distinguish all the necessary details on the screen or page.&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%2Fwb27r2l3v3amwc79ubum.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%2Fwb27r2l3v3amwc79ubum.png" alt="contra1.png" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look at the first image where there is a grey subheading and grey text on a button, we can see there is hardly any contrast from the background, it's hard to read text, especially on the button.&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%2Foh1h1epzbov3ompeoxpg.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%2Foh1h1epzbov3ompeoxpg.png" alt="contra2.png" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if we increase the contrast, using a darker color for text and white on top of the button, we can see it's much more readable.&lt;/p&gt;

&lt;p&gt;Lack of readability can be a serious reason why users are not retained even with attractive products.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Scale
&lt;/h3&gt;

&lt;p&gt;Scale is the size of elements that must be carefully considered. Leveraging the scale of different elements, you can greatly improve a design.&lt;/p&gt;

&lt;p&gt;Let's look at this example, we can work on the scale on this UI.&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%2Fj9gxwottq1bh7i0w41wu.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%2Fj9gxwottq1bh7i0w41wu.png" alt="scale1.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First of all, cards are too small for this given layout. Also, there isn't much difference between headline and subheadline beneath it. Also, we can increase the size of the Hex color code.&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%2Fwayd30y5ev1ap91wdqo8.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%2Fwayd30y5ev1ap91wdqo8.png" alt="Screenshot_2021-09-24_01-27-28.png" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our second UI, our cards look much more filled out and better with the space around them, we also increased the size of the heading and subheading and it looks much better than the previous.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Typography
&lt;/h3&gt;

&lt;p&gt;Typography isn't just the font but it is the art that involves arranging a typeface in various combinations of font, size, and spacing. &lt;/p&gt;

&lt;p&gt;Typography requires the understanding of other fundamentals, along with a few other considerations like how to effectively choose fonts, their size, spacing and a few more.&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%2Frbdan8fmns7buy9hpno7.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%2Frbdan8fmns7buy9hpno7.png" alt="typo1.png" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we look at our first UI, we can see there's a lot going wrong in terms of typography. First, there are 3 fonts used which are unnecessary. second, we are not really sure where to look at or which text is really important so we need to fix the scale as well.&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%2Flzqlf1m1l2iwmqen09hg.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%2Flzqlf1m1l2iwmqen09hg.png" alt="typo2.png" width="800" height="560"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our second UI, we are sticking to just 1 font family, increased the font size of headings and decreased the size of cite that is 'John Doe' which is not really important and now it looks so much better.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Color
&lt;/h3&gt;

&lt;p&gt;Color is the first UI design fundamental that shapes the user's experience.&lt;br&gt;
If you go to any website or app before you're able to process and even read anything your eyes are exposed to the colors, so color in terms of UI design is extremely important.&lt;/p&gt;

&lt;p&gt;Different colors can have different meanings like green for instance can be associated with growth and wealth, red with loss or warmth, black for elegance and luxury and so on and so forth. &lt;/p&gt;

&lt;p&gt;Before building UI be aware of your target audience for this particular app and what you need to project eliciting emotions&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%2Fsd0j80x5b61c6c62bu4o.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%2Fsd0j80x5b61c6c62bu4o.png" alt="color.png" width="640" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another thing you should focus is on avoiding a bunch of colors in your UI design. Too many color destroy the quality of UI. Also, avoid colors that don't work well with each other and don't complement each other well.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Visual Hierarchy
&lt;/h3&gt;

&lt;p&gt;Every element on a user interface has a level of importance. Some elements are more important than others. Visual hierarchy is how you establish this importance. The way we do it is by utilizing the above UI fundamentals that we have discussed.&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%2Fku7eqfldp5bzos516q3e.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%2Fku7eqfldp5bzos516q3e.png" alt="vishe.png" width="800" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we look at this UI, this lacks visual hierarchy as we are not really sure where to look at first and our call-to-action button lacks enough contract as well.&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%2F7tgniy250w9h44dgpxau.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%2F7tgniy250w9h44dgpxau.png" alt="vihei2.png" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fixing this by scaling our heading and making call-to-action stand out, we have improved the visual hierarchy&lt;br&gt;
Looks better than before? Right?&lt;/p&gt;

&lt;h3&gt;
  
  
  conclusion
&lt;/h3&gt;

&lt;p&gt;There isn't one UI fundamental that is more important than the other.&lt;br&gt;
They are all equally important in order to get the design right. If the design is lacking in one of these areas, it's really easy to notice that something is not quite right with the quality of the design.&lt;br&gt;
So be sure to think about all these fundamentals the next time you need to build a user interface.&lt;/p&gt;

&lt;p&gt;Good luck&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/vansh__bhardwaj" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/vansh1999" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>10 VS Code extensions every Frontend Developer should use</title>
      <dc:creator>vansh bhardwaj</dc:creator>
      <pubDate>Mon, 02 Aug 2021 15:21:40 +0000</pubDate>
      <link>https://dev.to/vansh__bhardwaj/10-vs-code-extensions-every-frontend-developer-should-use-3633</link>
      <guid>https://dev.to/vansh__bhardwaj/10-vs-code-extensions-every-frontend-developer-should-use-3633</guid>
      <description>&lt;p&gt;Hello everyone, my name is Vansh and I'm a frontend developer. In this blog post, I would like to share 10 VS code extensions that every frontend developer should use. The purpose of using these extensions is to write faster, cleaner, and more consistent code. &lt;strong&gt;Let's Jump in!&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Live server
&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%2Fuploads%2Farticles%2F4wak3fd5avrcf9u91oyt.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%2F4wak3fd5avrcf9u91oyt.png" alt="Alt Text" width="766" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's irritating to save changes in the editor and then refresh the browser to see changes, right? thanks to live server , it enforces auto-reload and ensures that your changes are rendered immediately you save your work. It creates a local development server right in Visual Studio Code to serve your static and dynamic sites.&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%2Fxqr0z7j7c6fato2hnvi8.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%2Fuploads%2Farticles%2Fxqr0z7j7c6fato2hnvi8.gif" alt="Alt Text" width="896" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mithril Emmet
&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%2Fuploads%2Farticles%2Fsbv71hqsghdg7ktxn9qj.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%2Fsbv71hqsghdg7ktxn9qj.png" alt="emmet.png" width="742" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt; Emmet &lt;/a&gt; is a web-developer’s toolkit that can greatly improve your HTML &amp;amp; CSS workflow . &lt;a&gt; Emmet &lt;/a&gt; allow us to generate HTML code much quicker and easier than writing them out ourselves. This can greatly increase your speed in development.&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%2Fyq44wjm02i31ok10goef.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%2Fuploads%2Farticles%2Fyq44wjm02i31ok10goef.gif" alt="emmet.gif" width="688" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. ESLint
&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%2Fuploads%2Farticles%2Fyb95j1h3x74ku3x8t2mv.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%2Fyb95j1h3x74ku3x8t2mv.png" alt="eslint.png" width="800" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It Integrates ESLint into VS Code. If you are new to ESLint check the documentation.&lt;br&gt;
It allows you to stick to standard practices like indentation and positioning.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Prettier
&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%2Fuploads%2Farticles%2Fdodie3k9n88uonpkjwnw.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%2Fdodie3k9n88uonpkjwnw.png" alt="Prettier.png" width="759" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When writing code, a lot of time goes into formatting. Thanks to Prettier, it automates the task for you, removes original styling and puts on the consistent code style which makes code much more readable. It automatically tidy up the code every time the changes are saved.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Bracket pair colorizer
&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%2Fuploads%2Farticles%2Fs9660aarsy27e8y3fo4i.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%2Fs9660aarsy27e8y3fo4i.png" alt="color.png" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It colourizes and gives same colors to your opening and closing brackets.&lt;br&gt;
It sometimes happens that at the end of your file or function, you have more than one or two closing brackets, and it’s not so easy to find the correct one of them. Use Bracket pair colorizer to know where your bracket opens and closes.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. CSS Peek
&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%2Fuploads%2Farticles%2F9nbleqq432lgrja8zy8y.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%2F9nbleqq432lgrja8zy8y.png" alt="csspeeek.png" width="800" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CSS Peek helps to quickly find and check styles applied for selected class or id. It’s beneficial for developers who don’t like to switch between different files or split the screen or like to jump between HTML and CSS Back-and-forth.&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%2Fvcfyoy5gczoansgmgolu.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%2Fuploads%2Farticles%2Fvcfyoy5gczoansgmgolu.gif" alt="csspeek.gif" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. JavaScript ES6 Code snippets
&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%2Fuploads%2Farticles%2F7aeuh9oobutmh9accyrt.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%2F7aeuh9oobutmh9accyrt.png" alt="es6.png" width="800" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It provides Code Snippets for your JavaScript code and uses ES6 syntax.&lt;br&gt;
Snippets are handy and can help to prevent lots of spelling bugs and can make coding much faster. To speed up your Javascript coding, use Javascript code snippets. It also supports TypeScript and JSX files.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Simple React snippets
&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%2Fuploads%2Farticles%2Foscot1gwuixrm6eijctc.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%2Foscot1gwuixrm6eijctc.png" alt="rect.png" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As mentioned above, Snippets are handy and make coding faster. This extension is a collection of day-to-day React snippets and commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. ENV
&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%2Fuploads%2Farticles%2Fp7g4hsoy8hwy0mus907f.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%2Fp7g4hsoy8hwy0mus907f.png" alt="env.png" width="800" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a simple extension, it adds formatting and syntax highlighting support for env files.&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%2Fn3807u4834lx86vo46jt.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%2Fuploads%2Farticles%2Fn3807u4834lx86vo46jt.gif" alt="env.gif" width="800" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Debugger for Chrome
&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%2Fuploads%2Farticles%2Fnvro5zacsd28d7xz26ch.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%2Fnvro5zacsd28d7xz26ch.png" alt="debug.png" width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Debugger for Chrome extension adds the Google Chrome browser debugger into your editor. It allows you to launch an instance of Chrome navigated to your app, or it can attach to a running instance of Chrome.&lt;br&gt;
It supports setting breakpoints, stepping, debugging scripts, and more. If you are tired of switching from files in the code editor to debugging console in the browser, it’s a great plugin for you.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
