<?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: Valencia White</title>
    <description>The latest articles on DEV Community by Valencia White (@valenciawhite).</description>
    <link>https://dev.to/valenciawhite</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%2F815705%2Fed263079-73b2-4eb3-81a5-c4d9f38cdb0c.jpg</url>
      <title>DEV Community: Valencia White</title>
      <link>https://dev.to/valenciawhite</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/valenciawhite"/>
    <language>en</language>
    <item>
      <title>HTML, CSS, JavaScript, and Ruby, Oh My! What Comes After Bootcamp?</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Wed, 01 Jun 2022 15:00:18 +0000</pubDate>
      <link>https://dev.to/valenciawhite/html-css-javascript-and-ruby-oh-my-what-comes-after-bootcamp-1cp6</link>
      <guid>https://dev.to/valenciawhite/html-css-javascript-and-ruby-oh-my-what-comes-after-bootcamp-1cp6</guid>
      <description>&lt;p&gt;My Flatiron graduation approaches rapidly and my anticipation is building steadily! Over the course of half a year, I have some takeaways from the entire experience I would like to share with others who have completed a coding bootcamp and those who are considering joining one. &lt;/p&gt;

&lt;h2&gt;
  
  
  What I Took Away From Learning Full-Stack Development
&lt;/h2&gt;

&lt;p&gt;Having the opportunity to learn both front-end and back-end development was truly amazing! Knowing I come equip with the abilities to render out any idea that pops into my head, is a wonderful feeling and seeing how the more I code, I can scientifically only get better, I'm even more excited for my future! &lt;/p&gt;

&lt;p&gt;I definitely know for now, I want to work on Front-end as my time with JavaScript and React was very satisfying in comparison to my time in back-end. I do like the fact you can experience your creation immediately as a front-end developer, and as an ex-graphic designer, that area just feels closer to home, as design and creativity can be implemented more so than rendering out a back-end to an application. I simply say that as back-end is very a-to-b in terms of how everything should be working. No bells and whistles there. But who's to say down the road, I won't end up taking a journey down back-end development. &lt;/p&gt;

&lt;p&gt;I do know I will need to brush up on a few lessons after graduation, but that's to be expected. Even though I'm focusing on front-end, honing in on my back-end designing capabilities is a skill I would rather not loose all the way, as the information is still rather fresh in my head. Cue the bi-weekly full-stack side projects! &lt;/p&gt;

&lt;h2&gt;
  
  
  They Say Your Dream Life Is Made by Design
&lt;/h2&gt;

&lt;p&gt;With my mornings freeing up, this gives me an amazing opportunity at re-ordering and re-designing my 'life-admin' duties that fell way-side as I got absorbed in the engrossing program that is Software Engineering. My program was 15-weeks + and extra 4 weeks for me as I ended up repeating a phase. &lt;em&gt;JavaScript, you are tricky at times, but you changed my life so, thank you.&lt;/em&gt; From morning to night reading and watching every lecture on the front-end all the way to the back-end. &lt;/p&gt;

&lt;p&gt;Nearly 10 whole hours back to myself for 5 days a week, this seems like a blessing from above. I can focus on building projects I'm interested in without the guilt of feeling like I'm behind in my actually classwork, and this is what I'm most pumped for. My instructor warned our cohort about students who graduate and stop coding for a while as a way to rest and recover from the grueling nature that is a coding bootcamp, and they almost always end up regretting taking that long of a break without coding as the skills seem to almost leave your memory.  &lt;/p&gt;

&lt;p&gt;With that being said I will still be coding daily, while studying more theory based knowledge in order to prep for technical interviews, while re-nurturing my love of graphic design! So don't worry about me, I will be very very busy entertaining myself with all my wildest design fantasies. &lt;/p&gt;

&lt;p&gt;Some critical questions you're going to need to ask yourself before attending a bootcamp includes questions like, "What matters to you right now?", and "What can wait?" Because sacrifice will have to be made somewhere down the line in order to truly propel and see growth. You need to focus and having too many prospects on your plate can have you putting in a ton of effort with little returns on investment. Imagine spreading a gallon of water(yourself) over a span of ten cups (opportunities). Yes, you'll be quite diversified, but at what cost? In some instances depth in a field trumps breadth over many.   &lt;/p&gt;

&lt;h2&gt;
  
  
  Outlooks + Prospects
&lt;/h2&gt;

&lt;p&gt;I haven't dived too deeply in the job searching realm of business, I've been waiting until all loose ends are completely sealed with my program as the days wind down before graduation. I will be meeting with my career coach after graduation and I'm excited to see what opportunities lay before me. &lt;/p&gt;

