<?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: iBrendan!</title>
    <description>The latest articles on DEV Community by iBrendan! (@ibrendan).</description>
    <link>https://dev.to/ibrendan</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%2F803636%2F0722ee0f-d29b-46d4-a87c-17e98d5bcc80.png</url>
      <title>DEV Community: iBrendan!</title>
      <link>https://dev.to/ibrendan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ibrendan"/>
    <language>en</language>
    <item>
      <title>Dev Journal - Day 4 - Odin Project - JS Fundamentals 4 - Loops Part 1</title>
      <dc:creator>iBrendan!</dc:creator>
      <pubDate>Fri, 12 Aug 2022 03:26:00 +0000</pubDate>
      <link>https://dev.to/ibrendan/dev-journal-day-4-odin-project-js-fundamentals-4-loops-part-1-5gjk</link>
      <guid>https://dev.to/ibrendan/dev-journal-day-4-odin-project-js-fundamentals-4-loops-part-1-5gjk</guid>
      <description>&lt;p&gt;Learned about Loops today&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loops&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;are useful for repeating the same code multiple times.&lt;/li&gt;
&lt;li&gt;will often have slightly different code each time the loop runs, or the same code will run but with different variables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Loops break Statement&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;has similar utility to the break statement used in switch() conditionals&lt;/li&gt;
&lt;li&gt;is used to exit a loop before all iterations are complete and make the browser move on to any code that follows it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Loops continue Statement&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;is used to break or skip an iteration, if a specified condition occurs, and make the browser continuew ith the next iteration in the loop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;map() vs filter()&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;map()in loops is used to modify items in a collection and create new collection containing the modified items
-filter() modifies items in a collection and creates a new collection containing only the items that match&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tomorrow's Learning Plan&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for loops&lt;/li&gt;
&lt;li&gt;while and do loops&lt;/li&gt;
&lt;li&gt;MDN Active Learning Tasks in Loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.theodinproject.com/lessons/foundations-fundamentals-part-4"&gt;The Odin Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/js/js_break.asp"&gt;W3 Schools&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>odinproject</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Dev Journal - Day 3 - Odin Project - JS Fundamentals 4 - Arrays</title>
      <dc:creator>iBrendan!</dc:creator>
      <pubDate>Thu, 11 Aug 2022 03:04:22 +0000</pubDate>
      <link>https://dev.to/ibrendan/dev-journal-day-3-odin-project-js-fundamentals-4-arrays-56l5</link>
      <guid>https://dev.to/ibrendan/dev-journal-day-3-odin-project-js-fundamentals-4-arrays-56l5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Arrays&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays are a special type of variable used to store multiple values like strings, HTML elements, or even other arrays.&lt;/li&gt;
