<?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: Gabriel Pedroza</title>
    <description>The latest articles on DEV Community by Gabriel Pedroza (@gabrielpedroza).</description>
    <link>https://dev.to/gabrielpedroza</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%2F715979%2F327b2142-5af8-4620-b0f1-1cdd0c9cc928.png</url>
      <title>DEV Community: Gabriel Pedroza</title>
      <link>https://dev.to/gabrielpedroza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gabrielpedroza"/>
    <language>en</language>
    <item>
      <title>What is the best way to enter in Backend?</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Mon, 20 Jun 2022 19:36:59 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/best-way-to-enter-in-backend-4hhb</link>
      <guid>https://dev.to/gabrielpedroza/best-way-to-enter-in-backend-4hhb</guid>
      <description>&lt;p&gt;I'm currently a frontend developer and I'm slowly moving into making bigger projects using nextjs and typescript. I want to dabble into backend and become a fullstack js/ts dev but since there are Prisma/Supabase/Firebase, is there really any point in learning things like express/django? Does anyone have any pointers in having a great transition to being a fullstack? I've heard using &lt;a href="https://trpc.io/"&gt;tRPC&lt;/a&gt; is the best place to start.&lt;/p&gt;

&lt;p&gt;P.S: sorry for the lack of blog posts; I've been really busy with school and traveling but I'm somewhat back. School is still a bit hectic but I'm working on TDD post that has great visuals so you can really understand it in almost all regards.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>Useful advanced GIT commands</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Fri, 10 Jun 2022 13:21:19 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/useful-advanced-git-commands-4pmj</link>
      <guid>https://dev.to/gabrielpedroza/useful-advanced-git-commands-4pmj</guid>
      <description>&lt;h2&gt;
  
  
  Aliases
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global alias.&amp;lt;name of command shortcut you want&amp;gt; "&amp;lt;enter chain of commands here&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We all know about &lt;code&gt;git add .&lt;/code&gt; and &lt;code&gt;git commit -m ""&lt;/code&gt; but did you know you can shorthand it to: &lt;code&gt;git commit -am ""&lt;/code&gt;. This is pretty good but we can &lt;em&gt;simplify it even further&lt;/em&gt; by creating an &lt;strong&gt;alias&lt;/strong&gt; to it. Aliases are &lt;em&gt;basically&lt;/em&gt; just shortcuts. Personally, I've changed my add and commit command to just &lt;code&gt;git ac "&amp;lt;my commit msg&amp;gt;"&lt;/code&gt;; the ac is the name of the command I want. In order to create this specific command I have, you will write the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global alias.ac "add -A commit"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and if you want to remove your alias, it is as simple as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global --unset alias.&amp;lt;your_alias&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  git log (but prettier)
&lt;/h2&gt;

&lt;p&gt;Git log essentially shows us the commit history of a repo and sometimes, it can be a bit overwhelming if you have a lot of complexity in it. The following command is to show the commit history and display it in a way where it is a lot easier to see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log --graph --oneline --decorate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;BEFORE&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YoD2bU-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9yqf43caa5ptajs4ezl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YoD2bU-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9yqf43caa5ptajs4ezl.png" alt="Image description" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AFTER&lt;/strong&gt;: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Hv_2M0W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zafoetax3loa4oaiydlo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Hv_2M0W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zafoetax3loa4oaiydlo.png" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(To exit out of the git log, press "q")(I condensed this into an alias to &lt;code&gt;git lgod&lt;/code&gt;). In my current personal project, you can see that I've only used one branch to work on and merge it to my main branch very easily whilst having all the commit messages and it's commit ID. This can come very handy if you don't use something like &lt;a href="https://www.gitkraken.com/"&gt;git kraken&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GIT KRAKEN&lt;/strong&gt;:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jW_cgDPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/de05b06my9dv6tj95g4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jW_cgDPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/de05b06my9dv6tj95g4e.png" alt="Image description" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Stash
&lt;/h2&gt;

&lt;p&gt;Have you ever had &lt;em&gt;borderline ready&lt;/em&gt; code to be pushed to the remote repo but have some doubts and want to work on something else? Maybe you want to store it and pull someone's code for a PR review. You can and it is as easy as &lt;code&gt;git stash&lt;/code&gt;. This will safely store your work and if you want to retrieve it, you can use &lt;code&gt;git stash pop&lt;/code&gt;. Let's say that you really &lt;em&gt;want&lt;/em&gt; to use this feature, you can; using the following code will stash your code and give it a name so you can reference it later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash save &amp;lt;name of stash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and to see how many stashes you have, use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and it will return something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;stash@{0}: On main: &amp;lt;yourStashName&amp;gt;
stash@{1}: On branch1: &amp;lt;yourOtherStashName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To retrieve the stash you want, use this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash apply &amp;lt;corresponding index found in curly braces of git stash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Bisect
&lt;/h2&gt;

