<?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: 이아 | Nessa Okeke</title>
    <description>The latest articles on DEV Community by 이아 | Nessa Okeke (@leeiaah_).</description>
    <link>https://dev.to/leeiaah_</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%2F125301%2Fb98db7d9-0d03-4b8c-bdb2-3f9c3808a50d.jpg</url>
      <title>DEV Community: 이아 | Nessa Okeke</title>
      <link>https://dev.to/leeiaah_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leeiaah_"/>
    <language>en</language>
    <item>
      <title>How do backend developers showcase their work?</title>
      <dc:creator>이아 | Nessa Okeke</dc:creator>
      <pubDate>Mon, 01 Feb 2021 10:40:51 +0000</pubDate>
      <link>https://dev.to/leeiaah_/how-do-backend-developers-showcase-their-work-g30</link>
      <guid>https://dev.to/leeiaah_/how-do-backend-developers-showcase-their-work-g30</guid>
      <description>&lt;p&gt;As backend developers, how do you showcase your work. I think that has been something I have struggled with. I am not quite sure how to showcase most of my work because it is all server side. I am open to suggestions really...leave one in the comment below. &lt;/p&gt;

&lt;p&gt;🤔&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Promises in Javascript Explained + Examples</title>
      <dc:creator>이아 | Nessa Okeke</dc:creator>
      <pubDate>Mon, 01 Feb 2021 10:29:06 +0000</pubDate>
      <link>https://dev.to/leeiaah_/promises-in-javascript-explained-examples-38jk</link>
      <guid>https://dev.to/leeiaah_/promises-in-javascript-explained-examples-38jk</guid>
      <description>&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;Before you begin this tutorial you'll need the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IDE (VS Code is used in this tutorial)&lt;/li&gt;
&lt;li&gt;Basic understanding of Javascript ES6&lt;/li&gt;
&lt;li&gt;Nodejs installed, you can get the latest version  &lt;a href="https://nodejs.org/en/download/"&gt;here.&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Working with data from other resources has brought the need to deal with asynchronous operations, that is, operations that do not run in sequence. In this post, I explain, in simple terms one of the ways of handling asynchronous operations in Javascript, &lt;strong&gt;Promises&lt;/strong&gt;. By the end of this post, you would understand Javascript Promises in code and simple English.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Javascript Promises?
&lt;/h2&gt;

&lt;p&gt;According to the official documentation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;SYNTAX:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In simpler terms, a Promise is an object that will return a particular value depending on the state of the Promise. A Promise can have one of three states&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fulfilled&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rejected&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pending&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Promise &lt;code&gt;fulfilled&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;A promise has a state of &lt;code&gt;fulfilled&lt;/code&gt;when it is resolved, meaning, nothing went wrong in the Promise and there are no errors. The code snippet below will return a state of fulfilled, because the Promise was resolved:&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;new&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&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;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nx"&gt;RESULT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseState&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fulfilled&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseResult&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Promise &lt;code&gt;rejected&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;A promise has a state of &lt;code&gt;rejected&lt;/code&gt; when an error occurs. In this case, the Promise was rejected. The code snippet below will return a state of rejected because the Promise was rejected:&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;new&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&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;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Oh no, an error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nx"&gt;RESULT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Oh no, an error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseState&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rejected&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseResult&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Promise &lt;code&gt;pending&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;A promise has a state of &lt;code&gt;pending&lt;/code&gt; when the Promise itself is neither resolved or rejected. The code snippet below will return a status of &lt;code&gt;pending&lt;/code&gt; because the Promise is neither resolved nor rejected:&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;new&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&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;RESULT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseState&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;pending&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nx"&gt;PromiseResult&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Working with Promises
&lt;/h3&gt;

&lt;p&gt;When working with Promises, you might encounter some methods and functions like the ones below&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;then&lt;/code&gt; method: This method takes the returned values from a resolved Promise and performs some action on them. The &lt;code&gt;then&lt;/code&gt; method is usually chained to the Promise. See an example below:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getDataFromDatabase(){
    return new Promise((resolve, reject)=&amp;gt;{
        // promise resolves with no errors
    })
}

