<?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: Adam Moore</title>
    <description>The latest articles on DEV Community by Adam Moore (@adammoore_dev).</description>
    <link>https://dev.to/adammoore_dev</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%2F719927%2F19cae420-bfb8-429c-8b28-cc9994146778.jpeg</url>
      <title>DEV Community: Adam Moore</title>
      <link>https://dev.to/adammoore_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adammoore_dev"/>
    <language>en</language>
    <item>
      <title>Top 5 Web Portfolio tips the Internet agrees on</title>
      <dc:creator>Adam Moore</dc:creator>
      <pubDate>Mon, 13 Dec 2021 17:18:16 +0000</pubDate>
      <link>https://dev.to/adammoore_dev/top-5-web-portfolio-tips-the-internet-agrees-on-3fie</link>
      <guid>https://dev.to/adammoore_dev/top-5-web-portfolio-tips-the-internet-agrees-on-3fie</guid>
      <description>&lt;p&gt;The transition from solely learning to job seeking and continued education can be overwhelming. There is something to be said about knowing how to build a web application and understanding the crucial elements a web application should gather in order to capture a visitor and ensure they want to dive deeper into your content. This knowledge is at the forefront of many goals a web developer's portfolio sets out to achieve. A web portfolio is much like a visual skills representation of an entire resume; it allows a visitor, hopefully a potential employer or recruiter, to gather information about a web developer in a creative and dynamic way before they actually interact with them. This can leave a lot of responsibility to the web developer to both design and implement best practices and creative ideas into their portfolio to ensure the visitor wants to take the next step in contacting them for an interview. Below are five tips that various websites agree are 'must haves' in a web portfolio to make a developer stand out and become one of the few chosen.&lt;/p&gt;

&lt;h2&gt;Tip # 1 =&amp;gt; Be yourself&lt;/h2&gt;

&lt;p&gt; Being yourself may seem like a simple sentiment both friends a family give to everyone pursuing a career and looking for employment; but really its true. A web developers portfolio is an extension of themselves and their work, it showcases who they are in a concise and creative manner in order to entice potential employment. If you have a favorite language, a skill you're proud of, hobbies you enjoy outside of coding, or CSS you enjoy using, implement them into your portfolio. Allowing your personality to shine through your portfolio will give the visitor a feeling of who you actually are! They wont think you're coding all day in a basement just knocking on employment's door --but if you are bring some humor to that, owning where you are in life and who you'd be around the office, or in a zoom call, will make certain they know who they're contacting for an interview. Many interview processes involve a 'cultural fit' interview with other developers, so be transparent and put your personality into your portfolio and the interview process --this can help them know whether your a good fit, and leave it up to you to decide if they are in return. &lt;/p&gt;

&lt;h2&gt;Tip # 2 =&amp;gt; Keep it simple&lt;/h2&gt;

&lt;p&gt; In a world where designs, information, and resources are abundant, we find ourselves as people wanting to get to the bottom line of everything as fast as possible. Dynamic and 'shiny' websites are fun to look at, but at the end of the day if we don't get the information we've came for in about 5-15 seconds those nice looking styles and creative designs go out the window. Most visitors to a web-developers portfolio come for three main reasons: checking out the competition, critique for improvement, or to gather information needed to pursue an interview with the creator. Don't get me wrong, you do need to have an eye appealing presentation when it comes to your portfolio as HTML and JavaScript wont get you hired or keep visitors on your page long. However, some developers lean a lot on the design and how it looks but leave the actual information about them to be desired. This is paralleled with other developers having decent designs but then the information within the portfolio is hard to locate or involves a marathon of clicks to reach. Keeping a web portfolio simple in the sense that the design is clean and eye catching, and the content is either self explanatory or the navigation of reaching a developer's information is intuitive are must haves. Most people are visiting for the first time, unless your portfolio rocks and they came back, so keeping the site effortless to navigate and gather information will leave every visitor exiting with a sense of unwasted time.&lt;/p&gt;

&lt;h2&gt;Tip # 3 =&amp;gt; Lean on your projects&lt;/h2&gt;

