<?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: Hanna</title>
    <description>The latest articles on DEV Community by Hanna (@hannatylna).</description>
    <link>https://dev.to/hannatylna</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%2F706825%2F97093e60-b3f0-4dd5-947b-82477775a94e.jpeg</url>
      <title>DEV Community: Hanna</title>
      <link>https://dev.to/hannatylna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hannatylna"/>
    <language>en</language>
    <item>
      <title>Array, Array methods</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Fri, 08 Oct 2021 12:16:20 +0000</pubDate>
      <link>https://dev.to/hannatylna/array-array-methods-36bl</link>
      <guid>https://dev.to/hannatylna/array-array-methods-36bl</guid>
      <description>&lt;h2&gt;
  
  
  &lt;em&gt;ARRAY&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;An array is a special variable, which can hold more than one value at a time.&lt;/p&gt;

&lt;p&gt;To create a new array:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const array = new Array();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;or&lt;/strong&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const array = [];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Arrays can contain different types of values&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = [
  "John",
  {
    type: "JS",
    age: 36
  },
  true,
  function() {
    console.log('Hello, I am John');
  }
];
console.log(array);
console.log(array[0]);
console.log(array[1].type);
console.log(array[2]);
array[3]();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PUGpv1MQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4esn604wnswnalg0k9x0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PUGpv1MQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4esn604wnswnalg0k9x0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;FOREACH ()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;The forEach() method calls a function once for each element in an array, in order.&lt;br&gt;
forEach() is not executed for array elements without values.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;arr.forEach(function callback(currentValue, index, array) {
    //your iterator
}[, thisArg]);
index, array, thisArg - optional
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const arr = ['a', 'b', 'c'];
arr.forEach(element =&amp;gt; console.log(element)); 
//expected output a, b, c
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const numbers = [65, 44, 12, 4];
numbers.forEach(function myFunction(item, index, arr) {
  arr[index] = item * 10;
}) 
console.log(numbers) // 650, 440, 120, 40
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;PUSH()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;push()&lt;/strong&gt; adds new items to the end of an array.&lt;br&gt;
&lt;strong&gt;push()&lt;/strong&gt; changes the length of the array and returns the new length.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4,];
arr.push(5, 6);
console.log(arr);
// result [ 1, 2, 3, 4, 5, 6 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;UNSHIFT()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;unshift()&lt;/strong&gt; adds items at the beginning of an array.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4,];
arr.unshift(5, 6);
console.log(arr);
// result [ 5, 6, 1, 2, 3, 4 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;SHIFT()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;shift()&lt;/strong&gt; removes the first item of an array.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4,];
arr.shift();
console.log(arr);
// result [ 2, 3, 4 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;POP()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;pop()&lt;/strong&gt; removes the last element of an array.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4,];
arr.shift();
console.log(arr);
// result [ 1, 2, 3 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;SPLICE()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;splice()&lt;/strong&gt; adds and/or removes array elements.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;array.splice(index, howmany, item1, ....., itemX)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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

&lt;h4&gt;
  
  
  &lt;em&gt;CONCAT()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;concat()&lt;/strong&gt; concatenates (joins) two or more arrays. &lt;strong&gt;concat()&lt;/strong&gt; does not change the existing arrays, but returns a new array, containing the values of the joined arrays. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3,];