&lt;p&gt;After some research and careful thought,  I do know I want to incorporate an old skill back into my current toolbox and that's - graphic design. So positions like UI Developer and UI Designer have been appealing to me. As they seem to scratch the logic of programming, while taking advantage of my eye for design. Also all things that fall under 'creative technologist', I just found out about this term not too long ago but the general description of all it entails pretty much sums up the life I want to be involved in. &lt;/p&gt;

&lt;p&gt;From BetterTeam - "Creative technologists are primarily technology-focused individuals who develop information technology solutions for digital innovation projects. They collaborate with production and marketing departments, design software prototypes, and enhance digital user-experiences."&lt;/p&gt;

&lt;p&gt;There's an entire new world opened up to me and now I have the luxury of experiencing it for myself full force! I wake up excited to create and design, and seriously learning to code has added a depth to my creative endeavors in a way I did not see coming. I joined a bootcamp because I was looking for a change in life, and by far this is the best chance I've took on any anything!&lt;/p&gt;

&lt;p&gt;But now that I have these wonderful moments to look forward to, it's crucial I mention, that the journey to this position was not a cake walk by any means for me.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Introspection
&lt;/h2&gt;

&lt;p&gt;Juggling everything all at once got very tricky at certain points also factoring in natural emotional fluctuations. Missing family and friend's events for so long leaves connections a tad severed and strained, if you are introverted in nature with a low social battery. &lt;/p&gt;

&lt;p&gt;That's a key takeaway for you: &lt;strong&gt;Know Thyself&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seriously if you're thinking of enrolling in a coding bootcamp full-time, factor in the shifts to your social life, factor in the shifts to your diverted attention from your other hobbies, and especially scouting the source of income you will be receiving while enrolled, because working a regular full-time while attending bootcamp full-time is next to impossible. Not saying it can't be done, but you will feel like you're operating off of fumes, and the goal is to cross the finish line in stride, not barely scathing by. &lt;/p&gt;

&lt;p&gt;In my case juggling between the coding program, my weekend job, and my social life every week, one of them would have to suffer in some way. I've paid great money to attend Flatiron, so I couldn't just waste it away, so I intended on showing up in that regard. I still have financial obligations I'm tethered to, so not giving my job attention is almost impossible as well... hopefully you see the image I'm trying to paint here. In my life during this time, the social aspect to my life was heavily neglected, so now a nice portion of my time will be spent re-nurturing those connections.&lt;/p&gt;

&lt;p&gt;It was hard for me to be involved with others, while duties in my own life seemed so desperately urgent and I seemed to struggle with managing my own anxious thoughts and self-sabotaging nature. &lt;/p&gt;

&lt;p&gt;There is only so much of you to go around, and only you have a say of where your energy goes!  &lt;/p&gt;

&lt;h2&gt;
  
  
  Final Regards...
&lt;/h2&gt;

&lt;p&gt;I have widening curiosities about the combination of technology and design and the wonders the two can produce. I know I will be entering the tech world as a Front-End Developer, but where that path leads, I'm excited to explore.  &lt;/p&gt;

&lt;p&gt;Thank you Flatiron for the experience, I'm proud of the work I get to provide into the ethers and the craft that a user gets to experience! I will keep on developing and building projects out, stretching my knowledge and visions in this field.   &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Working With React Props The Right Way</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Wed, 01 Jun 2022 04:07:00 +0000</pubDate>
      <link>https://dev.to/valenciawhite/working-with-react-props-the-right-way-1ke2</link>
      <guid>https://dev.to/valenciawhite/working-with-react-props-the-right-way-1ke2</guid>
      <description>&lt;p&gt;If you are new to React and you are working with 'components' for the first time, I don't know if it was just me but it took me a while to understand the movement flow of 'props' and looking back it could of been a lot simpler, if I understood these starting points first. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are Props in React?
&lt;/h2&gt;

&lt;p&gt;Props in React are used to pass data from one parent component to it's children component(s) and vice versa. Props allow data to be dynamic within your application as they travel to new components. And to reiterate, components can be summed to files of encapsulated logic, that has the ability of being reusable. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_0lBEWow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vhxk88wb9vfzzc5oa8pi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_0lBEWow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vhxk88wb9vfzzc5oa8pi.png" alt="class components" width="800" height="488"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In my code I'm accessing the data I've fetched from an API I created and with the array of data objects returned, I'll be using JavaScript's &lt;code&gt;.map()&lt;/code&gt; function to render each card out individually. &lt;/p&gt;

