<?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: Katie N</title>
    <description>The latest articles on DEV Community by Katie N (@knowicki024).</description>
    <link>https://dev.to/knowicki024</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%2F1223024%2F68bc70a4-11b0-460d-b79d-3247a35c3801.jpeg</url>
      <title>DEV Community: Katie N</title>
      <link>https://dev.to/knowicki024</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/knowicki024"/>
    <language>en</language>
    <item>
      <title>Setting up test files in React with Jest</title>
      <dc:creator>Katie N</dc:creator>
      <pubDate>Thu, 29 Feb 2024 20:25:52 +0000</pubDate>
      <link>https://dev.to/knowicki024/setting-up-test-files-in-react-with-jest-26la</link>
      <guid>https://dev.to/knowicki024/setting-up-test-files-in-react-with-jest-26la</guid>
      <description>&lt;p&gt;When creating applications, a skill that will help create scalable and properly working code is the ability to write tests. Unit testing allows us to test the individual functionality of our React components. Learning how to write tests can be instrumental in debugging quicker and writing good dynamic code. In this post we're going to talk about how to use Jest testing framework with React. If you're familiar with React, you know how powerful and intuitive it is. Well, Jest is just like that - powerful and intuitive. We will be using the Node package manager for this blog but yarn works similarly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Setup
&lt;/h2&gt;