&lt;p&gt;At the end of the day for all web developers, what you've built will get you hired. Your projects should be the focal point of your portfolio, right next to a contact form. Now, this is all only true if you have good projects; projects that are deployed, have good documentation and function properly if a visitor decides to navigate to one of them are essential. The projects located in a portfolio should be the absolute best in your arsenal for displaying skills, creativity, attention to detail, and the ability to have them go live without glitching or erroring out. Afterall, most employers who come to your portfolio and review your projects are their because they are looking for competent developers to build other projects for them. A portfolio is usually a  front-end picture frame of who you are and what you've built; next to the actual creator (you) is the work you've done and the possibilities of what you can do for future employers. Remember most people have never heard of your project, and you wont be there to explain them in person, so make your project's documentation clear and concise as well as those sites intuitive for first time users. Employers will appreciate best coding practices and creative ideas that are deployed to the public and actually accomplishing why the project was built in the first place. The effort in being a competent developer with real world application is more important than what the actual project was built for. Show off them skills! &lt;/p&gt;

&lt;h2&gt;Tip # 4 =&amp;gt; This is a visual resume --be creative!&lt;/h2&gt;

&lt;p&gt; Most web developer portfolios are strictly front end, the functionality and what you've hardcoded in are what the user can see and interact with. If someone has navigated to your portfolio you've done half the work, they are already there so make it an enjoyable experience. Display your skills, experience, education and who you are in creative ways that catch the visitors attention, but still gives them what they came for. This can be as simple as click events that display more detailed information regarding topics, or transitions from one resource to the next, even displaying your name in a creative way can catch a visitors attention. This site is an opportunity for you to take a normal paper resume and turn it into actual art. Now, if styling isn't your true niche there are plenty of templates out there to get the bones of a creative site looking better. However, never leaning just on a template is best practice, tweaking a template or even bootstraps library to fit your personality can lead to some under the hood creativity on your part and ensure that your not showing yourself in the same light as everyone else whose used that same template or bootstrap class. There's a balance between what you have to show them and how you show it, just remember something is better than nothing and designs can always be improved! &lt;/p&gt;

&lt;h2&gt;Tip # 5 =&amp;gt; Ensure that everything works&lt;/h2&gt;

&lt;p&gt; At the end of the day, the last four tips do not matter if your portfolio is broken. We've all been there, we navigate to a website, start exploring, and something breaks --oops! Most people will leave due to frustration or disappointment, some devs will wonder why it broke and explore further, unfortunately most hiring managers are like most people. A lot of pressure is on web developers to have a functional, error free web portfolio --after all it's kind of a part of the job. Once you deploy your site, visiting at least once a day and running through all of the functionality will make certain that everything is in working order for future employers. On the development side this is where best practices for different browsers come into play, building the site to be mobile friendly or run on explorer, firefox, and chrome is essential for any potential employer to navigate to your site from anywhere or on any device and actually see what you've done and who you are. A sentence to remember: if it's broke then you're broke, and if it works then you'll work. &lt;/p&gt;

&lt;p&gt;These five tips are at the upper echelon of what the internet agrees make for a good web portfolio. Implementing them into your website will make for a better experience for both you and all of the visitors that come to check it out. This process can be overwhelming but with the right mindset, tips, and skills everyone reading this can be hired as a developer.&lt;/p&gt;

&lt;p&gt;Resources :&lt;br&gt;
&lt;a href="https://toggl.com/blog/web-developer-portfolio"&gt;https://toggl.com/blog/web-developer-portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://brainstation.io/career-guides/how-to-build-a-web-developer-portfolio"&gt;https://brainstation.io/career-guides/how-to-build-a-web-developer-portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arc.dev/developer-blog/web-developer-portfolio/"&gt;https://arc.dev/developer-blog/web-developer-portfolio/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.creative-tim.com/blog/education/web-developer-portfolio-website/"&gt;https://www.creative-tim.com/blog/education/web-developer-portfolio-website/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>portfolio</category>
      <category>career</category>
    </item>
    <item>
      <title>CRUD REACTion with RUBY Sinatra API</title>
      <dc:creator>Adam Moore</dc:creator>
      <pubDate>Thu, 18 Nov 2021 19:16:32 +0000</pubDate>
      <link>https://dev.to/adammoore_dev/crud-reaction-with-ruby-sinatra-api-deo</link>
      <guid>https://dev.to/adammoore_dev/crud-reaction-with-ruby-sinatra-api-deo</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o3wo-w5W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86err058h2jyd0ivs7vr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o3wo-w5W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86err058h2jyd0ivs7vr.jpg" alt="Image description" width="656" height="423"&gt;&lt;/a&gt;&lt;br&gt;