&lt;p&gt;I have the component placed with the parentheses of the return function and I use dot notation to access individual data about each data point I'm looking for.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const cardRender = tarots.map((tarot) =&amp;gt; {
        return (
            &amp;lt;TarotCard
                key={tarot.id}
                card_name={tarot.card_name}
                image={tarot.image}
                description={tarot.description} /&amp;gt;
        )
      })
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I started off with passing the data from the parent of TarotCard, which was Home and now it's time for me to work in the TarotCard component itself and restructure the data I'm passing down.&lt;/p&gt;

&lt;p&gt;I want to highlight a tidbit of keeping your naming conventions relatively consistent. To the left of the equal sign you are free to name this value anything of your pleasing, but keep in mind this is how you will have to intake your data from the component you are sending it to. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Destructuring?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jn8U7cBD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/452y6kgm8cm18ow5c28m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jn8U7cBD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/452y6kgm8cm18ow5c28m.png" alt="Destructure" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"To destructure means to dismantle the structure of something. In JavaScript, this structure could be an array, an object, or even a string where the properties that make up the structure would be used to create a new identical structure (the properties can be altered)."&lt;/p&gt;

&lt;p&gt;In the function TarotCard, as an argument,  I am passing into it all the data we placed in the TarotCard component from the Parent directory &lt;code&gt;{card_name, image, description}&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;The magic of this all, is that TarotCard has no direct access to the API I am using, but because we passed down data from the parent directory, now we can access the data from here and keep the information on the tarot cards dynamic, based off of changes in the database.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return (
        &amp;lt;div className="main-container"&amp;gt;
          &amp;lt;div className="minor-container"&amp;gt;
            &amp;lt;div className="tarot-list" &amp;gt;
              &amp;lt;div className="card"&amp;gt;
                &amp;lt;img className="card-img-top" src={image} 
                alt={card_name}&amp;gt;&amp;lt;/img&amp;gt;
                &amp;lt;h5 className="card-title"&amp;gt;{card_name}&amp;lt;/h5&amp;gt;
                &amp;lt;ReadMore &amp;gt;
                  {description}
                &amp;lt;/ReadMore&amp;gt;
             &amp;lt;/div&amp;gt;
          &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
   )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To create my tarot cards I have "main-container" that is the black border around my cards, the 'minor-container' that is the victorian print overlay and finally a div that is the card container that will be the parent of the details of the card. &lt;/p&gt;

&lt;p&gt;To use props with an image tag, I give it a class name that makes targeting easier down the road, and then as the source I pass the data object "image". So now the source will populate with whatever combination of strings sent through my seeded data. I also provide an alt name for accessibility reasons, and for this, just pass down the card_name object. &lt;/p&gt;

&lt;p&gt;I essentially do this to the rest of the inputs I need dynamic data for  and in my case the description data is wrapped in tags that enforce text character limiting upon initial render. &lt;/p&gt;

&lt;p&gt;If all the data is fetched correctly, passed down correctly, and accepted properly your DOM should render the data you set out to retrieve! Like so... &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2J38Jwt1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vkahbz2cvj98lddhw4kn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2J38Jwt1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vkahbz2cvj98lddhw4kn.png" alt="tarot card" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-use-es6-javascript-features-in-react/"&gt;JavaScript ES6&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Should You Accept Cookies From Strangers?</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Fri, 06 May 2022 20:31:37 +0000</pubDate>
      <link>https://dev.to/valenciawhite/should-you-accept-cookies-from-strangers-4n23</link>
      <guid>https://dev.to/valenciawhite/should-you-accept-cookies-from-strangers-4n23</guid>
      <description>&lt;p&gt;As an avid computer user and now programmer, it recently dawned on me, how desensitized I was to receiving cookie pop-ups, you know the one, asking you to allow or deny website's  access to store cookies on your device. &lt;/p&gt;

&lt;p&gt;I always hit 'allow' as fast as I can just to get the pop-up out of the way and continue browsing the site I was on. &lt;/p&gt;

&lt;p&gt;But I had to ask myself, "Do I even know what I'm agreeing to?". &lt;/p&gt;

&lt;p&gt;I didn't. I vaguely understood it was to make my user experience better, somehow. But after clicking that 'allow' button, what was to follow was unbeknownst to me. &lt;/p&gt;

&lt;h2&gt;
  
  
  What  Exactly Are Cookies?
&lt;/h2&gt;

&lt;p&gt;Invented by programmer Lou Montoulli, browser cookies (a.k.a internet/web/HTTP cookies) are text files that help track your user session, and identify who you are as a visitor, and what you may like to see render on your webpage. Browser cookies are browser independent, so the browser cookies that are stored on your device on &lt;em&gt;e.g., Google&lt;/em&gt; will not be available in &lt;em&gt;e.g., Firefox&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Yes, that sounds kinda creepy, but browser cookies can be very helpful. &lt;/p&gt;