&lt;li&gt;Those values can then be accessed by referring to their index number.&lt;/li&gt;
&lt;li&gt;Javascript arrays are zero indexed, meaning that the first element or item in an array is at index 0, the second is at index 1, and the final item or element is always one less than the length of the array.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Syntax&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An array is preferably created in the array literal format, declared with the &lt;em&gt;const&lt;/em&gt; keyword. Example,
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const provinces = [“Alberta, “British Columbia”, “Ontario”];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Note: Arrays can also be created in the &lt;em&gt;new&lt;/em&gt; keyword format below. though this is discouraged for readability and execution speed reasons.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const provinces = new Array(“Alberta, “British Columbia”, “Ontario”) 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Manipulating Array Elements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An array element can be accessed by its index. Example "provinces[1]" will access “British Columbia” in the province array above.&lt;/li&gt;
&lt;li&gt;Array elements can be changed by assigning a new value to the index. So in our example, I can change the value of the second element, British Columbia (index 1) to a different value by
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const provinces = ["Alberta", "British Columbia", "Ontario"];
provinces[1] = "British Columbia";
provinces[1] = "Quebec";
console.log(provinces); //[“Alberta, “Quebec”, “Ontario”]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Array Properties&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Length property returns the length of an array, or the total number of items in that array, and is always one more than the index of the highest array value
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; const provinces = ["Alberta", "British Columbia", "Ontario"];
 console.log (provinces.length] //3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Sort property sorts the array
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const provinces = ["Alberta", "British Columbia", "Ontario"];
console.log(provinces.sort()); //“Alberta”, “Ontario”, “British Columbia”]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Array Methods&lt;/strong&gt;&lt;br&gt;
Learned about using array with the following methods/operations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Array.isArray() to determine if an argument is an array. Returns "true", or false otherwise&lt;/li&gt;
&lt;li&gt;Array.push(...items) adds items to the end of the array and returns the new length of the array.&lt;/li&gt;
&lt;li&gt;Array.pop() removes the element from the end and returns that element.&lt;/li&gt;
&lt;li&gt;Array.shift() removes the element from the beginning of the array and returns it.&lt;/li&gt;
&lt;li&gt;Array.unshift(...items) adds items to the beginning of the array&lt;/li&gt;
&lt;li&gt;Array.splice() method adds new items to an array.&lt;/li&gt;
&lt;li&gt;Array.slice() method slices out a piece of an array.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.theodinproject.com/lessons/foundations-fundamentals-part-4"&gt;The Odin Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://javascript.info/array"&gt;Javascript.info - Arrays&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Dev Journal - Day 2 - Odin Project - JS Fundamentals - Clean Code</title>
      <dc:creator>iBrendan!</dc:creator>
      <pubDate>Wed, 10 Aug 2022 03:11:00 +0000</pubDate>
      <link>https://dev.to/ibrendan/dev-journal-day-2-odin-project-clean-code-5ff</link>
      <guid>https://dev.to/ibrendan/dev-journal-day-2-odin-project-clean-code-5ff</guid>
      <description>&lt;p&gt;&lt;strong&gt;Importance of Clean Code Practices&lt;/strong&gt;&lt;br&gt;
To make it easier to read and understand previously written code, whether it be my code, or code that will be referenced later in a larger professional codebase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;br&gt;
Clean code principles lead to source code that is easier to read, debug, and test. Implementing clean code principles is a foundational skill that pays off especially when it's time to refactor code or test it test. A few principles I plan to adopt are &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review and clarify code logic (perhaps using pseudocode or flow diagrams) prior to blindly typing into a debugger&lt;/li&gt;
&lt;li&gt;Use descriptive naming conventions for variables (noun phrases e.g “numberOfItems) and functions (verbs e.g getCount() )&lt;/li&gt;
&lt;li&gt;Write explanatory, clarifying comments as-needed and not as a crutch to explain my code&lt;/li&gt;
&lt;li&gt;Avoid extremely large functions, and instead break up large functions into smaller digestible ones&lt;/li&gt;
&lt;li&gt;Correctly and consistently indent code to make it easier to read and follow &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Additional Clean Code Principles I Liked&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://blog.codinghorror.com/coding-without-comments/"&gt;On Comments:&lt;/a&gt; &lt;em&gt;While comments are neither inherently good or bad, they are frequently used as a crutch. You should always write your code as if comments didn't exist. This forces you to write your code in the simplest, plainest, most self-documenting way you can humanly come up with.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.martinfowler.com/bliki/CodeAsDocumentation.html"&gt;On Personal Style:&lt;/a&gt; &lt;em&gt;A professional programmer is prepared to bend her personal style to reflect the needs of the team. So even if you like ternary operators, don't use them if your team doesn't find them easy to understand. You can program in your own style on your personal projects, but anything you do in a team should follow the needs of that team.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.theodinproject.com/lessons/foundations-clean-code"&gt;The Odin Project - Clean Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.pluralsight.com/blog/software-development/10-steps-to-clean-code"&gt;Pluralsight - Steps to Clean Code&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Dev Journal - Day 1 - Odin Project - Rock Paper Scissors</title>
      <dc:creator>iBrendan!</dc:creator>
      <pubDate>Tue, 09 Aug 2022 03:25:00 +0000</pubDate>
      <link>https://dev.to/ibrendan/dev-journal-day-1-the-odin-project-rock-paper-scissors-1ajm</link>
      <guid>https://dev.to/ibrendan/dev-journal-day-1-the-odin-project-rock-paper-scissors-1ajm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Understanding the Problem&lt;/strong&gt;&lt;br&gt;
