<?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: Felix DUSENGIMANA</title>
    <description>The latest articles on DEV Community by Felix DUSENGIMANA (@felixdusengimana).</description>
    <link>https://dev.to/felixdusengimana</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%2F561668%2Fc4f38b40-abc4-4318-b3fd-0757f266250a.jpg</url>
      <title>DEV Community: Felix DUSENGIMANA</title>
      <link>https://dev.to/felixdusengimana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/felixdusengimana"/>
    <language>en</language>
    <item>
      <title>Responsive image mosaic With CSS and HTML.</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Tue, 24 May 2022 08:00:11 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/responsive-image-mosaic-with-css-and-html-45a4</link>
      <guid>https://dev.to/felixdusengimana/responsive-image-mosaic-with-css-and-html-45a4</guid>
      <description>&lt;p&gt;To create a responsive image mosaic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the &lt;code&gt;display: grid&lt;/code&gt; property to create a responsive layout.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;grid-row: span 2 / auto&lt;/code&gt; and &lt;code&gt;grid-column: span 2 / auto&lt;/code&gt; to create items that span two rows or two columns respectively.&lt;/li&gt;
&lt;li&gt;Put &lt;code&gt;grid-row&lt;/code&gt; and &lt;code&gt;grid-column&lt;/code&gt; styles in the media query to avoid applying them on small screens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/phelixdusengimana/embed/YzerVzv?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Bonus Tip:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;loading='lazy'&lt;/code&gt; attribute is used to make images load lazily — only when they are in the user's field of vision.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have a question ping me via &lt;a href="https://twitter.com/felix__dusenge"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Let's Create an FAQ section with HTML and CSS only (Detail tag explained)</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Sun, 22 May 2022 13:57:25 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/lets-create-an-faq-section-with-html-and-css-only-detail-tag-explained-12gf</link>
      <guid>https://dev.to/felixdusengimana/lets-create-an-faq-section-with-html-and-css-only-detail-tag-explained-12gf</guid>
      <description>&lt;p&gt;Using &lt;code&gt;&amp;lt;detail&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; HTML tags you can create a simple accordion or toggle between hiding and showing secondary text on your website.&lt;/p&gt;

&lt;p&gt;These codes are enough to create an accordion.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;details&amp;gt;
  &amp;lt;summary&amp;gt;How do I create accordion?&amp;lt;/summary&amp;gt;
  &amp;lt;div&amp;gt;
 The tags &amp;lt;em&amp;gt;details&amp;lt;/em&amp;gt; and &amp;lt;em&amp;gt;summary&amp;lt;/em&amp;gt; have you covered.
  &amp;lt;/div&amp;gt;
&amp;lt;/details&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;detail&lt;/code&gt; tag has an attribute called &lt;code&gt;open&lt;/code&gt; which by default is set to &lt;code&gt;false&lt;/code&gt; and if you set it to true your detail with be expanded by default. &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/phelixdusengimana/embed/JjpbzLL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Let's see how we can style our accordion.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/phelixdusengimana/embed/ExQNMME?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Do you have an question ping me via &lt;a href="https://twitter.com/felix__dusenge"&gt;twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Enable Dark Mode in Chrome on Ubuntu(No Code, Apps, Themes).</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Thu, 19 May 2022 06:14:22 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/how-to-enable-dark-mode-in-chrome-on-ubuntuno-code-apps-themes-2p41</link>
      <guid>https://dev.to/felixdusengimana/how-to-enable-dark-mode-in-chrome-on-ubuntuno-code-apps-themes-2p41</guid>
      <description>&lt;p&gt;If you set &lt;strong&gt;Windows&lt;/strong&gt; to use dark mode, Chrome will also switch to dark mode. Unfortunately, setting &lt;strong&gt;Ubuntu&lt;/strong&gt; to dark mode will not automatically set Chrome as well. It’s not that straightforward, but it’s still pretty simple.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enable Dark Mode in Chrome on Ubuntu
&lt;/h2&gt;

