<?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: David Kyalo</title>
    <description>The latest articles on DEV Community by David Kyalo (@davidmutinda).</description>
    <link>https://dev.to/davidmutinda</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%2F810851%2Fb63530e0-4e86-419f-9fee-dcc3e5dea190.jpeg</url>
      <title>DEV Community: David Kyalo</title>
      <link>https://dev.to/davidmutinda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davidmutinda"/>
    <language>en</language>
    <item>
      <title>Modern JavaScript for everyone: Mastering Modern JavaScript The Right Way</title>
      <dc:creator>David Kyalo</dc:creator>
      <pubDate>Fri, 04 Mar 2022 22:56:08 +0000</pubDate>
      <link>https://dev.to/davidmutinda/modern-javascript-for-everyone-mastering-modern-javascript-the-right-way-57b2</link>
      <guid>https://dev.to/davidmutinda/modern-javascript-for-everyone-mastering-modern-javascript-the-right-way-57b2</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;JavaScript was initially created to make web pages interactive(alive).The programs in this language are called scripts. They can be written right in a web page’s HTML and run automatically as the page loads.&lt;/p&gt;

&lt;p&gt;Scripts are provided and executed as plain text. They don’t need special preparation or compilation to run. Today, JavaScript can execute not only in the browser, but also on the server, or actually on any device that has a special program called the JavaScript engine. The browser has an embedded engine sometimes called a “JavaScript virtual machine”.&lt;br&gt;
Different engines have different “codenames”. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V8 – in Chrome, Opera and Edge.&lt;/li&gt;
&lt;li&gt;SpiderMonkey – in Firefox.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this article, I will be discussing pure JavaScript (vanilla) and some of the popular frameworks. In case you're just getting started with JavaScript, here are some of my previous articles that may be useful:&lt;br&gt;
 &lt;a href="https://dev.to/davidmutinda/javascript-101-ultimate-javascript-guide-1n0d"&gt;JavaScript 101: Ultimate JavaScript Guide&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://dev.to/davidmutinda/introduction-to-data-structures-and-algorithms-with-modern-javascript-2mhh"&gt;Introduction to Data Structures and Algorithms With Modern JavaScript&lt;/a&gt;&lt;/p&gt;

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

&lt;h1&gt;
  
  
  ECMAScript
&lt;/h1&gt;

&lt;p&gt;This is a general-purpose programming language that is implemented in Javascript and some other languages. It is the scripting language that formed the basis of browser-based Javascript and Node.js. ECMA is an acronym for European Computer Manufacturer’s Association, which develops standards for information technology and consumer electronics. Languages such as ECMAScript, Dart-lang, and C# were standardized by ECMA.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vanilla
&lt;/h2&gt;

&lt;p&gt;The term vanilla script is used to refer to the pure JavaScript (or we can say plain JavaScript) without any type of additional library. It's imperative for any developer to begin with vanilla JavaScript before moving on to other frameworks.&lt;/p&gt;

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

&lt;p&gt;The vanilla script is one of the lightest weight frameworks ever. It is very basic and straightforward to learn as well as to use. You can create significant and influential applications as well as websites using the vanilla script. The team of developers that created the vanilla JavaScript is continuously working on it to improve it and make it more useful for the web-developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  React
&lt;/h2&gt;

&lt;p&gt;React is a fast, scalable, and reusable framework for building interactive user interfaces (UIs). React supports incremental use and uses the virtual DOM model for expedited updates of web page content. Naturally, it mainly supports the View piece of the Model-View-Controller (MVC) paradigm.&lt;/p&gt;

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

&lt;p&gt;React is capable of supporting enterprise applications with ease. React introduced the idea of components, which are self-contained modules of code that are packaged for reuse. Components save developers time by writing code once and then using it across the application. Then, you only need to change the code in one location for updates.&lt;/p&gt;

&lt;p&gt;React can be extended to servers to support server-side rendering versus rendering in the browser. The framework also supports JSX, which provides shorter and simpler syntaxes for common tasks versus normal JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Node.js
&lt;/h2&gt;

&lt;p&gt;Node.js is an open-source, runtime environment built to execute JavaScript outside of a browser, which distinguishes it from the front-end focused frameworks in the following sections. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HdtgS5z6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jet6v6ugtu1v6lyxsfvj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HdtgS5z6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jet6v6ugtu1v6lyxsfvj.jpg" alt="Image description" width="286" height="172"&gt;&lt;/a&gt;&lt;br&gt;
The framework is designed to build network applications at scale. To support this goal, Node is optimized for efficient handling of resources and integrates well with other frameworks and libraries.&lt;br&gt;
Built on Google Chrome's JavaScript Engine, Node leverages asynchronous loading from its APIs for faster responses. Another feature is the framework's ability to proxy some types of servers for more efficient testing.&lt;/p&gt;