&lt;h2&gt;
  
  
  How Are They Helpful?
&lt;/h2&gt;

&lt;p&gt;Imagine if every time you online shopped and navigated to different parts of the website, everything you managed to save to your cart, gets removed. That would be frustrating for you, the customer, and that would be an expensive liability to the business. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;That's where cookies come in.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the numerous amount of websites the average person has to sift through in one day alone, imagine having to remember the username and password for every single site you engage with and then having to re-enter that information every time you go to that site after closing it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;That's where cookies come in.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the modern age of technology, escaping the viewing of ads is near impossible as that's how most free websites make their income, so rather than being bombarded with ads that would be considered undesirable by a user, the personalization of ads that align with what the user likes, helps make the experience more bearable to endure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;That's where cookies come in.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As you can see, browser cookies intend to streamline your web browsing experience, nothing too creepy going on here. The data that cookies store cannot be changed. Also, the amount of data cookies can hold, reach a merely 4kB. Compared to local Storage and sessionStorage, storing 5MB. &lt;/p&gt;

&lt;h2&gt;
  
  
  So, How Exactly Does It All Work?
&lt;/h2&gt;

&lt;p&gt;I'm glad you asked! Remember those text files, that essentially makeup what a cookie is? Those files are given to a user's browser of choice by a web server. And since web servers aren't intended to hold memory, the cookie that is created from a user's activity and input from a site is compiled into a file called a 'session id' that can be accessed and stored through a user's browser. &lt;/p&gt;

&lt;p&gt;Subsequently, when a user visit the same website the browser will send that file to the web server. The web server will check for the session id and in return send data back to the browser. In order to present user's with their choice of web page personalization and in some cases an already logged in account. &lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Cookies
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Session Cookies&lt;/strong&gt; &lt;br&gt;
Session cookies do not store data in your device, nor do they remain once your browser is closed. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Persistent Cookies&lt;/strong&gt; &lt;br&gt;
Unlike session browser cookies, persistent cookies are stored on your device until you delete them or they expire. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. First-Party Cookies&lt;/strong&gt; &lt;br&gt;
Are browser cookies that are sourced from the original website a user visits. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Third-Party Cookies&lt;/strong&gt; &lt;br&gt;
These are the cookies that are stored in a user's device from advertisements, search engines, and social media sites frequented by the user. &lt;/p&gt;

&lt;h2&gt;
  
  
  That's How The Cookie Crumbles
&lt;/h2&gt;

&lt;p&gt;So now the next time you accept a website's cookies, I hope after reading through this article, you'll feel more confident as a developer knowing what you're doing on the internet and learning how bits and pieces of the web works as a whole.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>programming</category>
    </item>
    <item>
      <title>Using Canvas API in JavaScript</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Mon, 11 Apr 2022 06:33:20 +0000</pubDate>
      <link>https://dev.to/valenciawhite/using-canvas-api-in-javascript-5ce0</link>
      <guid>https://dev.to/valenciawhite/using-canvas-api-in-javascript-5ce0</guid>
      <description>&lt;h2&gt;
  
  
  What is Canvas API
&lt;/h2&gt;

&lt;p&gt;From MDN&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Canvas API provides a means for drawing graphics via JavaScript and the HTML  element. Among other things, it can be used for animation, game graphics, data visualization, photo manipulation, and real-time video processing.&lt;/p&gt;

&lt;p&gt;The Canvas API largely focuses on 2D graphics. The WebGL API, which also uses the  element, draws hardware-accelerated 2D and 3D graphics.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How to start using Canvas API
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Place your script tag in between the HTML &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; tags to begin using Canvas.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;canvas id="canvas" width="600" height="600"&amp;gt;&amp;lt;/canvas&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As a convention, the name of the id typically goes by 'canvas'. This of course can be any name of your choosing, just pick a name that optimizes your code flow and makes sense to you. &lt;/p&gt;

&lt;p&gt;Once you have the initial skeleton set-up, two attributes are required when setting up your canvas space. A desired 'width' and 'height' of the canvas needs to be set. Also note these attributes can be altered well into the design process if necessary.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let canvas = document.querySelector("#canvas");
const width = canvas.width;
const height = canvas.height;

canvas.width = 400;
canvas.height = 400;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Getting Creative
&lt;/h2&gt;

&lt;p&gt;Thought these examples, I will be coding in the HTML's &lt;em&gt;body&lt;/em&gt; tag, nested between &lt;em&gt;script&lt;/em&gt; tags. You're free to code along with me in the same environment, or move your code into a separate JavaScript file. &lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up the Basics
&lt;/h3&gt;

