<?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>Forem: Jordan Davis</title>
    <description>The latest articles on Forem by Jordan Davis (@itsbrotherdan).</description>
    <link>https://forem.com/itsbrotherdan</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%2F1001103%2F435f4028-83bd-4e5e-b848-5c2066be698c.jpeg</url>
      <title>Forem: Jordan Davis</title>
      <link>https://forem.com/itsbrotherdan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/itsbrotherdan"/>
    <language>en</language>
    <item>
      <title>Building Seamless Communication Experiences with Twilio: A Developer's Guide</title>
      <dc:creator>Jordan Davis</dc:creator>
      <pubDate>Mon, 10 Apr 2023 12:15:05 +0000</pubDate>
      <link>https://forem.com/itsbrotherdan/building-seamless-communication-experiences-with-twilio-a-developers-guide-4eha</link>
      <guid>https://forem.com/itsbrotherdan/building-seamless-communication-experiences-with-twilio-a-developers-guide-4eha</guid>
      <description>&lt;h2&gt;
  
  
  What Is Twilio?
&lt;/h2&gt;

&lt;p&gt;Twilio is a cloud communications platform that allows developers to integrate communication functionality into their software applications. It provides APIs for voice, messaging, and video, allowing developers to add features such as SMS notifications, call tracking, and in-app messaging to their applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;One of the key features of Twilio is its flexibility. It can be used for a wide range of use cases, from customer support to marketing automation to IoT device control. Developers can use Twilio to build custom communication workflows that fit their specific business needs.&lt;/p&gt;

&lt;p&gt;The Twilio API provides a wide range of functionality, including the ability to send and receive SMS messages, phone calls, video messages. It also includes features such as call tracking, call recording, and conferencing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Twilio Can Be Used
&lt;/h2&gt;

&lt;p&gt;Twilio can be used in a variety of ways, depending on the needs of the developer. For example, a developer might use Twilio to send SMS notifications to users when a new message is posted in a chat application. Another developer might use Twilio to enable in-app calling for a customer support application.&lt;/p&gt;

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

&lt;p&gt;If you're interested in getting started with Twilio, it is a pretty simple process! Twilio makes it easy to navigate through the APIs console. When you register with Twilio, you instantly get a free trial credit to test out the APIs. Twilio also works with a variety of programming languages, including Python, Java, Ruby, and Node.js. Assuming your development environment is set up, you can then go through the Twilio docs and search by your specified programming language, and easily find generalized boilerplate to help you get started. Twilio offers a game-based learning platform, TwilioQuest, which teaches developers how to use Twilio through quests and challenges. TwilioQuest is a transitioning to open source as of now, but when it is available, it is definitely worth giving it a try!&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is Using Twilio?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fRZfvnIJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j24sa1w1xedm0t8a9twe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fRZfvnIJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j24sa1w1xedm0t8a9twe.png" alt="Airbnb,Uber,Lyft" width="800" height="267"&gt;&lt;/a&gt;&lt;br&gt;
Twilio is used by a number of companies across a wide range of industries. Some well-known companies that use Twilio include Uber, Airbnb, and Lyft. These companies use Twilio to power their communication workflows, enabling them to provide a seamless and integrated user experience for their customers.&lt;/p&gt;

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

&lt;p&gt;In conclusion, the Twilio API provides developers with a powerful tool for adding communication functionality to their applications. Its flexibility and variety of features make it a popular choice for companies across a wide range of industries. Whether you are building a chat application, a customer support platform, or an IoT device, Twilio provides the tools you need to create a seamless communication experience for your users.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Vercel: The Cloud Platform for Modern Web Development</title>
      <dc:creator>Jordan Davis</dc:creator>
      <pubDate>Mon, 06 Mar 2023 01:58:01 +0000</pubDate>
      <link>https://forem.com/itsbrotherdan/vercel-the-cloud-platform-for-modern-web-development-4lmm</link>
      <guid>https://forem.com/itsbrotherdan/vercel-the-cloud-platform-for-modern-web-development-4lmm</guid>
      <description>&lt;p&gt;If you're interested in a cloud platform that's designed for modern web development, then Vercel is a great choice! Vercel is a cloud platform that allows developers to build and deploy their applications with ease.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Vercel?
&lt;/h2&gt;

&lt;p&gt;Vercel is a cloud platform that provides many amazing features. It provides a powerful set of tools to help developers build and deploy their applications, including a serverless function platform, a global CDN, automatic SSL, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Choose Vercel?
&lt;/h2&gt;