Ruby Sinatra is a smaller alternative to Ruby on Rails, it was created and open-sourced in 2007, and has been used by companies such as Apple, LinkedIn, and GitHub. This 'microframework' focuses on creating a functional backend to frontend interface with minimal effort. When paired with REACT, it can be quite painless to maneuver and debug during CRUD (Create, Read, Update, Delete) operations.&lt;/p&gt;

&lt;p&gt;For example, if you were to fork and clone this  &lt;a href="https://github.com/learn-co-curriculum/phase-3-sinatra-react-project/fork"&gt;repo&lt;/a&gt; from GitHub you would have a file structure set up with &lt;a href="https://guides.rubyonrails.org/v5.0/active_record_basics.html"&gt;ActiveRecord&lt;/a&gt; and &lt;a href="http://sinatrarb.com/"&gt;Sinatra&lt;/a&gt;, among various other gems, after you ran the command 'bundle install' within your terminal. This paired with &lt;a href="https://reactjs.org/docs/create-a-new-react-app.html"&gt;creating a REACT APP&lt;/a&gt; would give you all of the file structures necessary to begin a full-stack web-application. For the explanations on CRUD below, I will assume you've had experience in creating migrations, seeding data, running the backend server within Sinatra and building out a front-end interface as well as running the browser from a REACT application. Examples of all of these tasks can be found in this &lt;a href="https://github.com/ADAM-MOORE97/phase-3-project-frontend"&gt;frontend repo&lt;/a&gt; and this &lt;a href="https://github.com/ADAM-MOORE97/phase-3-project-backend"&gt;backend repo&lt;/a&gt;, both of which are built to work together for a group project within my coding bootcamp.&lt;/p&gt;

&lt;p&gt;The below examples will be for CRUD operations from a React front end to a Sinatra backend. These examples are different from the ones used within the frontend and backend repos, they are used as in-depth explanations to the functions and operations being used within this project&lt;/p&gt;

&lt;p&gt;Create (POST)&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;//REACT FRONTEND&lt;/span&gt;
&lt;span class="c1"&gt;//Callback function to handle post request from client&lt;/span&gt;
&lt;span class="c1"&gt;//has new blog post object passed as parameters(name doesn't matter)&lt;/span&gt;
 &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;addBlog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newBlog&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//Server URL with appropriate request endpoint&lt;/span&gt;
    &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://localhost:9292/blog_post&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//method stated for server.&lt;/span&gt;
      &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="c1"&gt;//headers clarify what type of content is being passed through request.&lt;/span&gt;
      &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="c1"&gt;//body turns object to string format for backend readability, &lt;/span&gt;
&lt;span class="c1"&gt;//object has keys(params in ruby) that match columns for blogs table.&lt;/span&gt;
&lt;span class="c1"&gt;// newBlog will be destructured&lt;/span&gt;
&lt;span class="c1"&gt;// and 'POST'ed to backend before being returned.&lt;/span&gt;
      &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newBlog&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="c1"&gt;//returned data sets state variable to be all blogs&lt;/span&gt;
&lt;span class="c1"&gt;//including newly posted blog.&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setBlogs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#RUBY BACKEND&lt;/span&gt;
&lt;span class="c1"&gt;#Request type is specified before URL endpoint.&lt;/span&gt;
&lt;span class="c1"&gt;#URL endpoint points to all blog posts&lt;/span&gt;
&lt;span class="n"&gt;post&lt;/span&gt; &lt;span class="s1"&gt;'/blog_post'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;