let arr1 = arr.concat(10);
console.log(arr1);
// result [ 1, 2, 3, 10 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;INCLUDES()&lt;/em&gt; &lt;em&gt;INDEXOF()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;includes()&lt;/em&gt; determines whether an array contains a given element and returns either true or false.&lt;br&gt;
&lt;em&gt;indexOf()&lt;/em&gt; searches an array for a specified item and returns its position. &lt;em&gt;indexOf()&lt;/em&gt; returns -1 if the item is not found.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4, 10, 15];
console.log(arr.indexOf(3));
console.log(arr.includes(15));
// result 2 true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;MAP()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;em&gt;map()&lt;/em&gt; method creates a new array with the results of calling a function for every array element.&lt;br&gt;
The &lt;em&gt;map()&lt;/em&gt; method calls the provided function once for each element in an array, in order.&lt;br&gt;
&lt;em&gt;map()&lt;/em&gt; does not execute the function for empty elements.&lt;br&gt;
&lt;em&gt;map()&lt;/em&gt; does not change the original array.&lt;/p&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const persons = [
  {firstname : "Malcom", lastname: "Reynolds"},
  {firstname : "Kaylee", lastname: "Frye"},
  {firstname : "Jayne", lastname: "Cobb"}
];
persons.map(function getFullName(item) {
  return [item.firstname,item.lastname].join(" ");
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;FILTER()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;em&gt;filter()&lt;/em&gt; method creates an array filled with all array elements that pass a test (provided by a function).&lt;br&gt;
&lt;em&gt;filter()&lt;/em&gt; does not execute the function for empty array elements.&lt;br&gt;
&lt;em&gt;filter()&lt;/em&gt; does not change the original array.&lt;/p&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word =&amp;gt; word.length &amp;gt; 6);
console.log(result);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;REDUCE()&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;reduce()&lt;/strong&gt; executes a reducer function for each value of an array.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [ 1, 2, 3, 4, 10, 15];
let sum = arr.reduce((prev, item) =&amp;gt; {
    return item + prev
}, 0);
console.log(sum);
// result 35
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>array</category>
      <category>method</category>
    </item>
    <item>
      <title>Git and GitHub for beginner</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Fri, 24 Sep 2021 12:07:33 +0000</pubDate>
      <link>https://dev.to/hannatylna/git-and-github-for-beginner-4p0h</link>
      <guid>https://dev.to/hannatylna/git-and-github-for-beginner-4p0h</guid>
      <description>&lt;p&gt;Familiarity with &lt;strong&gt;Git&lt;/strong&gt; caused some uncertainty. So I decided to make a list and a description of the git commands for the terminal.&lt;br&gt;
Here I use a terminal (you can also use a terminal in &lt;strong&gt;VS Code&lt;/strong&gt;), pre-installed &lt;strong&gt;Git&lt;/strong&gt; (&lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;) and my page on &lt;strong&gt;GitHub&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What is Git and why do we need to use it&lt;/em&gt;?&lt;br&gt;
&lt;strong&gt;Git&lt;/strong&gt; is a distributed free and open source version control program. It is a program that is needed for developers to be able to keep track of changes to program code made by other developers, and be able to make consequential changes if needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;What is GitHub?&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is a web service for software development where all participants have the opportunity to save their changes to an ongoing project and get an overview of how the project is progressing. So developers should be able to handle version management with the help of git both locally and on their web service (externally).&lt;br&gt;
By having git installed on your local device, you can handle version management both locally and externally on GitHub. Should your program code disappear locally for any reason, you can always find the latest uploaded code on GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  Git commands:
&lt;/h3&gt;

&lt;p&gt;Here are the commands that will be described in the post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git --version;&lt;/li&gt;
&lt;li&gt;git --help;&lt;/li&gt;
&lt;li&gt;git --init;&lt;/li&gt;
&lt;li&gt;git status;&lt;/li&gt;
&lt;li&gt;git add .;&lt;/li&gt;
&lt;li&gt;git rm --cached filename;&lt;/li&gt;
&lt;li&gt;git commit -m "";&lt;/li&gt;
&lt;li&gt;creating a .gitignore file;&lt;/li&gt;
&lt;li&gt;git branch;&lt;/li&gt;
&lt;li&gt;git branch branchname;&lt;/li&gt;
&lt;li&gt;git branch -D branchname;&lt;/li&gt;
&lt;li&gt;git checkout branchname;&lt;/li&gt;
&lt;li&gt;git checkout -b branchname;&lt;/li&gt;
&lt;li&gt;git merge branchname;&lt;/li&gt;
&lt;li&gt;git remote add origin https://... .git;&lt;/li&gt;
&lt;li&gt;git push -u origin branchname;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's start!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git --version&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prints the Git suite version that the git program came from.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git --help&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prints the synopsis and a list of the most commonly used commands. &lt;/p&gt;

&lt;p&gt;Next we need to create a folder and files in VS Code that we would like to commit. I have the folder "test" and two files "index.html" and "index.js".&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%2F6ih2ykvs51yyce6meakp.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%2F6ih2ykvs51yyce6meakp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git --init&lt;/strong&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%2F79e7fxewz7ivtiz6pj5c.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%2F79e7fxewz7ivtiz6pj5c.png" alt="Alt Text"&gt;&lt;/a&gt; Create an empty Git repository or reinitialize an existing one.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd .git
ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;With help of these commands we can see what is in the folder git. In this folder will be all information that needs to control version. &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%2Fl9oakrgcwzyyrh1rzyga.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%2Fl9oakrgcwzyyrh1rzyga.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git status&lt;/strong&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%2Fa10ddi7apdczqxa5u688.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%2Fa10ddi7apdczqxa5u688.png" alt="Alt Text"&gt;&lt;/a&gt; Show the working tree status. &lt;br&gt;
Here we see that git tells us that there are two files that it does not monitor.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;git add index.js OR git add .&lt;/strong&gt; (to add all files)&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%2F86ydig0fwczq1bntubvz.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%2F86ydig0fwczq1bntubvz.png" alt="Alt Text"&gt;&lt;/a&gt; To add a file(s) as it looks now to your next commit (stage). If you want to delete one of the files then you can do it with the following command.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git rm --cached filename&lt;/strong&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%2Fd68gygdtn60d6j5goj4i.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%2Fd68gygdtn60d6j5goj4i.png" alt="Alt Text"&gt;&lt;/a&gt; Thus git stops following the index.js file. But now I add this file again.&lt;/p&gt;

&lt;p&gt;If at this stage we will make changes to the file in VS Code, it can also be seen with the command &lt;strong&gt;git status&lt;/strong&gt;.&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%2Fqvx97rq5s5jtjo7v5enj.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%2Fqvx97rq5s5jtjo7v5enj.png" alt="Alt Text"&gt;&lt;/a&gt; We see that the index.html file has been modified, so we need to add it again using the &lt;strong&gt;git add index.html&lt;/strong&gt; command.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git commit -m ""&lt;/strong&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%2Fiey2r37sg8q6r3nma3b7.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%2Fiey2r37sg8q6r3nma3b7.png" alt="Alt Text"&gt;&lt;/a&gt; This command record changes to the repository. In quotes we write a comment to our commit.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;.gitignore&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If we have certain files in a folder that we do not want to commit, then in VS Code you can create a special &lt;strong&gt;.gitignore&lt;/strong&gt; file in which you can write the names of files or folders that we do not want to commit. It will look like this.&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%2Fgmz7slkh99ojwrl7j2a9.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%2Fgmz7slkh99ojwrl7j2a9.png" alt="Alt Text"&gt;&lt;/a&gt; The .gitignore file must be committed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git branch&lt;/strong&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%2Fvazrb5yple51i9016x3j.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%2Fvazrb5yple51i9016x3j.png" alt="Alt Text"&gt;&lt;/a&gt; We use this command to see which branch we are in now.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git branch branchname&lt;/strong&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%2Fib6lg0b9my2qaxajj1vv.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%2Fib6lg0b9my2qaxajj1vv.png" alt="Alt Text"&gt;&lt;/a&gt; With this command we can create an additional branch. It is needed when several people are working on the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git branch -D branchname&lt;/strong&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%2F5zjm7mm28pamv0ugqm9v.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%2F5zjm7mm28pamv0ugqm9v.png" alt="Alt Text"&gt;&lt;/a&gt; You can use this command to delete a branch.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git checkout branchname&lt;/strong&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%2F38jl5zxjki9u9wo2et1z.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%2F38jl5zxjki9u9wo2et1z.png" alt="Alt Text"&gt;&lt;/a&gt; With this command you can go to the branch.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git checkout -b new&lt;/strong&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%2Frg613qggrn0lduq8olq1.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%2Frg613qggrn0lduq8olq1.png" alt="Alt Text"&gt;&lt;/a&gt; With this command you can immediately create a new branch and go to it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;git merge branchname&lt;/strong&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%2F4zcgz380od9s9gt2vquo.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%2F4zcgz380od9s9gt2vquo.png" alt="Alt Text"&gt;&lt;/a&gt; This command is used to integrate changes from another branch.&lt;/p&gt;

&lt;p&gt;Next, we need to work with &lt;strong&gt;GitHub&lt;/strong&gt; (respectively, you need to be registered there).&lt;br&gt;
We create a new Repository, where we prescribe its name and choose public or private. &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%2F3mqjmco59a652zp8n7x9.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%2F3mqjmco59a652zp8n7x9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;git remote add origin https://... .git&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;git push -u origin branchname&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next, you need to run two more commands in the terminal, which are listed on GitHub. They can simply be copied to the terminal. &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%2Fieb7lk1rf971adahu7k1.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%2Fieb7lk1rf971adahu7k1.png" alt="Alt Text"&gt;&lt;/a&gt; The only thing you need to consider is the name of the branch in &lt;strong&gt;git push -u origin main&lt;/strong&gt;. In my case it will be &lt;strong&gt;git push -u origin master&lt;/strong&gt;.&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%2Fxuq2b1n538aoqje2p7z7.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%2Fxuq2b1n538aoqje2p7z7.png" alt="Alt Text"&gt;&lt;/a&gt; CONGRATULATIONS! Now the files on GitHub.&lt;br&gt;
Now you need to remember that when you make any changes to the files, you need to commit them.&lt;/p&gt;

&lt;p&gt;Once the file is committed, it can be seen on GitHub.&lt;br&gt;
You need to go to the file page and click on the "commits" button. &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%2Faq3wvrdtx4932td977d2.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%2Faq3wvrdtx4932td977d2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Next you need to click on the desired commit code. &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%2Fgdsw57qigzho8ih1t72x.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%2Fgdsw57qigzho8ih1t72x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here we see the changes made to the file. Red - what has changed. Green indicates changes. &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%2F0bvt9wml48105q9cozvl.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%2F0bvt9wml48105q9cozvl.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for your attention! Hope this is helpful.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>github</category>
      <category>git</category>
      <category>beginners</category>
    </item>
    <item>
      <title>JavaScript Classes</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Thu, 23 Sep 2021 10:45:56 +0000</pubDate>
      <link>https://dev.to/hannatylna/javascript-classes-135e</link>
      <guid>https://dev.to/hannatylna/javascript-classes-135e</guid>
      <description>&lt;p&gt;A bit about class in js.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Class Methods
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Animal {
  constructor(name, legs) { ... }
  speech() { ... }
  numberOfLegs() { ... }
}
const dog = new Animal();
const cat = new Animal();
const spider = new Animal();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The code above defines a class ClassName. The curly braces { } delimit the class body.&lt;br&gt;
The class becomes useful when you create an instance of the class (dog, cat, spider). An instance is an object containing data and behavior described by the class.&lt;/p&gt;

&lt;p&gt;ALWAYS add a method named &lt;strong&gt;constructor()&lt;/strong&gt;. It is executed automatically when a new object is created and is used to initialize object properties. &lt;br&gt;
&lt;em&gt;Animal&lt;/em&gt;’s &lt;em&gt;constructor&lt;/em&gt; has two parameters &lt;strong&gt;name&lt;/strong&gt; and &lt;strong&gt;legs&lt;/strong&gt;, which is used to set the initial value of the fields &lt;em&gt;this.name&lt;/em&gt;, &lt;em&gt;this.legs&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;new Animal()&lt;/strong&gt; creates instances of the Animal class.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    SO...

"CLASS is used to describe one or more objects. 
It serves as a template for creating, or 
instantiating, specific objects within a program. 
While each object is created from a single class, 
one class can be used to instantiate multiple 
objects."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>class</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>JavaScript</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Tue, 21 Sep 2021 22:01:09 +0000</pubDate>
      <link>https://dev.to/hannatylna/javascript-25ho</link>
      <guid>https://dev.to/hannatylna/javascript-25ho</guid>
      <description>&lt;p&gt;Well, that's the beginning. Here are some examples of using JavaScript.&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%2Fekytvr8wmg1x8a33kjkj.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%2Fekytvr8wmg1x8a33kjkj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;Returns the element that has the ID attribute with the specified value.&lt;br&gt;
This method is one of the most common methods in the HTML DOM, and is used almost every time you want to manipulate, or get info from, an element on your document.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.createElement()
.innerHTML
.innerText
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Creates an Element Node with the specified name.&lt;br&gt;
Both &lt;strong&gt;innerText&lt;/strong&gt; and &lt;strong&gt;innerHTML&lt;/strong&gt; return internal part of an HTML element.&lt;br&gt;
The only difference between &lt;strong&gt;innerText&lt;/strong&gt; and &lt;strong&gt;innerHTML&lt;/strong&gt; is that: &lt;strong&gt;innerText&lt;/strong&gt; &lt;em&gt;return HTML element (entire code) as a string&lt;/em&gt; and display HTML element on the screen (as HTML code), while &lt;strong&gt;innerHTML&lt;/strong&gt; &lt;em&gt;return only text content&lt;/em&gt; of the HTML element.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.querySelector()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;querySelector()&lt;/strong&gt; returns the first element that matches a specified CSS selector(s) in the document. &lt;strong&gt;querySelector()&lt;/strong&gt; only returns the first element that matches the specified selectors. To return all the matches, use &lt;strong&gt;querySelectorAll()&lt;/strong&gt; instead.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.addEventListener()
document.addEventListener("mouseover", myFunction);
document.addEventListener("click", someOtherFunction);
document.addEventListener("mouseout", someOtherFunction);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Attaches an event handler to the document.&lt;br&gt;
Use &lt;strong&gt;document.removeEventListener()&lt;/strong&gt; to remove an event handler that has been attached with &lt;strong&gt;document.addEventListener()&lt;/strong&gt;. Use &lt;strong&gt;element.addEventListener()&lt;/strong&gt; to attach an event handler to a specified element.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.appendChild()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Appends a node as the last child of a node. This method can be used to move an element from one element to another.&lt;/p&gt;

&lt;h3&gt;
  
  
  SCRIPT in the HEAD or in the BODY of HTML
&lt;/h3&gt;

&lt;p&gt;When JavaScript is placed at the bottom of HTML body, it gives the HTML time to load before any of the JavaScript loads, which can prevent errors, and speed up website response time.&lt;br&gt;
But putting JavaScript in the &lt;strong&gt;head&lt;/strong&gt; of HTML doesn’t ALWAYS cause errors.&lt;/p&gt;

</description>
      <category>method</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>html</category>
    </item>
    <item>
      <title>HTML tags (for beginner)</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Tue, 21 Sep 2021 10:03:25 +0000</pubDate>
      <link>https://dev.to/hannatylna/html-tags-for-beginner-2498</link>
      <guid>https://dev.to/hannatylna/html-tags-for-beginner-2498</guid>
      <description>&lt;p&gt;In this post, I will describe the HTML tags a bit to better remember them.&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%2Fknonnwro2rkvklviepde.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%2Fknonnwro2rkvklviepde.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;b&lt;/strong&gt; Defines bold text.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;strong&lt;/strong&gt; Defines important text.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;!--...--&amp;gt;&lt;/strong&gt; Defines a comment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;!DOCTYPE&amp;gt;&lt;/strong&gt; Defines the document type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;html.../html&lt;/strong&gt; Defines the root of an HTML document.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;head.../head&lt;/strong&gt; is a container for metadata. (data about data) and is placed between the &lt;em&gt;html&lt;/em&gt; tag and the &lt;em&gt;body&lt;/em&gt; tag.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;title.../title&lt;/strong&gt; (required in every HTML document)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;style.../style&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;base&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;link&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;meta&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define keywords for search engines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;meta&lt;/em&gt; &lt;em&gt;name&lt;/em&gt;="keywords" &lt;em&gt;content&lt;/em&gt;="HTML, CSS, JavaScript"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define a description of your web page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;meta&lt;/em&gt; &lt;em&gt;name&lt;/em&gt;="description" &lt;em&gt;content&lt;/em&gt;="Free Web tutorials for HTML and CSS"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define the author of a page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;meta&lt;/em&gt; &lt;em&gt;name&lt;/em&gt;="author" &lt;em&gt;content&lt;/em&gt;="John Doe"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refresh document every 30 seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;meta&lt;/em&gt; &lt;em&gt;http-equiv&lt;/em&gt;="refresh" &lt;em&gt;content&lt;/em&gt;="30"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting the viewport to make your website look good on all devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;meta&lt;/em&gt; &lt;em&gt;name&lt;/em&gt;="viewport" &lt;em&gt;content&lt;/em&gt;="width=device-width, initial-scale=1.0"&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;script.../script&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;noscript.../noscript&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;title.../title&lt;/strong&gt; defines the title of the document. The title must be text-only, and it is shown in the browser's title bar or in the page's tab.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;body.../body&lt;/strong&gt; Defines the document's body.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;h1-h6.../h1-/h6&lt;/strong&gt; Defines HTML headings.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;div.../div&lt;/strong&gt; Defines a section in a document.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;span.../span&lt;/strong&gt; Defines a section in a document. &lt;em&gt;Span&lt;/em&gt; is an inline container used to mark up a part of a text, or a part of a document.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;!!!&lt;/strong&gt;The &lt;em&gt;span&lt;/em&gt; tag is much like the &lt;em&gt;div&lt;/em&gt; element, but &lt;em&gt;div&lt;/em&gt; is a block-level element and &lt;em&gt;span&lt;/em&gt; is an inline element.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;img&lt;/strong&gt; is used to embed an image in an HTML page &lt;br&gt;
&lt;strong&gt;img&lt;/strong&gt; &lt;strong&gt;src&lt;/strong&gt;="img_girl.jpg" &lt;strong&gt;alt&lt;/strong&gt;="Girl in a jacket" &lt;strong&gt;width&lt;/strong&gt;="500" &lt;strong&gt;height&lt;/strong&gt;="600"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;src&lt;/em&gt; Specifies the path to the image.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;alt&lt;/em&gt; Specifies an alternate text for the image, if the image for some reason cannot be displayed.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;width/height&lt;/em&gt; Specifies the width/height of an image.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;br&lt;/strong&gt; Defines a single line break.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;hr&lt;/strong&gt; Defines a thematic change in the content.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;a&lt;/strong&gt; Defines a hyperlink.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;href&lt;/em&gt; specifies the URL of the page the link goes to;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;target&lt;/em&gt; (_blank/_parent/_self/_top) specifies where to open the linked document;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;form&lt;/strong&gt; is used to create an HTML form for user input.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;label&lt;/strong&gt; defines a label for several elements. &lt;strong&gt;Why to use:&lt;/strong&gt; 
&lt;strong&gt;1.&lt;/strong&gt;&lt;em&gt;Screen reader users (will read out loud the label, when the user is focused on the element).&lt;/em&gt;
&lt;strong&gt;2.&lt;/strong&gt;&lt;em&gt;Users who have difficulty clicking on very small regions (such as checkboxes) - because when a user clicks the text within the  element, it toggles the input (this increases the hit area).&lt;/em&gt; 

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;for&lt;/em&gt; Specifies the id of the form element the label should be bound to;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;form&lt;/em&gt; Specifies which form the label belongs to;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;input&lt;/strong&gt; specifies an input field where the user can enter data;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;type&lt;/em&gt;

&lt;ul&gt;
&lt;li&gt;"button"&lt;/li&gt;
&lt;li&gt;"checkbox"&lt;/li&gt;
&lt;li&gt;"color"&lt;/li&gt;
&lt;li&gt;"date"&lt;/li&gt;
&lt;li&gt;"datetime-local"&lt;/li&gt;
&lt;li&gt;"email"&lt;/li&gt;
&lt;li&gt;"file"&lt;/li&gt;
&lt;li&gt;"hidden"&lt;/li&gt;
&lt;li&gt;"image"&lt;/li&gt;
&lt;li&gt;"month"&lt;/li&gt;
&lt;li&gt;"number"&lt;/li&gt;
&lt;li&gt;"password"&lt;/li&gt;
&lt;li&gt;"radio"&lt;/li&gt;
&lt;li&gt;"range"&lt;/li&gt;
&lt;li&gt;"reset"&lt;/li&gt;
&lt;li&gt;"search"&lt;/li&gt;
&lt;li&gt;"submit"&lt;/li&gt;
&lt;li&gt;"tel"&lt;/li&gt;
&lt;li&gt;"text" (default value)&lt;/li&gt;
&lt;li&gt;"time"&lt;/li&gt;
&lt;li&gt;"url"&lt;/li&gt;
&lt;li&gt;"week"&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;select&lt;/strong&gt; is used to create a drop-down list

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;name&lt;/em&gt; is needed to reference the form data after the form is submitted;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;id&lt;/em&gt; is needed to associate the drop-down list with a label;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;multiple&lt;/em&gt; Specifies that multiple options can be selected at once;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;required&lt;/em&gt; Specifies that the user is required to select a value before submitting the form;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;option&lt;/strong&gt; defines an option in a select list;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;value&lt;/em&gt; Specifies the value to be sent to a server;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;selected&lt;/em&gt; Specifies that an option should be pre-selected when the page loads;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;textarea&lt;/strong&gt; defines a multi-line text input control;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;rows/cols&lt;/em&gt; is specified the size of a text area;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;name&lt;/em&gt; is needed to reference the form data after the form is submitted;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;id&lt;/em&gt; is needed to associate the text area with a label;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;placeholder&lt;/em&gt; Specifies a short hint that describes the expected value of a text area;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;button&lt;/strong&gt; defines a clickable button.

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;type&lt;/em&gt; to tell browsers what type of button it is;

&lt;ul&gt;
&lt;li&gt;"button"&lt;/li&gt;
&lt;li&gt;"reset"&lt;/li&gt;
&lt;li&gt;"submit"&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>html</category>
      <category>tags</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Function, loops js (Lesson 3 with Hassan) </title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Fri, 17 Sep 2021 11:22:44 +0000</pubDate>
      <link>https://dev.to/hannatylna/functions-loops-js-lesson-3-with-hassan-49nb</link>
      <guid>https://dev.to/hannatylna/functions-loops-js-lesson-3-with-hassan-49nb</guid>
      <description>&lt;h3&gt;
  
  
  &lt;em&gt;FUNCTION&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;A JS function is a block of code designed to perform a particular task and is executed when "something" invokes it (calls it).&lt;br&gt;
We can submit 0, 1, or more parameters to a function.&lt;/p&gt;

&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function functionName(parameter1, parameter2, parameter3) {
  // code to be executed
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  &lt;em&gt;FUNCTION &amp;amp; RETURN STATEMENT&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;The return value is "returned" back to the "caller".&lt;/p&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function myFunction(a, b) {
  return a + b;
}
console.log(myFunction(5, 6))// Function returns 11
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  &lt;em&gt;LOOPS&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Loops are used in JS to perform repeated tasks based on a condition. Conditions typically return &lt;em&gt;true&lt;/em&gt; or &lt;em&gt;false&lt;/em&gt; when analysed. A loop will continue running until the defined condition returns &lt;em&gt;false&lt;/em&gt;.&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;FOR LOOP&lt;/em&gt;
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for ([begin]; [condition]; [step]) {
   // statement
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (let i = 0; i &amp;lt; 10; i++) {
    console.log(i)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;em&gt;WHILE LOOP&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;The while loop starts by evaluating the condition. If the condition is &lt;em&gt;true&lt;/em&gt;, the statement(s) is/are executed. If the condition is &lt;em&gt;false&lt;/em&gt;, the statement(s) is/are not executed. After that, while loop ends.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;while (condition)
{
  statement(s);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  ex.
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let i = 0;
while (i &amp;lt; 10) 
{
  console.log(i);
   i++;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>function</category>
      <category>javascript</category>
      <category>loops</category>
    </item>
    <item>
      <title>Blocks, if-statements, switch (Lesson 2 with Hassan)</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Thu, 16 Sep 2021 13:44:14 +0000</pubDate>
      <link>https://dev.to/hannatylna/lesson-2-with-hassan-7aa</link>
      <guid>https://dev.to/hannatylna/lesson-2-with-hassan-7aa</guid>
      <description>&lt;h3&gt;
  
  
  &lt;em&gt;GOOD&lt;/em&gt; &lt;em&gt;TO&lt;/em&gt; &lt;em&gt;REMEMBER&lt;/em&gt;&lt;em&gt;!&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;{}&lt;/strong&gt; curly brackets&lt;br&gt;
&lt;strong&gt;[]&lt;/strong&gt; square brackets&lt;br&gt;
&lt;strong&gt;()&lt;/strong&gt; parentesis / brackets&lt;br&gt;
&lt;strong&gt;:&lt;/strong&gt; colon&lt;br&gt;
&lt;strong&gt;;&lt;/strong&gt; semicolon&lt;br&gt;
&lt;strong&gt;"&lt;/strong&gt; quotes / double quotes&lt;br&gt;
&lt;strong&gt;'&lt;/strong&gt; quotes / single quotes&lt;br&gt;
&lt;strong&gt;`&lt;/strong&gt; back ticks&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;BLOCK&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;We use it to group expressions with each other&lt;br&gt;
Curly brackets (&lt;em&gt;{}&lt;/em&gt;) are used for the block.&lt;br&gt;
It is used with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;if&lt;/li&gt;
&lt;li&gt;while&lt;/li&gt;
&lt;li&gt;for&lt;/li&gt;
&lt;li&gt;functions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;IF-STATEMENTS&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;-&lt;strong&gt;if&lt;/strong&gt; to specify a block of code to be executed, if a specified condition is true;&lt;br&gt;
-&lt;strong&gt;else&lt;/strong&gt; &lt;strong&gt;if&lt;/strong&gt; to specify a new condition to test, if the first condition is false&lt;br&gt;
-&lt;strong&gt;else&lt;/strong&gt; to specify a block of code to be executed, if the same condition is false;&lt;/p&gt;

&lt;h4&gt;
  
  
  Example 1:
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (condition1) {&lt;br&gt;
  //  block of code to be executed if condition1 is true&lt;br&gt;
} else if (condition2) {&lt;br&gt;
  //  block of code to be executed if the condition1 is false and condition2 is true&lt;br&gt;
} else {&lt;br&gt;
//  block of code to be executed if the condition1 is false and condition2 is false&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Example 2:&lt;br&gt;
&lt;/h4&gt;
&lt;br&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const condition = true

&lt;p&gt;if(condition) {&lt;br&gt;
    console.log("sant")&lt;br&gt;
} else {&lt;br&gt;
    console.log("falskt")&lt;br&gt;
} &lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  or&lt;br&gt;
&lt;/h5&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Conditional (Ternary) Operator&lt;/em&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const condition = true&lt;br&gt;
condition  ? console.log("sant") : console.log("falskt")&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  &lt;em&gt;Switch statement&lt;/em&gt;&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;To select one of many code blocks to be executed.&lt;/p&gt;

&lt;p&gt;How it works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The switch expression is evaluated once.&lt;/li&gt;
&lt;li&gt;The value of the expression is compared with the values of each case.&lt;/li&gt;
&lt;li&gt;If there is a match, the associated block of code is executed.&lt;/li&gt;
&lt;li&gt;If there is no match, the default code block is executed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Example 3:
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;switch(expression) {&lt;br&gt;
    case x:&lt;br&gt;
      // code block&lt;br&gt;
      break;&lt;br&gt;
    case y:&lt;br&gt;
      // code block&lt;br&gt;
      break;&lt;br&gt;
    default:&lt;br&gt;
      // code block&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  &lt;em&gt;Math.ceil()&lt;/em&gt; &lt;em&gt;vs&lt;/em&gt; &lt;em&gt;Math.round()&lt;/em&gt;&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;The Math.ceil() function always &lt;strong&gt;rounds&lt;/strong&gt; a number &lt;strong&gt;up&lt;/strong&gt; to the next largest integer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Math.ceil(null) returns integer 0 and does not give a NaN error&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The round() method &lt;strong&gt;rounds&lt;/strong&gt; a number &lt;strong&gt;to the nearest integer&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>blocks</category>
      <category>conditionals</category>
      <category>switch</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Terminal commands</title>
      <dc:creator>Hanna</dc:creator>
      <pubDate>Thu, 16 Sep 2021 08:50:57 +0000</pubDate>
      <link>https://dev.to/hannatylna/terminal-commands-2fll</link>
      <guid>https://dev.to/hannatylna/terminal-commands-2fll</guid>
      <description>&lt;p&gt;I started learning js and learned to use the terminal. Commands that are useful to remember and use for beginners.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;pwd&lt;/strong&gt; &lt;em&gt;Print&lt;/em&gt; &lt;em&gt;Working&lt;/em&gt; &lt;em&gt;Directory&lt;/em&gt; (pwd). You type in that command, and it will spit out the exact file path for the file or folder you are in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ls&lt;/strong&gt; To see what is in that folder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cd&lt;/strong&gt; &lt;em&gt;Change&lt;/em&gt; &lt;em&gt;Directory&lt;/em&gt;. Change which folder you are in.&lt;br&gt;
(&lt;strong&gt;cd&lt;/strong&gt; &lt;strong&gt;&amp;lt;folder&lt;/strong&gt; &lt;strong&gt;name&amp;gt;&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mkdir&lt;/strong&gt; &lt;em&gt;Make&lt;/em&gt; &lt;em&gt;Directory&lt;/em&gt;. To make a new folder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;rm&lt;/strong&gt;/&lt;strong&gt;rmdir&lt;/strong&gt; To remove a directory. (&lt;strong&gt;rmdir&lt;/strong&gt; &lt;strong&gt;&amp;lt;folder&lt;/strong&gt; &lt;strong&gt;name&amp;gt;&lt;/strong&gt;) The folder must be empty for this to work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cd ..&lt;/strong&gt; Moves us back one level to the parent folder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cd ../..&lt;/strong&gt; Moves us back two levels. Add more /.. for each level you want to navigate up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;code .&lt;/strong&gt; To open Visual Studio Code from terminal&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;clear&lt;/strong&gt; it "clears" terminal out.&lt;/p&gt;

</description>
      <category>mac</category>
      <category>iterm</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