&lt;p&gt;One of the biggest advantages of Vercel is its ease of use. Developers can easily set up and deploy their applications with just a few clicks, thanks to its intuitive user interface. Vercel also offers a wide range of features that make it an ideal choice for modern web development, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Severless Functions:&lt;/strong&gt;&lt;/em&gt; Vercel's serverless function platform allows developers to run their code without the need for a server. This means that developers can focus on building their applications without worrying about managing servers or infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Global CDN:&lt;/strong&gt;&lt;/em&gt; Vercel's global CDN ensures that applications are delivered quickly and reliably, no matter where the user is located. This is especially important for applications with a global user base.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Automatic SSL:&lt;/strong&gt;&lt;/em&gt; Vercel automatically provides SSL certificates for all applications, ensuring that they are secure and protected against potential security threats.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Integrations:&lt;/strong&gt;&lt;/em&gt; Vercel integrates with a wide range of tools and services, including GitHub, GitLab, and Bitbucket, making it easy to integrate Vercel into your existing development workflow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Through and through Vercel is an excellent cloud platform for modern web development. Its ease of use, powerful features, and integrations make it an ideal choice for developers who want to focus on building applications without having to worry about managing infrastructure. If you're looking for a cloud platform that's designed for modern web development, then Vercel is definitely worth a look!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Mocha &amp; Chai?</title>
      <dc:creator>Jordan Davis</dc:creator>
      <pubDate>Mon, 27 Feb 2023 04:13:20 +0000</pubDate>
      <link>https://forem.com/itsbrotherdan/what-is-mocha-chai-2kpn</link>
      <guid>https://forem.com/itsbrotherdan/what-is-mocha-chai-2kpn</guid>
      <description>&lt;p&gt;When it comes to testing in JavaScript, two tools that are often used together are Mocha and Chai.&lt;br&gt;
Mocha is a testing framework, while Chai is an assertion library.&lt;br&gt;
They work excellently together to help do tons of different software development cycles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mocha&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Mocha is a rich JavaScript testing framework that makes asynchronous testing simple.&lt;br&gt;
It runs on Node.js and in the browser and allows you to write tests in various styles, whether BDD, TDD, or Unit-style.&lt;br&gt;
Mocha has a robust API for running tests, hooking into test execution, and generating reports.&lt;br&gt;
Mocha makes it easy to write tests that are easy to read and maintain and integrates well with other testing tools and libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Chai&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Chai is an assertion library that provides a clean, readable syntax for writing assertions in JavaScript.&lt;br&gt;
It is commonly paired with Mocha but can be used with any testing framework.&lt;br&gt;
Chai provides a variety of assertion styles, including should, expect, and assert, so you have plenty of choices.&lt;br&gt;
Chai's API is designed to be easy to use, and it provides a range of built-in assertions for testing lots of JavaScript datatypes and structures.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;What it's like using Mocha &amp;amp; Chai together&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
When Mocha and Chai are used together, they give you many options for testing JavaScript applications.&lt;br&gt;
Mocha gives the structure and control flow for running tests, while Chai provides the assertions necessary for testing the application's behavior.&lt;br&gt;
You must install both libraries using npm and then require them in your testing code to use them together.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Setup and Testing&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;First, we'd set up a new directory inside our terminal. We can run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir blog, then cd blog
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To initialize a new Node.js project, you can run the following command in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To install Mocha and Chai as development dependencies, you can run the following command in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install Mocha Chai --save-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we create a new directory at the root of the project. This one will contain our function code to test:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir src
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We will create a function to test :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function myFunction(str) {
  return str.length === 4;
}

Here we export myFunction
module.exports = myFunction;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We still need a test directory to hold our test file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir test 
touch testMyFunction.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside testMyFunction, we write our test code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const assert = require('chai').assert;
const myFunction = require('../src/myFunction');