getDataFromDatabase().then((data)=&amp;gt;{
    // data is the returned value from the getFromDatabase function
    console.log(data)
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When working with the &lt;code&gt;then&lt;/code&gt; keyword, it would be helpful to think of it in plain English like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;First of all, get data from the database with the getDataFromDatabase() function, and then console.log all the data gotten from the database&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;trycatch&lt;/code&gt; handler: The trycatch handler is very commonly used in working with Promises. Since there is a possibility of your Promise having a &lt;code&gt;rejected&lt;/code&gt; status, it would be helpful to add a way to catch that error, which is exactly how the trycatch handler works. See an example below:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getDataFromDatabase(){
    return new Promise((resolve, reject)=&amp;gt;{
       try {
           // if Promise resolves, return data from the resolve method
           resolve()
       } catch (error) {
           // if the promise rejects, return error data from the reject method
           reject(console.log(error.message))
       }
    })
}

getDataFromDatabase().then((data)=&amp;gt;{
    // data is the returned value from the getFromDatabase function
    console.log(data)
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When working with the &lt;code&gt;trycatch&lt;/code&gt; handler, it would be helpful to imagine it in plain English like this&lt;/p&gt;

&lt;p&gt;&lt;code&gt;In getting data from the database with the getDataFromDatabase() function, try this code inside this block first, if I successfully get the data, return data from the resolve() function. If I run into some error, return data from the reject function. Then run the function inside the THEN method&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Example
&lt;/h2&gt;

&lt;p&gt;In this example, we are going to try and simulate making an API call to an external endpoint. The idea is to mimic the delay in getting the data when making an API call. Here are the steps we will want to take into account:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a data store&lt;/li&gt;
&lt;li&gt;Create a function to get the data (imagine the fetch function in Javascript)&lt;/li&gt;
&lt;li&gt;Add new data to the data store when we finally get it&lt;/li&gt;
&lt;li&gt;Log the results to the console&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  STEP 1: Create a data store
&lt;/h3&gt;

&lt;p&gt;In this example, we will use a simple array to store items, we are mimicing the database 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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;names&lt;/span&gt; &lt;span class="o"&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;Kim Seon Ho&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;Park Seo Joon&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;Park Shin Hye&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;Shin Hye Sun&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;h3&gt;
  
  
  STEP 2: Create a function to get the data
&lt;/h3&gt;

&lt;p&gt;Here, we will mimic the delay when getting data from a database with the setTimeout() function. This is where we will use a Promise since we want it to run as an asynchronous function in our theoretical project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataItems&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;)&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;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataItems&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;catch&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="nx"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;**WHAT IS HAPPENING: **In this snippet of code, we are making sure the &lt;code&gt;getData()&lt;/code&gt; function returns a Promise, so we can use the chaining method that Promises provide to change/edit the data when we get it back from the data store.&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 3: Transform the data when we get it
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;getData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;names&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;newName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Han Yoo Joo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newName&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;
&lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;finalData&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="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;finalData&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;WHAT IS HAPPENING: *&lt;/em&gt; Here, we are getting data using the &lt;code&gt;getData()&lt;/code&gt; function. The &lt;code&gt;getData()&lt;/code&gt; function returns information which we store inside the &lt;code&gt;data&lt;/code&gt; parameter of the &lt;code&gt;then&lt;/code&gt; method. &lt;br&gt;
Remember, the &lt;code&gt;then&lt;/code&gt; method takes returned data from the resolved method in a Promise and is able to perform tasks on it. It is this &lt;code&gt;data&lt;/code&gt; that we then push a new name into using the &lt;code&gt;Array.push()&lt;/code&gt; method.&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 4: Log the results to the console
&lt;/h3&gt;

&lt;p&gt;The last &lt;code&gt;then&lt;/code&gt; method is unnecessary because we can add the &lt;code&gt;console.log()&lt;/code&gt; method to the first &lt;code&gt;then&lt;/code&gt; method, however, I added it to show you how much chaining you can use when working with Promises in Javascript. In the last &lt;code&gt;then&lt;/code&gt;method, we take data returned from the first &lt;code&gt;then&lt;/code&gt; method and log it to the console.&lt;/p&gt;

&lt;h3&gt;
  
  
  RESULTS
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Kim Seon Ho&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;Park Seo Joon&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;Park Shin Hye&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;Shin Hye Sun&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;Han Yoo Joo&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;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Javascript Promises are a good way of performing asynchronous functions in your code. It is a way better option than facing every Javascript programmers nightmare, callback hell. &lt;br&gt;
You can find the full code examples in this Github repository:  &lt;a href="https://github.com/Vanneka/asynchronous-javascript-examples"&gt;&lt;strong&gt;code examples&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Thanks for reading, see you. &lt;br&gt;&lt;br&gt;
Ciao!&lt;br&gt;&lt;br&gt;
Vanessa O.&lt;br&gt;&lt;/p&gt;



&lt;br&gt;
❤ If you found this post useful, remember to share and help me grow my community. ❤

&lt;p&gt;&lt;strong&gt;&lt;em&gt;PS:&lt;/em&gt;&lt;/strong&gt; If you're looking to start on your tech career this year, you can download  &lt;a href="https://t.co/QhrUnNLVY0?amp=1"&gt;this checklist of 14 careers&lt;/a&gt;  in tech and see the programming language you should learn first.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>promises</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hello World, My coding journey from Interior Design to Backend Engineer. </title>
      <dc:creator>이아 | Nessa Okeke</dc:creator>
      <pubDate>Sun, 31 Jan 2021 19:36:28 +0000</pubDate>
      <link>https://dev.to/leeiaah_/hello-world-my-coding-journey-from-interior-design-to-backend-engineer-1787</link>
      <guid>https://dev.to/leeiaah_/hello-world-my-coding-journey-from-interior-design-to-backend-engineer-1787</guid>
      <description>&lt;p&gt;This seems to be the trend, make the first post a 'hello' of sorts, so, hello there.&lt;/p&gt;

&lt;p&gt;My name is &lt;strong&gt;Vanessa O&lt;/strong&gt;, and this is my Dev.to blog. I feel the need to tell a story so grab a cup of coffee/water/your favorite poison.&lt;/p&gt;

&lt;p&gt;This is the story of my transition to a fully tech career. &lt;/p&gt;

&lt;p&gt;It all started in 2007 when I read a book by Jefferey Deaver, The Blue Nowhere. Now, the book in itself was a fairly common story, one bad guy and one good guy, at least it was supposed to be a fairly normal story...that is, until I got to chapter 2.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--biBbQALW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/io05fdzw4zu3bbwwio3f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--biBbQALW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/io05fdzw4zu3bbwwio3f.jpg" alt="Blue Nowhere by Jefferey Deaver"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was introduced to the 'good guy', a computer hacker who built computers with anything from a spoon and a few batteries, he was bad but still less evil than the main bad guy. &lt;br&gt;
The chapter numbers were in binary code and that was the first thing I noticed, so as a young kid, starry eyed and curious about everything, I went on a research on binary code and what it meant in computers, I. Was. Hooked from then on. &lt;/p&gt;

&lt;h2&gt;
  
  
  My First Time
&lt;/h2&gt;

&lt;p&gt;The first thing I tried my hand on was HTML(Hypertext Markup Language), I built a very 2007 looking website with my basic knowledge of HTML, it was basically a page listing the different types of fish (I found it recently and Oh. My. Goodness). It was basic but that was the first time I got a thrill out of building something from nothing. I felt like I was well on my way to being the hacker from The Blue Nowhere.&lt;/p&gt;

&lt;p&gt;Next came CSS(Cascading Style Sheets), now this was fairly easy to grasp, even then. I simply made some notes and thought "Sure, I'll just try to memorize all the color and font related tags" HA! (PS: This is 2020 me laughing at 2007 me).&lt;/p&gt;

&lt;p&gt;Back to me and coding. So the next monster I had to slay was&lt;br&gt;
&lt;strong&gt;JAVASCRIPT...DUM! DUM! DUM!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am laughing writing this because I remember the almost impossible frustration I felt then, I had the idea that if I could just get past Javascript, I could become the hacker of my own dreams. Long story short, I gave up on my dream to become a social engineering sleek hacker when I hit the roadblock that was Javascript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Calls
&lt;/h2&gt;

&lt;p&gt;I should say here, I graduated with a Bachelors degree in Architecture from Obafemi Awolowo University. It was a ride and a half, filled with a lot of late nights, drawing and researching, and no-code. I was so focused on schoolwork, so I had no time to get back in the coding game, however, I did meet some interesting people who kept me close to the Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Graduation and more Javascript?
&lt;/h2&gt;

&lt;p&gt;After school, I had a fun time working as an Interior Designer, but I was curious about the programmer part of me that was lying dormant like a lion in a den, waiting and watching for the right time to spring out. 2017 was the year of The Spring.&lt;br&gt;
Cut to 2017, I made a list of all the skills I needed to build, and HTML popped up again, it took me a while but I added Javascript to the list, and then I got to learning. I breezed through HTML and CSS to conquer the beast that is Javascript, at least I thought it was a beast. Now however, I know it is a fire breathing hydra monster with 10 eyes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cheers to the freakin' 2020's
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qClM97jK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gcm1lsoyduwxw6altwel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qClM97jK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gcm1lsoyduwxw6altwel.png" alt="cheering to the new 2020's"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll cut the story here and bring you to 2020, 3 years and 1 internship, 4 programming languages and a lot of code review later, I have made the decision to go fully into tech. It was not an easy decision to make, I DID love building and designing houses, but I found that my curiosity is much more heightened when I have a coding problem before me.&lt;/p&gt;

&lt;p&gt;Am I scared? Yes...Will I give up? It took me a long time to get to this point, so no, I am in it for the long haul. I will make Javascript my lover and probably drag many of you on my journey to building a community of Javascript lovers.&lt;/p&gt;

&lt;p&gt;So, like I said, hello world and welcome to my Dev.to Blog. &lt;/p&gt;




&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;PS:&lt;/em&gt;&lt;/strong&gt; If you're looking to start on your tech career this year, you can download  &lt;a href="https://t.co/QhrUnNLVY0?amp=1"&gt;this checklist of 14 careers&lt;/a&gt;  in tech and the programming language you should learn first.

</description>
      <category>helloworld</category>
      <category>transition</category>
      <category>career</category>
    </item>
    <item>
      <title>10+ HTML5 Semantic tags with examples.</title>
      <dc:creator>이아 | Nessa Okeke</dc:creator>
      <pubDate>Sun, 31 Jan 2021 19:24:24 +0000</pubDate>
      <link>https://dev.to/leeiaah_/10-html5-semantic-tags-with-examples-2jbg</link>
      <guid>https://dev.to/leeiaah_/10-html5-semantic-tags-with-examples-2jbg</guid>
      <description>&lt;h4&gt;
  
  
  Prerequisite(s)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Basic knowledge of HTML (Hypertext Markup Language), you can get an overview  &lt;a href="https://devness.hashnode.dev/learn-html5-in-10-minutes"&gt;here.&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, if you got started with HTML(Hypertext Markup Language) 10 years ago, you are most likely used to the non-semantic way of writing HTML.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Semantic HTML&lt;/strong&gt; simply means the markup code is easy to make sense of while you read through. This style of writing uses more descriptive tags like &lt;code&gt;&amp;lt;section&amp;gt;&amp;lt;/section&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&amp;lt;/article&amp;gt;&lt;/code&gt; and others, to show the different parts of your website structure in code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  HTML before the 5
&lt;/h2&gt;

&lt;p&gt;Before HTML5 came along, HTML documents were a mashup of div and span tags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;div&amp;gt; &amp;lt;/div&amp;gt;&lt;/code&gt;: These tags are used to show block level elements ie, each element inside a div tag represents a block of code that can stand alone.
&lt;/li&gt;
&lt;/ul&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;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h4&amp;gt;&lt;/span&gt;I am the heading for this section&lt;span class="nt"&gt;&amp;lt;/h4&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I am the content for this section&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;&lt;/code&gt;: These tags are used to show inline elements ie, each element inside a span tag represents an inline text or information.
&lt;/li&gt;
&lt;/ul&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;p&amp;gt;&lt;/span&gt;I am an &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;inline element&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;div&lt;/code&gt; tags were used to separate different sections of a HTML document while the &lt;code&gt;span&lt;/code&gt; tags were used for inline elements. However, with this new version of HTML ie HTML5, semantic tags were introduced to takeover and create more readable and accessible HTML documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML vs HTML5
&lt;/h3&gt;

&lt;h4&gt;
  
  
  HTML
&lt;/h4&gt;

&lt;p&gt;*** Sample code***&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="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;I am the Title of the page&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"header"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"nav"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;ul&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"nav-items"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"nav-links"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Home&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"main"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;I am a heading&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"section"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="c"&gt;&amp;lt;!-- a section here --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;the &lt;code&gt;div&lt;/code&gt; with class 'header' denotes the header section of the website. This is the part of the website that holds the navigation links (the &lt;code&gt;div&lt;/code&gt; element with the class of &lt;code&gt;nav&lt;/code&gt;), the hero of the website and all other things in the 'above-the-fold' section of the website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the &lt;code&gt;div&lt;/code&gt; with the class &lt;code&gt;main&lt;/code&gt; denotes the main section of the website. It is this section that holds the main contents of the website.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  HTML5
&lt;/h4&gt;

&lt;p&gt;*** Sample code***&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="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;I am the Title of the page&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"nav-links"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;I am a heading&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I am a section title&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is the footer&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;the &lt;code&gt;header&lt;/code&gt; tag denotes the header of the website. It is this section that holds the navigation links in the &lt;code&gt;nav&lt;/code&gt; tags.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the &lt;code&gt;main&lt;/code&gt; tag holds the main block of your website. Using different &lt;code&gt;section&lt;/code&gt; tags, you can separate different sections of your website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the &lt;code&gt;footer&lt;/code&gt; tag is used to show the footer section of your website.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTML5 TAGS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;main&amp;gt; &amp;lt;/main&amp;gt;&lt;/code&gt; : This tag specifies the main contents of your HTML document. You would usually add your different &lt;code&gt;section&lt;/code&gt; tags to show the different sections of your page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;header&amp;gt; &amp;lt;/header&amp;gt;&lt;/code&gt; : This tag shows your readers the topmost part of your website, the introductory section. It typically contains the &lt;code&gt;nav&lt;/code&gt; tags for navigation, some &lt;code&gt;heading&lt;/code&gt; tags, your logo or site title.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;nav&amp;gt; &amp;lt;/nav&amp;gt;&lt;/code&gt; : This tag holds all the links to your navigation. In longform, this tag means 'navigation'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;section&amp;gt; &amp;lt;/section&amp;gt;&lt;/code&gt; : The &lt;code&gt;section&lt;/code&gt; tag is used to group different standalone sections of your website together. For example, you could have a &lt;code&gt;section&lt;/code&gt; listing all your services, and another &lt;code&gt;section&lt;/code&gt; listing details about your team.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;code&amp;gt; &amp;lt;/code&amp;gt;&lt;/code&gt; : The &lt;code&gt;code&lt;/code&gt; tag is used to format text to resemble code blocks. Information inside the &lt;code&gt;code&lt;/code&gt; tag will be formatted to mono-space type text.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;map &amp;gt; &amp;lt;/map &amp;gt;&lt;/code&gt; : The &lt;code&gt;map&lt;/code&gt; tag is used create an image map. In an image map, you can set different parts of the image, using the &lt;code&gt;area&lt;/code&gt; tag, to link to different external or internal pages.  &lt;a href="https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_areamap"&gt;See example.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;mark&amp;gt; &amp;lt;/mark&amp;gt;&lt;/code&gt; : The &lt;code&gt;mark&lt;/code&gt; tag is used to highlight text. It has a default colour of yellow, but this can easily be changed using &lt;strong&gt;CSS (Cascading Style Sheet).&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;detail&amp;gt; &amp;lt;/detail&amp;gt;&lt;/code&gt; : The &lt;code&gt;detail&lt;/code&gt; tag helps you to create HTML dropdown effect. This is good for when you want to give the user the option of showing or hiding certain pieces of information. It usually contains a &lt;code&gt;summary&lt;/code&gt; tag.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;summary&amp;gt; &amp;lt;/summary&amp;gt;&lt;/code&gt; : The &lt;code&gt;summary&lt;/code&gt; is usually contained inside the &lt;code&gt;detail&lt;/code&gt; tag. It works as the heading for the details tag. Content inside this tag is usually seen by your website visitors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;&amp;lt;footer&amp;gt; &amp;lt;/footer&amp;gt;&lt;/code&gt; : The &lt;code&gt;footer&lt;/code&gt; tag is used to define the footer section of your website. Everything inside this tag is usually text or information belonging to the footer section of your page.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;In conclusion, HTML5 tags are better to use for the following reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; Screen readers and other disability-aid devices have an easier time reading through semantic tags. This is because the devices can read the &lt;code&gt;header&lt;/code&gt; tags as headers, the &lt;code&gt;main&lt;/code&gt; tags as main content e.t.c. This makes your website accessible to a wider range of people and allows accessibility for all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Readability:&lt;/strong&gt; Semantic code makes it easier for you, the developer, and your teammates easily read through the codebase and make edits where necessary.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you next week, I will be writing more on web development and other beginner friendly topics. &lt;br&gt;&lt;br&gt;
Ciao! &lt;br&gt;&lt;br&gt;
Vanessa O.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;PS:&lt;/em&gt;&lt;/strong&gt; If you're looking to start on your tech career this year, you can download  &lt;a href="https://t.co/QhrUnNLVY0?amp=1"&gt;this checklist of 14 careers&lt;/a&gt;  in tech and see the programming language you should learn first.&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>semantic</category>
    </item>
  </channel>
</rss>
