<?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: Matthew Wigoff</title>
    <description>The latest articles on DEV Community by Matthew Wigoff (@maw6a0).</description>
    <link>https://dev.to/maw6a0</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%2F797552%2F3f8a5ea2-3273-4a85-a0f8-7ed02dc7570d.png</url>
      <title>DEV Community: Matthew Wigoff</title>
      <link>https://dev.to/maw6a0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maw6a0"/>
    <language>en</language>
    <item>
      <title>Getting to know Docker and its Power</title>
      <dc:creator>Matthew Wigoff</dc:creator>
      <pubDate>Thu, 28 Apr 2022 19:19:04 +0000</pubDate>
      <link>https://dev.to/maw6a0/getting-to-know-docker-and-its-power-3k46</link>
      <guid>https://dev.to/maw6a0/getting-to-know-docker-and-its-power-3k46</guid>
      <description>&lt;p&gt;&lt;strong&gt;Why Docker is Powerful&lt;/strong&gt;&lt;br&gt;
Docker is a platform for building, running, and shipping applications. We can easily package up our applications with all the files they need to run on any Operating System. Docker uses containers. In this isolated environment, Docker can use many versions of node at the same time. If an application uses Node 14 and another application uses Node 9, both of these applications will run on the same machine at the same time because of Docker's containers. Another powerful aspect of a Docker container is that they don't take up much memory on your hard drive.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla7gwx5kf0mrfz1nue47.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla7gwx5kf0mrfz1nue47.png" alt="Image description"&gt;&lt;/a&gt; src: &lt;a href="https://jfrog.com/knowledge-base/the-basics-a-beginners-guide-to-docker/" rel="noopener noreferrer"&gt;https://jfrog.com/knowledge-base/the-basics-a-beginners-guide-to-docker/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started with Docker&lt;/strong&gt;&lt;br&gt;
Download Docker for your specific Operating System at &lt;a href="https://docs.docker.com/get-docker/" rel="noopener noreferrer"&gt;Docker Docs&lt;/a&gt;&lt;br&gt;
For Windows, you may get an installation incomplete message stating your Linux kernel needs to be updated. Follow the link in the error message and go down to step 4 to download the latest Linux kernel on your machine.&lt;/p&gt;

