<?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: Jesse Franklin Charles Vaughn</title>
    <description>The latest articles on DEV Community by Jesse Franklin Charles Vaughn (@jcface).</description>
    <link>https://dev.to/jcface</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%2F495459%2F91996af9-fb30-40b7-92db-91f3dbdfb9a4.png</url>
      <title>DEV Community: Jesse Franklin Charles Vaughn</title>
      <link>https://dev.to/jcface</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jcface"/>
    <language>en</language>
    <item>
      <title>Strap it Up</title>
      <dc:creator>Jesse Franklin Charles Vaughn</dc:creator>
      <pubDate>Fri, 29 Jan 2021 23:07:20 +0000</pubDate>
      <link>https://dev.to/jcface/strap-it-up-4lpa</link>
      <guid>https://dev.to/jcface/strap-it-up-4lpa</guid>
      <description>&lt;p&gt;CSS is no joke. I recently spent 15 weeks in a coding bootcamp and have only now just begun to really dive into the world of styling. You'd think that this would probably be the easiest part of building a web page or app right?(I mean I know I did.) I was thinking it's just coloring things and moving them around around, can't be that hard right? However, CSS bugs can be just as tricky and elusive as bugs in JS. Enter bootstrap. Bootstrap is an HTML, CSS and JavaScript library that allows you to easily add styling to a project. I have the most experience with react-bootstrap so that is what I'll covering for you here quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;First off make sure you have a react-app running. If you're not sure how to do that, React has wonderful documentation and the tutorial is very helpful as well. You can find all of that &lt;a href="https://reactjs.org/docs/getting-started.html"&gt;here.&lt;/a&gt;&lt;br&gt;
Alright so now that you have your react app started, you can begin to use react-bootstrap. First you will want to install the packages.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;bootstrap&lt;/span&gt; &lt;span class="nx"&gt;bootstrap&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Entering the above command into your terminal will install both the bootstrap package as well the react-bootstrap package. &lt;/p&gt;

&lt;h2&gt;
  
  
  Importing
&lt;/h2&gt;

&lt;p&gt;Once you have those packages installed into your package.json file you are ready to start using some bootstrap. In the component that you'd like to add some styling, you'll have to import the exact bootstrap component. Let's say I have a form in my app that I think just looks too boring for my taste. I can import the react-bootstrap Form component to give my form some style. Thinking ahead, we'll also probably want our form to have a submit button as well so let's import a button component along with our form component.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-bootstrap/Form&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-bootstrap/Button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You can also import any react-bootstrap components along with the entire react-bootstrap library by using the curly brace syntax shown below. The above import method is preferred however unless you need the whole bootstrap library for the component you are styling.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-bootstrap&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CSS File
&lt;/h2&gt;

&lt;p&gt;Now that you have the components imported where you want them you'll just need to import the bootstrap css file at the top level of your project(App.js or index.js).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bootstrap/dist/css/bootstrap.min.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Magic
&lt;/h2&gt;

&lt;p&gt;Now that you have all of the imports, you have access to all of the magic of react-bootstrap. It will make your basic HTML form...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8pNas_CI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6f3xiyx5ec30ci1jwy9v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8pNas_CI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6f3xiyx5ec30ci1jwy9v.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;into a nicely styled react-bootstrap form!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tzA3lhAp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nj3fc7libriqe4dhvgr6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tzA3lhAp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nj3fc7libriqe4dhvgr6.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So much better right! &lt;/p&gt;

&lt;h2&gt;
  
  
  React-bootstrap Docs
&lt;/h2&gt;

&lt;p&gt;If you'd like to make your forms all pretty like the one above then I would suggest you visit the &lt;a href="https://react-bootstrap.github.io/"&gt;react-bootstrap docs page.&lt;/a&gt; The docs are wonderfully written and provide you with step-by-step instructions on how to incorporate react-bootstrap components into your project. In this blog I've only mentioned the Form and Button components in the react-bootstrap library and there are so many more! I myself have only begun to scratch the surface of bootstrap and can't wait for all the adventures to come.&lt;/p&gt;

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