&lt;p&gt;Once we've laid out the skeleton-frame of our HTML code, it's time to implement code that brings our creative desires to life!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; let canvas = document.querySelector("#canvas");
 let context = canvas.getContext('2d');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Place a 'Document' method in the Script portion of the code and pass the id of the canvas space we've created earlier to begin customizing our graphic. We'll target the id by first typing the symbol of the corresponding attribute. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Quick refresher&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;# = id &lt;br&gt;
. = class.&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The code below tells JavaScript the context of the drawing surface we are creating is 2D as opposed to 3D. And this can be used for creating shapes, text, and images.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;let context = canvas.getContext('2d');&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  First Shape
&lt;/h3&gt;

&lt;p&gt;I'll begin by creating a rectangle that is outlined in a 4 pixel stroke with the 'strokeRect()' method. The color attribute can be altered by calling the variable chained to 'strokeStyle()', then entering a hex color code or by the name of a color identified by JavaScript. In today's example, I'll use 'green'. The parameters passed to the 'strokeRect()' simply refer to its top-left corner at (100, 100), and gives it a size of 400 units wide (first 400) by 400 tall (second 400).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; context.lineWidth = 4;
 context.strokeStyle = 'green';
 context.beginPath();
 context.strokeRect(100, 100, 400, 400); 
 context.stroke();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Outcome
&lt;/h3&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%2Fvb9qeijhp978snc3ton3.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%2Fvb9qeijhp978snc3ton3.png" alt="Green Outlined Rectangle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Nested Shapes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;context.beginPath();
        context.arc(300, 300, 100, 0, Math.PI*2);
        context.lineWidth = 3;
        context.stroke();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Outcome
&lt;/h3&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%2F17bo0jpewk0gra8ykgf4.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%2F17bo0jpewk0gra8ykgf4.png" alt="Green Outlined Circle Inside Rectangle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Play Around With Your Code
&lt;/h3&gt;

&lt;p&gt;Add in new shapes, rearrange the size of shapes, etc. just get creative and explore all that you can do with a few tweaks, or major ones! In our example, I created two side circles for the larger main circle that all together posses a Venn diagram positioning amongst each other.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;context.beginPath();
        context.arc(400, 300, 50, 0, Math.PI*2);
        context.lineWidth = 2.5;
        context.stroke();

        context.beginPath();
        context.arc(200, 300, 50, 0, Math.PI*2);
        context.lineWidth = 2.5;
        context.stroke();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Outcome
&lt;/h3&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%2F8crmyndxp53c1yo85oik.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%2F8crmyndxp53c1yo85oik.png" alt="Three Circles in a Rectangle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API" rel="noopener noreferrer"&gt;MDN Official Canvas API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>design</category>
    </item>
    <item>
      <title>5 Soft-Skills You Will Need To Thrive As A Web Developer</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Sat, 02 Apr 2022 01:13:30 +0000</pubDate>
      <link>https://dev.to/valenciawhite/5-skills-you-will-need-to-thrive-as-a-developer-438i</link>
      <guid>https://dev.to/valenciawhite/5-skills-you-will-need-to-thrive-as-a-developer-438i</guid>
      <description>&lt;h2&gt;
  
  
  Patience... and lots of it!
&lt;/h2&gt;

&lt;p&gt;In the world of technology and development, it’s normal for this side of the world to introduce new technologies in software almost daily. As a developer, you’re expected to keep up just as fast as it's being created in order to keep up with trends in the market. But not only are you expected to be aware of the new technology that comes out, but you’re also expected to widen your breadth of knowledge in the technology you’re currently niched in. &lt;/p&gt;

&lt;p&gt;It can be a lot and quite frankly, it is a lot.&lt;/p&gt;

&lt;p&gt;With the sheer amount of knowledge so readily available for your consumption, it’s critical to be patient with yourself when it comes down to learning new information. It’s easy to get wrapped up in the idea of you should be understanding something quicker than what you are. Especially when it seems your peers are outpacing you on that same topics. Trust me, don’t fall for the mirage in the desert. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;You’re not alone in the feeling.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;+ Actionable steps you can take:&lt;/strong&gt; I encourage you to make a flexible game plan every few months, simply checking in with yourself on the technologies and tools you desired learning and exploring. And while you’re learning new technologies, build, build, build, and build some more. Break code, debug code, and contribute to open-source code in that technology stack - just get your hands dirty! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_FosYSnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1573496130488-f3bd89d03653%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8Njh8fHV4JTIwZGVzaWduZXJ8ZW58MHx8MHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_FosYSnO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1573496130488-f3bd89d03653%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8Njh8fHV4JTIwZGVzaWduZXJ8ZW58MHx8MHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" alt="Company Meeting" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Flexible Communication &amp;amp; Negotiation
&lt;/h2&gt;