&lt;p&gt;A final benefit of Node is the Node Package Manager (NPM), a directory of over one million JavaScript libraries. These packages include server frameworks like Express, testing suites like Jest, Object-Document Mapping (ODM) solutions for SQL databases like Sequelize, and Object-Relational Mapping (ORM) solutions for NoSQL databases like Mongoose. NPM libraries can structure your entire web application, allowing your team to work in JavaScript across the full stack.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---fmPElNS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1apckjwl4oxza27sh6b7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---fmPElNS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1apckjwl4oxza27sh6b7.jpg" alt="Image description" width="641" height="363"&gt;&lt;/a&gt;&lt;br&gt;
It's important to note that being a developer isn't about knowing syntax; you should be able to solve real world problems. This can be achieved by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remaining consistent&lt;/li&gt;
&lt;li&gt;Doing projects&lt;/li&gt;
&lt;li&gt;Enrolling in bootcamps&lt;/li&gt;
&lt;li&gt;Doing research&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Introduction to Data Structures and Algorithms With Modern JavaScript</title>
      <dc:creator>David Kyalo</dc:creator>
      <pubDate>Mon, 21 Feb 2022 20:10:28 +0000</pubDate>
      <link>https://dev.to/davidmutinda/introduction-to-data-structures-and-algorithms-with-modern-javascript-2mhh</link>
      <guid>https://dev.to/davidmutinda/introduction-to-data-structures-and-algorithms-with-modern-javascript-2mhh</guid>
      <description>&lt;h2&gt;
  
  
  Data Structures
&lt;/h2&gt;

&lt;p&gt;Data structures allow you to manage data. JavaScript has primitive and non-primitive data structures. Primitive data structures and data types are native to the programming language. These include boolean, null, number, string, etc.&lt;br&gt;
Non-primitive data structures are not defined by the programming language but rather by the programmer. These include linear data structures, static data structures, and dynamic data structures, like queue and linked lists.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Array
&lt;/h3&gt;

&lt;p&gt;An array is a single variable that keeps numerous elements. In JavaScript, an array may hold different items such as Boolean, strings, and numbers, all of which can be stored in a single array.&lt;br&gt;
Arrays can be &lt;strong&gt;declared&lt;/strong&gt; in two ways. This is shown in the examples below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = newArray('JavaScript','is','fun')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Because arrays are indexed from 0, a number in square brackets is used to &lt;strong&gt;access&lt;/strong&gt; elements in an array. This is shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']
console.log(array[0]) //JavaScript
console.log(array[1]) //is
console.log(array[2]) //fun
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The number of elements in an array is returned using the length property of arrays. An array's &lt;strong&gt;length&lt;/strong&gt; attribute can be returned as shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']
console.log(array.length) //3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We may &lt;strong&gt;assign&lt;/strong&gt; a value to the next index to add a new value to our array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']
array[3]='always'
console.log(array)

//The output is: ['JavaScript','is','fun','always']
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We utilize the splice() function to remove or &lt;strong&gt;delete&lt;/strong&gt; a specific item from an array. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']
array.splice(1,1)
console.log(array) //['JavaScript','fun']

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

&lt;/div&gt;



&lt;p&gt;To &lt;strong&gt;loop&lt;/strong&gt; through an array, we may use the for keyword to loop through the full array, taking use of the length parameter. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ['JavaScript','is','fun']