&lt;p&gt;I hope that I have convinced you to check out some react-bootstrap because it really is that cool. It helped me out a lot throughout my final project for my coding bootcamp and I know it will help any of you out there getting started!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>React Routing</title>
      <dc:creator>Jesse Franklin Charles Vaughn</dc:creator>
      <pubDate>Thu, 07 Jan 2021 21:47:46 +0000</pubDate>
      <link>https://dev.to/jcface/react-routing-8hj</link>
      <guid>https://dev.to/jcface/react-routing-8hj</guid>
      <description>&lt;p&gt;I am about 12 weeks into a coding bootcamp and we've just started learning about good ol' React. There's so much cool stuff encompassed within React but I'm going to spend some time telling you all about one of my favorite aspects of it so far which is how React handles it's routing. React Router is an amazing tool that allows a developer to provide specific URL's that are tied to specific components within their react app. I'm sure you can see how this makes for a much more friendly user experience when compared to only being able to use the back button or links within the app. Getting started with React Router is very simple. All you have to do is npm install react-router-dom from your terminal and you will have access to all of its wonders. &lt;/p&gt;

&lt;h2&gt;
  
  
  Components
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Routers&lt;/li&gt;
&lt;li&gt;Route Matchers&lt;/li&gt;
&lt;li&gt;Navigation Components&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;First we have the routers which are BrowserRouter and HashRouter.&lt;br&gt;
I haven't spent much time with HashRouter so I will mostly be discussing BrowserRouter. I do know that the main difference between them is the way they store the URL and communicate with your web server.&lt;br&gt;
At the core of every React Router application should be a router component. To make sure you are using your router component just import BrowserRouter from react-router-dom in your top level (most usually app) component of your project.&lt;/p&gt;

&lt;p&gt;Note: You can rename BrowserRouter so that it's easier to write in your code. Most simply rename BrowserRouter as Router shown below.&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="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;dom&lt;/span&gt;
&lt;span class="c1"&gt;// In your terminal&lt;/span&gt;



&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BrowserRouter&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;Router&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// At the top level of your project&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Second we have the route matcher components like Route and Switch. I'm going to talk about the Switch route matcher component first because it contains Route components within it. When a switch is rendered, it searches through its children Route elements to find one whose path matches the current URL. When it finds one, it renders that route and disregards all the other ones. This means that if you are using a switch you should put route's with more specific paths before less-specific ones. This is because the switch will render the first route that matches the one entered. If no Route matches, the Switch renders nothing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Switch&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/animals"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Animals&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/animals/fish"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Fish&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Missing&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Switch&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code, the exact path attribute is being used so that the switch renders "/animals" when someone visits "/animals/fish". Without the exact path attribute, you would have to put "/animals" as the last route in your switch.&lt;/p&gt;

&lt;p&gt;One significant thing to note is that a route path matches the beginning of the URL, not the whole thing. This means that a route path of "/" will always match any URL due to the fact that all URL's begin with "/". Because of this, we'll want to put the root route as the last in our switch. You can also use a route component without using a switch however you'll want to use the route's exact path attribute which will make it so that if the URL entered is not the exact route URL you've provided then nothing will happen.&lt;/p&gt;

&lt;p&gt;Last but not least we have navigation components: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Link&lt;/li&gt;
&lt;li&gt;NavLink&lt;/li&gt;
&lt;li&gt;NavBar&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Link components work intuitively, wherever you put a link component in your react app will generate a link(a tag) on your HTML. If you'd like any links to remain at the top of your app for navigational purposes you can use a simple NavBar component. A NavBar component allows you to prepend any links that you'd like to the top of your SPA. You can render a NavBar component like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// App.js&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;NavBar&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../components/NavBar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&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;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Router&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;NavBar&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Home&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/movies"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Movies&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/directors"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Directors&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Route&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/actors"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Actors&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Router&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// NavBar.js&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;NavLink&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NavBar&lt;/span&gt; &lt;span class="o"&gt;=&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;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"navbar"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Home&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/movies"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Movies&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/directors"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Directors&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt; &lt;span class="na"&gt;exact&lt;/span&gt; &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/actors"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Actors&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;NavLink&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;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;There's a lot more to React Routing but this is all I have for you now as I have just begun my journey with this wonderful technology. For more info please check out the &lt;a href="https://reactjs.org/docs/getting-started.html"&gt;React docs&lt;/a&gt; (they have really good docs) and there is also a react router tutorial that I found to be immensely helpful in getting an idea of how routing works with react.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Iffy about IIFE's?</title>
      <dc:creator>Jesse Franklin Charles Vaughn</dc:creator>
      <pubDate>Wed, 02 Dec 2020 22:51:46 +0000</pubDate>
      <link>https://dev.to/jcface/iffy-about-iife-s-2bbc</link>
      <guid>https://dev.to/jcface/iffy-about-iife-s-2bbc</guid>
      <description>&lt;p&gt;So I'm in this coding bootcamp and we just started learning about JavaScript. This is going straight from learning Ruby as my first programming language mind you so JS pretty much looked like spaghetti code at first. THEN in comes the IIFE which at first glance to me was like unorganized spaghetti. However, upon further investigation I found I couldn't be more wrong and have since fallen in love! So if you were at all like me and felt totally iffy about IIFE's then I hope this helps to shed some light on them and maybe even get you to start using them because... I mean they're awesome.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an IIFE?