&lt;p&gt;Have you ever had a bug in your code but you don't know which commit has it initially introduced? Did you solve or try to solve it by tediously going through every single commit, one by one, hoping to see where the bug was introduced? This can genuinely happen from personal projects to big company codebases and both can come with extreme stress to try to resolve. Introducing, &lt;code&gt;git bisect&lt;/code&gt;. This command works like binary search. Binary search is &lt;strong&gt;a lot better&lt;/strong&gt; than linear search. It essentially saves you half the time searching for a bad commit using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git bisect start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and to end the process, write the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git bisect reset
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;While you are bisecting, you need to specify the last commit that was good and bad. This will look like the following code respectively if you already wrote &lt;code&gt;git bisect start&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git bisect good &amp;lt;commit ID&amp;gt;
git bisect bad &amp;lt;commit ID&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you do not add a commit ID, it will start from the latest commit so if you do not include an ID on both, the binary wouldn't work. To really make sure you understand bisect, I'll give you an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;0 --&amp;gt; 1 --&amp;gt; 2 --&amp;gt; 3 --&amp;gt; 4 --&amp;gt; 5* --&amp;gt; 6 --&amp;gt; 7 --&amp;gt; current(8)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The asterisk is the bad commit you have. To begin the bisect, write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git bisect start
git bisect good 0
git bisect bad
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(If you do not add any commit ID, it'll default to the most recent commit). Let's write the worst-case scenario if you have no idea where the good or bad commit is. The search will start at the commit ID 4. If the bug does not exist (which it doesn't because it is in commit ID 5), we write &lt;code&gt;git bisect good&lt;/code&gt;. This will eliminate all the commits on the left side because the bug does not exist there and now we are dealing with 5, 6, 7 and 8. Let's say it cuts at 7. Is the bug in commit ID 7? Yes it is, we write &lt;code&gt;git bisect bad&lt;/code&gt; and we eliminate 7 and 8. Now we are dealing with 5 and 6. You should sort of understand how it is working now but let's say it goes to 6. The bug is still there so we write &lt;code&gt;git bisect bad&lt;/code&gt; and now there is only one commit and that commit is the origin of the bug. The total number of operations was 3 and we said we have no idea where the bug is so, this was the absolute worst case possible. This is definitely better than searching linearly, 9 operations. If we doubled the amount of commits to 18, we would only have one more operation in comparison to if we were searching linearly which is why binary search is amazing. &lt;/p&gt;

</description>
      <category>git</category>
      <category>programming</category>
      <category>productivity</category>
      <category>news</category>
    </item>
    <item>
      <title>Why is CSS Hated On?</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Tue, 31 May 2022 18:25:23 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/why-is-css-hated-on-5ce1</link>
      <guid>https://dev.to/gabrielpedroza/why-is-css-hated-on-5ce1</guid>
      <description>&lt;p&gt;I've seen a lot of posts about people despising css but I don't truly understand why. Is it the lack of foundation? Is it the specificity or the abundance of properties? If you guys want, I can create a multi-part series of CSS starting from the absolute basics to the advanced properties of CSS or I can create a huge cheat sheet on it for an easy bookmark. Let me know what you think of CSS in the comments and should I create an in-depth post or cheat sheet about it?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>discuss</category>
      <category>css</category>
    </item>
    <item>
      <title>Terminal Website in Minutes!</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Tue, 31 May 2022 02:16:19 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/terminal-website-in-minutes-3815</link>
      <guid>https://dev.to/gabrielpedroza/terminal-website-in-minutes-3815</guid>
      <description>&lt;p&gt;&lt;a href="https://secret-terminal.vercel.app/" rel="noopener noreferrer"&gt;Secret Terminal&lt;/a&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%2Fkpeihko933dk4uvn12ik.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%2Fkpeihko933dk4uvn12ik.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After surfing through the internet, I've found this very cool GH Repo on a Terminal &lt;a href="https://github.com/m4tt72/terminal" rel="noopener noreferrer"&gt;Credit&lt;/a&gt;. Very easy to add commands and configure it yourself using the &lt;strong&gt;config.json&lt;/strong&gt;. Use credit link or &lt;a href="https://github.com/GabrielPedroza/Secret_Terminal" rel="noopener noreferrer"&gt;my repo&lt;/a&gt; to clone it. I also used &lt;a href="https://coolsymbol.com/" rel="noopener noreferrer"&gt;this&lt;/a&gt; to get cool symbols. Feel free to clone it and overall have fun with it and message me if you have or need any help ❤️&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>programming</category>
      <category>news</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Learn this before jumping into React</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Mon, 30 May 2022 18:01:47 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/learn-this-before-jumping-into-react-with-quiz-3k64</link>
      <guid>https://dev.to/gabrielpedroza/learn-this-before-jumping-into-react-with-quiz-3k64</guid>
      <description>&lt;p&gt;Jumping into react pre-maturely can be a mistake and would hurt you in the long run. In this post, I will list out &lt;strong&gt;5 of the most important things&lt;/strong&gt; you should have down so you can feel confident that your foundation is strong and you can glide through learning react.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Syntax&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DOM Manipulation &amp;amp; Events&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Asynchronicity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;this&lt;/strong&gt; keyword&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Call Stack&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Syntax
&lt;/h3&gt;

&lt;p&gt;This one should be a must-have because React is a &lt;em&gt;library&lt;/em&gt; that was built on JavaScript. Syntax &lt;em&gt;includes but is not limited to&lt;/em&gt; the following: declaring functions and variables, for loops, if statements, arrays, objects, operators and more. I would highly recommend to build at least one project, (&lt;a href="https://www.webtips.dev/100-javascript-project-ideas"&gt;Project ideas&lt;/a&gt;), to see how all these things come together.&lt;/p&gt;

&lt;h3&gt;
  
  
  DOM Manipulation &amp;amp; Events
&lt;/h3&gt;

&lt;p&gt;Learning to manipulate the DOM (Document Object Model) can be a &lt;em&gt;great way to start&lt;/em&gt; "connecting" different languages together and change it accordingly. The following are common DOM that you will doing about 90-95% of the time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Creating elements&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adding elements&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modifying data attributes&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removing elements&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This &lt;a href="https://www.youtube.com/watch?v=y17RuWkWdn8"&gt;video&lt;/a&gt; by Web Dev Simplified is a great start to understanding what the DOM really is and how to use it properly in certain scenarios. &lt;strong&gt;Event listeners&lt;/strong&gt; are also important and can correlate with the DOM because you are essentially listening to any events that occur. For example, if I have a form and I want to receive the information that was written by someone, I can implement a submit button and have an event listener to it so once the person clicks on the button, I can get and store this information in an object or in localStorage. This &lt;a href="https://www.youtube.com/watch?v=XF1_MlZ5l6M"&gt;video&lt;/a&gt; is also by Web Dev Simplified and he explains perfectly conceptually and practically about event listeners.&lt;/p&gt;

&lt;h3&gt;
  
  
  Asynchronicity
&lt;/h3&gt;

&lt;p&gt;This is a big word that might scare some people but all it really does is wait until a certain action is completed before completing another action so basically one thing at a time. You will commonly use &lt;strong&gt;callbacks, promises or the async await&lt;/strong&gt; keyword to fetch data from a RESTFUL API and parse it into JSON (JavaScript Object Notation) because API's are usually stored in a stringified manner. A great introduction to this is this &lt;a href="https://www.youtube.com/watch?v=PoRJizFvM7s"&gt;video&lt;/a&gt; by Traverse Media which goes into depth of callbacks, promises and async await.&lt;/p&gt;

&lt;h3&gt;
  
  
  The &lt;strong&gt;this&lt;/strong&gt; keyword
&lt;/h3&gt;

&lt;p&gt;There is a ton of backlash regarding the &lt;em&gt;this&lt;/em&gt; keyword but all it really does is the following:&lt;/p&gt;

&lt;p&gt;This keyword belongs to the object it belongs to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alone, this refers to the global object.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;In a regular function, this refers to the global object.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;In a method, this refers to the owner object.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also &lt;strong&gt;explicitly bind&lt;/strong&gt; it with a function using the following methods: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Call()&lt;/strong&gt; | [c]all takes (c for comma separated arguments). Invoked the function&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bind()&lt;/strong&gt; | returns a new function that can be called, it just allows you to bind whatever object you want&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Apply()&lt;/strong&gt; | [a]pply takes (a for array of arguments). Invokes the function&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It basically references the context in which the code is currently running. This might be a bit overwhelming to understand and this &lt;a href="https://www.youtube.com/watch?v=NV9sHLX-jZU"&gt;video&lt;/a&gt; by techsith covers the &lt;em&gt;this&lt;/em&gt; keyword well in almost all scenarios. The reason I am not going in-depth about this specifically is because I think watching a video with code examples is a better way to truly understand it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Call Stack
&lt;/h3&gt;

&lt;p&gt;For some reason, this does not get mentioned a lot but I think understanding how the call stack works will let you be more aware of the order that functions are called in. Just having a very basic fundamental knowledge on how the &lt;strong&gt;JavaScript Engine&lt;/strong&gt; and &lt;strong&gt;JavaScript Runtime Environment&lt;/strong&gt; will set you apart from other developers and carries over very well when you jump into react. Also, having some knowledge on the overall &lt;strong&gt;Event Loop&lt;/strong&gt; (task queue, microtask queue and maybe chunking) will really level you up as a developer. There are a ton of videos on this so feel free to choose which one you like.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Next vs React</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Sat, 28 May 2022 16:40:32 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/next-vs-react-52ob</link>
      <guid>https://dev.to/gabrielpedroza/next-vs-react-52ob</guid>
      <description>&lt;p&gt;This post was aimed mainly for novice programmers who haven't grokked on the frontend frameworks and libraries; I tried to make this post as easy to understand as a I could while making it very informative. My next post will be aimed more for experienced frontend devs: I will be diving more into Nextjs in my next post and by explaining in-depth some difficult things people struggle with, showing you step-by-step on how to not only create a nextjs app to but having a headless content management system (CMS) connected so the information that you show (products, blogs, etc...) can be changed dynamically using Sanity.io and have it Server Side Rendered (SSR) or Incremental Static Regenerated (ISR). &lt;strong&gt;I will also explain all of this if you are not concrete about what was said&lt;/strong&gt; 👨🏻‍🏫&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you will learn&lt;/strong&gt;: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understand what Next &amp;amp; React are and what they are used for&lt;/li&gt;
&lt;li&gt;What are the similarity &amp;amp; differences between them&lt;/li&gt;
&lt;li&gt;Which one to choose on a project&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What is React&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is Next&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comparing and Contrasting React &amp;amp; Next&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Which one to choose for a project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TL;DR&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a id="WIR" href="https://reactjs.org/"&gt;What is React&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you are familiar to web developing or programming in general, you have heard the term, React.js, being thrown around. &lt;strong&gt;React&lt;/strong&gt; is a &lt;strong&gt;library&lt;/strong&gt; that makes declarative UI &lt;em&gt;easier&lt;/em&gt; to accomplish using hooks and components. Essentially, you can write a chunk of code (mainly using jsx which is like html's sibling but cooler) into a one-liner(). It is &lt;strong&gt;declarative&lt;/strong&gt; because the outcome of said component is predictable and easier to debug than imperative code. You also have these things called &lt;strong&gt;hooks&lt;/strong&gt; that are &lt;strong&gt;built-in functions&lt;/strong&gt; that make handling state, behavior and other logic easier to do in React in comparison to vanilla JavaScript. Also, you can write it anywhere in your project, (hence why React is a library and not a framework although people call it framework because it competes well to Angular and Vue) so you have more flexibility. It also has this thing called &lt;a href="https://react-redux.js.org/"&gt;Redux&lt;/a&gt; which is a library that handles complex state management but we won't get into that 🤒 because there are &lt;strong&gt;better and easier&lt;/strong&gt; ways to manage state in React like using the &lt;a href="https://www.loginradius.com/blog/engineering/react-context-api/"&gt;Context api&lt;/a&gt;. I will go more into when to start learning React in a future post soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="WIN" href="https://nextjs.org/"&gt;What is Next&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Next is a &lt;strong&gt;React framework&lt;/strong&gt; that was created by &lt;a href="https://github.com/vercel/vercel"&gt;Vercel&lt;/a&gt; in October 25, 2016. Many big companies like Hulu even use it for their websites. It is a very very &lt;strong&gt;good choice in building bigger applications&lt;/strong&gt; that have a lot more functionality and more complex state. Also, it comes with &lt;strong&gt;a lot of features&lt;/strong&gt; out of the box and I've linked the official Next website and talked about some of the features in the TL;DR section but besides those features it brings, it has a &lt;strong&gt;structure&lt;/strong&gt; to it. React is a library so you might feel like you do not know where to start (most frontend devs haven't used a framework if you went the &lt;strong&gt;tradition&lt;/strong&gt; way of html, css, js and react) but Next solves that by having all the things React has, having little to no config with a shit ton of great features that will take you a while to make in React and having a structure built-in by default. This can be a pro or a con to some but if you are planning to make your first big project, I think Next would be a great decision and you would learn a ton about larger websites and how they work under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="CRAN1"&gt;Comparing and Contrasting React &amp;amp; Next&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I don't think they should be compared this way because both are extremely good at what they do. It really does &lt;strong&gt;depend on what you are building&lt;/strong&gt; and I will dive a bit deeper in what questions you should be asking to yourself or others about what to choose when building your project so you can get not only the most out of it, but as fast and easy as possible. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="WTC"&gt;What should I choose for my upcoming project?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Firstly, you should understand what you want to build out first. Have a rough draft, like an essay, and see what libraries you might want to use; A good start to understand your project is to &lt;strong&gt;ask these following questions&lt;/strong&gt;: Will your project have multiple pages with/without modular css for styling? Will it include state management? How complex will the state be for your website? Will it be a fullstack application? Are you planning to grow this project (CI/CD)? How important is it to have fast load times and do you care about SEO? Once you answered all these questions truthfully, it will give you a good indication on how big/small your upcoming project will be. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="tldr"&gt;TL;DR&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;React is a library based around &lt;strong&gt;Component reusability&lt;/strong&gt; and uses hooks that have functionality like setting and updating state, having certain callback functions run at runtime and much more. I will make a React hooks post in the future covering all of the most used ones if you guys want me to.&lt;/p&gt;

&lt;p&gt;Next is a framework that is built on top of React and makes &lt;strong&gt;creating larger projects with more complex state easier to accomplish and maintain&lt;/strong&gt;. Since it has &lt;strong&gt;built-in&lt;/strong&gt; file-system routing, code-splitting, modular css, image optimization, etc... It is &lt;strong&gt;ideal&lt;/strong&gt; for you if you truly care about how the data is fetched (SSR, ISR), care about SEO, and want to overall add a lot more functionality. It can be a bit overwhelming to conceptualize at first so I will go more into Next very very soon.&lt;/p&gt;

&lt;p&gt;The best way to pick which would be better for your upcoming project is understand what you want to build. Is your project going to be a relatively lightweight project? Do you want the best load times possible if you are going to have information changing in short times? Am I going to CI/CD into a SaaS? These and a couple more questions would give you a good basis to decide which would be the best option for you. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>react</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>What would you like me to cover</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Fri, 27 May 2022 13:45:02 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/what-would-you-like-me-to-cover-17bd</link>
      <guid>https://dev.to/gabrielpedroza/what-would-you-like-me-to-cover-17bd</guid>
      <description>&lt;p&gt;I'm currently working on a post that covers the similarities and differences of react and next. Apart from that, let me know in the comments what you would like to see or learn more about in an easy and conceptual way with examples &amp;lt;3&lt;/p&gt;

&lt;p&gt;"Tell me and I forget. Teach me and I remember. Involve me and I learn." –Benjamin Franklin&lt;/p&gt;

</description>
      <category>ideas</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>All Higher Order Functions Under the Hood in JavaScript</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Fri, 20 May 2022 19:42:03 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/all-higher-order-functions-under-the-hood-in-javascript-2fij</link>
      <guid>https://dev.to/gabrielpedroza/all-higher-order-functions-under-the-hood-in-javascript-2fij</guid>
      <description>&lt;h2&gt;
  
  
  forEach - (executes a function once per array element)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;forEach&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;thisValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Iterating through an array declaratively using a callback function to manipulate the array respectively. Second param is &lt;em&gt;undefined&lt;/em&gt; by default and when a value is passed to the function, it gets the &lt;strong&gt;this&lt;/strong&gt; value. This is usually never used though.&lt;/p&gt;



&lt;h2&gt;
  
  
  map - (returns a new array from calling a function for every array element)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;newArray&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;newArray&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;newArray&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;thisValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The key difference between &lt;strong&gt;map&lt;/strong&gt; and &lt;strong&gt;forEach&lt;/strong&gt; is map returns a &lt;em&gt;new array&lt;/em&gt; and forEach returns &lt;em&gt;undefined&lt;/em&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  filter (returns a new array filled with elements that pass a test provided by a function)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;filter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;newArray&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="nx"&gt;newArray&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;newArray&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;thisValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  some (returns &lt;em&gt;true&lt;/em&gt; on &lt;strong&gt;the first element&lt;/strong&gt; that meets requirements; else, it will return false)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;some&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;some&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;thisValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  every (returns &lt;em&gt;false&lt;/em&gt; on &lt;strong&gt;the first element&lt;/strong&gt; that fails to meet requirements; else, it will return true)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;every&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;every&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;thisValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  reduce (method returns a single value: the function's accumulated result)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;initialValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arguments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;currentValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;initialValue&lt;/span&gt;
    &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// i has already been created, hence the lonely semi colon&lt;/span&gt;
    &lt;span class="nx"&gt;currentValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;cb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;currentIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;initialValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Very weird-looking under the hood but all it really does is it &lt;em&gt;reduces&lt;/em&gt; what was passed into one value. It can be a number, array, object, etc... If the second argument is not passed, it will begin at the first index of the array; else, it will start at whatever you passed it. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;previousValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;previousValue&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;// sum is 6&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;It takes the initial value that was passed, 0, and adds the first index. In this case, you would not need to pass the initialValue since you are just adding numbers and it will save you one operation. Another example using an object would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;names&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bob&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Tiff&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bruce&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;countedNames&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;names&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;allNames&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;allNames&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;allNames&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;allNames&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;allNames&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{})&lt;/span&gt;
&lt;span class="c1"&gt;// countedNames is:&lt;/span&gt;
&lt;span class="c1"&gt;// { 'Alice': 2, 'Bob': 1, 'Tiff': 1, 'Bruce': 1 }&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;This example will iterate through the array and check if the name already exists as a key in the object (the initial value is an empty object where you will store the result). If it already has created the name, it will add one more to it. One last example to truly make sure this is understood is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,];&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;doubledPositiveNumbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;previousValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentValue&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;doubled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;currentValue&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;previousValue&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;doubled&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;previousValue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[]);&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;doubledPositiveNumbers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// [12, 4]&lt;/span&gt;

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

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
This combines filter and map higher-order functions into a single reduce method which is a lot more efficient than traversing through the array twice. There is another hof called &lt;strong&gt;reduceRight&lt;/strong&gt; and it does the exact same thing but traverses from right to left instead.&lt;/p&gt;

&lt;p&gt;There are a lot of examples that go into reduce in the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce"&gt;mdn&lt;/a&gt; so I'd recommend you check it out if you want to see the more complex examples. I hope this was helpful because not only this took time but also makes me appreciate the built-in methods by JavaScript. Don't forget to bookmark this because I know I will😎&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>testing</category>
    </item>
    <item>
      <title>Hi</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Sun, 15 May 2022 01:46:49 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/hi-1jcb</link>
      <guid>https://dev.to/gabrielpedroza/hi-1jcb</guid>
      <description>&lt;p&gt;hi &amp;lt;3&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Breaking Down Imposter Syndrome 🐣</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Wed, 06 Apr 2022 23:05:40 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/breaking-down-imposter-syndrome-901</link>
      <guid>https://dev.to/gabrielpedroza/breaking-down-imposter-syndrome-901</guid>
      <description>&lt;p&gt;Hey hey! How are ya? No... how really are you👂 I feel like posting this is genuinely important and I hope this post can spread like wild-fire because it should be heard amongst everyone, including programmers🥸 Let's start to absolutely break down imposter syndrome together‼️&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What the f*¢# is &lt;em&gt;Imposter Syndrome&lt;/em&gt;?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;By definition, imposter syndrome is described by the following: Doubting your abilities and feeling like a fraud. It disproportionately affects high-achieving people, who find it difficult to accept their accomplishments. Many question whether they're deserving of accolades. &lt;a href="https://hbr.org/2021/02/stop-telling-women-they-have-imposter-syndrome#:~:text=Imposter%20syndrome%20is%20loosely%20defined,they're%20deserving%20of%20accolades."&gt;credit&lt;/a&gt; Basically, it just makes you feel like you're not enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Who and When was the term, &lt;em&gt;Imposter Syndrome&lt;/em&gt;, created?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The term was first used by psychologists Suzanna Imes and Pauline Rose Clance in the 1970s. When the concept of IS was introduced, it was originally thought to apply mostly to high-achieving women. Since then, it has been recognized as more widely experienced. &lt;a href="https://www.verywellmind.com/imposter-syndrome-and-social-anxiety-disorder-4156469#:~:text=The%20term%20was%20first%20used,recognized%20as%20more%20widely%20experienced."&gt;credit&lt;/a&gt; Hmmmm, it was originally thought that it started from high-achieving women. But wait... isn't that sort of oxymoronic? High-achieving people feeling phony? Does 🍀 or &lt;em&gt;something uncontrollable&lt;/em&gt; really play the &lt;em&gt;entirety&lt;/em&gt; of your career? &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How can we avoid this stupid thing?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Well let's be honest, we can do some exercises and try to think differently in ourselves but that likely won't get rid of it long-term. Why change the way you are? I personally don't believe that we should avoid it but actually embrace it. Before you report me, let me explain😆 It's a wonderful and horrible feeling but we are human. We want to achieve the most and have to-die-for accomplishments so having that feeling in the back of our mind is ensuring us that our dreams and aspirations are gargantuan. Some days, it can get very melancholic and statistically speaking, 7-10 people have this feeling once or multiple times throughout their lives so having an off day is okay. Take breaks, enjoy yourself, and one day, I'll ask for your autograph😊&lt;/p&gt;

&lt;p&gt;“I have written 11 books, but each time I think, ‘uh oh, they’re going to find out now. I’ve run a game on everybody, and they’re going to find me out.” Civil rights activist, author, poet and Nobel Laureate - Maya Angelou&lt;/p&gt;

&lt;p&gt;“There are an awful lot of people out there who think I’m an expert. How do these people believe all this about me? I’m so much aware of all the things I don’t know.” Forbes ranked Dr. Chan as 2013’s thirtieth most powerful woman in the world - Dr. Margaret Chan&lt;/p&gt;

&lt;p&gt;“The greatest obstacle for me has been the voice in my head that I call my obnoxious roommate. I wish someone would invent a tape recorder that we could attach to our brains to record everything we tell ourselves. We would realize how important it is to stop this negative self-talk. It means pushing back against our obnoxious roommate with a dose of wisdom.” Author, syndicated columnist, co-founder of The Huffington Post, the founder and CEO of Thrive Global, and the author of fifteen books - Arianna Huffington&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>challenge</category>
    </item>
    <item>
      <title>Misconceptions in Software Engineering😅</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Mon, 13 Dec 2021 20:45:48 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/misconceptions-in-software-engineering-g45</link>
      <guid>https://dev.to/gabrielpedroza/misconceptions-in-software-engineering-g45</guid>
      <description>&lt;p&gt;Before I even conceptualized the thought of genuinely pursuing a Software Engineering career, I reckon I wasn't &lt;strong&gt;intelligent enough&lt;/strong&gt; to become one. &lt;em&gt;It seemed&lt;/em&gt; that you needed to become extremely &lt;strong&gt;well-versed in complex Mathematics&lt;/strong&gt; and you needed to be &lt;strong&gt;programming as early as in the womb&lt;/strong&gt;. The truth is, I was completely and utterly wrong. In this post, I'll talk about those misconceptions in depth and why these misconceptions are mainstream in the first place🙃&lt;/p&gt;

&lt;h3&gt;
  
  
  1. You need to be &lt;em&gt;brilliant&lt;/em&gt; to be a Software Engineer🤓
&lt;/h3&gt;

&lt;p&gt;This is a strong &lt;strong&gt;NO&lt;/strong&gt;. In the core of a Software Engineer's job, it undoubtably revolves around the same objective no matter what field you are interested in. &lt;strong&gt;Solving problems&lt;/strong&gt;. Most, if not all engineers solve those problems in code or at least need to be well-versed in code to efficiently communicate with other programmers. Learning code requires practice and consistency, not being smart. While being a natural problem-solver can be beneficial in programming, that doesn't mean that your characteristic will give you the golden ticket to the Polar Express🚂(old movie reference👴). &lt;/p&gt;

&lt;h3&gt;
  
  
  2. You need to be &lt;em&gt;well-versed&lt;/em&gt; in &lt;em&gt;complex Mathematics&lt;/em&gt;🤯
&lt;/h3&gt;

&lt;p&gt;Math is involved with programming but that does not mean you need to be a Mathematician of any sort. If you are comfortable with using the elementary operations in math (addition, subtraction, multiplication, and division), that suffices to about 99% of what you will be using whenever you'll face a problem that requires some Math. Certain fields require &lt;em&gt;slightly&lt;/em&gt; more Math knowledge like becoming a Data Scientist or a Machine Learning Engineer but if you are a person who enjoys Math and problem-solving, you can possibly thrive in those fields with consistent practice. Overall, the foundation of Math is important to many fields but you should do more research on what you are interested in.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. You need to &lt;em&gt;start young&lt;/em&gt; to become a Software Engineer👶
&lt;/h3&gt;

&lt;p&gt;This is &lt;strong&gt;absolutely incorrect&lt;/strong&gt; in all fields of Software Engineering. There are gargantuan amounts of people becoming Engineers everyday and a good percentage did not start when they were 7 years old. It comes as an interest or as a curiosity to try it out. For example, if a child enjoys building legos and creating houses, towers, etc; that child would probably grow up to enjoy being an architect or to at least try it out. Many people try things out like music, sports, and more but do not see themselves being involved long-term. That is completely fine but you are gaining the experience of all these things and finding your passion will eventually come.&lt;/p&gt;

&lt;p&gt;All in all, these misconceptions are exactly what they are. Misconceptions. You do not know everything about everything. That is simply unrealistic. When you makes assumptions, it is often that these assumptions are converted to false reality since you do not really dive into certain fields and understand in a slightly deeper level. You tell another person your reality and that person will tell another. This happened to me and many others like me before I pursued my career. To wrap everything up, if you are interested in a topic, disregard all previous beliefs that you've heard and do some research on it. If you genuinely find interest and see yourself being involved in that field, then go for it. The worst thing that can happen is you now have gained the experience of that field and you can spread the unbiased truth about it to others while knowing that you've tried it yourself and it wasn't for you. I wish everyone the absolute best❤️&lt;/p&gt;

&lt;p&gt;“Do not fear failure but rather fear not trying.”&lt;br&gt;
― Roy T. Bennett, The Light in the Heart&lt;/p&gt;

&lt;p&gt;“Maybe the hardest part of life is just having the courage to try.”&lt;br&gt;
― Rachel Hollis, Party Girl&lt;/p&gt;

&lt;p&gt;“Great things happen to those who don't stop believing, trying, learning, and being grateful.”&lt;br&gt;
― Roy T. Bennett, The Light in the Heart&lt;/p&gt;

&lt;p&gt;“Don't waste your energy trying to change opinions ... Do your thing, and don't care if they like it.”&lt;br&gt;
― Tina Fey, Bossypants&lt;/p&gt;

&lt;p&gt;“It will get easier each time, I think. I hope. I just have to keep trying.”&lt;br&gt;
― jenny han, To All the Boys I've Loved Before&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>news</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Software Engineering 💻What I've learned in one year!</title>
      <dc:creator>Gabriel Pedroza</dc:creator>
      <pubDate>Tue, 07 Dec 2021 19:23:02 +0000</pubDate>
      <link>https://dev.to/gabrielpedroza/software-engineering-what-ive-learned-in-one-year-2aif</link>
      <guid>https://dev.to/gabrielpedroza/software-engineering-what-ive-learned-in-one-year-2aif</guid>
      <description>&lt;p&gt;I decided to give this (making my first blog) a try when I realized how close I was to reaching my first year of being a Frontend Engineer. This will also improve my Markdown skills which will also improve my README.md in my repositories. If you see any errors, please let me know because I always want to reach perfection... and because of my slight OCD in anything related to software😅&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;TLDR/Specifics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;My background&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When I decided to become a Front End Developer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What I have learned from one year of coding&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Any advice or things I would've done differently&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What I plan to do accomplish in the future&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;TLDR/Specifics&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Over the course of becoming a Frontend Engineer, I wrote down my progress:&lt;/p&gt;

&lt;p&gt;7th grade (2014) - Used blocks of written code from made scratch.mit.edu to create basic games and animations. &lt;/p&gt;

&lt;p&gt;11th grade (2018) - Wrote my first HTML code in Advanced Placement Computer Science and had no interest or remembered anything whatsoever.&lt;/p&gt;

&lt;p&gt;December 18th 2020 - Switched my major from Accounting to Computer Science because I wanted to be involved with technology and saw incredible and interactive websites.&lt;/p&gt;

&lt;p&gt;Late December 2020 - Wrote my first line of code (Python). I chose Backend first because after researching, I’ve read that you get more income and it’s more logic-based. (Chose for the wrong reasons).&lt;/p&gt;

&lt;p&gt;Mid-way January 2021 - Realized after some on and off time of Backend, it wasn’t suited for me at the time and only chose it for the money so I decided to try front end and almost instantly feel in love (Inspired by &lt;a href="https://bruno-simon.com/"&gt;Bruno Simon’s Portfolio&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;February 2021 - Watched an 11 and half hour video (willingly😅) on the &lt;a href="https://www.youtube.com/watch?v=mU6anWqZJcc&amp;amp;t=6365s"&gt;basics of HTML and CSS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;March 4th 2021 - Bought my first &lt;a href="https://scrimba.com/learn/frontend"&gt;Frontend course&lt;/a&gt; (Html5, Css3, Js(es5+), and React (class and functional components)) on &lt;a href="//www.scrimba.com"&gt;Scrimba&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Midway March 2021 - Wrote my first line of JavaScript code.&lt;/p&gt;

&lt;p&gt;End of April 2021 - Registered in another course &lt;a href="https://scrimba.com/learn/javascript"&gt;The JavaScript Bootcamp&lt;/a&gt; to enhance my JavaScript.&lt;/p&gt;

&lt;p&gt;May 27th 2021 - Made a &lt;a href="https://www.linkedin.com/in/gabrielpedroza/"&gt;LinkedIn account&lt;/a&gt; to network and meet new people that have similar interests as me. &lt;/p&gt;

&lt;p&gt;June 13th 2021 - Finished JavaScript bootcamp.&lt;/p&gt;

&lt;p&gt;July 12th 2021 - Bought a &lt;a href="https://threejs-journey.com/"&gt;Three.js course&lt;/a&gt; with GLSL and Blender included by Bruno Simon.&lt;/p&gt;

&lt;p&gt;July 15th 2021 - Wrote my first line of React code.&lt;/p&gt;

&lt;p&gt;Mid September - Learned about Git (commands) and currently using it to push code, pull code, and make open source contributions from and to local repositories on my Github account after learning how to use GitHub.&lt;/p&gt;

&lt;p&gt;September 25th 2021 - Wrote my first line of custom shaders in GLSL (Shading Language).&lt;/p&gt;

&lt;p&gt;October 23 2021 - Finished Three.js course while balancing Scrimba’s courses and school.&lt;/p&gt;

&lt;p&gt;October 24 2021 - Using &lt;a href="https://docs.pmnd.rs/home"&gt;React Three Fiber and its helpers&lt;/a&gt; to start creating 3D projects.&lt;/p&gt;

&lt;p&gt;October 28 2021 - Bought &lt;a href="https://www.algoexpert.io/product"&gt;AlgoExpert&lt;/a&gt; to learn DSA and also deepen my knowledge using JavaScript while preparing for coding interviews.&lt;/p&gt;

&lt;p&gt;October 30 2021 - Learned how to calculate time and space complexity using Big O notation.&lt;/p&gt;

&lt;p&gt;November 1 2021 - Used SCSS modules for the first time.&lt;/p&gt;

&lt;p&gt;November 21 2021 - Used &lt;a href="https://mui.com/"&gt;Material UI&lt;/a&gt; for the first time.&lt;/p&gt;

&lt;p&gt;December 7 2021 - Learned Yarn. Will use in future projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;My Background&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Long story short, I was majoring in Accounting as a freshman in college and I was not enjoying it at all. I later found out about Computer Science (specifically Full-Stack (Frontend and Backend)) and it caught my attention. I decided to switch when my semester finished at December 18, 2020. I have minimal exposure to coding. Checkout the beginning of TLDR/Specifics to understand specifically what I knew.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;When I Decided to Become a Front End Developer&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Mid-way through January, I decided to switch from Backend to Frontend. I was inspired by &lt;a href="https://bruno-simon.com/"&gt;Bruno Simon's portfolio&lt;/a&gt; and all the other projects on the official page of &lt;a href="https://threejs.org/"&gt;Three.js&lt;/a&gt;. It changed my perspective on websites completely and with a combination of being inspired and experiencing a shit-ton of "bad" websites over the years, I decided to become a Frontend Engineer without looking at its salary, the hard work it would take to feel "ready", and everything else that comes with being a developer that I've probably haven't experienced yet. It was a turning point in my life and I didn't even know how much it would consume me. I can definitely say after a year of programming, I am so happy I chose it because of the right reasons. I got lucky that it pays well and it is a great career path.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;My Advice to Future Programmers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;JUST START ALREADY! When I started programming, I never saw it as boring or as a job in any way; Frontend for me was just so exciting because of what you can create and be able to give that experience to others that come across your website/projects. Personally, for the first 6-8 months, I learned about code or watch anything that was code-related for a good 8-10 hours every single day (you do NOT need to do this🤦🏻‍♂️). This definitely caused a huge burnout for me. My social life and health were struggling immensely and I wasn't retaining any of the information anymore. I decided to take a break and slowly and focus on my social and health more. It was the best decision for me in every way possible and I would recommend anyone who starts to become a programmer to understand that there is a lot of information to learn and your comfort zone will be eviscerated. You will feel that overwhelming sensation of not being good enough but after that stage of feeling "useless", your mental strength will be calloced from the adversity and your success it will overshadow that stage. I promise😊&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;My Future Goals as a Frontend Engineer&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;There are so many goals that I want to accomplish as a Frontend Engineer. The main one is to land a job and become a paid full-time engineer. Currently, I am making projects to include on my curriculum vitae, learning DSA, and filling any holes I have currently since I am a self-taught engineer.&lt;/p&gt;

&lt;p&gt;“Believe you can and you’re halfway there.” —Theodore Roosevelt&lt;/p&gt;

&lt;p&gt;“It is our attitude at the beginning of a difficult task which, more than anything else, will affect its successful outcome.” —William James&lt;/p&gt;

&lt;p&gt;“I think I can. I think I can. I think I can. I know I can.” —Watty Piper, The Little Engine That Could&lt;/p&gt;

&lt;p&gt;“Life isn’t finding shelter in the storm. It’s about learning to dance in the rain.” ―Sherrilyn Kenyon&lt;/p&gt;

&lt;p&gt;“Whether you think you can or think you can’t you’re right.” —Henry Ford&lt;/p&gt;

&lt;p&gt;I wish everyone the best of luck on your journey! &lt;/p&gt;

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