for(a=0;i&amp;lt;array.length;a++){
   console.log(a,array[a]
}


/* The output is:
0 'JavaScript'
1 'is'
2 'fun'
*/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Queue
&lt;/h3&gt;

&lt;p&gt;A queue is also a data structure but you can remove only the first added element. This principal is called FIFO (first in first out). The following is the constructor of the queue:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function Queue(){
  this.elements=[]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Queue() constructor function uses an array to store its elements. The enqueue() method adds an element at the end of the queue. We use the push() method of the array object to insert the new element at the end of the queue.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Queue.prototype.enqueue = function (e) {
   this.elements.push(e);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The dequeue() method removes an element from the front of the queue. In the dequeue() method, we use the shift() method of the array to remove an element at the front of the queue.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Queue.prototype.dequeue = function () {
    return this.elements.shift();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Stack
&lt;/h3&gt;

&lt;p&gt;A stack is an ordered list which follows LIFO (last in first out) algorithm. You can access the elements of a stack from only a single end. The push() method allows you to add one or more elements to the end of the array. The push() method returns the value of the length property that specifies the number of elements in the array. This is shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let stack = [];

stack.push(1);
console.log(stack); // [1]

stack.push(2);
console.log(stack); // [1,2]

stack.push(3);
console.log(stack); // [1,2,3]

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

&lt;/div&gt;



&lt;p&gt;The pop() method removes the element at the end of the array and returns the element to the caller. If the array is empty, the pop() method returns undefined. This is shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(stack.pop()); //  3
console.log(stack); // [1,2];

console.log(stack.pop()); //  2
console.log(stack); // [1];

console.log(stack.pop()); //  1
console.log(stack); // []; // empty

console.log(stack.pop()); //  undefined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Linked list
&lt;/h3&gt;

&lt;p&gt;A linked list is a linear data structure similar to an array. However, unlike arrays, elements are not stored in a particular memory location or index. Rather each element is a separate object that contains a pointer or a link to the next object in that list. Each element (commonly called nodes) contains two items: the data stored and a link to the next node. The data can be any valid data type. The code below shows the implementation of a linked list class with a constructor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class LinkedList {
    constructor(head = null) {
        this.head = head
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Algorithms
&lt;/h2&gt;

&lt;p&gt;An algorithm is a sequence of steps to solve a well-defined problem. A set of rules that precisely define a sequence of operations. We have different types of algorithms as stated below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recursion
This is a programming technique using function or algorithm that calls itself one or more times until a specified condition is met at which time the rest of each repetition is processed from the last one called to the first. Recursion involves solving problems by breaking things down into simpler/smaller versions of themselves&lt;/li&gt;
&lt;li&gt;Binary Search
This is a divide and conquer algorithm, that divides the array in half every time it checks whether an element of the array is the one, we're looking for.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tail recursion&lt;br&gt;
This is when, instead of doing an invocation of the recursive function as the return statement, it does a jump and reuses the same context of the prior recursive called.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Big O notation&lt;br&gt;
This is a way of representing the general growth in the computational hardness of a task as you increase the data set. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Imperative code&lt;br&gt;
This is when you tell your program every single step to achieve a specific outcome as per your expected output.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>luxacademy</category>
      <category>webdev</category>
    </item>
    <item>
      <title>JavaScript 101: Ultimate JavaScript Guide</title>
      <dc:creator>David Kyalo</dc:creator>
      <pubDate>Sun, 13 Feb 2022 14:02:31 +0000</pubDate>
      <link>https://dev.to/davidmutinda/javascript-101-ultimate-javascript-guide-1n0d</link>
      <guid>https://dev.to/davidmutinda/javascript-101-ultimate-javascript-guide-1n0d</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;JavaScript is one of the most popular programming languages on the planet. It can both be used as a client-side or server-side language. On the client-side, it is used with HTML(Hypertext Markup Language) and CSS(Cascading Style Sheets) to enhance a web page’s functionality such as: validating forms, creating interactive maps, and displaying animated charts. JavaScript can also be run on servers; a popular server side environment is Node.js. Here, it's used to access databases and file systems.&lt;/p&gt;

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

&lt;p&gt;Because of its wide range of applications, you can run JavaScript in several ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using console tab of web browsers&lt;/li&gt;
&lt;li&gt;Using &lt;a href="https://nodejs.org/en/download/" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Using code editors e.g. &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;By creating web pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the popular web browsers have built-in JavaScript engines hence you can run JavaScript on a browser. In this JavaScript guide we'll be using the &lt;a href="https://www.google.com/chrome/?brand=BNSD&amp;amp;gclid=CjwKCAiA9aKQBhBREiwAyGP5lfxrytDR24JQsIDmsCI39aV_o2_Qy8fj9QurSeA6b_Dppon_-Yn3lxoCnugQAvD_BwE&amp;amp;gclsrc=aw.ds" rel="noopener noreferrer"&gt;google chrome&lt;/a&gt; console tab to run our first JavaScript program. &lt;/p&gt;

&lt;p&gt;Exciting, innit?&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%2Fpvgx9ccr2ho0duw6zast.gif" 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%2Fpvgx9ccr2ho0duw6zast.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first step is to open google chrome, followed by opening the console tab by pressing &lt;code&gt;Ctrl+Shift+i&lt;/code&gt; if you're on windows. You can use the console tab to run any JavaScript program.&lt;/p&gt;

&lt;p&gt;In JavaScript, users can declare a variable using 3 keywords: var, let and const. &lt;strong&gt;var&lt;/strong&gt; is global scoped, &lt;strong&gt;let&lt;/strong&gt; is block scoped while &lt;strong&gt;const&lt;/strong&gt; is also block scoped but can't be updated once it's declared.&lt;/p&gt;

&lt;p&gt;Our first JavaScript program will simply be outputting a message on the console. Let's first declare a string variable x as shown below.&lt;br&gt;
&lt;code&gt;var x = "Hello world!";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The next step is to output the string on the console using the command below.&lt;br&gt;
&lt;code&gt;console.log(x);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The output of this program is shown below.&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%2F852rofxhwid7vcadd9e0.jpg" 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%2F852rofxhwid7vcadd9e0.jpg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That wasn't hard, was it?&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%2F2ya8n0x689l0yn7qa20o.gif" 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%2F2ya8n0x689l0yn7qa20o.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Next?
&lt;/h2&gt;

&lt;p&gt;If you wish to continue learning JavaScript in depth, here are some &lt;strong&gt;free&lt;/strong&gt; resources that may be helpful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freecodecamp.org/news/learn-javascript-full-course/" rel="noopener noreferrer"&gt;Free code camp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=iWOYAxlnaww&amp;amp;list=PL4cUxeGkcC9haFPT7J25Q9GRB_ZkFrQAc&amp;amp;ab_channel=TheNetNinja" rel="noopener noreferrer"&gt;The Net Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=hdI2bqOjy3c&amp;amp;t=12s&amp;amp;ab_channel=TraversyMedia" rel="noopener noreferrer"&gt;Traversy Media&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope you found this article useful and I'd like to urge you to do as many projects as possible in order to improve your skills. Bonne chance!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>luxacademy</category>
    </item>
  </channel>
</rss>