&lt;span class="c1"&gt;#creates new instance of a Blog for the Blog class and blogs table.&lt;/span&gt;
   &lt;span class="no"&gt;Blog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;title: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                &lt;span class="ss"&gt;content: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:content&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                &lt;span class="ss"&gt;author: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:author&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="c1"&gt;# return all blog posts as well as newly posted one.&lt;/span&gt;
    &lt;span class="c1"&gt;#Requests turned to JSON, for REACT readability.&lt;/span&gt;
    &lt;span class="no"&gt;Blog&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="nf"&gt;to_json&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Read (GET)&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;//REACT FRONTEND&lt;/span&gt;
&lt;span class="c1"&gt;//React component mounts, useEffect runs a GET request to&lt;/span&gt;
&lt;span class="c1"&gt;//the Sinatra API.&lt;/span&gt;
 &lt;span class="nx"&gt;useEffect&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="c1"&gt;//Server URL with appropriate request endpoint&lt;/span&gt;
    &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://localhost:9292/blog_post&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="c1"&gt;//returned data sets state variable to be all blogs&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setBlogs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
 &lt;span class="p"&gt;[]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#RUBY BACKEND&lt;/span&gt;
&lt;span class="c1"&gt;#Request type is specified before URL endpoint.&lt;/span&gt;
&lt;span class="c1"&gt;#URL endpoint points to all blog posts&lt;/span&gt;
&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="s1"&gt;'/blog_post'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="c1"&gt;# return all blog posts after request&lt;/span&gt;
    &lt;span class="c1"&gt;#Requests turned to JSON, for REACT readability.&lt;/span&gt;
    &lt;span class="no"&gt;Blog&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="nf"&gt;to_json&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update (PATCH)&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;//REACT FRONTEND&lt;/span&gt;
&lt;span class="c1"&gt;//Callback function to handle patch request from client&lt;/span&gt;
&lt;span class="c1"&gt;//has new blog post object passed as parameters(name doesn't matter)&lt;/span&gt;
 &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;editBlog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//Server URL with appropriate request endpoint&lt;/span&gt;
    &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`http://localhost:9292/blog_post/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&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;//method stated for server.&lt;/span&gt;
      &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;PATCH&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="c1"&gt;//headers clarify what type of content is being passed through request.&lt;/span&gt;
      &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="c1"&gt;//body turns object to string format for backend readability, &lt;/span&gt;
&lt;span class="c1"&gt;//object has keys(params in ruby) that match columns for blogs table.&lt;/span&gt;
&lt;span class="c1"&gt;// blog will be destructured&lt;/span&gt;
&lt;span class="c1"&gt;// and 'PATCH'ed over in backend before being returned.&lt;/span&gt;
      &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blog&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="c1"&gt;//returned data sets state variable to be all blogs&lt;/span&gt;
&lt;span class="c1"&gt;//including updated(PATCHed) blog.&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;setBlogs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#RUBY BACKEND&lt;/span&gt;
&lt;span class="c1"&gt;#Request type is specified before URL endpoint.&lt;/span&gt;
&lt;span class="c1"&gt;#URL endpoint points to specific blog post with ':id'&lt;/span&gt;
&lt;span class="n"&gt;patch&lt;/span&gt; &lt;span class="s1"&gt;'/blog_post/:id'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;

&lt;span class="c1"&gt;#finds appropriate blog post using :id endpoint&lt;/span&gt;
 &lt;span class="n"&gt;update_blog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Blog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&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="c1"&gt;#updates the blog instance to requested params.&lt;/span&gt;
  &lt;span class="n"&gt;update_blog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;title: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                &lt;span class="ss"&gt;content: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:content&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; 
                &lt;span class="ss"&gt;author: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:author&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="c1"&gt;# return all blog posts as well as newly patched one.&lt;/span&gt;
    &lt;span class="c1"&gt;#Requests turned to JSON, for REACT readability.&lt;/span&gt;
    &lt;span class="no"&gt;Blog&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="nf"&gt;to_json&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete (DELETE)&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;//REACT FRONTEND&lt;/span&gt;
&lt;span class="c1"&gt;//Callback function to handle delete request from client&lt;/span&gt;
&lt;span class="c1"&gt;//has blog post object passed as parameters(name doesn't matter)&lt;/span&gt;
 &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;editBlog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;//Server URL with appropriate request endpoint&lt;/span&gt;
    &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`http://localhost:9292/blog_post/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&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;//method stated for server.&lt;/span&gt;
      &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DELETE&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="c1"&gt;//headers and body not necessary for DELETE request&lt;/span&gt;
    &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="c1"&gt;//returned data logged to console&lt;/span&gt;