&lt;/h2&gt;

&lt;p&gt;The acronym stands for Immediately Invoked Function Expression and is pronounced just like the word 'iffy'. Previously known as the self-executing anonymous function it was given the more accurate name IIFE by a Boston based web developer named Ben Alman. An IIFE is an anonymous function that is invoked immediately after being declared. The two sets of parenthesis are what gives us all the magic of the IIFE. The first being the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Grouping"&gt;Grouping Operator&lt;/a&gt; parentheses which enclose the function and allow local scoping. The second set of magical parentheses are the ones at the end of the function which will call the function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How they're written:&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="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;//code here&lt;/span&gt;
&lt;span class="p"&gt;})();&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Locking it Up
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EO3X-L-6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7s6mkkm5eimax9nei4pc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EO3X-L-6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7s6mkkm5eimax9nei4pc.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the really cool advantages that IIFE's offer us is that they grant us the opportunity to "lock up" an entire app or program within the scope of one big function, doing away with a lot of scoping issues. We can encase the variables and functions that we'd like to all be in one scope inside of our Immediately Invoked Function Expression. No more having to globally scope variables that you'd like to use in other functions! IIFE's, like all other functions, create for us a local scope so everything inside is "locked up".&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="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;thiss&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;this &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;that&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 

    &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;thisThat&lt;/span&gt;&lt;span class="p"&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;thiss&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;thisThat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="p"&gt;})()&lt;/span&gt;

&lt;span class="c1"&gt;// 'this that'&lt;/span&gt;
&lt;span class="c1"&gt;// undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code I created an IIFE function and then within said function made two variables - "thiss and that". I then created another function within my IIFE called thisThat. This function adds my two variables together for an end result of 'this that' being displayed on the console.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Aside: "this" is one of JavaScript's reserved words and therefore cannot be used as a variable name.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  IFFE's as variables?!
&lt;/h2&gt;

&lt;p&gt;Well an IIFE IS a function isn't it? And all functions can be stored as variables so why not immediately invoked ones? However, there is one key difference when it comes to storing an IIFE as variable: When you assign an IIFE function to a variable the &lt;strong&gt;return value of the function is stored&lt;/strong&gt;, whereas when you assign a regular function to a variable, the &lt;strong&gt;function definition is stored.&lt;/strong&gt;&lt;br&gt;
This happens because the function is &lt;em&gt;immediately&lt;/em&gt; invoked and therefore storing an IIFE is the same as defining a function and then storing that functions return value after calling it. Here's a really simple example to see how this works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regular Function:&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;twoTimesTwo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;multiply&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="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;       
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//  ƒ multiply() {&lt;/span&gt;
&lt;span class="c1"&gt;//    return 2 * 2       &lt;/span&gt;
&lt;span class="c1"&gt;// }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;IIFE:&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;twoTimesTwo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&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="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="p"&gt;})()&lt;/span&gt;

&lt;span class="c1"&gt;// 4&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  IIFE's and parameters
&lt;/h2&gt;