&lt;p&gt;To get familiar with how Docker works go to &lt;a href="https://labs.play-with-docker.com/" rel="noopener noreferrer"&gt;Labs - Play with Docker&lt;/a&gt; and follow the steps &lt;a href="https://github.com/heyMP/ist402-docker/tree/master/labs/5-nodejs-todo-app" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the session, click on Add New Instance to get started.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvmqlyot9wxsnccpffne.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvmqlyot9wxsnccpffne.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clone the repository in and use the ls -la command to verify the contents of the folder.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnm9zwv6qeg1e4u6qawkc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnm9zwv6qeg1e4u6qawkc.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Establish the Container. In the CLI type 'docker build -t todoapp .' to build an image for the application. The (.) after the command tells the system the Dockerfile can be found in the current directory. The -t is to tag the image with a descriptive name.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyq35kq199jrth32unj6x.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyq35kq199jrth32unj6x.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;List your images. Type 'docker images' in the CLI to see the new todoapp image.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dzqzpsw9rnz5vtkq6tl.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dzqzpsw9rnz5vtkq6tl.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run the Container. Now that the image is established, use the command 'docker run -d -p 3000:3000 todoapp' to run the new container based on the new image.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flk4hc8b2toixf4shb9pt.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flk4hc8b2toixf4shb9pt.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now that you have containerized your application, you are able to create multiple todoapps.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrp0bvw8lhdensmtn958.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrp0bvw8lhdensmtn958.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;That wraps it up for setting up with Docker&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjd73b2ongbez1ukb17o0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjd73b2ongbez1ukb17o0.PNG" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Working with 11ty/eleventy to make Blogs</title>
      <dc:creator>Matthew Wigoff</dc:creator>
      <pubDate>Wed, 27 Apr 2022 23:13:27 +0000</pubDate>
      <link>https://dev.to/maw6a0/working-with-11tyeleventy-to-make-blogs-543c</link>
      <guid>https://dev.to/maw6a0/working-with-11tyeleventy-to-make-blogs-543c</guid>
      <description>&lt;p&gt;11ty is a static site generator that can build sites using HTML and CSS. 11ty takes complex markdown files and JSON files and condenses them resulting in an API for us to leverage content and build templates with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learneleventyfromscratch.com/#about-your-instructor"&gt;Learn 11ty from Scratch Article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Starting with 11ty&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;First ensure you have the latest versions of NPM and NODE installed on your PC. Simply type npm -v or node -v in your terminal to see the version of npm and node you currently have.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a folder, preferably named 11ty, and open it using the Visual Studio code editor. While in Visual Studio code editor under the 11ty folder, create a .gitignore file. What this does is ignores any file that ends with the extension after the asterisk (*)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Add a .eleventy.js file under the 11ty folder you created. This file will empower your 11ty site to produce the final output.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add dependencies to your 11ty site. Now we will install a package.json file. This allows npm to handle the project's dependencies properly. In your 11ty folder run 'npm init -y' in your terminal. This will allow npm to generate the package.json file for you. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With all of those steps complete, now it's time to install eleventy. Run the command 'npm install @11ty/eleventy' in your terminal. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a folder and label it 'src'.  Under this folder create a file named index.md. For this blog post, I will simply be typing Hello World! in the index.md file. Save all your scripts in VS code editor and type 'npx eleventy --serve' in your terminal and click on the Local URL. You should see a page that looks like this: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pnfgEsxg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zf0i8ctja0kdcp8lsb6i.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pnfgEsxg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zf0i8ctja0kdcp8lsb6i.JPG" alt="Image description" width="355" height="134"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Pre-established Eleventy Blog Template&lt;/strong&gt;&lt;br&gt;
Go to &lt;a href="https://github.com/11ty/eleventy-base-blog"&gt;eleventy base blog&lt;/a&gt; to clone the repository to your local file/folder. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wTFvcPUd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t18jl1vvghqrbi2awmit.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wTFvcPUd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t18jl1vvghqrbi2awmit.JPG" alt="Image description" width="880" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The cool thing about leveraging this repo is that it comes pre-built with links, tags, and posts. All that is required of you is to edit the information in the files. Here is an example of how I edited the firstpost.md file:&lt;/p&gt;

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

&lt;p&gt;Pretty awesome? Yes, very.&lt;/p&gt;

&lt;p&gt;Now to take a look at how everything came out, in your terminal execute the npm install command. After all dependencies are loaded in, type npx eleventy --serve in your terminal. This is how my blog post webpage turned out:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5_cPYMo9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7mwy63r5rrzlpm3dk8ew.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5_cPYMo9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7mwy63r5rrzlpm3dk8ew.JPG" alt="Image description" width="742" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11ty Blog Post Part 3&lt;/strong&gt;&lt;br&gt;
For this eleventy site, we will be following the steps provided in the first section, getting started with 11ty, however we will be adding a little more to it. The work is credited to &lt;a href="https://learneleventyfromscratch.com/"&gt;Learn Eleventy From Scratch Article&lt;/a&gt;.  To run the site easier, change the scripts section of the package.json from "test": "echo \"Error: no test specified\" &amp;amp;&amp;amp; exit 1" to "start": "npx eleventy --serve". What this does is allows you to type npm start to serve the site. Follow the steps in the article to complete building your sample eleventy site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First User Experience&lt;/strong&gt;&lt;br&gt;
From here, we have a thorough understanding of the concept behind 11ty/eleventy. The Part 3, with leveraging a sample of someone else's eleventy site was the most time consuming but in depth learning experience from all three static sites created. The easiest and most fundamental was the actual blog post 11ty site. This includes a great template to organize things and get started with eleventy. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links and Repositories&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/maw6a0/eleventy"&gt;eleventy sample repo&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/maw6a0/Lab_6_Blog_2"&gt;Site 2&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/maw6a0/Lab_6_Hello_World_Style_Blog"&gt;Hello World Beginners Setup&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Option 3 - API/Product Owner - Wikipedia-Query</title>
      <dc:creator>Matthew Wigoff</dc:creator>
      <pubDate>Wed, 27 Apr 2022 20:07:15 +0000</pubDate>
      <link>https://dev.to/maw6a0/option-3-apiproduct-owner-wikipedia-query-4ce7</link>
      <guid>https://dev.to/maw6a0/option-3-apiproduct-owner-wikipedia-query-4ce7</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is an API&lt;/strong&gt;&lt;br&gt;