&lt;span class="c1"&gt;//including updated(PATCHed) blog.&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="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;data&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#RUBY BACKEND&lt;/span&gt;
&lt;span class="c1"&gt;#Request type is specified before URL endpoint.&lt;/span&gt;
&lt;span class="c1"&gt;#URL endpoint points to specific blog post with ':id'&lt;/span&gt;
&lt;span class="n"&gt;delete&lt;/span&gt; &lt;span class="s1"&gt;'/blog_post/:id'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;

&lt;span class="c1"&gt;#finds appropriate blog post using :id endpoint&lt;/span&gt;
 &lt;span class="n"&gt;blog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Blog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&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="c1"&gt;#Destroys instance of Blog found from blogs table and class&lt;/span&gt;
    &lt;span class="c1"&gt;# return all blog posts, with deleted blog no longer there.&lt;/span&gt;
    &lt;span class="c1"&gt;#Requests turned to JSON, for REACT readability.&lt;/span&gt;
    &lt;span class="no"&gt;Blog&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="nf"&gt;to_json&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hopefully these links and CRUD examples have been helpful to you and your full-stack application endeavors. The project links wouldn't be possible without the help of others working on the project &lt;a href="https://github.com/janechodance"&gt;Jane&lt;/a&gt; and &lt;a href="https://github.com/aeposten"&gt;Amy&lt;/a&gt; both of whom are great up-and-coming web-developers. Feel free to check out their GitHub profiles and repos, as well as &lt;a href="https://github.com/ADAM-MOORE97"&gt;mine&lt;/a&gt;. Happy developing!&lt;/p&gt;

</description>
      <category>react</category>
      <category>ruby</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Producing the MVP vs Becoming the MVP</title>
      <dc:creator>Adam Moore</dc:creator>
      <pubDate>Wed, 27 Oct 2021 19:32:03 +0000</pubDate>
      <link>https://dev.to/adammoore_dev/being-the-mvp-vs-making-the-mvp-19m6</link>
      <guid>https://dev.to/adammoore_dev/being-the-mvp-vs-making-the-mvp-19m6</guid>
      <description>&lt;p&gt;As web developers we can all agree that most of us enjoy programming because it allows us to build beautiful, dynamic, applications from practically nothing but a keyboard, monitor and an internet connection. Lets face it, typing a few lines of code and getting visual confirmation almost instantaneously is pretty cool! On the other hand, with this great power comes great responsibility, most of us are learning these skills constantly to become employed either as a freelancer or as part of a team of other developers --both of which do carry some responsibility. This is where being the MVP and making the MVP are two different hurdles that all of us will have to overcome. Personally in just the first few phases of Flatiron's Bootcamp I have come face to face with this challenge on many occasions.&lt;/p&gt;

&lt;p&gt;What do I mean by MVP and MVP, are they not the same? Letter wise, yes. Acronym wise, absolutely not. Becoming the Most Valuable Player on your team (even a team of one as a freelancer) and making the Minimum Viable Product are vastly different when it comes to setting out project goals and achieving your deliverables for a client, employer, or your instructor. Personally, I have succumbed to the allure of wanting to code 15-30 different ideas all at once and make the next epic web page the internet has ever seen...for a project that had 3-5 deliverables required to satisfy expectations. Those deliverables are the Minimum Viable Product, and are nonnegotiable. &lt;/p&gt;

&lt;p&gt;The urge to become the MVP of your team can be challenging to resist. When it comes to road mapping towards the deliverables and trying to finesse solutions to code bugs along the way, ideas are great. However, a lot of ideas in the beginning, paired with excitement for a project, can lead to you and your team spending precious time coding the 'many' instead of coding the 'few'(main deliverables). Its been my experience that the best course of action is to write out what you need (the minimum viable product). Once that is clear to everyone involved, a wire frame --or drawing-- of the components that will render the content, data, and functionality in your app to meet the the core deliverables can act as your road map. This is not to say that brainstorming ways to accomplish the MVP goes without some creativity; coding is a learned art where many paths can lead to the same goal. New and seasoned programmers just need to strive for and meet the goals set by the MVP first, then the framing and additional goals can be accomplished.&lt;/p&gt;