&lt;p&gt;I’m using Ubuntu Desktop 20.04, a long-term support version. Just so you know.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1.
&lt;/h3&gt;

&lt;p&gt;Go to your &lt;code&gt;Settings&amp;gt;Appearance&lt;/code&gt; and switch to Dark.&lt;/p&gt;

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

&lt;p&gt;Open Chrome and:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type &lt;code&gt;chrome://flags&lt;/code&gt; in the address bar;&lt;/li&gt;
&lt;li&gt;Type “dark mode” in the search bar;&lt;/li&gt;
&lt;li&gt;Select Enabled for Force Dark Mode for Web Contents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c4e4jg5zgokcenexjej.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7c4e4jg5zgokcenexjej.png" alt="Enabling force Dark mode in ubuntu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’ll notice that the address bar and tabs are still in light mode. That’s because only web contents/internal pages are being rendered in dark mode, not the whole browser.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3
&lt;/h3&gt;

&lt;p&gt;To go full dark mode, access Chrome’s settings by clicking on the 3 vertical dots, in the top-right corner, and selecting &lt;code&gt;Settings&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://media.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%2Fdar0vito627slj8blx0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdar0vito627slj8blx0d.png" alt="Go to settings in Google chrome"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4
&lt;/h3&gt;

&lt;p&gt;Select &lt;code&gt;Appearance&lt;/code&gt; and click on the &lt;code&gt;Use GTK+&lt;/code&gt; button, in the &lt;code&gt;Theme&lt;/code&gt; section.&lt;br&gt;
&lt;a href="https://media.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%2Fk69e37sdt7rga8y2t8q3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk69e37sdt7rga8y2t8q3.png" alt="Setting appearance to GTK+ in Ubuntu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GTK+ is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs).&lt;/p&gt;

&lt;p&gt;You’ll notice that Chrome has gone into full dark mode now, not just the web contents/internal pages. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That’s a Wrap!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If some info is outdated or incorrect, or you have anything to add, ask ping me via &lt;a href="https://twitter.com/felix__dusenge" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or add it in a comment section.&lt;/p&gt;

</description>
      <category>opensource</category>
    </item>
    <item>
      <title>CSS Combinators Explained.</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Mon, 16 May 2022 08:07:54 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/css-combinators-explained-46o2</link>
      <guid>https://dev.to/felixdusengimana/css-combinators-explained-46o2</guid>
      <description>&lt;p&gt;When selecting HTML elements, sometimes it can be a little tricky to figure out which element you've selected. In this article, we'll provide an explanation of CSS combinators, making them easier to understand. Yeah, you've heard it, explained in an easy way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS Combinators&lt;/strong&gt; explains the relationship between CSS selectors, well I think you know what selectors are, if not consider reading this &lt;a href="https://www.w3schools.com/cssref/css_selectors.asp"&gt;article&lt;/a&gt;.  As the name says they combine different CSS selectors to provide useful relationships with each other.&lt;/p&gt;

&lt;p&gt;Well, let's not take too long. &lt;/p&gt;

&lt;p&gt;HTML code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="box"&amp;gt;
     &amp;lt;p&amp;gt;Text in box&amp;lt;/p&amp;gt;
      &amp;lt;section&amp;gt;
          &amp;lt;p&amp;gt;Text in box inside section&amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
  &amp;lt;h1&amp;gt;Heading inside div.&amp;lt;/h1&amp;gt;
  &amp;lt;p&amp;gt;Text in div not in box&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;Text 1 not both div and box&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Text 2 not both div and box&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Descendant combinator
&lt;/h3&gt;

&lt;p&gt;The descendant selector matches all elements that are descendants (children, grandchildren, and so on) of a specified element. We use &lt;strong&gt;space&lt;/strong&gt; between selectors.&lt;/p&gt;