API Stands for Application Programming Interface. An API is the glue for two systems communicating with one another to exchange credentials to access information. An API integrates the front-end with back-end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fetch&lt;/strong&gt;&lt;br&gt;
The fetch() functionality provides a wait time to achieve a successful connection of fetching a resource from the network to establish a promise from the availability of the response.&lt;/p&gt;

&lt;p&gt;The way a fetch() API works is first pass in a URL. This is the first property. The second property is optional, however this is where you put in the post request.&lt;/p&gt;

&lt;p&gt;Consider the below image for example. (this.locationEndpoint + userIPdata.ip) is fetching the '&lt;a href="https://freegeoip.app/json/"&gt;https://freegeoip.app/json/&lt;/a&gt;' URL. The '.then(resp.ok){&lt;br&gt;
return resp.json();}'&lt;br&gt;
block of code is returning a promise, specifically the .json function.&lt;/p&gt;

&lt;p&gt;The '.then(data =&amp;gt; {&lt;br&gt;
console.log(data);'&lt;br&gt;
block of code returns the data latitude, longitude, city, and region name.&lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;Wikipedia Query&lt;/strong&gt;&lt;br&gt;
The below code snippet adds the Wikipedia Query Search for location, city, and region.&lt;/p&gt;

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

&lt;p&gt;Importing the wikipedia-query web component allows  us to use the html wikipedia page.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/maw6a0/Lab_2_api-project-1"&gt;Git Repository&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting Started with Vercel</title>
      <dc:creator>Matthew Wigoff</dc:creator>
      <pubDate>Tue, 15 Mar 2022 00:53:16 +0000</pubDate>
      <link>https://dev.to/maw6a0/getting-started-with-vercel-1ak0</link>
      <guid>https://dev.to/maw6a0/getting-started-with-vercel-1ak0</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;About Vercel&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Vercel is a high-performance front-end framework and static website platform.  Vercel is great for front-end teams because 1. It is easy to use and 2. It generates an efficient way of creating static sites.  Pertaining to the Developer Experience (DX), Vercel provides clarity, an ease of use, stability, and function.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Creating a Project and Deploying with Vercel&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;First, create a personal account on Vercel and link it to your GitHub account.  You can also create your personal account with your email, GitLab, or Bitbucket.&lt;/p&gt;

&lt;p&gt;Second, from the Dashboard, select New Project and you have the option to import from an existing Git repository or use one of Vercel's many templates.  In the Build &amp;amp; Development settings, I recommend changing the root directory to dist or _site. &lt;/p&gt;

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