&lt;p&gt;An individual or team that meets the standards as the minimum of their goals first, then stretches them with new ideas and creative thoughts are the real MVPs. They all just have to...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wfjSHPQV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdyaygl56anyhyfltbr0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wfjSHPQV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdyaygl56anyhyfltbr0.gif" alt="Image description" width="498" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>react</category>
      <category>advice</category>
      <category>focus</category>
    </item>
    <item>
      <title> Iteration in JavaScript-Array.forEach() &amp; Object for...in </title>
      <dc:creator>Adam Moore</dc:creator>
      <pubDate>Wed, 06 Oct 2021 16:52:57 +0000</pubDate>
      <link>https://dev.to/adammoore_dev/iteration-in-javascript-array-foreach-object-for-in-57m8</link>
      <guid>https://dev.to/adammoore_dev/iteration-in-javascript-array-foreach-object-for-in-57m8</guid>
      <description>&lt;h1&gt;
  
  
  Intro
&lt;/h1&gt;

&lt;p&gt;Its early in the morning, you're in some week during the beginning of your coding boot-camp journey--learning JavaScript of course-- and you have a coding challenge that day. &lt;em&gt;cue background scream!&lt;/em&gt; &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rog-a2xr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jujat6dcxbqof86noc3o.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rog-a2xr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jujat6dcxbqof86noc3o.gif" alt="Scream(Ghost-face) in the background" width="720" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;^^^Okay definitely not that kind, but you get my point.&lt;/p&gt;

&lt;p&gt;Of course you may feel prepared with what you've learned about the language so far; so you give it your best shot "....deliverable 1...check....deliverable 2....uh oh..." That 'uh oh" moment happened to me on the first code challenge of my software engineering education. Deliverable 2 had many requests to rendered data to the web-page, all of which relied on the JavaScript method of iteration. I of course blanked, spending well over half the allotted time with 'null' to show for it. &amp;lt;=See what I did there? &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k0-BO7D6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9sgi8warnesyzlx92vdd.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k0-BO7D6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9sgi8warnesyzlx92vdd.gif" alt="Pete Davidson Chuckle" width="498" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway, to put it simply: iteration allows the developer to move through elements of an array or an object's properties/values they may need in order to render content onto a web-page.&lt;/p&gt;

&lt;p&gt;You might be asking: "What is an Array or Object?"&lt;/p&gt;

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

&lt;p&gt;An Array is a data structure that can be linked to a variable and used to store different elements, the elements are stored within square brackets =&amp;gt; []. each element within an array has an index number, beginning with 0, and those elements can be accessed via [] notation. EX: console.log(myArray[0]) would log '//=&amp;gt;1 ' to the console.&lt;/p&gt;

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

&lt;p&gt;An Object, on the other hand, is a data structure that is standalone, although can be assigned to a variable, and has properties(keys)/values. Object's properties(keys)/values are stored within curly braces =&amp;gt; {}. These key/value pairs can be accessed with Bracket notation [], or Dot notation  '.' Ex: console.log(myObject.key1) would log '//=&amp;gt;hello ' to the console as its accessing the value using Dot notation. All examples from here will utilize Dot notation. #writers_picks_the_preference&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1lclDCB7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cub3bx8ppv66mpcuqlm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1lclDCB7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cub3bx8ppv66mpcuqlm.gif" alt="Supernatural epic line" width="500" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=&amp;gt;#Secret_Tip = Arrays are classified as Objects.&lt;/p&gt;

&lt;p&gt;Not to delve too deeply into the technicality of each data-type and their many(&lt;em&gt;MANY&lt;/em&gt;) uses, for this post all we need to know is whether you have an array of objects, or a large object containing many key/value pairs, iterating through the nested levels or stretch pairs is essential to accessing the data you need for the deliverables that may be required of you in your career --or schooling.&lt;/p&gt;

&lt;h1&gt;
  
  
  .forEach()
&lt;/h1&gt;

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