describe('myFunction', function() {
  it('should return true if the input string has length 4', function() {
    const result = myFunction('abcd');
    assert.isTrue(result);
  });

  it('should return false if the input string has length other than 4', function() {
    const result = myFunction('abc');
    assert.isFalse(result);
  });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if this is working, we then need to go to update the "test" script inside our package.json file to run Mocha:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
    "test": "mocha test/testMyFunction.js"
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now with that, we can run this command in our to check 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;npm test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We should get an output like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fb2x715lbwvh05hfngwhu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fb2x715lbwvh05hfngwhu.png" alt="Test Passing" width="800" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Now we're done! We used some terminal shortcuts, created a couple of folders and files, installed the dynamic duo Mocha &amp;amp; Chai, and made a passing test!&lt;br&gt;
If you're new to testing in JavaScript, Mocha and Chai are great places to start. They're easy to learn and use, and it's an excellent start to building more complex testing suits!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
 &lt;a href="https://mochajs.org" rel="noopener noreferrer"&gt;https://mochajs.org&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://www.chaijs.com" rel="noopener noreferrer"&gt;https://www.chaijs.com&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://www.browserstack.com/guide/unit-testing-for-nodejs-" rel="noopener noreferrer"&gt;https://www.browserstack.com/guide/unit-testing-for-nodejs-&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gameshows</category>
    </item>
    <item>
      <title>Keyboard Shortcuts to Make Your Developer Life Easier!</title>
      <dc:creator>Jordan Davis</dc:creator>
      <pubDate>Mon, 13 Feb 2023 02:52:59 +0000</pubDate>
      <link>https://forem.com/itsbrotherdan/keyboard-shortcuts-to-make-your-developer-life-easier-1059</link>
      <guid>https://forem.com/itsbrotherdan/keyboard-shortcuts-to-make-your-developer-life-easier-1059</guid>
      <description>&lt;p&gt;Keyboard shortcuts are essential for efficiency in your day-to-day developer lifestyle! There are so many shortcuts that you might be thinking, "Man, there are too many to learn. How will I ever remember them all?!" You might also be wondering, "Why should I learn these things? Are they really that important?"&lt;/p&gt;

&lt;p&gt;Yes - they are! Whether you're a software developer or a fry cook, it's important to be an efficient &amp;amp; proper worker. This is the difference between knowledge and wisdom - not only learning to do what you do, but also learning how to do it efficiently. Trust me, the more you code, the more useful (and easier) these shortcuts will be.&lt;/p&gt;

&lt;p&gt;In this blog, I'll supply you both Mac &amp;amp; Windows versions of shortcuts so that whatever operating system you're using, you'll have the tools you need to code!&lt;/p&gt;




&lt;h2&gt;
  
  
  Copy, Paste, and Cut
&lt;/h2&gt;

&lt;p&gt;These three are your 'bread &amp;amp; butter' of your day-to-day coding use, whether you have to copy a portion of code to share, cut incorrect code, or paste the correct syntax.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Mac&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Copy: ⌘(cmd) + C 
Paste: ⌘(cmd) + V 
Cut: ⌘(cmd) + X
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Copy: Ctrl + C 
Paste: Ctrl + V
Cut: Ctrl + X
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Undo
&lt;/h2&gt;

&lt;p&gt;Undo is truly a life saver! I can't tell you how many times I've typed variable names incorrectly or accidentally deleted a whole part of my code. It happens! 99.9% percent of the time, I utilize the undo shortcut instead of backspace/delete!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Undo: ⌘(cmd) + Z
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Undo: Ctrl + Z
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Save
&lt;/h2&gt;

&lt;p&gt;No one likes grabbing their mouse, clicking "file," clicking "save as," etc. In your coding domain, the save shortcut is your best friend, especially since you should be running your git commands as often as possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Save: ⌘(cmd) + S
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Save: Ctrl + S
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comment Out a Section
&lt;/h2&gt;

&lt;p&gt;When navigating through code and trying to debug, commenting out a line or section is essential (or, if you're like me, you comment out a block to redo!)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Comment: ⌘(cmd) + /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Comment: Ctrl + /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Search Within a File
&lt;/h2&gt;

&lt;p&gt;You can use this shortcut in 2 different ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You can search in the sidebar/directory (in VSCode) for a specific word or name and it'll show you all instances of that word.&lt;/li&gt;
&lt;li&gt;You can do it inside the document and pair it with our next shortcut to edit all instances of the word.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Mac&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Directory: ⌘(cmd) + Shift +  F
Document: ⌘(cmd)+  F
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Directory: Ctrl + Shift + F
Document: Ctrl + F
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Edit All Instances of a Word
&lt;/h2&gt;

&lt;p&gt;As said previously, this shortcut can help you edit all instances of a word. You can re-type a different word in every instance of that previous word.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Mac&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⌥(Option) + return
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALT + ENTER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Take a Screenshot
&lt;/h2&gt;

&lt;p&gt;Taking a screenshot is used for many different purposes. One of the number one situations I've used this shorting is to send code snippets to the help-desk. It's necessary to be able to share errors when you're stuck!&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Screenshot: ⌘(cmd) + shift + 5(Mojave or later) || 4 &amp;amp; 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Screenshot: PrtScn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Highlight a Whole Line
&lt;/h2&gt;

&lt;p&gt;Personally, I'm still learning how to implement these last shortcuts, but highlighting a whole line can be useful when you have to redo a line or code/pseudo code.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Highlight: ⌘(cmd) + shift + Right Arrow
Highlight: ⌘(cmd) + shift + Left Arrow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Shift + Down Arrow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Highlight a Single Letter or More
&lt;/h2&gt;

&lt;p&gt;While highlighting a whole line can be helpful, this shortcut may be more useful. Usually when we're coding, we don't want to erase strings and other containers. This shortcut will allow you to select a portion of a line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mac&lt;/em&gt;&lt;/strong&gt; &amp;amp; &lt;strong&gt;&lt;em&gt;Windows&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Highlight: Shift + any arrow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;While it may take a while to get the hang of these shortcuts, they will allow you to code without ever having to take your hands off the keyboard! They may not seem like a big deal, but shortcuts will be an asset to you on your journey to becoming a software developer. Although these are only a few of the shortcuts available, I hope they make your day-to-day coding experience better! &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Higher Order Functions</title>
      <dc:creator>Jordan Davis</dc:creator>
      <pubDate>Thu, 12 Jan 2023 18:54:49 +0000</pubDate>
      <link>https://forem.com/itsbrotherdan/higher-order-functions-3di0</link>
      <guid>https://forem.com/itsbrotherdan/higher-order-functions-3di0</guid>
      <description>&lt;p&gt;There are tons of different ways to code but an efficient way to code is with 'Higher Order Functions'.&lt;/p&gt;

&lt;p&gt;These are some of the methods you may have heard of &lt;br&gt;
 --&amp;gt; Array.prototype.map, Array.prototype.filter and&lt;br&gt;
     Array.prototype.reduce are some of the Higher-Order functions that are built into JS!&lt;/p&gt;

&lt;p&gt;Let's start with the &lt;br&gt;
Array.prototype.map --&amp;gt;&lt;br&gt;
The map() method creates a brand new array by calling the callback function on every element in the array.&lt;br&gt;
map() then will take all of those values and return a brand new array. map() uses 3 parameters for it's callback --&amp;gt;&lt;br&gt;
element, index, array.&lt;br&gt;
EX --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const array = [1, 2, 3, 4, 5];
const multiplied = array.map(function(element) {
  return element * 2;
});
console.log(multiplied);
This prints - [2, 4, 6, 8, 10]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next we have the &lt;br&gt;
Array.prototype.filter --&amp;gt;&lt;br&gt;
The filter() method creates a brand new array with the elements that pass the condition by the callback function.&lt;br&gt;
filter() uses 3 parameters for it's callback --&amp;gt;&lt;br&gt;
element, index array.&lt;br&gt;
EX --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const friends = [
  { name: 'Bailey', age: 24 },
  { name: 'Jordan', age: 23 },
  { name: 'Merlin', age: 30 },
  { name: 'Rachel', age: 26 },
  { name: 'Nico', age: 23},
];
const older = friends.filter(people =&amp;gt; people.age &amp;gt;= 24);
console.log(older);
This Prints - [
  { name: 'Bailey', age: 24 },
  { name: 'Merlin', age: 30 },
  { name: 'Rachel', age: 26 }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our last method of discussion is Array.prototype.reduce() --&amp;gt;&lt;br&gt;
The reduce() method calls the callback function on each element in the array and then gives us a single value. reduce() also has an initialValue available the initialValue does this --&amp;gt;&lt;/p&gt;

&lt;p&gt;If the initialValue is provided, the accumulator will equal  the initialValue and the currentValue will equal the first element in the array.&lt;/p&gt;

&lt;p&gt;If no initialValue is provided, the accumulator will equal to the first element in the array and the currentValue will be equal to the second element in the array.&lt;/p&gt;

&lt;p&gt;reduce() uses four parameters for its callback --&amp;gt; accumulator, currentValue(or current), currentIndex(or i), array.&lt;br&gt;
EX without initialValue --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const array = [5, 7, 1, 8, 4];
const sum = array.reduce(function(accumulator, current) {
  return accumulator + current;
});

console.log(sum);
This prints - 25
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;EX with initialValue --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const sum2 = array.reduce(function(accumulator, current) {
  return accumulator + current;
}, 10); // &amp;lt;-- 10 is the initialValue

console.log(sum2);
This prints - 35
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This concludes our into to Higher Order Functions I hope this can be of service to anyone who needs a quick and easy understanding of map(), filter(), and, reduce()!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>higherorderfunctions</category>
    </item>
  </channel>
</rss>