&lt;p&gt;Third, through a build step, you will deploy your project to transform it into a production-ready site.  Once your project has been successfully deployed, it will be saved to your dashboard. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Vercel Command Line Interface Commands&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Make a preview deployment:&lt;br&gt;
$ vercel&lt;br&gt;
Make a production deployment:&lt;br&gt;
$ vercel --prod&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;My Vercel Deployments&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/maw6a0/vercel-lab8"&gt;my vercel-demo on GitHub&lt;/a&gt;&lt;br&gt;
&lt;a href="https://vercel.com/dashboard"&gt;my vercel dashboard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My Dashboard:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Haiq1Jdw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jfvbtcl45ppm2lsyyzw6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Haiq1Jdw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jfvbtcl45ppm2lsyyzw6.PNG" alt="Image description" width="880" height="363"&gt;&lt;/a&gt;&lt;br&gt;
My Weather App Vercel demo:&lt;br&gt;
&lt;a href="https://vercel.com/maw6a0/vercel-lab8"&gt;weather app vercel demo page&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;My 11ty Vercel demo:&lt;br&gt;
&lt;a href="https://vercel.com/maw6a0/eleventy"&gt;11ty vercel demo&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Another 11ty Vercel demo:&lt;br&gt;
&lt;a href="https://vercel.com/maw6a0/11ty"&gt;another 11ty vercel demo&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Citations&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://vercel.com/guides/deploying-eleventy-with-vercel"&gt;https://vercel.com/guides/deploying-eleventy-with-vercel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dzone.com/articles/developer-experience-dx-devs-are-people-too"&gt;https://dzone.com/articles/developer-experience-dx-devs-are-people-too&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Building Basic Web Components (open-wc)</title>
      <dc:creator>Matthew Wigoff</dc:creator>
      <pubDate>Fri, 21 Jan 2022 21:37:55 +0000</pubDate>
      <link>https://dev.to/maw6a0/building-basic-web-components-open-wc-27c5</link>
      <guid>https://dev.to/maw6a0/building-basic-web-components-open-wc-27c5</guid>
      <description>&lt;p&gt;Hi, I'm Matthew.  My goal is to make you feel comfortable using the node.js command prompt to open web components.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;node.js&lt;/strong&gt;&lt;br&gt;
To get started, download node.js. Go to &lt;a href="https://nodejs.org/en/download/"&gt;https://nodejs.org/en/download/&lt;/a&gt;. Select the Long-Term Support (LTS) option for your operating system (OS); Windows, Mac, Linux, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QzW5VsTA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6s62x8wv8skbinu8uvs4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QzW5VsTA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6s62x8wv8skbinu8uvs4.PNG" alt="node.js Download" width="755" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visual Studio Code Editor&lt;/strong&gt;&lt;br&gt;
Along with node.js, you will need a code editor.  I prefer Visual Studio Code.  Go to &lt;a href="https://code.visualstudio.com/"&gt;https://code.visualstudio.com/&lt;/a&gt; and download the latest version for your OS.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I-GildAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ep5zswri59dvfpiwp730.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I-GildAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ep5zswri59dvfpiwp730.PNG" alt="Visual Studio Code Download" width="880" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;npm and yarn&lt;/strong&gt;&lt;br&gt;
Check to see if you have npm and yarn installed.  You can do this by typing npm -v and yarn -v in your node.js command prompt.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--or4ebfsL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrux55cp9x3og8k0cuyy.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--or4ebfsL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrux55cp9x3og8k0cuyy.PNG" alt="npm and yarn" width="606" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you do not have npm or yarn installed, run the command "npm install -g npm" (without the quotes) for npm, and "yarn install" (again without quotes) for yarn. Npm is an online repository to publish node.js projects and it is a command-line tool to interact with specific online repositories for package installation. Npm provides you the ability to publish open-source applications on the web.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder for Projects/Clone Repository&lt;/strong&gt;&lt;br&gt;
In order to clone your repository from GitHub into a folder, add a folder on your desktop, or wherever.  To access the folder from node.js command prompt, you will have to change directories.  Follow the below images for an example. Run the command "git clone (your link)" to clone your repository from GitHub.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1dGRul0i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m6lub7sxds2645pxm6hv.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1dGRul0i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m6lub7sxds2645pxm6hv.PNG" alt="clone" width="801" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using node.js Command Prompt to Connect to open-wc&lt;/strong&gt;&lt;br&gt;
To connect your repository to open-wc, navigate to your folder using command prompt. For me, I typed the following commands into node.js command prompt:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;cd desktop&lt;/li&gt;
&lt;li&gt;cd edtechjoker_labs&lt;/li&gt;
&lt;li&gt;cd edtechjoker-lab1&lt;/li&gt;
&lt;li&gt;&lt;p&gt;npm init @open-wc&lt;br&gt;
Answer the questions at this point&lt;br&gt;
a. 'Do you want to write this file structure to a disk? &amp;gt;&amp;gt; Yes&lt;br&gt;
b. Do you want to overwrite 'File Path'? &amp;gt;&amp;gt; Yes for all files&lt;br&gt;
c. Do you want to install dependencies? &amp;gt;&amp;gt; Yes, with npm&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cd hello-world &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;npm run start&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;VOILA, you have created your web component.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oMMmRJp0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abu1bvhb00nol27ydkcp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oMMmRJp0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abu1bvhb00nol27ydkcp.PNG" alt="1" width="814" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