&lt;p&gt;Maybe it was just me, but as an introvert I thought the world of development would be an “every man for himself” type of environment. That couldn’t be further from the truth from my experience, I have seen this can be a highly connected, community oriented environment and if you’re not prepared to tweak your tune for the crowd you're communicating to, you will unfortunately suffer in the social aspect that makes up the work-force of thriving companies. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;+ Actionable steps you can take:&lt;/strong&gt; You could create the greatest presentation on a project assigned to you to solve, but with the way human nature plays out, what good is it if you didn’t attune the message to a frequency that aligned with the crowd. Be prepared to work with many people from all walks of life, so knowing how to be flexible enough to adjust your approach in a given situation is bound to give you an upper-hand in social settings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---w0Bsi1l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1613909207039-6b173b755cc1%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8NXx8dXglMjBkZXNpZ25lcnxlbnwwfHwwfHw%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---w0Bsi1l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1613909207039-6b173b755cc1%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8NXx8dXglMjBkZXNpZ25lcnxlbnwwfHwwfHw%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" alt="Design Session" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Child-like Curiosity &amp;amp; Imagination
&lt;/h2&gt;

&lt;p&gt;With the wide range of options to explore in the tech world, it’s essential to carry within you a childlike curiosity about all that you encounter, as it makes the journey that much more rewarding. &lt;/p&gt;

&lt;p&gt;Getting lost for hours in a code base, just trying out different logic paths and cropping curiosities is bound to lead you to new discoveries across the web as you dive deeper.&lt;/p&gt;

&lt;p&gt;This is what we want! To not have an end goal in mind and just letting your coding fingers auto-pilot the rest of the experience. &lt;/p&gt;

&lt;p&gt;As you let a natural flow of discovering exist in this process, new information is easily absorbed as the excitement of learning something that inspires you, lead you down a rabbit hole of positive challenges that keeps you hooked and evolving.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OXim5KMP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1580894742597-87bc8789db3d%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8Njd8fHRlY2glMjBjb21wYW55fGVufDB8fDB8fA%253D%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OXim5KMP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1580894742597-87bc8789db3d%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8Njd8fHRlY2glMjBjb21wYW55fGVufDB8fDB8fA%253D%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" alt="Company Meeting" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ability to Accept Multiple Truths
&lt;/h2&gt;

&lt;p&gt;One of my favorite aspects of coding, is that there is so many ways to reach the same destination! Granted there is a convergent nature that looms over developers, as there really isn't too many variations from the script of code that is the most efficient in production-level programming, sought out by established tech companies. &lt;/p&gt;

&lt;p&gt;Despite that, on smaller projects, it’s incredibly freeing and exciting as you could recode the same project over and over just to test different syntax out, and still arrive to the same conclusion.&lt;/p&gt;

&lt;p&gt;Since being in a coding boot camp, I’ve soon realized that not all people inherently enjoy that amount of laxity, as it makes learning concepts a bit more difficult if you’re learning material from one source and it is taught a certain way and then switch to a different resource and they go about the same concept in a varying way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;+ Actionable steps you can take:&lt;/strong&gt; I agree, that part of the learning process can be frustrating to what feels like gravel through new concepts from different sources and utilizing it in your code, but that’s where point 3 comes in! It’s going to take some Frankenstein level of stitching of elements to get things to work right for what you need them for, but hey- that’s what coding is about... getting your brain churning and your fingers gliding!  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--grK7zm0C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1603700501120-de2ebf0ae131%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8MTN8fGNsb3NlZCUyMGxhcHRvcHxlbnwwfHwwfHw%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--grK7zm0C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://images.unsplash.com/photo-1603700501120-de2ebf0ae131%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxzZWFyY2h8MTN8fGNsb3NlZCUyMGxhcHRvcHxlbnwwfHwwfHw%253D%26auto%3Dformat%26fit%3Dcrop%26w%3D900%26q%3D60" alt="Company Meeting" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Knowing When to Move On
&lt;/h2&gt;