&lt;p&gt;IIFE's are super cool with parameters which is totally awesome! Adding parameters to your IIFE is really easy too. All you have to do is throw in a few variable names within the set of parentheses after the word function and define the variables within the final set of parentheses that call the function. You can then do whatever work you'd like with the variables within your function. Here's a super simple example of what that looks like.&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="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;some&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;variable&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="nx"&gt;some&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;odd&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;variable&lt;/span&gt;
&lt;span class="p"&gt;})(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;A &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="s2"&gt;random &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="s2"&gt;sentence.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// "A random sentence."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Aside: All functions (so IIFE's included!) can accept a seemingly endless amount of parameters. Here's a funny little function that illustrates my discovery. The IIFE below accepts 26 parameters!&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&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="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;o&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;u&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;z&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="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;g&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nx"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;o&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;q&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;t&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;u&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;w&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;})(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// 370.35380116959067&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;During my time coding so far, I've noticed that terminology alone can be one of the most daunting aspects of learning new coding concepts. However, I've also found that quite a few of these terms just sound complicated and the concepts behind them are pretty simple. An Immediately Invoked Function Expression definitely sounded like something I might never wrap my head around when I first saw the term, but IIFE's are super easy (and fun!) to use. The main reasons to use an IIFE function are they save you the hassle of any pesky global variables or functions. Because of the protection that IIFE's give to their variables and functions, those variables and functions don't know about globally scoped variables and functions and can therefore share the same name. IIFE's can also just help give some organization to your probably wild looking JavaScript code and make it more readable.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>firstyearincode</category>
    </item>
    <item>
      <title>Form_help?</title>
      <dc:creator>Jesse Franklin Charles Vaughn</dc:creator>
      <pubDate>Thu, 12 Nov 2020 08:38:06 +0000</pubDate>
      <link>https://dev.to/jcface/formhelp-2bn</link>
      <guid>https://dev.to/jcface/formhelp-2bn</guid>
      <description>&lt;p&gt;Forms...forms, forms, forms. If you, like me, are just beginning your journey into the land of coding and are already overwhelmed by the fact that there are several different languages within this land, then you're also probably pretty stressed about all these different form syntaxes. I know that I still am and maybe that's why I'm writing this blog in the first place. I mean there's form_tag, form_for, form_with and each of them comes with their own syntax...ughh. Luckily for us though, form_tag and form_for are both soft deprecated and won't be around for much longer. But...I guess until that day we should learn them all right? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JLlTlTel--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ezx5y64axllevcitko2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JLlTlTel--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ezx5y64axllevcitko2.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Form_tag
&lt;/h1&gt;

&lt;p&gt;The most basic of all the form helpers is the form_tag. A form_tag is what you want to use for a simple form that has just a url path and no model association. When making a form_tag you must specify the url path that you want it to take as well as the http verb.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: A substitution tag or expression should be used to enclose each line of your form excluding the end line which should be enclosed in a scriptlet. More documentation on this &lt;a href="https://www.stuartellis.name/articles/erb/"&gt;here&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;form_tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;url: &lt;/span&gt;&lt;span class="s1"&gt;'/path'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;method: :get&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; 
  &lt;span class="n"&gt;label_tag&lt;/span&gt; &lt;span class="ss"&gt;:label&lt;/span&gt;
  &lt;span class="n"&gt;text_field_tag&lt;/span&gt; &lt;span class="ss"&gt;:label&lt;/span&gt;
  &lt;span class="n"&gt;submit_tag&lt;/span&gt; &lt;span class="s2"&gt;"Submit"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Given you had a rails project set up and a route to '/path' defined, the code above will render a form to the url of /path that has an input box labeled "Label" as well as a button labeled "Submit". Pretty cool right?! Now form_tag accepts more options that I'm not going to get into right now because I'm only beginning to understand them myself but if you'd like to gorge yourself on form_tag here is a &lt;a href="https://apidock.com/rails/ActionView/Helpers/FormTagHelper/form_tag"&gt;very helpful API doc&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Form_for
&lt;/h1&gt;

&lt;p&gt;Now we have form_for which is what you're going to want to use when you have a model that you'd like to associate your form to. Let's say that you have a user model and you want each user to be able to fill out a form. Your form_for would be as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;form_for&lt;/span&gt; &lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:username&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:username&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will render a form with a username box and a button labeled "Submit User". Yes! Rails is smart enough to associate the submit button to the model instance we are making the form for. Really cool right?! And that's not even the best form!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--112kWFap--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/py585tj1hr5u74dry3vr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--112kWFap--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/py585tj1hr5u74dry3vr.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Form_with
&lt;/h1&gt;

&lt;p&gt;The one and only form_with was created with the intention of combining both the form_tag and form_for syntaxes into one syntax that can be used in all cases. Whether you have a custom route without a model or a model class built matters not when using form_with. You can specify whether or not you have a model. For example, if you have only a custom route you can use something similar to the code below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;form_with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;url: &lt;/span&gt;&lt;span class="s1"&gt;'/path'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;method: :get&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; 
  &lt;span class="n"&gt;label_tag&lt;/span&gt; &lt;span class="ss"&gt;:label&lt;/span&gt;
  &lt;span class="n"&gt;text_field_tag&lt;/span&gt; &lt;span class="ss"&gt;:label&lt;/span&gt;
  &lt;span class="n"&gt;submit_tag&lt;/span&gt; &lt;span class="s2"&gt;"Submit"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will render the same html and form as the form_tag written above. Say you wanted to use form_with to render the same form that we made with form_for?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;form_with&lt;/span&gt; &lt;span class="ss"&gt;model: &lt;/span&gt;&lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:username&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:username&lt;/span&gt;
  &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's easy to see why form_tag and form_for will soon be leaving us as they are no longer needed now that we have form_with. However, I'd say still worth learning about as form_with is built off of them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LaoEmQXd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lx4r35vw1md6wgn4jygp.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LaoEmQXd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lx4r35vw1md6wgn4jygp.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Form Helpers
&lt;/h1&gt;

&lt;p&gt;Our forms would be pretty lame without checkboxes, dropdown menus, and the like. That's where form helpers come in for the rescue. Rails with all of its magic comes with several built in form helpers. These will allow us to make our forms more versatile. For instance, say you ran a pet adoption agency and wanted make simple adoption form for a user who wants to adopt a pet. You'd have to somehow have a list of the available pets up for adoption. You could easily achieve this with the collection_select helper.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;form_with&lt;/span&gt; &lt;span class="ss"&gt;model: &lt;/span&gt;&lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
   &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:available_pets&lt;/span&gt;
   &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;collection_select&lt;/span&gt; &lt;span class="ss"&gt;:pets&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;Pet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:name&lt;/span&gt;
   &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will render a form with a dropdown menu of all the pets that are in your database. The arguments that are passed to collection_select are first the controller that we will be dealing with(:pets), then the actual collection that we want(Pet.all), after that we to tell the form what attribute we are separating them by so to speak and finally what attribute we want to display in our dropdown menu. This is only one of the many form helpers there are. If you want to see how to use more of them then everything you need to know is &lt;a href="https://guides.rubyonrails.org/form_helpers.html"&gt;here!&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Thanks for checking out my very barebones explanation of forms and I hope that it was at all helpful or informative to anyone out there getting started. Also, if there's anything I've written that's incorrect or if you think I missed something critical please let me know. Now get on out there and write some forms!&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>beginners</category>
      <category>html</category>
    </item>
    <item>
      <title>A Call of Duty Delight</title>
      <dc:creator>Jesse Franklin Charles Vaughn</dc:creator>
      <pubDate>Thu, 22 Oct 2020 07:14:48 +0000</pubDate>
      <link>https://dev.to/jcface/a-call-of-duty-delight-33b3</link>
      <guid>https://dev.to/jcface/a-call-of-duty-delight-33b3</guid>
      <description>&lt;p&gt;Okay so I turn on my Xbox Tuesday night thinking, "I'm only going to hop on CoD so I can take a look at my load out and get all the material that I need to write a blog on it." WOW! Was I in for it! Much to my surprise and utter delight, the people down at Blizzard Activision decided to give us CoD players a Halloween event.&lt;/p&gt;

&lt;h2&gt;
  
  
  Haunting of Verdansk
&lt;/h2&gt;

&lt;p&gt;I want to start by saying that I really appreciate the work that the developers put into Haunting of Verdansk. You can truly see the time and effort that it took to make it and I love that! Now this event has literally had me screaming(my girlfriend too. At me though) with in-game stress-joy. For the event, the Cod Gods have added spooky menu music, a few limited time only game modes, creepy character and weapon skins, as well as an in-game scavenger hunt that unlocks a jack-o-lantern inspired Grau blueprint. You also get a free charm just for "participating in the event"(literally just opening the game).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UcCBpYW1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3y0viy1bu7upqkwdq2t3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UcCBpYW1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3y0viy1bu7upqkwdq2t3.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Menu
&lt;/h3&gt;

&lt;p&gt;As soon as you open your game up to the menu screen you can begin to enjoy. The music is what you'd expect in the background of a horror film. Disturbing beats with loud synth. Very creepy stuff.&lt;/p&gt;

&lt;h3&gt;
  
  
  Game Modes
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Trick or Trios
&lt;/h4&gt;

&lt;p&gt;This is a regular three person per team battle royale however this game mode takes place at dusk instead of the day time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--luarSsBr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/791qp7zvrcxa0jnl4pzg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--luarSsBr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/791qp7zvrcxa0jnl4pzg.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Zombie Royale
&lt;/h4&gt;

&lt;p&gt;Now this is where it's at! The first I played I almost pee'd my pants, it was so awesome. The only down side is that you can only play with three people but I'd be more than happy to give one of my friends the kick for a round or two. This mode takes place at dusk just as trick or trios, however, instead of going to the gulag players respawn as zombies.&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ilNVlzcO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/njm8vlc1pdlj0k1qi3g3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ilNVlzcO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/njm8vlc1pdlj0k1qi3g3.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
That's right! You can play as a zombie! In order to become human again you must collect antivirals from fallen players. The last team with a human player wins. Oh yea and did I mention that as a zombie you have awesome powers like super jump, immunity to poison gas, unlimited poison gas bombs and an EMP?! As a zombie you can still help your living team members kill enemy players and once you collect two antivirals you will drop back into the warzone with the load out you died with. Now you might be thinking that's unfair but your health as a zombie is quite low, which keeps the game balanced. I am in love with this game mode and hope to see it again in the future. It's absolutely CRACKED tho! Make sure your head's on a swivel.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kZtHqpMJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oa408u2c9wj3a62n2jfl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kZtHqpMJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oa408u2c9wj3a62n2jfl.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bundles
&lt;/h3&gt;

&lt;h4&gt;
  
  
  The Texas Chainsaw Massacre
&lt;/h4&gt;

&lt;p&gt;For an easy-going price of 2,400 COD points or 20 bucks you can run around as the infamous Leatherface himself. Honest opinion this one's ok. I like the weapon blueprints much more than anything else. Skin's a little ugly for my taste but that's just me. Skin Crawler is a skin for the operator Velikan.&lt;/p&gt;

&lt;h5&gt;
  
  
  Bundle Includes:
&lt;/h5&gt;

&lt;p&gt;*&lt;em&gt;Legendary Skin - Skin Crawler -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Family Heirloom -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Buzzkiller -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Meat Grinder -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Vehicle Horn - The Squealer -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Charm - Keychainsaw -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Sticker - Familiar Face -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Calling Card - Verdansk Chainsaw Massacre -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Emblem - Killer Portrait-&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Spray - Nightmare Fuel -&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FN7d7930--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u6vnol30v10aa97042j4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FN7d7930--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u6vnol30v10aa97042j4.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Saw
&lt;/h4&gt;

&lt;p&gt;If you purchase the Saw bundle(like I did!) you can play as a life-sized version of Jigsaw's Billy doll. This bundle is so dope! I usually don't spend money on anything in-game but... I mean I HAD to. Just look at the Billy doll, imagine running around getting bodies looking like that and tell me you don't want it. I also think it's safe to say that most of the CoD community agrees with me because about 80% of people I see online have also purchased it. The skin is for the Morte operator.&lt;/p&gt;

&lt;h5&gt;
  
  
  Bundle Includes:
&lt;/h5&gt;

&lt;p&gt;*&lt;em&gt;Legendary Skin - Billy -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Confession -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Death Trap -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Weapon Blueprint - Phlebotomist -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Legendary Vehicle Skin - Pain Train -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Charm - Let's Play a Game -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Sticker - Play Me -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Calling Card - Saw -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Emblem - The Choice Is Yours -&lt;/em&gt;&lt;br&gt;
*&lt;em&gt;Epic Spray - Spiral Cut -&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Scavenger Hunt
&lt;/h3&gt;

&lt;p&gt;The Trick or Treat or scavenger component of this event is one of the coolest aspects of Haunting of Verdansk. In each of the sixteen major sections of the map you must scavenge the crates until finding the charm, emblem or other goody for that area. If you like jump scares then you will love these boxes. The first one I opened scared the hell out of me, I seriously thought I was being shot at. And if that's not enough to let you know you've found the right one, the game will also display a banner at the top of the screen when you've found it. Once you've collected all 16 goodies, you are gifted with the Pumpkin Punisher legendary Grau blueprint(can't wait to get this thing). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NGGy_nJE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gyg3stxgk4xtchl1fj6t.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NGGy_nJE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gyg3stxgk4xtchl1fj6t.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;p&gt;This event's the ishhh. There's not much else to say about it other than that I haven't even covered everything that's available. I am absolutely loving it so far and am very excited for more events like this in the future. Thank You Blizzard Activision!&lt;/p&gt;

&lt;h2&gt;
  
  
  The End
&lt;/h2&gt;

&lt;p&gt;Why are you still reading this?&lt;br&gt;
HOP ON COD!!!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