&lt;p&gt;Your computer should then open a web page that looks like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3uejict_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1qhe6ylgzbecz5n1jsnl.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3uejict_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1qhe6ylgzbecz5n1jsnl.PNG" alt="Web Page Render" width="539" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Editing src code in HelloWorld.js&lt;/strong&gt;&lt;br&gt;
Now you can edit code in your HelloWorld.js file in Virtual Studio Code editor.  Open Virtual Studio Code and select File &amp;gt; Open Folder and select folder you uploaded the Hello World folder to. In Virtual Studio Code, under the src drop down, double click the HelloWorld.js file.  Now you can edit the file as you choose to. To push the changes from the file to your GitHub repository, enter the following commands in your node.js command prompt:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;git commit -am "" (without the carrots)&lt;/li&gt;
&lt;li&gt;git push origin main&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It will look something like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pXqZeVmH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khho9d5tgrzwam2jlaaj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pXqZeVmH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khho9d5tgrzwam2jlaaj.PNG" alt="Git Push" width="769" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5rc1caeS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/125odcfsf9yp0qiiifh3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5rc1caeS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/125odcfsf9yp0qiiifh3.PNG" alt="Git Repo &amp;quot;Final&amp;quot;" width="880" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Works Cited&lt;/strong&gt;&lt;br&gt;
1) Cesar Jr RodriguezCesar Jr Rodriguez 1, and Suresh AttaSuresh Atta 117k3737 gold badges188188 silver badges293293 bronze badges. &lt;br&gt;
“Whats the Meaning of 'Static Get' in Javascript (ES6)?” Stack Overflow, 1 Mar. 1965, &lt;br&gt;
stackoverflow.com/questions/42884751/whats-the-meaning-of-static-get-in-javascript-es6.&lt;/p&gt;

&lt;p&gt;2) “Export - Javascript: MDN.” JavaScript | MDN, developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export. &lt;/p&gt;

&lt;p&gt;3) “Import - Javascript: MDN.” JavaScript | MDN, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import. &lt;/p&gt;

&lt;p&gt;4) “Increment (++) - Javascript: MDN.” JavaScript | MDN, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Increment. &lt;/p&gt;

&lt;p&gt;5) “JavaScript Object Constructors.” JavaScript Constructors, &lt;a href="http://www.w3schools.com/js/js_object_constructors.asp"&gt;www.w3schools.com/js/js_object_constructors.asp&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;6) Node.js. “What Is NPM?” Node.js, nodejs.org/en/knowledge/getting-started/npm/what-is-npm/#:~:text=npm%20is%20two%20things%3A%20first,A%20plethora%20of%20Node. &lt;/p&gt;

&lt;p&gt;7) React Render HTML, &lt;a href="http://www.w3schools.com/react/react_render.asp"&gt;www.w3schools.com/react/react_render.asp&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;8) “Return - Javascript: MDN.” JavaScript | MDN, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return. &lt;/p&gt;

&lt;p&gt;9) “Static - Javascript: MDN.” JavaScript | MDN, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static. &lt;/p&gt;

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