&lt;p&gt;Sometimes, the code is just broken to a point where it’s okay to call it quits. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yes, tenacity is golden, but keeping your sanity is priceless.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;After you’ve given a task at hand plenty of effort and time, it’s okay to bury it and move on. And whose to say after moving on and learning new concepts, the solution comes to you at a later time-period. The good thing about code, for the most part if you’re keeping up with your storage - it’ll always be there for you! So no need to feel like you need to solve every issue the moment it arises. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And maybe before calling it quits,&lt;/strong&gt; it never hurts to bring in some outside eyes to help guide you along if possible, but again if that method renders futile, it's &lt;em&gt;a-okay&lt;/em&gt; to save it for a later date. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;+ Shifting perspective a little bit:&lt;/strong&gt; Theoretically speaking, as time goes on and you continue coding properly and progressively, you can only get better. Think of the code that’s broken today as a problem you are gifting future you to solve once you have the understanding and knowledge to tackle such a task. &lt;/p&gt;

&lt;p&gt;It’s like you’re your own Yoda :p &lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Photos from Unsplash &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>softskills</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Making Fetch Happen in Vanilla JavaScript</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Fri, 18 Mar 2022 21:16:16 +0000</pubDate>
      <link>https://dev.to/valenciawhite/making-fetch-happen-in-vanilla-javascript-4e2l</link>
      <guid>https://dev.to/valenciawhite/making-fetch-happen-in-vanilla-javascript-4e2l</guid>
      <description>&lt;p&gt;Starting on your Javascript journey, you're probably used to working with data you've created yourself. With time and consistent practice, you'll get to a point where you're ready to utilize a larger database from a third-party server, and if I guessed right, it's safe to say that time is now... since you're here. &lt;/p&gt;

&lt;p&gt;No fears, my coding babies! By the end of this blog post, you'll be ready to make fetch happen!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Fetch?
&lt;/h2&gt;

&lt;p&gt;A &lt;code&gt;fetch()&lt;/code&gt; request allows a developer to access data (or &lt;em&gt;wink wink&lt;/em&gt;, fetch) data by sending &lt;strong&gt;asynchronous&lt;/strong&gt; HTTP request to a server from a web browser and returning a promise in the form of a response, once the data is received. &lt;/p&gt;

&lt;h2&gt;
  
  
  Lets Send Your First &lt;code&gt;Fetch()&lt;/code&gt; Request to an API in JavaScript
&lt;/h2&gt;

&lt;p&gt;Firstly, let us invoke the &lt;code&gt;fetch()&lt;/code&gt; function with the URL of the desired API. And if you prefer cleaner code, initialize a variable with the API URL and pass the variable as an argument to the fetch function. &lt;/p&gt;

&lt;p&gt;For this example, I'll be using a fake API, but you're free to use any API that meets your needs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const baseURL = "https://jsonplaceholder.typicode.com/posts";

fetch(baseURL)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Since the &lt;code&gt;fetch()&lt;/code&gt; method returns a promise, we can use the &lt;code&gt;.then()&lt;/code&gt; to handle the response.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch(baseURL)
.then(response =&amp;gt; ?)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the first promise, we need to add a &lt;code&gt;.json()&lt;/code&gt; method to return the resolved promise's information as JSON. &lt;br&gt;
The result is NOT inherently JSON, but rather JSON that has been taken in to produce a JavaScript object.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch(baseURL)
.then(response =&amp;gt; response.json())
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do not forget to add your parenthesis after &lt;code&gt;.json()&lt;/code&gt;! Like functions, if the parenthesis are omitted, there's no way the method could be invoked.  &lt;/p&gt;

&lt;p&gt;Now, it's time for our second &lt;code&gt;.then()&lt;/code&gt; method. Here, I'm logging the data we just received from our API in the console. The data I'm logging is the data we will be using for a deliverable we would need to meet, if there was one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch(baseURL)
.then(response =&amp;gt; response.json())
.then(data =&amp;gt; console.log(data))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The names we given to "response" and "data" are also not set in stone.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch(baseURL)
.then(res =&amp;gt; res.json())
.then(bakeryData =&amp;gt; console.log(bakeryData))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A naming format like this one is just as valid as our original example. Just be sure to make the variable names match! &lt;br&gt;
For readability sake, if you are going to name it something other than "data", I encourage a name that hints to what the data is in reference to. &lt;/p&gt;

&lt;h3&gt;
  
  
  What's Rendered in the Console
&lt;/h3&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%2Fb7ahpjx874izrb8nri43.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%2Fb7ahpjx874izrb8nri43.png" alt="Rendered fetch API"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we have an array of objects, ready to be iterated over and rendered onto our DOM like so!  &lt;/p&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%2Fj77xwq46op00fe0zk33n.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%2Fj77xwq46op00fe0zk33n.png" alt="Rendered Array from Fetch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Hopefully, you can take away the knowledge I've learned and apply it to your project. If there's a step you're struggling over, take a second to re-read the code or look down below at the resources I provided, to supplement and fill in the gaps of your understanding. &lt;/p&gt;