&lt;p&gt;The following example selects all &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; elements inside &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;div p{
color: red;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wGMUegy5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnqfarx0i5tlnxcktcgt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wGMUegy5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnqfarx0i5tlnxcktcgt.png" alt="Image description" width="880" height="324"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Child combinator (&amp;gt;)
&lt;/h3&gt;

&lt;p&gt;The child selector selects all elements that are direct descendants (children only) of a specified element. We use &lt;strong&gt;greater-than sign&lt;/strong&gt; (&amp;gt;) between selectors.&lt;/p&gt;

&lt;p&gt;The following example selects all &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; elements that are children of a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; element:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;div &amp;gt; p{
color: red;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YZ93d47C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/96b4lgbz51ecsgn1een3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YZ93d47C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/96b4lgbz51ecsgn1een3.png" alt="Image description" width="880" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Adjacent sibling combinator (+)
&lt;/h3&gt;

&lt;p&gt;The adjacent sibling selector is used to select an element that immediately follows another specific element. Sibling elements must have the same parent element. We use &lt;strong&gt;plus sign&lt;/strong&gt; (+) between selectors.&lt;/p&gt;

&lt;p&gt;The following example selects the first &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; element that are placed immediately after &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;div + p{
color: red;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DR9EKWmn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exttd44l0bgph717m42n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DR9EKWmn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exttd44l0bgph717m42n.png" alt="Image description" width="880" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. General sibling combinator (~)
&lt;/h3&gt;

&lt;p&gt;The general sibling selector selects all elements that are next siblings of a specified element.&lt;br&gt;
We use &lt;strong&gt;tilde sign&lt;/strong&gt; (~) between selectors.&lt;/p&gt;

&lt;p&gt;The following example selects all &lt;/p&gt;
&lt;p&gt; elements that are next siblings of &lt;/p&gt; elements:&lt;br&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;div ~ p{
color: red;
}
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dw9iZyjk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fo0y7dcj9h3qaxk7ovwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dw9iZyjk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fo0y7dcj9h3qaxk7ovwe.png" alt="Image description" width="880" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's connect:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/felix__dusenge"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/felixdusengimana"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>html</category>
      <category>web</category>
    </item>
    <item>
      <title>Run any React/ Angular/ Vuejs project directly from Github/GitLab without downloading it.</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Fri, 04 Feb 2022 07:30:30 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/run-any-react-angular-vuejs-project-directly-from-github-without-downloading-it-3ag8</link>
      <guid>https://dev.to/felixdusengimana/run-any-react-angular-vuejs-project-directly-from-github-without-downloading-it-3ag8</guid>
      <description>&lt;p&gt;Want to run any Javascript or Framework project directly from the GitHub repository without downloading it on your machine? &lt;br&gt;
Is it possible🤔? The answer is big “&lt;strong&gt;YES&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;I just came across a service provided by &lt;a href="https://gitpod.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gitpod.io&lt;/strong&gt;&lt;/a&gt; which is an online IDE for running GitHub projects in the cloud.&lt;/p&gt;

&lt;p&gt;To run any project from GitHub in browser follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Copy the URL of the GitHub project you want to run&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Append it to &lt;strong&gt;&lt;a href="http://gitpod.io/#" rel="noopener noreferrer"&gt;http://gitpod.io/#&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Log in to your GitHub account by clicking on “Login with GitHub &amp;amp; launch workspace” button&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You’re done. It will load your environment of VS Code in the cloud&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s take the SnapShot project mentioned as the third project from &lt;a href="https://reactjs.org/community/examples.html" rel="noopener noreferrer"&gt;https://reactjs.org/community/examples.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To run the project in browser, take the repository URL which is &lt;a href="https://github.com/Yog9/SnapShot" rel="noopener noreferrer"&gt;https://github.com/Yog9/SnapShot&lt;/a&gt; and append it to &lt;a href="http://gitpod.io/#" rel="noopener noreferrer"&gt;http://gitpod.io/#&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, the complete URL becomes&lt;br&gt;
&lt;a href="http://gitpod.io/#https://github.com/Yog9/SnapShot" rel="noopener noreferrer"&gt;http://gitpod.io/#https://github.com/Yog9/SnapShot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you load the above URL, it will load the Visual Studio Code IDE in the cloud and you can run the project there, by running “npm install” and then “npm start” in the VS Code terminal as instructed in the README.md file for that project.&lt;/p&gt;

&lt;p&gt;Screenshot after opening the above url&lt;br&gt;
&lt;a href="https://media.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%2F6nogn0szv1qz139hiuon.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6nogn0szv1qz139hiuon.png" alt="Gitpod with snapshot project opened"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using this technique, you can run the project, test it, and can also modify it as it's in the cloud.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The GitPod allows to run code of almost all the languages that &amp;gt; are supported by Visual Studio Code including Javascript, &lt;br&gt;
Python, Java and Go and many more&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Following is the list of supported languages from Gitpod website.&lt;br&gt;
&lt;a href="https://media.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%2Fyf3xy3lxnapcw64tvrhg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyf3xy3lxnapcw64tvrhg.png" alt="Gitpod supported languages"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read more click &lt;a href="https://www.gitpod-staging.com/features/#:~:text=Gitpod%20comes%20with%20built%2Din,diagostics%2C%20formatting%20and%20many%20more." rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gitpod provides a free plan of about &lt;strong&gt;50 hours/month&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.gitpod.io/pricing" rel="noopener noreferrer"&gt;View more about pricing plans&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think that is more than enough for what you need.&lt;/p&gt;

&lt;p&gt;That’s it for today. Hope you enjoyed the article and learned something new today.&lt;/p&gt;

&lt;p&gt;Follow me on Twitter click &lt;a href="https://twitter.com/intent/follow?screen_name=phelix__dusenge" rel="noopener noreferrer"&gt;here&lt;/a&gt; if you like my content.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>angular</category>
      <category>react</category>
      <category>vue</category>
    </item>
    <item>
      <title>Top 6 free online IDEs for programmers</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Thu, 27 Jan 2022 07:43:50 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/top-6-free-online-ides-for-programmers-4pgd</link>
      <guid>https://dev.to/felixdusengimana/top-6-free-online-ides-for-programmers-4pgd</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://CodePen.io"&gt;CODEPEN&lt;/a&gt;&lt;br&gt;
CodePen is an online community for testing and showcasing user-created HTML, CSS and JavaScript code snippets. It functions as an online code editor and open-source learning environment, where developers can create code snippets, called "pens," and test them&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://codesandbox.io"&gt;CodeSandbox&lt;/a&gt;&lt;br&gt;
CodeSandbox is an online editor for rapid web development. With CodeSandbox, you can prototype quickly, experiment easily, and share creations with a click.&lt;br&gt;
Use it to create static sites, full-stack web apps, or components on any device with a web browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://JSFiddle.net"&gt;JSFiddle&lt;/a&gt;&lt;br&gt;
JSFiddle is an online IDE service and online community for testing and showcasing user-created and collaborational HTML, CSS and JavaScript code snippets, known as 'fiddles'. It allows for simulated AJAX calls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://stackblitz.com/"&gt;StackBlitz&lt;/a&gt;&lt;br&gt;
StackBlitz is an online IDE (integrated development environment) where you can create Angular, React, and Vue projects quickly and easily in your browser. It automatically takes care of installing dependencies, compiling, bundling, hot reloading as you type, and much more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://replit.com"&gt;Replit&lt;/a&gt;&lt;br&gt;
The acronym &lt;strong&gt;REPL **stands for **read-evaluate-print-loop&lt;/strong&gt; and basically provides a programmer with an interactive programming environment.&lt;br&gt;
Replit is a coding platform that lets you write code and host apps. It also has many educational features built-in, making it great for teachers and learners too.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://vscode.dev"&gt;Visual Studio Code Online&lt;/a&gt; &lt;br&gt;
Visual Studio Code for the Web provides a free, zero-install Microsoft Visual Studio Code experience running entirely in your browser, allowing you to quickly and safely browse source code repositories and make lightweight code changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The tweet&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--zYYYW4ln--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1484603346220732420/xfMxMWbA_normal.jpg" alt="Phelix Dusengimana⌨🖱 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Phelix Dusengimana⌨🖱
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @phelix__dusenge
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Top 6 free online IDEs for programmers:&lt;br&gt;1. &lt;a href="https://t.co/gDiEmVGFjX"&gt;CodePen.io&lt;/a&gt;&lt;br&gt;2. &lt;a href="https://t.co/czomWuxhBg"&gt;codesandbox.io&lt;/a&gt;&lt;br&gt;3. &lt;a href="https://t.co/Y9z8XWKfvN"&gt;JSFiddle.net&lt;/a&gt;&lt;br&gt;4. &lt;a href="https://t.co/7oszpT7GmI"&gt;stackblitz.com&lt;/a&gt;&lt;br&gt;5. &lt;a href="https://t.co/5Ssywxm9qj"&gt;replit.com&lt;/a&gt;&lt;br&gt;6. &lt;a href="https://t.co/be8LMe1uDO"&gt;vscode.dev&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/programming"&gt;#programming&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/programmer"&gt;#programmer&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/100DaysOfCode"&gt;#100DaysOfCode&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      07:22 AM - 27 Jan 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1486600420407480323" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1486600420407480323" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1486600420407480323" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;If you know others better online IDEs, feel free to share them in the comments. Thanks!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What really is "__name__" (A Special variable) in Python🤔?</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Wed, 26 Jan 2022 09:44:26 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/what-really-is-name-a-special-variable-in-python-2fbg</link>
      <guid>https://dev.to/felixdusengimana/what-really-is-name-a-special-variable-in-python-2fbg</guid>
      <description>&lt;p&gt;Are you a Pythonista? if so, let's clearly dive into what &lt;strong&gt;"_&lt;em&gt;name&lt;/em&gt;_"&lt;/strong&gt; and &lt;strong&gt;"_&lt;em&gt;main&lt;/em&gt;_"&lt;/strong&gt; really is and how it works.&lt;/p&gt;

&lt;p&gt;Let's say you've this code in &lt;strong&gt;file1&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;# File1.py 

print ("File1 __name__ = %s" %__name__) 

if __name__ == "__main__": 
    print ("File1 is being run directly")
else: 
    print ("File1 is being imported")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And of course this one in &lt;strong&gt;file2&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;# File2.py

import file1

print("File2 __name__ = %s" % __name__)

if __name__ == "__main__":
    print("File2 is being run directly")
else:
    print("File2 is being imported")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you run file one the output will be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;File1 __name__ = __main__
File1 is being run directly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And if you run file2 output will be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;File1 __name__ = file1
File1 is being imported
File2 __name__ = __main__
File2 is being run directly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you've seen the output carefully, the *&lt;em&gt;_&lt;em&gt;name&lt;/em&gt;_ *&lt;/em&gt; is a built-in variable which evaluates to the name of the current module.&lt;/p&gt;

&lt;h4&gt;
  
  
  You may ask why it sometimes returns &lt;strong&gt;_&lt;em&gt;main&lt;/em&gt;_&lt;/strong&gt;🤔?,
&lt;/h4&gt;

&lt;p&gt;If the current script is being run on its own, the _&lt;em&gt;name&lt;/em&gt;_ variable returns *&lt;em&gt;&lt;strong&gt;main&lt;/strong&gt; *&lt;/em&gt; and if the script is imported the _&lt;em&gt;name&lt;/em&gt;_ will returns module name.&lt;/p&gt;

&lt;p&gt;REMARK: _&lt;em&gt;name&lt;/em&gt;_ is always a string datatype.&lt;/p&gt;

&lt;p&gt;Let's consider example above if you run file 2, the &lt;strong&gt;_&lt;em&gt;name&lt;/em&gt;_&lt;/strong&gt; variable in file1 will be &lt;em&gt;file1&lt;/em&gt; because that's the name of module we are importing, and &lt;strong&gt;_&lt;em&gt;name&lt;/em&gt;_&lt;/strong&gt; in file2 will be &lt;em&gt;__main&lt;/em&gt;__ as it's the module we're running.&lt;/p&gt;

&lt;p&gt;You can use the _&lt;em&gt;name&lt;/em&gt;_ variable a get name of a class you've imported. example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from player import Player

print(Player.__name__) 
# OUTPUT: Player
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To summarize all we said above, The _&lt;em&gt;name&lt;/em&gt;_ variable (two underscores before and after) is a special Python variable. It gets its value depending on how we execute the containing script.&lt;/p&gt;

&lt;p&gt;Thanks to this special variable, you can decide whether you want to run the script. Or that you want to import the functions defined in the script.&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>codenewbie</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>List Comprehension in Python</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Fri, 21 Jan 2022 19:58:56 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/list-comprehension-in-python-12ec</link>
      <guid>https://dev.to/felixdusengimana/list-comprehension-in-python-12ec</guid>
      <description>&lt;p&gt;You may haven't heard of this, but you're going to love it👌. Wait what exactly is List comprehension🤔? well, list comprehension is &lt;strong&gt;technique used by python programmers to create list from the previous list&lt;/strong&gt;. Yeah, you've got it now, let's see some examples, right. &lt;/p&gt;

&lt;p&gt;let's say you have this list of fruits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and you want only fruits with letter "a" in the name. well, you might think of using for loop like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
fruits_with_letter_a= []

for x in fruits:
  if "a" in x:
    fruits_with_letter_a.append(x)

print(fruits_with_letter_a)

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

&lt;/div&gt;



&lt;p&gt;This works fine but there is another way of doing exactly the same thing with only one line of code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

fruits_with_letter_a= [x for x in fruits if "a" in x]

print(fruits_with_letter_a)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's understand clearly how list comprehension works.&lt;br&gt;
The Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fruits_with_letter_a= [expression for item in iterable if condition == True]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Expression&lt;/strong&gt;&lt;br&gt;
is the current item in the iteration, but it is also the outcome, which you can manipulate before it ends up like a list item in the new list.&lt;/p&gt;

&lt;p&gt;Example: Set fruits names in the new list to upper case&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;newlist = [x.upper() for x in fruits]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Iterable&lt;/strong&gt;&lt;br&gt;
The iterable can be any iterable object, like a list, tuple, set etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Condition&lt;/strong&gt;&lt;br&gt;
The condition is like a filter that only accepts the items that valuate to &lt;em&gt;&lt;strong&gt;True&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Let's try same challenge&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name = "phelix"
lettes_list = [letter for letter in name]
print(lettes_list )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;what will be the output🤔?&lt;/p&gt;

&lt;p&gt;
  The answer
  &lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;['p', 'h', 'e', 'l', 'i', 'x']
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Did you get it?&lt;br&gt;
&lt;/p&gt;

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

&lt;p&gt;You now know more about list comprehension.&lt;/p&gt;

&lt;p&gt;Read a lot via &lt;a href="https://www.w3schools.com/python/python_lists_comprehension.asp"&gt;w3schools.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Environment Variables in ReactJS.</title>
      <dc:creator>Felix DUSENGIMANA</dc:creator>
      <pubDate>Wed, 10 Mar 2021 17:58:05 +0000</pubDate>
      <link>https://dev.to/felixdusengimana/environment-variables-in-reactjs-139l</link>
      <guid>https://dev.to/felixdusengimana/environment-variables-in-reactjs-139l</guid>
      <description>&lt;p&gt;If you’re using ReactJS and you are accessing some endpoint APIs, you may have come across environment variables. In this tutorial, I will take you through how to use environment variables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assumption:&lt;/strong&gt; You’re familiar with the &lt;a href="https://create-react-app.dev/"&gt;Create React App&lt;/a&gt; and you are using it to create your React application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why You Need Environment Variables
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;To customize variables based on your environment, such as whether it is in production, development, or staging, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To store sensitive information like API keys and Passwords which are highly sensitive and you shouldn’t push them to version control.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Create React App supports custom environment variables without installing other packages.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Two ways of adding environment variables&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using the &lt;code&gt;.env&lt;/code&gt; file (This is the approach we are going to use).&lt;/li&gt;
&lt;li&gt;Through the shell (temporary, lasts as long as shell session last, and varies depending on the OS type).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Defining environment variable using &lt;code&gt;.env&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; In your application's root folder, create a text file called &lt;code&gt;.env&lt;/code&gt;.  Your working directory will look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my-react-app/ 
 |-node-modules/
 |-src/
 |-public/
 |-.env
 |-gitignore
 |-package.json
 |-package.lock.json.
 |-README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Create your custom variables. Create React App(CRA) enforces the prefix &lt;code&gt;REACT_APP&lt;/code&gt; on every custom variable. &lt;br&gt;
&lt;strong&gt;Note that&lt;/strong&gt; variables without the prefix &lt;code&gt;REACT_APP&lt;/code&gt; are ignored during bundling. If you want to know more about how does CRA do this, check documentation &lt;a href="https://create-react-app.dev/docs/adding-custom-environment-variables/"&gt;here&lt;/a&gt;.&lt;br&gt;
Variables should look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;REACT_APP_CLIENT_ID=12345
REACT_APP_KEY=aaddddawrfffvvvvssaa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Access them in your react app. You can print them and also assign them to other variables, but they are ready only in your application (means their value can't be changed).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';

function App() {
  console.log(process.env.REACT_APP_CLIENT_ID);//printing it to console
  console.log(process.env.REACT_APP_KEY);//printing it to console

  return (
    &amp;lt;div className="app"&amp;gt;
      &amp;lt;p&amp;gt;{process.env.REACT_APP_KEY}&amp;lt;/p&amp;gt;//printing it to screen
    &amp;lt;/div&amp;gt;
  );
}

export default App;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; There is a built-in environment variable called &lt;code&gt;NODE_ENV&lt;/code&gt;. You can access it from &lt;code&gt;process.env.NODE_ENV&lt;/code&gt;. This variable changes based on what mode you are currently in. &lt;br&gt;
When you run &lt;code&gt;npm start&lt;/code&gt; it is equal to "development",&lt;br&gt;
when you run &lt;code&gt;npm test&lt;/code&gt; it is equal to "test", and &lt;br&gt;
when you run &lt;code&gt;npm run build&lt;/code&gt; it is equal to "production".&lt;br&gt;
More on use case can be found in this &lt;a href="https://dev.to/jam3/managing-env-variables-for-provisional-builds-h37"&gt;great tutorial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step five:&lt;/strong&gt; Open the &lt;code&gt;.gitignore&lt;/code&gt; file. I like to put .env and other environment variables under #misc as seen below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# dependencies 
/node_modules 
# testing 
/coverage 
# production 
/build 
# misc 
.DS_Store 
.env    #&amp;lt;--------Put the custom env files here 
.env.local 
.env.development.local 
.env.test.local 
.env.production.local 
npm-debug.log* 
yarn-debug.log* 
yarn-error.log*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why Isn’t It Working Even After Following These Processes🤔?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you used the prefix REACT_APP on every variable&lt;/li&gt;
&lt;li&gt;Confirm that the variable names on the &lt;code&gt;.env&lt;/code&gt; file match the ones on your js file. For example,REACT_APP_KEY in .env versus process.env.REACT_APP_KEY&lt;/li&gt;
&lt;li&gt;If the development server was running, stop it then rerun using npm start it. I really struggled with this (variable is undefined error).&lt;/li&gt;
&lt;li&gt;Every time you update the .env file, you need to stop the server and rerun it, as the environment variables are only updated during build (variable is undefined error).&lt;/li&gt;
&lt;li&gt;Remove quotations from the values of the variables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The official documentation for using environment variables from Create React App can be found &lt;a href="https://create-react-app.dev/docs/adding-custom-environment-variables/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