&lt;p&gt;When starting a React project, a popular way to go about it is to run &lt;code&gt;npm create-react-app&lt;/code&gt;. Starting your repo with this command will automatically install Jest so there is no need for any extra install/download work. Double check your &lt;code&gt;package-json&lt;/code&gt; folder to make sure you have the proper packages installed. If it is not already installed you can run &lt;code&gt;npm install --save-dev @testing-library/react&lt;/code&gt; to install.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  "name": "client",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:3000",
  "dependencies": {
---&amp;gt;"@testing-library/jest-dom": "^5.17.0",
---&amp;gt;"@testing-library/react": "^13.4.0",
---&amp;gt;"@testing-library/user-event": "^13.5.0",
    "bootstrap": "^5.3.3",
    "react": "^18.2.0",
    "react-bootstrap": "^2.10.1",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.22.1",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "devDependencies": {
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
---&amp;gt;"test": "react-scripts test",
    "eject": "react-scripts eject"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see under our "dependencies" there is the Jest package installed and the "test" line in our "scripts". &lt;/p&gt;

&lt;h2&gt;
  
  
  Test Structure
&lt;/h2&gt;

&lt;p&gt;The best way to set up your test files is to create a folder in your &lt;code&gt;/src&lt;/code&gt; folder and name it &lt;code&gt;__tests__&lt;/code&gt;. In this folder you will keep your test files. When you create your file, the best practice is to name your test file almost identical to your component file name. For example, if we were going to start writing tests for our &lt;code&gt;App.js&lt;/code&gt; file, we should name our test file &lt;code&gt;App.test.js&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Navigate to &lt;code&gt;App.test.js&lt;/code&gt; and in the top of the page import the libraries you need for testing. It will typically look something like  --&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// import libraries needed for testing
import "@testing-library/jest-dom";
import { render, screen } from "@testing-library/react";
import React from "react";

// import the component you wrote
import App from "../components/App";

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

&lt;/div&gt;



&lt;p&gt;Often the test file will already be started for you automatically, but you should always double check. &lt;/p&gt;

&lt;p&gt;Jest tests are written in test blocks. They consist of 4 parts. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Render the component you want to test. &lt;/li&gt;
&lt;li&gt;Find elements of the component you want to interact with.&lt;/li&gt;
&lt;li&gt;Interact with the element and establish expectations. &lt;/li&gt;
&lt;li&gt;Assert 'expected' results. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For this example, let's use the tried and true "Hello World" example. We have a simple &lt;code&gt;App.js&lt;/code&gt; component --&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useState } from 'react';

function App() {
  const [message, setMessage] = useState('Hello World');

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;p data-testid="message"&amp;gt;{message}&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={() =&amp;gt; setMessage('Button Clicked')}&amp;gt;Click Me&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then we will have our &lt;code&gt;App.test.js&lt;/code&gt; file --&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import App from './App';

test('renders the correct initial message and updates it on button click', () =&amp;gt; {
  // Render the App component
  render(&amp;lt;App /&amp;gt;);

  // Find the element that displays the message
  const messageElement = screen.getByTestId('message');
  expect(messageElement).toHaveTextContent('Hello World'); // Initial expectation

  // Find the button and click it
  const buttonElement = screen.getByRole('button', { name: 'Click Me' });
  fireEvent.click(buttonElement);

  // Assert the message has changed after clicking the button
  expect(messageElement).toHaveTextContent('Button Clicked'); // Updated expectation
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's go through each section.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;test('renders the correct initial message and updates it on button click', () =&amp;gt; {
  // Render the App component
  render(&amp;lt;App /&amp;gt;);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each test will start with &lt;code&gt;test()&lt;/code&gt; or &lt;code&gt;it()&lt;/code&gt; (used interchangeably) to provide context around what you plan to use the test for. You can also take it a step further and include a &lt;code&gt;describe()&lt;/code&gt; above the &lt;code&gt;test()&lt;/code&gt; line to further describe the test or name it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;describe("correctMessage", () =&amp;gt; {
    test('renders the correct initial message and updates it on button click', () =&amp;gt; {
      // Render the App component
      render(&amp;lt;App /&amp;gt;);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next up we find the elements we want to interact with.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  // Find the element that displays the message
  const messageElement = screen.getByTestId('message');
  // Initial expectation
  expect(messageElement).toHaveTextContent('Hello World'); 

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

&lt;/div&gt;



&lt;p&gt;We will use &lt;code&gt;screen&lt;/code&gt; to filter through the component and pluck out what we're wanting to test. We're looking for &lt;code&gt;.getByTestId&lt;/code&gt; so let's look back up at our App.js file and see what is being pulled into our test. &lt;/p&gt;

&lt;p&gt;In our App.js file we see this line --&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p data-testid="message"&amp;gt;{message}&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is what is being pulled by our test to be interacted with. &lt;br&gt;
In the next line we are declaring what we initially expect from this element. We expect the message to say "Hello World".&lt;/p&gt;

&lt;p&gt;Then we go down a little in our test and see the next expectation of our test.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  // Find the button and click it
  const buttonElement = screen.getByRole('button', { name: 'Click Me' });
  fireEvent.click(buttonElement);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same thing as before. Pulling the element we want to test through &lt;code&gt;screen&lt;/code&gt; and declaring our initial expectation. This is the element we are pulling this out of our &lt;code&gt;App.js&lt;/code&gt; component --&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      &amp;lt;button onClick={() =&amp;gt; setMessage('Button Clicked')}&amp;gt;Click Me&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are expecting this button to be able to do something. To click. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;note:&lt;/strong&gt; the &lt;code&gt;fireEvent&lt;/code&gt; function is used to mimic a call to action for your test. &lt;/p&gt;

&lt;p&gt;Once we have pulled our elements and gave them initial expectations, we're going to assert what we want our final expectation to be of how those elements tie together to do what they're supposed to.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  // Assert the message has changed after clicking the button
  expect(messageElement).toHaveTextContent('Button Clicked'); // Updated expectation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We expect our button to display "Hello World" when it is pressed. &lt;/p&gt;

&lt;h2&gt;
  
  
  Refactoring and npm test
&lt;/h2&gt;

&lt;p&gt;Once you have your tests written you'll want to actually implement them. Assuming you have already ran &lt;code&gt;npm install&lt;/code&gt; in your terminal, you're going to run &lt;code&gt;npm test&lt;/code&gt;. You should receive an output of all your passing and failing tests as well as a CLI menu to be able to interact with your terminal while your tests are being watched and ran.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; your-app-name@1.0.0 test
&amp;gt; jest

 PASS  src/App.test.js
  ✓ renders the correct initial message and updates it on button click (32 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.357 s, estimated 2 s
Ran all test suites.

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

&lt;/div&gt;



&lt;p&gt;If you notice that your tests are failing, you will have to go back into your &lt;code&gt;App.js&lt;/code&gt; file to refactor your code until your tests are passing. Unless you exit out of the test suite it will update and run every time you save your file. &lt;/p&gt;

&lt;p&gt;To be able to navigate through the test suite here is the CLI menu as well.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Watch Usage
 › Press a to run all tests.
 › Press f to run only failed tests.
 › Press p to filter by a filename regex pattern.
 › Press t to filter by a test name regex pattern.
 › Press q to quit watch mode.
 › Press Enter to trigger a test run.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;I hope now you have a better understanding of how to implement testing into your code. It is so helpful and time saving in the debugging process allowing you to focus on the creativity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-test-a-react-app-with-jest-and-react-testing-library"&gt;Digital Ocean&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.smashingmagazine.com/2020/06/practical-guide-testing-react-applications-jest/"&gt;Smashing Magazine&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.browserstack.com/guide/react-app-testing-with-jest"&gt;BrowserStack&lt;/a&gt;&lt;br&gt;
&lt;a href="https://youtube.com/watch?v=l9qr3EuLE_8&amp;amp;list=PL4cUxeGkcC9gm4_-5UsNmLqMosM-dzuvQ&amp;amp;index=7"&gt;NetNinja&lt;/a&gt;&lt;br&gt;
&lt;a href="https://chat.openai.com/c/42948249-c92d-4c0e-a227-da3a350248a3"&gt;ChatGPT&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learning.flatironschool.com/courses/7053/assignments/265166?module_item_id=635150"&gt;Canvas&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>testing</category>
      <category>jest</category>
    </item>
    <item>
      <title>Basic overview for creating a stellar README file</title>
      <dc:creator>Katie N</dc:creator>
      <pubDate>Mon, 12 Feb 2024 03:07:37 +0000</pubDate>
      <link>https://dev.to/knowicki024/basic-overview-for-creating-a-stellar-readme-file-oel</link>
      <guid>https://dev.to/knowicki024/basic-overview-for-creating-a-stellar-readme-file-oel</guid>
      <description>&lt;p&gt;When you create projects that you want to show to other people you should get in the practice of creating an overview that tells people about your application, what it does, how you use it and other important information people should know before exploring your repo. The README file is typically the first thing other developers will look at when they first enter your application. Giving a good impression off your README is a great way to get other developers engaged in your project!&lt;br&gt;
&lt;a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXR4bXI1dzZ4cTF6MzI3cXlwaXZlN3d5MXFjaG9hcnNoanZyeWs0OSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xUA7b2OfgTuVzqpVXq/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXR4bXI1dzZ4cTF6MzI3cXlwaXZlN3d5MXFjaG9hcnNoanZyeWs0OSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xUA7b2OfgTuVzqpVXq/giphy.gif" width="750" height="750"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Getting Started&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;First, you want to think about why you created your application. What problem does it solve? What is the purpose of it? What does the application do?&lt;/p&gt;

&lt;p&gt;Next, it's a good idea to use &lt;a href="https://en.wikipedia.org/wiki/Markdown"&gt;Markdown&lt;/a&gt; syntax to style your README. It allows you to easily format your README to make it visually easier to read and catch the readers eye more easily. It also will help in making your README look really good when it's opened in a browser window.&lt;/p&gt;

&lt;p&gt;Once you have an idea of your "why" for the application, it makes writing the README much easier. &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Structure&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Title&lt;/li&gt;
&lt;li&gt;Authors &lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Setup/install &lt;/li&gt;
&lt;li&gt;Table of Contents&lt;/li&gt;
&lt;li&gt;Licenses&lt;/li&gt;
&lt;li&gt;Extras&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Title
&lt;/h2&gt;

&lt;p&gt;Include the title of your project. Give it a name that is indicative of the project. You can also add a sub-heading to add any additional information in your title.&lt;/p&gt;
&lt;h2&gt;
  
  
  Authors
&lt;/h2&gt;

&lt;p&gt;Pretty easy. Who wrote the program? Include the names of everyone who worked on the project.&lt;/p&gt;
&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Give a brief description of your application. 3-5 sentences is generally enough. Most of the time people are just scanning the information to get a general idea. You can take it up a notch by adding some images of the application or any diagrams you think would be helpful to include. But keeping it relatively short is ideal.  &lt;/p&gt;
&lt;h2&gt;
  
  
  Setup and Installation
&lt;/h2&gt;

&lt;p&gt;Another top key feature to include in your README is giving the commands you need to run the application. Inform the reader of the packages and other technologies they'll need to install and start to get the application running. For example, if you were doing a README for a React/Python application, the set up instructions might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pipenv install
pipenv shell
npm install --prefix client

python server/app.py

npm start --prefix client

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;p&gt;Although you want to keep your README relatively short and simple, sometimes they can get kind of lengthy. So, some people opt to include a table of contents under the title of their README. These are optional and won't make your README any less substantial if you choose not to include one. &lt;/p&gt;

&lt;h2&gt;
  
  
  Licenses
&lt;/h2&gt;

&lt;p&gt;When you are working on a project and you want to protect your intellectual property you can get a license to include in your README. There are different type of licenses you can get based on whether you want to have your application be an open-sourced project - where other people can fork your repository and make changes to your project. Having a license will allow you to keep that copyright and tell developers what they can and can't change in your project. Here are a couple of links to some licensing websites to guide you. &lt;br&gt;
&lt;a href="https://choosealicense.com/"&gt;ChooseALicense&lt;/a&gt;&lt;br&gt;
&lt;a href="https://opensource.org/licenses/"&gt;Open Source Initiative&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Extras
&lt;/h2&gt;

&lt;p&gt;There are some extra elements you can include in your README to take it the extra mile. Some popular ones are things like including any tests you have implemented. Creating your own tests is a really good way to show off your skills as a coder and really takes your skill set up a notch. &lt;br&gt;
Another big one is including &lt;a href="https://naereen.github.io/badges/"&gt;badges&lt;/a&gt;. Don't go overboard on the amount of badges you use as it can be distracting from the point. But including some in your README can be a really good way for anyone who reads it to take quick notes of what's going on in your application.&lt;/p&gt;

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

&lt;p&gt;I hope these tips and links I included help give you a template of how to write a profound and informative README that will impress anyone who sees your project. As always, happy coding!&lt;/p&gt;

&lt;p&gt;SOURCES&lt;br&gt;
&lt;a href="https://www.archbee.com/blog/readme-document-elements"&gt;archbee.com&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes"&gt;GitHubDocs&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freecodecamp.org/news/how-to-write-a-good-readme-file/"&gt;FreeCodeCamp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>CRUD-DY SQL</title>
      <dc:creator>Katie N</dc:creator>
      <pubDate>Tue, 23 Jan 2024 14:04:45 +0000</pubDate>
      <link>https://dev.to/knowicki024/crud-dy-sql-4aec</link>
      <guid>https://dev.to/knowicki024/crud-dy-sql-4aec</guid>
      <description>&lt;p&gt;When coding you're faced with tons of data and databases. It can be overwhelming when you're working on projects - big or small. Luckily, there is a tool that we can use to help keep that data organized, readable, and mutable. Were going to talk about what SQL is and how we can implement it in the most basic of ways. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;SQL&lt;/strong&gt;(Structured Query Language)
&lt;/h2&gt;

&lt;p&gt;-- is a standard computer language used for accessing and manipulating databases. SQL creates tables for our data and allows us to be able to reference it and change it as needed. The basis for SQL is the &lt;strong&gt;Relational Database Management System&lt;/strong&gt; or &lt;strong&gt;RDBMS&lt;/strong&gt; for short. It's the program that manages our data and we use SQL to talk to the RDBMS so we can stay on top of our data.  &lt;/p&gt;

&lt;p&gt;Like most coding languages, CRUD (Create, Read, Update, Delete) is essential for being able to interact with the data that you are working with. SQL is no different. Let's dive into the CRUD actions step-by-step to get started using SQL.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;CREATE&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In SQL the "Create" is initialized with the &lt;code&gt;INSERT INTO&lt;/code&gt; method. It is a two-step command. In the first part you'll include the table that you're calling upon and the sections of that table you want to add to. The second part, the &lt;code&gt;VALUES&lt;/code&gt;, are the actual input you want added to your table. For our example were going to imagine that we are programmers for Spotify and we are in charge of editing playlists.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd81p2bcxnth8za2zq4m0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd81p2bcxnth8za2zq4m0.png" alt="playlist example" width="800" height="477"&gt;&lt;/a&gt;&lt;br&gt;
Hypothetically, we can do this using SQL. We want to add a new song to the playlist so we can do it like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;INSERT INTO ThrowbackThursday (Title, Album, Date Added, Time) VALUES('Picture feat. Sheryl Crow', Cocky, 5 days ago, 4:59);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;and our play list should look something like this -- &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v6sp14ivlg9g8o3ps6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v6sp14ivlg9g8o3ps6z.png" alt="playlist example" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;READ&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In order to perform a 'read' action in SQL you use the command &lt;code&gt;SELECT&lt;/code&gt;. SELECT statements work in a two step system just like the INSERT INTO method. &lt;br&gt;
&lt;code&gt;SELECT &amp;lt;name of column&amp;gt; FROM &amp;lt;table that contains the column&amp;gt;;&lt;/code&gt; &lt;br&gt;
So, going back to our playlist from earlier we could do something like -- &lt;br&gt;
&lt;code&gt;SELECT id, Title, Album FROM ThrowbackThursday;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And this should return your data in a nice table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 | Every Morning | 14:59 
2 | Follow Me | Double Wide 
3 | One Week | Stunt(20th Anniversary Edition)
etc. 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are ways to build on this initial statement with other conditions to return more specific data as well. &lt;/p&gt;

&lt;p&gt;A way to get ALL the data sent back to you is to use &lt;strong&gt;"*"&lt;/strong&gt; aka the 'wildcard selector'. Using the asterisk as your selector tells SQL to give back all the data from the table called on. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT * FROM ThrowbackThursday;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;UPDATE&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To update your data using SQL you'll use a statement with the basic syntax similar to this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPDATE &amp;lt;table name&amp;gt;
SET &amp;lt;column name&amp;gt; = &amp;lt;new value&amp;gt;
WHERE &amp;lt;column name&amp;gt; = &amp;lt;old value&amp;gt;;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To do this in our playlist example we can do something like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPDATE ThrowbackThursday
SET Title = "Walkin' On The Sun"
WHERE Title = "All Star"; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;DELETE&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The final part to cover for our CRUD actions is the DELETE statements. It is a similar function to how we do the UPDATE function. A basic example would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DELETE FROM &amp;lt;table name&amp;gt;
WHERE &amp;lt;column name&amp;gt; = &amp;lt;value&amp;gt;;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Touching back on our playlist, we would have something like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DELETE FROM ThrowbackThursday
WHERE Title = "Tubthumping";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;CONCLUSION&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I hope after this post you feel ready to dip your toes into the world of SQL. &lt;/p&gt;

&lt;h2&gt;
  
  
  SOURCES
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/sql/sql_intro.asp"&gt;W3 Schools&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/sql/sql_insert.asp"&gt;W3 Schools&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learning.flatironschool.com/courses/7054/pages/crud-operations-in-sql?module_item_id=648157"&gt;Canvas&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.sqlshack.com/crud-operations-in-sql-server/"&gt;SQLShack&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>database</category>
    </item>
    <item>
      <title>A Collaboration Guide to Github</title>
      <dc:creator>Katie N</dc:creator>
      <pubDate>Tue, 02 Jan 2024 03:43:35 +0000</pubDate>
      <link>https://dev.to/knowicki024/a-collaboration-guide-to-github-36ig</link>
      <guid>https://dev.to/knowicki024/a-collaboration-guide-to-github-36ig</guid>
      <description>&lt;p&gt;When working on a programming project, you'll more than likely use Github. A cloud-based Git repository hosting service that makes it easy to use Git for version control and collaboration. &lt;br&gt;
Working and collaborating with other team members during projects is a common practice in software development and having a clean flow of who is in charge of what, is so important. Let's talk about some good Git practices to use to get into an organized and efficient work flow.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;BRANCH OUT&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of the "golden rules" of collaborating is to create a new branch off the default Main branch. If everyone is writing code on top of each other in the same branch, it can cause unnecessary extra work, create bugs, and maybe even break the code. When you create your own branch you are able to test your code before submitting it to the main branch and ensure it works. &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%2Fgu2prbwgx4djv4ctauj0.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%2Fgu2prbwgx4djv4ctauj0.png" alt="BranchFlow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is best practice to create a new branch from your forked and cloned copy of the repo, after you finish your portion of the code, then push it up to Github to be reviewed and then merged. &lt;br&gt;
To create your own branch you can enter the following into your terminal and it will create and direct you to your new branch:&lt;br&gt;
&lt;code&gt;git checkout -b &amp;lt;NewBranchName&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After you get done with your code, you want to add the new changes by running:&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then, you'll want to run a commit command:&lt;br&gt;
&lt;code&gt;git commit -m "message with what is being committed"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once, you've done that and you're ready to push up your branch you'll run:&lt;br&gt;
&lt;code&gt;git push origin &amp;lt;NewBranchName&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;When you go back to your repo on Github you should see the newly added branch and an alert with a button to "compare and pull request". Click it and sync your new branch with your repo.&lt;/p&gt;

&lt;p&gt;Hopefully, so far this is something you're already familiar with. In the next part, we're going to talk about how to merge all the work you've just done into your main branch to be put together. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Pull Requests&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pull requests are when the collaborating really starts to come together. In Github there is a tab to start a &lt;a href="https://docs.github.com/en/enterprise-server@3.5/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#about-pull-requests" rel="noopener noreferrer"&gt;pull request&lt;/a&gt;. A pull request is important for two reasons. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;It allows your fellow collaborators to review and discuss your branch before it gets committed to the main branch. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This request is also how you will merge your new branch into the main branch. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Merging 101&lt;/strong&gt;
&lt;/h2&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%2Fcurriculum-content.s3.amazonaws.com%2Fphase-1%2Fgit-github%2Fcollaborating%2Fpull-request.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%2Fcurriculum-content.s3.amazonaws.com%2Fphase-1%2Fgit-github%2Fcollaborating%2Fpull-request.png" alt="pull request example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The above is an example Github page that shows the steps of how to merge those branches as well as leave comments about the branch that's intended to be merged. Let's go over it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the pull request.&lt;/li&gt;
&lt;li&gt;Leave any comments or overview of what is being added. &lt;/li&gt;
&lt;li&gt;Go to the "Files Changed" tab to review the files that have been changed. &lt;/li&gt;
&lt;li&gt;Check to resolve any merge conflicts and complete the prompts to merge the pull request. &lt;/li&gt;
&lt;li&gt;Once your merged branch has been confirmed successful, it is typically best practice to delete that branch. You can do this by running &lt;code&gt;git branch -d &amp;lt;NewBranchName&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Okay, let's go over a scenario. &lt;/p&gt;

&lt;p&gt;You're working on a group project and you have already successfully merged your branch in Github. Now it's time to work on a new branch but once you open your Visual Studio Code  you'll notice that it doesn't have your newly merged code added. To pull down your newly merged code, you're going to direct yourself to your main branch. Then run the following: &lt;code&gt;git pull origin main&lt;/code&gt; &lt;br&gt;
This will pull down your newly updated main branch you just merged. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conflict Resolution&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To prevent merging conflicts with your branches it is important to make sure that you use your main branch for merging purposes only. Try and not make edits directly in your main branch if you can help it. Why is this best practice? Because in the case you create a new branch, add some code and commit, then go back to the main branch, add some code and commit, when you go to merge you will get an alert to resolve the conflicts. This creates confusion because now there will be changes on your main branch that won't be on your new branch you just made. &lt;/p&gt;

&lt;p&gt;Now sometimes things happen and you get merging conflicts. &lt;/p&gt;

&lt;p&gt;IT'S OKAY! &lt;/p&gt;

&lt;p&gt;With a few steps you can fix it. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click the "command line" on the prompt in Github. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure your main branch is up to date in your repo. To do this, run &lt;code&gt;git pull origin main&lt;/code&gt; in your terminal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switch over to your new branch and run &lt;code&gt;git merge main&lt;/code&gt; to merge the new branch into main. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You will be prompted to resolve the conflicts. You can find instructions on how to merge those conflicts &lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After you have resolved any conflicts, you'll need to re-push your new branch. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate to Github and refresh the page and you should now be able to merge in your new branch successfully. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As you can probably assume, that can get tedious quickly. &lt;/p&gt;

&lt;p&gt;Following clean Github flow and having great communication with your team mates will help keep you from doing unnecessary work. &lt;/p&gt;

&lt;p&gt;Happy Coding!&lt;/p&gt;

&lt;p&gt;SOURCES:&lt;br&gt;
&lt;a href="https://learning.flatironschool.com/courses/7052/pages/collaborating-with-git-and-github?module_item_id=622593" rel="noopener noreferrer"&gt;Flatiron Canvas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kinsta.com/knowledgebase/what-is-github/" rel="noopener noreferrer"&gt;Kinsta&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.github.com/en/get-started/quickstart/hello-world" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>github</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Beginners Guide to HTML</title>
      <dc:creator>Katie N</dc:creator>
      <pubDate>Sat, 02 Dec 2023 23:18:21 +0000</pubDate>
      <link>https://dev.to/knowicki024/a-beginners-guide-to-html-145j</link>
      <guid>https://dev.to/knowicki024/a-beginners-guide-to-html-145j</guid>
      <description>&lt;p&gt;As a beginning software engineer, it's essential to understand the basic concepts first to be able to utilize the power they hold. One of the main concepts to understand early on in your journey is the &lt;strong&gt;HyperText Markup Language&lt;/strong&gt; or &lt;strong&gt;HTML&lt;/strong&gt; as it's usually referred to. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is HTML?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The formal definition of &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/HTML"&gt;HTML&lt;/a&gt;  is a descriptive language that specifies a webpages structure. HTML is a document-based technology. Which basically means that our HTML file will hold all our information for us while we build our webpage! Pretty neat. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;HTML Structure&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here below is an example of a basic HTML file structure. Take a look and then let's talk about it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang="en-US"&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8" /&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width" /&amp;gt;
    &amp;lt;title&amp;gt;My Example Page&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;img src="(insert URL link for image here)" alt="Example Image Title" /&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;Before we get into all the HTML tags and what they mean, take a peek at the way the the page above is structured. Easy to read and organized, right?&lt;/p&gt;

&lt;p&gt;Keeping your HTML page clean, organized, and easy to read will help prevent any errors along the way as well as help debug and edit. &lt;/p&gt;

&lt;p&gt;Now, let's get into it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- This is an important line of code. It is required at the beginning of your HTML document to ensure your HTML does what it's supposed to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;html&amp;gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- As you can see, there is an HTML tag at the second line of the code, and at the end of the code. This is the basic format of most HTML tags. To have an opening tag &lt;code&gt;&amp;lt;&amp;gt;&lt;/code&gt; and a closing tag &lt;code&gt;&amp;lt;/&amp;gt;&lt;/code&gt; with your code in between. The HTML tag specifically is known as the "root" code. Within the HTML tag you will input your content. In the opening of this tag you will also put the language you will be using for your document. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- The head tag is where you add information to your page that is not seen by the user. Things like your CSS styling attachment, key phrases that we want to be used in web searches, page descriptions, etc. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;meta charset="utf-8"&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- Between our header tags, there are usually two standard lines of code. This is the first one. It's an element that declares the character set you'll be using in your document. Its value should be set to UTF-8 - a variable-length character encoding standard used for electronic communication - to ensure it will handle any text content you add. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;meta name="viewport" content="width=device-width"&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- Now this is a cool line of code that is the second part of our standard header element. This line of code basically will make sure that the content will render to the browser you're using. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- Title element is pretty easy - what is the title of your page? The title appears in the browser tab when the page loads. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- The body code. This is the meat and potatoes of your HTML code. All the elements the user will see will be included in the body tags. Things like text content, page headers, music, videos and images, and so on. In the body element you really get to play around and have fun!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Useful Tags&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that we've gone over the basic anatomy of HTML pages, here are some tags you should get used to using right away:&lt;/p&gt;

&lt;h2&gt;
  
  
  Headings
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;h&amp;gt;&amp;lt;/h&amp;gt;&lt;/code&gt;&lt;/strong&gt; --Not to be confused with the header tag that we previously discussed, this tag creates a heading for your webpage that the user will see. It can be used up to 6 times but generally most developers stick to 4. Like this:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- 4 heading levels: --&amp;gt;
&amp;lt;h1&amp;gt;My main Heading&amp;lt;/h1&amp;gt;
&amp;lt;h2&amp;gt;My first sub-heading&amp;lt;/h2&amp;gt;
&amp;lt;h3&amp;gt;My sub-subheading&amp;lt;/h3&amp;gt;
&amp;lt;h4&amp;gt;My sub-sub-subheading&amp;lt;/h4&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paragraphs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- This is where you will include your text content that will be displayed on the webpage.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p&amp;gt; Hello, my name is Katie and I have 4 dogs&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can even take this a step further by adding lists to our paragraph tags by using the &lt;strong&gt;&lt;code&gt;&amp;lt;ul&amp;gt;&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/strong&gt; (unordered list) or &lt;strong&gt;&lt;code&gt;&amp;lt;ol&amp;gt;&amp;lt;/ol&amp;gt;&lt;/code&gt;&lt;/strong&gt; (ordered list) tags.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p&amp;gt;Hello, my name is Katie and I have 4 dogs&amp;lt;/p&amp;gt;

&amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;Clementine&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Cookie&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Denver&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Bulleit&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;p&amp;gt;It's a dog gone paradise!&amp;lt;/p&amp;gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Images
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;img/&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- Below is an outline of how you'll add your image to your page. The image tag is one of the few HTML tags that does not need an opening and closing tag. Instead, it is self-contained. In the &lt;strong&gt;src&lt;/strong&gt; attribute we add our image URL, and the &lt;strong&gt;alt&lt;/strong&gt; attribute is to include any specific text related to the image that will help people who are visually impaired be able to understand the image more clearly and in the cases where your image is having problems being displayed.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; &amp;lt;img src="(insert URL link for image here)" alt="Example Image Title" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/strong&gt; -- The &lt;strong&gt;"a"&lt;/strong&gt; that we use in the links tag stands for &lt;strong&gt;"anchor"&lt;/strong&gt; and this one is a bit trickier than the others. To embed your link properly you'll need to follow a couple steps. 
First, we'll add some text to our anchor tag, like such:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
`&amp;lt;a&amp;gt;Katie's Dog Blog!&amp;lt;/a&amp;gt;`

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

&lt;/div&gt;



&lt;p&gt;Then we add an &lt;strong&gt;href&lt;/strong&gt; attribute to our opening tag which will include the link we want to input.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`&amp;lt;a href="(URL link to webpage you want to include in your HTML)"&amp;gt;
  Katie's Dog Blog!
&amp;lt;/a&amp;gt;`

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

&lt;/div&gt;



&lt;p&gt;And that's it!&lt;/p&gt;

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

&lt;p&gt;It's my hope that this post will help you gain an understanding of HTML basics and how you can use the foundation we discussed today to branch out and make some awesome web pages!&lt;/p&gt;

&lt;p&gt;Sources: &lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/HTML_basics"&gt;MDN HTML Basics&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/UTF-8"&gt;UTF-8&lt;/a&gt;&lt;/p&gt;

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