Rock Paper Scissors is a game played between 2 players, and for the purpose of this project, a user and the computer. For a single game round, each player simultaneously selects one of Rock, Paper, or Scissors. A winner is determined according to the following rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A selection of Paper beats Rock&lt;/li&gt;
&lt;li&gt;A selection of Rock beats Scissors&lt;/li&gt;
&lt;li&gt;A selection of Scissors beats Paper&lt;/li&gt;
&lt;li&gt;else if both players make the same choice, the game is tied.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pseudocode&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;1. Computer randomly plays “Rock”, “Paper” or “Scissors”
2. User inputs “Rock”, “Paper” or “Scissors”
3. Compare both player selections and assign a winner
4. If Rock and Paper are played, Paper wins
5. If Rock and Scissors are played, Rock wins
6. If Paper and Scissors are played, Scissors wins
7. If both selections are the same, game is a tie
8. Ensure Player’s selection-input is case insensitive
9. Ensure Player’s selection-input is case insensitive
10. Play 5 game rounds and determine final winner

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Concepts That Helped&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Array &amp;amp; String manipulation&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Familiarity with conditional statements and comparisons&lt;/li&gt;
&lt;li&gt;String manipulation to ensure case-sensitivity validation using toLowerCase()&lt;/li&gt;
&lt;li&gt;Loops to keep count of multiple rounds and stop at 5 rounds&lt;/li&gt;
&lt;li&gt;Googling, Grit and Github&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/iBrendan/top-rock-paper-scissors"&gt;Link to Project Code&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges &amp;amp; Learning Moments&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Had no trouble creating the functions but struggled somewhat with looping them and displaying the score. Referenced previous attempts and discussions in the Odin Project server&lt;/li&gt;
&lt;li&gt;Learned Array &amp;amp; String manipulation as well as array.length property&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>odinproject</category>
    </item>
    <item>
      <title>Self-Taught Dev Journey - The Beginning</title>
      <dc:creator>iBrendan!</dc:creator>
      <pubDate>Tue, 09 Aug 2022 02:55:00 +0000</pubDate>
      <link>https://dev.to/ibrendan/self-taught-dev-journey-the-beginning-681</link>
      <guid>https://dev.to/ibrendan/self-taught-dev-journey-the-beginning-681</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
For the last few months, I've been learning web development using The Odin Project as my primary curriculum. I've made my way through the Foundations HTML/CSS section, and loved it so far. I'm now currently going through the Foundations JavaScript section. Unfortunately, my self-learning can sometimes be a sombre, scatterbrained, siloed approach. So I'd rather take an approach that encourages connecting with others and public learning. As such, I'm excited to document my journey here on dev.to and to help me &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;maintain accountability and consistency, &lt;/li&gt;
&lt;li&gt;leverage the knowledge and network of the wider developer community here, and &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.swyx.io/learn-in-public"&gt;learn in public&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why Programming?&lt;/strong&gt;&lt;br&gt;
Why does software development appeal to me? Why all the learning? Among other things, it will alllow me to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increase my creativity and ability to logically solve problems&lt;/li&gt;
&lt;li&gt;Increase my neural plasticity and&lt;/li&gt;
&lt;li&gt;Continue on a lifelong path of learning, and eventually cascade that knowledge to others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Resources and Approach&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.theodinproject.com"&gt;The Odin Project&lt;/a&gt; - Primary&lt;/li&gt;
&lt;li&gt;Scrimba, Jonas' JS Course and FreeCodeCamp - for reinforcing obscure concepts&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fullstackopen.com"&gt;Full Stack Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Build projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Goals&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start a software developer job within the next year.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Takeaways&lt;/strong&gt;&lt;br&gt;
There's a ton(!) of things to learn and it's easy to get distracted, so my approach will focus on familiarity and comfort with key programming concepts, understanding JavaScript, using a JS framework, building projects for my portfolio, and then a job search. Thankfully, The Odin Project and Full Stack Open encourage that laser focus.&lt;/p&gt;

&lt;p&gt;I expect to run into mental blocks and learning roadblocks but I'll show grit and doggedness to keep going till I meet my goal. &lt;/p&gt;

&lt;p&gt;I'm confident it's about to be a worthwhile ride...&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>odinproject</category>
    </item>
  </channel>
</rss>