&lt;h2&gt;
  
  
  Terminology You Should Know
&lt;/h2&gt;

&lt;p&gt;-Asynchronous - allows another task to run before the previous one finishes.&lt;/p&gt;

&lt;p&gt;-AJAX - stands for Asynchronous JavaScript And XML. AJAX allows asynchronous server interaction while the user is browsing the page.&lt;/p&gt;

&lt;p&gt;-GET Requests — used for retrieving or “fetching” data from an API.&lt;/p&gt;

&lt;p&gt;-POST Requests — used for uploading or adding data.&lt;/p&gt;

&lt;p&gt;-PATCH/PUT Requests — used for editing data that is already in the database.&lt;/p&gt;

&lt;p&gt;-DELETE Requests — used for deleting a piece of data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/fetch" rel="noopener noreferrer"&gt;MDN Fetch Documentation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then" rel="noopener noreferrer"&gt;MDN Promise Documentation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://jsonplaceholder.typicode.com/" rel="noopener noreferrer"&gt;Free Fake API&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>The Subtle Differences between 'innerText' and 'textContent' You Should Know</title>
      <dc:creator>Valencia White</dc:creator>
      <pubDate>Thu, 17 Feb 2022 08:22:57 +0000</pubDate>
      <link>https://dev.to/valenciawhite/the-subtle-differences-between-innertext-innerhtml-and-textcontent-you-should-know-3clc</link>
      <guid>https://dev.to/valenciawhite/the-subtle-differences-between-innertext-innerhtml-and-textcontent-you-should-know-3clc</guid>
      <description>&lt;p&gt; While both properties on the surface seem to perform the same task within lines of code - render the text from an element or tag. Understanding the similarities and differences between the two will allow you to choose the property optimal for your next JavaScript project.&lt;/p&gt;

&lt;h3&gt;Element.innerText&lt;/h3&gt;

&lt;p&gt;Where  'element.innerText'  triumphs above the other property, is the fact innerText takes into account CSS styling. Opting for rendering what humans prefer to read. Text will be rendered in plain text. Keeping styling in mind, 'element.innerText' trims all white space in its renderings, unlike 'node.textContent'. &lt;/p&gt;

&lt;p&gt;To better demonstrate what '.innerText' does, below there's a sample of HTML.&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 id='property-test'&amp;gt;
            Flatagram     is the &amp;lt;strong&amp;gt;best&amp;lt;/strong&amp;gt; app ever! Wouldn't &amp;lt;em&amp;gt;you&amp;lt;/em&amp;gt; agree?
        &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once opened in browser, the code renders a sentence of "Flatagram is the best app ever! Wouldn't you agree?" with strong/bold tags wrapped around "best" and em/italic tags wrapped around "you". &lt;/p&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%2F8f259tezsyyrarbxqxb8.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%2F8f259tezsyyrarbxqxb8.png" alt="Browser render of code above"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const renderText = document.getElementById('property-test');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I assigned the div to a new variable. Let's call .innerText on our new variable 'renderText'.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;renderText.innerText
// =&amp;gt;   Flatagram is the best app ever! Wouldn't you agree?

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

&lt;/div&gt;



&lt;p&gt;Once called, what's rendered is plain text. No inclusion of HTML tags like '.innerHTML' and no inclusion of the spacing like '.textContent'. &lt;/p&gt;



&lt;h3&gt;Node.textContent&lt;/h3&gt;

&lt;p&gt;Node.textContent triumphs 'element.innerText' in the event, all elements in the node need to be rendered.&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 id="market-options"&amp;gt;
            &amp;lt;div&amp;gt;mangos, coconuts, and pears&amp;lt;/div&amp;gt;
            &amp;lt;div style="visibility:hidden"&amp;gt;all go great in a smoothie bowl.&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the code above although we have a element set to be hidden, using '.textContent' will override the assigned setting and display as logged.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mangos, coconuts, and pearsall go great in a smoothie bowl.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;After reading through this post, I hope you've learned something new about .innerText and .textContent properties. And because I know one source is never enough to encapsulate the depth of knowledge that programming entails, I highly encourage you to check out the extra resources I've provided to show you more examples of the nuances of these properties and how they affect your code. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More information on .innerText Property | &lt;a href="https://www.geeksforgeeks.org/html-dom-innertext-property/" rel="noopener noreferrer"&gt;link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comparison of the properties |  &lt;a href="https://www.w3schools.com/jsref/prop_node_textcontent.asp" rel="noopener noreferrer"&gt;link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MDN .textContent | &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent" rel="noopener noreferrer"&gt;link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>html</category>
    </item>
  </channel>
</rss>