&lt;p&gt;For this example lets assume you have a basic understanding of GET requests from an API or local JSON file using fetch(); you have converted all of data into a response that you can use inside your Example() function, and it just so happens that the data is a large array containing objects. Example() is being used as a callback function, the parameter of the function can be named whatever you like --in this case parameter -- as you are already passing the data off as this 'parameter' within the fetch().then().then() request. Keeping the name of the parameter as the name of the data being passed through, you now have to utilize the .forEach() method inside the function to access the objects within the large array.&lt;br&gt;
.forEach() only gives the developer access to the elements (Objects in this case) but not what those elements actually contain---just their face-value if you will, the 'element' within the .forEach() is used much like the parameter in this case as it represents each individual object within the array.&lt;/p&gt;

&lt;p&gt;=&amp;gt;#Notes = .forEach() doesn't inherently return anything, it requires a callback to be passed through it.&lt;/p&gt;

&lt;p&gt;From the 'element' we can pass a call back function (I prefer this to be written as an arrow function, but use what you feel comfortable with). The function we're passing is declaring a variable that finds a container within our HTML document using its #id., then its declaring another variable to be equal to a created HTML 'tag'(element); from there it gets pretty cool: the '.textContent' of that variable is then set to the element.property (Object.Key) which in turn will set the '.textContent' to that particular value. Okay, that may not seem very cool when typed out, but the kicker is that it does this for EACH of the objects within the array. &amp;lt;=no still not funny? &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tO-Ocz8S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kalmsr09b0hogc04lpoy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tO-Ocz8S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kalmsr09b0hogc04lpoy.gif" alt="Luciefer 'tough crowd'" width="220" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, basically, if you have an array containing say 1000 objects with text or numbers as values to a key inside the object and you wanted every value to be placed inside 'variable1' ....6-8 lines of code can perform that task for you! &lt;/p&gt;

&lt;p&gt;=&amp;gt;#Work_smarter_not harder&lt;/p&gt;

&lt;h1&gt;
  
  
  for...in
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CoqeLK4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4layv8v8clwqkecd7j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CoqeLK4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4layv8v8clwqkecd7j8.png" alt="image" width="880" height="194"&gt;&lt;/a&gt;&lt;br&gt;
In the previous example we assumed you were utilizing a GET request with fetch() and implementing the .forEach() within your callback function. This example is going to be done using only a JavaScript and HTML file and the console. As you can see we have declared a variable of 'myObject' and set  it equal to an object with keys of "key1: and key2" and corresponding values of "hello and bye." This object is going to be our 'data' that we will pass through the function exampleFunction(). Within this function we have a form of object iteration called, you guessed it, for...in.&lt;br&gt;
The structure or this method can be broken down as:&lt;/p&gt;

&lt;p&gt;for(variable declaration - key value iterator - in -the object)&lt;/p&gt;

&lt;p&gt;from that method we are creating an 'h1' element set to the variable of 'variable2' and setting the '.textContent' of that variable to the values of each key in the 'myObject.' the 'console.log' within the function will log a separate 'hello' and 'bye' to the console. As you can see I may have lied about only using Dot notation during this post, as this particular example required Bracket notation to access key1's and key2's values.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VRK6wym9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g3ndprtu8e633mxjjemj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VRK6wym9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g3ndprtu8e633mxjjemj.gif" alt="Jack Sparrow lied" width="244" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This method allows us as developers to access an object's key's values and implement them onto our webpage. Useful if we need to have the values of all the keys in that particular order, and all of them rendered to the page, but definitely not the best or most efficient way to iterate objects. There are many different methods that can interact with Arrays and object, perhaps a more indepth topic for another time. Thank you for reading, and wish me luck on the code challenge retake!&lt;/p&gt;

&lt;p&gt;Best, Adam&lt;/p&gt;

&lt;p&gt;“Continuous learning is the minimum requirement for success in any field.” - B. Tracy&lt;/p&gt;

&lt;h1&gt;
  
  
  Resources
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in"&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/js/js_objects.asp"&gt;https://www.w3schools.com/js/js_objects.asp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach"&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach&lt;/a&gt;&lt;/p&gt;

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