<?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: Kelvin.eth</title>
    <description>The latest articles on DEV Community by Kelvin.eth (@kelvintech_99).</description>
    <link>https://dev.to/kelvintech_99</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%2F1022031%2Fb587227b-5612-4503-81d3-1733d5b50c98.jpeg</url>
      <title>DEV Community: Kelvin.eth</title>
      <link>https://dev.to/kelvintech_99</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kelvintech_99"/>
    <language>en</language>
    <item>
      <title>Unleashing the Power of GitHub Student Package: Empowering Student Developers</title>
      <dc:creator>Kelvin.eth</dc:creator>
      <pubDate>Fri, 07 Jul 2023 13:29:07 +0000</pubDate>
      <link>https://dev.to/kelvintech_99/unleashing-the-power-of-github-student-packageempowering-student-developers-4186</link>
      <guid>https://dev.to/kelvintech_99/unleashing-the-power-of-github-student-packageempowering-student-developers-4186</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;If you are reading this, you will have come across the word Github, and you might have been using it for your projects already. You will think, Oh, GitHub is a web-based version control and collaboration platform for developers. You are right, but it's more than that. Let's dive right in and learn more.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GitHub Student Package?
&lt;/h2&gt;

&lt;p&gt;We already know GitHub is a web-based platform for developers that encourages collaboration between developers, but there's something more to it. GitHub launched a new program called the GitHub Student Developer Pack to give students free access to popular development tools and services to help them get real-world development experience.&lt;/p&gt;

&lt;p&gt;Do you mean these packages are real and free? Yes, they are, and they are just a sign-up closer to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sign up for the student package
&lt;/h2&gt;

&lt;p&gt;Signing up for GitHub student packages is as Easy as ABC &lt;/p&gt;

&lt;p&gt;To qualify for student benefits, you must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Be currently enrolled in a degree- or diploma-granting course of study such as a high school, secondary school, college, university, homeschool, or similar educational institution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have a verifiable school-issued email address or upload documents that prove your current student status.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have a GitHub user account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Be at least 13 years old.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To apply, please use the &lt;a href="https://education.github.com/discount_requests/application"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of using the GitHub student package
&lt;/h2&gt;

&lt;p&gt;There are numerous benefits to using the GitHub student package, which can help us become better developers and gain real-world development experience. The benefits range from tools to services that can make you productive and also allow us to join great communities and be exposed to others who have great minds like us. Let's look at some of the benefits of using the GitHub student package.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Intro to Web Development&lt;/strong&gt;&lt;br&gt;
The Intro to Web Development Experience gives students the tools to start on a path, no matter how much experience or technical knowledge they currently have.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;br&gt;
Simple cloud hosting, built for developers, gives the benefit of $200 in platform credit for one year!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Namecheap&lt;/strong&gt;&lt;br&gt;
Affordable registration, hosting, and domain management give you the benefits of 1 year of domain name registration on the.me TLD.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;FrontendMasters&lt;/strong&gt;&lt;br&gt;
Advance your skills with in-depth JavaScript, Node.js, and front-end engineering courses. which gives the benefit of Free 6-month access to all courses and workshops.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Heroku&lt;/strong&gt;&lt;br&gt;
A flexible, easy-to-use platform to deploy, run, and manage your apps. which gives a benefit of 13 dollars per month for 12 months.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can check out more when you have signed up for the GitHub student package. there are lots of tools to help you grow as a programmer.&lt;/p&gt;

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

&lt;p&gt;Thank you for taking the time to go through this article. You have learned about the benefits of using the GitHub student package and how amazing and productive it can be for you as a student developer. Hurry, sign up today and start using the GitHub student package.&lt;/p&gt;

&lt;p&gt;If you find this article helpful, please share it with others and give me a follow.&lt;/p&gt;

</description>
      <category>github</category>
      <category>student</category>
      <category>development</category>
      <category>programming</category>
    </item>
    <item>
      <title>Unveiling the Secrets of Blockchain Technology: A Beginner's Guide</title>
      <dc:creator>Kelvin.eth</dc:creator>
      <pubDate>Thu, 22 Jun 2023 21:32:47 +0000</pubDate>
      <link>https://dev.to/kelvintech_99/unveiling-the-secrets-of-blockchain-technology-a-beginners-guide-gck</link>
      <guid>https://dev.to/kelvintech_99/unveiling-the-secrets-of-blockchain-technology-a-beginners-guide-gck</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Over the years, you might have come across terms like &lt;strong&gt;blockchain&lt;/strong&gt;, &lt;strong&gt;ethereum&lt;/strong&gt;, &lt;strong&gt;bitcoin&lt;/strong&gt;, and many others. In this article, you will learn about the Blockchain, what it is, how it works, and some other Blockchain terminologies.&lt;/p&gt;

&lt;p&gt;This article is intended for those with little or no knowledge about blockchain technology.&lt;/p&gt;

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

&lt;p&gt;Think of a tree with multiple branches and leaves and its main root stuck in the ground. A block represents a branch, and a transaction represents a leaf.&lt;/p&gt;

&lt;p&gt;The term's name (&lt;strong&gt;Blockchain&lt;/strong&gt;) derives from a definition of a branch (a collection of leaves bundled together) and from a definition of a block (a collection of transactions bundled together). As the branches of a tree divide up and are linked together in a specific order, the block stores a reference to the previous branch.&lt;/p&gt;

&lt;p&gt;Similar to how a tree distributes nutrients to its branches and leaves, blockchain distributes data across a network. Each node in the network has a copy of the entire blockchain, making it decentralized and resistant to single points of failure ("a single point of failure is part of a system that, if it fails, will affect the entire system).&lt;/p&gt;

&lt;p&gt;According to the above explanation, a Blockchain is a distributed ledger consisting of data blocks shared among nodes of a computer network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Blockchain
&lt;/h2&gt;

&lt;p&gt;A blockchain system is a decentralized system, meaning that control and decision-making are moved from a centralized to a decentralized network. Here are some of the advantages and purposes of blockchain technology:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Immutability&lt;/strong&gt;: Blocks added to a chain cannot be altered or deleted, creating an immutable record of all network transactions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Data is impossible to manipulate or destroy due to its highly attack-resistant nature.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Trust&lt;/strong&gt;: Blockchain creates trust between parties that do not know each other, enabling them to engage in business deals that otherwise would not have been possible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transparency&lt;/strong&gt;: Transactions and data are recorded identically in multiple locations using a distributed ledger. As a result, all network participants have permission to see the same information at the same time, providing full transparency.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Blockchain works
&lt;/h2&gt;

&lt;p&gt;A Blockchain is a distributed ledger consisting of data blocks that are securely linked together via cryptographic hashes. Each block contains &lt;strong&gt;data&lt;/strong&gt;, the &lt;strong&gt;hash of the block&lt;/strong&gt;, and the &lt;strong&gt;hash of the previous block&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The data&lt;/strong&gt; stored in the block depends on the type of blockchain; for example, in the Bitcoin blockchain, the data contains&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sender&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Receiver&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amount&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Hash of the Block&lt;/strong&gt;: A hash is a function that meets the encrypted demands needed to secure information and is one of the backbones of the blockchain network.&lt;/p&gt;

&lt;p&gt;Let’s look at the image below to fully understand what we have defined above.&lt;/p&gt;

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

&lt;p&gt;In the image above, we have three green boxes, each with a Block, Nonce, Data, Prev, and Hash field. You can &lt;a href="https://andersbrownworth.com/blockchain/blockchain"&gt;click&lt;/a&gt; on this to view it properly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first section shows the &lt;strong&gt;block&lt;/strong&gt; number&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The second section shows the &lt;strong&gt;Nonce&lt;/strong&gt; of that particular block. ( A Nonce is a pseudo-random number that can only be used once and is used to verify transactions or perform security checks.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The third section shows the &lt;strong&gt;data&lt;/strong&gt; input field that takes whatever is typed into it and converts it into a unique hash.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The fourth (previous) section contains &lt;strong&gt;the hash of the previous block&lt;/strong&gt; from blocks 2 and above. The prefix of the first block (Genesis Block), meaning the first block of a blockchain, is all in zeros.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Last section is &lt;strong&gt;the hash&lt;/strong&gt; field that contains the unique key of that particular block and serves as the prev for the next block.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;As a result of reading this article, you have gained a basic understanding of blockchain, its benefits, and how it works. Thanks for taking the time to read this article. If you found it interesting, please follow me and share it.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>web3</category>
      <category>bitcoin</category>
      <category>developer</category>
    </item>
    <item>
      <title>Maximizing Your Potential: How to Manage Tech and Schoolwork Like a Pro!</title>
      <dc:creator>Kelvin.eth</dc:creator>
      <pubDate>Sun, 02 Apr 2023 23:15:01 +0000</pubDate>
      <link>https://dev.to/kelvintech_99/maximizing-your-potential-how-to-manage-tech-and-schoolwork-like-a-pro-52jc</link>
      <guid>https://dev.to/kelvintech_99/maximizing-your-potential-how-to-manage-tech-and-schoolwork-like-a-pro-52jc</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;Balancing schoolwork and a tech-focused lifestyle can be challenging for students, as both require a significant amount of time and effort. &lt;br&gt;
At the end of this article, you will find few solutions on how to manage schoolwork and a tech-focused lifestyle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/5zf2M4HgjjWszLd4a5/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5zf2M4HgjjWszLd4a5/giphy.gif" width="480" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges faced as a student in tech
&lt;/h3&gt;

&lt;p&gt;For students interested in or already working in technology, the thought of juggling it with your schoolwork would have been overwhelming. There are a lot of students who find this challenging, especially in college.&lt;/p&gt;

&lt;p&gt;Now let's look at some challenges that students may face while trying to balance these two aspects of their live&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l2YWFxG9GxXk8A7w4/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l2YWFxG9GxXk8A7w4/giphy.gif" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Time Management
&lt;/h4&gt;

&lt;p&gt;In the tech industry, managing your time effectively is one of the biggest challenges. While keeping up with the latest trends and developments in their field, students also need to balance schoolwork, extracurricular activities, internships, and other commitments.&lt;/p&gt;

&lt;h4&gt;
  
  
  A healthy-work life
&lt;/h4&gt;

&lt;p&gt;It can be difficult for students to maintain a healthy work-life balance while juggling schoolwork and a tech-focused lifestyle. As a result, they may experience burnout and stress, which may adversely affect their academic performance and mental health.&lt;/p&gt;

&lt;p&gt;The tech industry is fast-paced and ever-changing, which can be both exciting and overwhelming. Students may struggle to stay focused on their schoolwork when they are constantly bombarded with new information and developments in the tech world.&lt;/p&gt;

&lt;h4&gt;
  
  
  Less time for self-care
&lt;/h4&gt;

&lt;p&gt;In the tech industry, there is a culture of working long hours and sacrificing personal time for career advancement. Students may struggle to find time for self-care activities like exercise, hobbies, and socializing, which can impact their overall wellbeing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/6gf7lO4LJVNsySzBgT/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/6gf7lO4LJVNsySzBgT/giphy.gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Solutions
&lt;/h3&gt;

&lt;p&gt;Great, we have talked about some common challenges students in the tech industry face, now let's talk about a few solutions to these problems.&lt;/p&gt;

&lt;h4&gt;
  
  
  Resting when necessary
&lt;/h4&gt;

&lt;p&gt;The pressures of keeping up with good grades and also balancing tech may often lead students to suffer body breakdowns, fall ill or be so tired as a result of stress. This challenge can be addressed by taking a break, spending some time with friends and family, reading educational books, and most importantly resting the body through naps or a good night's sleep.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stay productive
&lt;/h4&gt;

&lt;p&gt;Students often become less productive due to burnout, too much workload in both schoolwork and tech industry. It can be quite challenging since some might give up on academics or technology altogether. To address this, students can attend industry conferences and workshops, subscribe to tech blogs and newsletters, and join tech-related groups on social media. &lt;/p&gt;

&lt;p&gt;They can also consider reading technical articles to keep up the interest, and also school related clubs to keep up with their grades.&lt;/p&gt;

&lt;h4&gt;
  
  
  Plan your schedules
&lt;/h4&gt;

&lt;p&gt;As mentioned above, one of the challenges college students face is managing their time effectively. To address this challenge, students can use tools like calendars, reminders, and to-do lists to keep track of deadlines and prioritize tasks. Another option is to divide large tasks into smaller, manageable chunks and tackle them individually. A draft schedule should also include reading time, coding time, and doing schoolwork and tech related tasks&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/8kQDReAW52xAuy79uP/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/8kQDReAW52xAuy79uP/giphy.gif" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Thank you for reading my blog! I hope you found it informative and valuable. I hope reading this would help you in managing your school work and being productive in tech too.&lt;/p&gt;

&lt;p&gt;If you learned something new, please kindly share with others. You can follow me on &lt;a href="https://twitter.com/Kel_vinTech"&gt;Twitter&lt;/a&gt; and tag me in your post so I can see it too.&lt;/p&gt;

&lt;p&gt;Kindly share to help others too! ❤️&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>news</category>
    </item>
    <item>
      <title>What you need to know before transitioning from JavaScript to React: A Guide</title>
      <dc:creator>Kelvin.eth</dc:creator>
      <pubDate>Mon, 06 Mar 2023 17:48:57 +0000</pubDate>
      <link>https://dev.to/kelvintech_99/what-you-need-to-know-before-transitioning-from-javascript-to-react-a-guide-1ij7</link>
      <guid>https://dev.to/kelvintech_99/what-you-need-to-know-before-transitioning-from-javascript-to-react-a-guide-1ij7</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This article is intended for developers who have little or no knowledge about JavaScript but would like to transition into ReactJs. JavaScript is a widely-used programming language which plays an important role in modern web development. It is used for building functional and interactive user interfaces. ReactJs on the other hand is a popular JavaScript library for building web applications. In this article we’ll guide you through important JavaScript concepts to learn before taking ReactJs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Article Objective
&lt;/h2&gt;

&lt;p&gt;At the end of this article, the reader will learn about the important concept required for a solid background in JavaScript before transitioning into ReactJs. Also the reader would learn by seeing coding examples of some concept and get resources to further understand each concept listed below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Variables and Data types
&lt;/h2&gt;

&lt;p&gt;In JavaScript, variables are “named storage” for data. Variables can be used to store data such as strings, arrays and numbers e.t.c. Variables can be declared by using the “var” keyword, followed by the name of the variable and the assigned value which could be (strings, numbers or arrays).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
var name = "David"; // strings&lt;br&gt;
var radius = 2.77; // number&lt;br&gt;
var user = {&lt;br&gt;
name: "John Doe",&lt;br&gt;
age: 30&lt;br&gt;
} // object&lt;br&gt;
var isDark = false; // boolean&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Learn more about JavaScript variables &lt;a href="https://javascript.info/variables"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data types in JavaScript describe the kind of data that can be stored in variables. It includes;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strings&lt;/li&gt;
&lt;li&gt;Numbers&lt;/li&gt;
&lt;li&gt;Symbol&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Object&lt;/li&gt;
&lt;li&gt;Null&lt;/li&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;li&gt;Bigint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can learn more about them &lt;a href="https://javascript.info/types"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Operators and Expression
&lt;/h2&gt;

&lt;p&gt;Operators are used to perform mathematical or logical operations between operands. Some common operators includes;&lt;/p&gt;

&lt;p&gt;. Arithmetic operators&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Addition (+)&lt;/li&gt;
&lt;li&gt;Subtraction (-)&lt;/li&gt;
&lt;li&gt;Multiplication (*)&lt;/li&gt;
&lt;li&gt;Division (/)&lt;/li&gt;
&lt;li&gt;Modulus (%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;. Logical operators&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AND ( &amp;amp;&amp;amp; )&lt;/li&gt;
&lt;li&gt;OR  ( || )&lt;/li&gt;
&lt;li&gt;NOT ( ! )&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;. Comparison operators&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Greater than (&amp;gt;)&lt;/li&gt;
&lt;li&gt;Less than (&amp;lt;)&lt;/li&gt;
&lt;li&gt;Equals to ( ==)&lt;/li&gt;
&lt;li&gt;Not equals to ( !=)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Expressions are combinations of variables, values and operators that produce results. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;var x = 20;&lt;br&gt;
var y = 15;&lt;br&gt;
var score = x + y; // 35&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Functions
&lt;/h2&gt;

&lt;p&gt;Functions are reusable blocks of code that performs a specific task, and can be called anywhere in your program. This eliminates the need of rewriting the same code again. Functions takes input (arguments) and returns output (return values) and its declared using the “&lt;strong&gt;function&lt;/strong&gt;” keyword. For example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function addNumbers(a, b) {&lt;br&gt;
  return a + b;&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The above example creates a function “&lt;strong&gt;addNumbers&lt;/strong&gt;” that takes two parameters ( “&lt;strong&gt;a&lt;/strong&gt;” and “&lt;strong&gt;b&lt;/strong&gt;” ) and returns their sum when called. Lets see a real example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function addNumbers(a, b) {&lt;br&gt;
  return a + b;&lt;br&gt;
}&lt;br&gt;
addNumber(3,2); // output = 5;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The above example calls the functions with two parameters ( &lt;strong&gt;3&lt;/strong&gt; , &lt;strong&gt;2&lt;/strong&gt;) and the returned value after execution is &lt;strong&gt;5&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Learn more about functions &lt;a href="https://www.javatpoint.com/javascript-function"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conditional Statement
&lt;/h2&gt;

&lt;p&gt;A conditional statement allows you to execute code only if a certain condition is met. There are several types of conditional statements in JavaScript, the most common of which is the if-else statement. It allows you to execute code if a program is true and another block of code if the statement is false. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;var score = 20;&lt;br&gt;
if (score &amp;gt;= 20) {&lt;br&gt;
console.log("you passed")&lt;br&gt;
}else{&lt;br&gt;
console.log("try again")&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The first condition ran successfully, because the score was equal to 20. Learn more about conditional statements &lt;a href="https://javascript.info/ifelse"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Loops
&lt;/h2&gt;

&lt;p&gt;Loops allows you to write a block of code over and over again or until a condition is met. The two most commonly used loops are “&lt;strong&gt;For&lt;/strong&gt;” and “&lt;strong&gt;While&lt;/strong&gt;” loops.&lt;/p&gt;

&lt;p&gt;For loops creates a statement with 3 optional expressions;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
for (expression 1; expression 2; expression 3) {&lt;br&gt;
  statement&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expression 1 is executed (one time) before the execution of the code block.&lt;/li&gt;
&lt;li&gt;Expression 2 defines the condition for executing the code block.&lt;/li&gt;
&lt;li&gt;Expression 3 is executed (every time) after the code block has been executed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;for ( i = 0; i &amp;lt; 10; i++){&lt;br&gt;
 console.log(i) // 0,1,2,3,4,5,6,7,8,9&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;While loop repeats a block of code as long as the condition is true. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;var i = 0;&lt;br&gt;
while (i &amp;lt; 10) {&lt;br&gt;
 console.log(i);&lt;br&gt;
 i++;&lt;br&gt;
} // 0,1,2,3,4,5,6,7,8,9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Learn more about loops &lt;a href="https://javascript.info/while-for"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Arrays and array methods
&lt;/h2&gt;

&lt;p&gt;Arrays are ordered lists of values and each value is an element specified with an index. &lt;br&gt;
Arrays are declared using the square bracket ‘ *&lt;em&gt;[ ] *&lt;/em&gt;“ and its elements are separated by commas. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const myArray = [“baby”, "two", 1,  true];&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The above example creates an array “myArray” which contains 2 strings ( “baby” and “two”), a number (1) and a boolean (true).&lt;/p&gt;

&lt;p&gt;Array methods are built-in functions that allows you to manipulate the content of an array, it includes;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;push(): Adds one or more elements to the end of the array.&lt;/li&gt;
&lt;li&gt;pop(): Removes the last element from the array and returns it.&lt;/li&gt;
&lt;li&gt;shift(): Removes the first element from the array and returns it.&lt;/li&gt;
&lt;li&gt;unshift(): Adds one or more elements to the beginning of the array.&lt;/li&gt;
&lt;li&gt;slice(): Returns a new array that contains a subset of the original array.&lt;/li&gt;
&lt;li&gt;splice(): Removes or replaces elements in the array and returns the removed elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more about Array and its methods &lt;a href="https://www.javatpoint.com/javascript-array"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Destructing
&lt;/h2&gt;

&lt;p&gt;In ES6, we are able to extract data from arrays and objects into distinct variables using destructive assignment.&lt;br&gt;
The process of destructuring an array involves creating variables to correspond to the elements of the array. For example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const myArray = [1, 2, 3, 4, 5];&lt;br&gt;
const [a, b, c, d, e] = myArray;&lt;br&gt;
console.log(a, b, c, d, e); // Output: 1 2 3 4 5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the above example, the variables “&lt;strong&gt;a, b, c, d, e&lt;/strong&gt;” are created and assigned to the variables in “&lt;strong&gt;myArray&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;You can learn more about Destructing in JavaScript &lt;a href="https://javascript.info/destructuring-assignment"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Template literals
&lt;/h2&gt;

&lt;p&gt;Template literals are ECMAScript 6 (ES6) features that allow you to embed expressions and variables in strings. Template literals are enclosed in backticks (`) and can include placeholders for expressions, using the dollar sign ( &lt;strong&gt;$&lt;/strong&gt; ) syntax. For example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const name = "David";&lt;br&gt;
const greeting = &lt;/code&gt;Hello, ${name}!&lt;code&gt;;&lt;br&gt;
console.log(greeting); // Output: Hello, David!&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
In the above example, the variable &lt;strong&gt;name&lt;/strong&gt; is embedded inside the string using the &lt;strong&gt;${}&lt;/strong&gt; syntax, allowing you to create a dynamic string that incorporates the value of the name variable.&lt;/p&gt;

&lt;p&gt;Learn more about Template literals &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ternary operators
&lt;/h2&gt;

&lt;p&gt;Ternary operator is a shorthand way of writing an if statement. It is a way of expressing if statement in a single line of code. The syntax is written below;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;condition ? expression1 : expression2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example of a ternary operator is found below;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;var score = 25;&lt;br&gt;
var result  = score &amp;gt;= 20 ? "You passed : "Try again.";&lt;br&gt;
console.log(result); // You passed.&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
In the above example, the ternary operator checks to see if the value of &lt;strong&gt;score&lt;/strong&gt; is greater than or equals to 20. If true, the text “&lt;strong&gt;You passed&lt;/strong&gt;” is assigned to the variable result. If not, the variable “&lt;strong&gt;Try again&lt;/strong&gt;” is assigned to the variable &lt;strong&gt;result&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Learn more about Ternary operators &lt;a href="https://javascript.info/ifelse#conditional-operator"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Modules Import / Export
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Import&lt;/strong&gt; and &lt;strong&gt;Export&lt;/strong&gt; are new features in JavaScript introduced to allow the reusability of codes. Its keywords “Import” and “Export” help to utilize the code of one file to another, divide the code into smaller, reusable parts and also makes it very easy to maintain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Export&lt;/strong&gt;: You can export values, functions, or objects from a module using the export statement. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// module.js&lt;br&gt;
export const myFunction = () =&amp;gt; {&lt;br&gt;
 console.log("Hello, David");&lt;br&gt;
};&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;import&lt;/strong&gt; : you can also import values or functions from a module using the import statement. For example;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;// main.js&lt;br&gt;
import { myFunction } from "./module";&lt;br&gt;
myFunction(); // Output: Hello, David!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the above example, we exported the “&lt;strong&gt;myFunction&lt;/strong&gt;” from the “&lt;strong&gt;module.js&lt;/strong&gt;” file and imported it into the “&lt;strong&gt;main.js&lt;/strong&gt;” file. This process can allow us use the “&lt;strong&gt;module.js&lt;/strong&gt;” in multiple file by just exporting and importing it when needed.&lt;/p&gt;

&lt;p&gt;You can learn more about Import and Export &lt;a href="https://javascript.info/import-export"&gt;here&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The above-mentioned topics are important and relevant topics in JavaScript every developer is expected to know before transitioning to ReactJS.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>guide</category>
    </item>
    <item>
      <title>6 Programming Principles You Should Know</title>
      <dc:creator>Kelvin.eth</dc:creator>
      <pubDate>Wed, 22 Feb 2023 23:30:15 +0000</pubDate>
      <link>https://dev.to/kelvintech_99/6-programming-principles-you-should-know-a5l</link>
      <guid>https://dev.to/kelvintech_99/6-programming-principles-you-should-know-a5l</guid>
      <description>&lt;p&gt;It's always easy for a programmer to write codes, but it becomes a difficult task to write clean, well structured and easy to read codes. Writing a clean code is a task every programmer should practice.&lt;br&gt;
In this article I will give you a comprehensive overview of programming principles to make you a better programmer.&lt;/p&gt;

&lt;h2&gt;
  
  
  DRY (Don’t Repeat Yourself)
&lt;/h2&gt;

&lt;p&gt;The DRY principle suggests that we refactor our multiple pieces of code that does the same function into a single and simple reusable function, that can be called or used throughout the project. This practice enables us to reduce the amount of code in the project and also makes it easier to read, maintain and modify in the future.&lt;/p&gt;

&lt;p&gt;In addition to reducing code complexity, the DRY principles also encourages programmers to avoid duplication of codes and data in projects, which reduces bugs and errors in your project when followed.&lt;/p&gt;

&lt;p&gt;In general, The DRY principles promote code efficiency, readability and maintainability.&lt;/p&gt;

&lt;h2&gt;
  
  
  SOC(Separation Of Concern)
&lt;/h2&gt;

&lt;p&gt;The SOC principle requires you to break down your programs into sections and modules which have a clearly defined purpose or concern. It suggests that your program should be divided into smaller and manageable parts that are focused on a specific aspect of the project’s functionality.&lt;/p&gt;

&lt;p&gt;The Separating concern allows changes made to one part of the program to have minimal impact on other parts. This makes it easier to maintain or modify each individual part of the program without affecting the entire program, thereby leading to less errors or bugs in the program.&lt;/p&gt;

&lt;p&gt;Adhering to the SOC principles helps to improve code quality and makes code easier to maintain, modify and reduce chances of errors or bugs.&lt;/p&gt;

&lt;h2&gt;
  
  
  YAGNI (You Are Not Going to Need It)
&lt;/h2&gt;

&lt;p&gt;This principle emphasizes on keeping your programs simple and avoiding complex features in software development.&lt;/p&gt;

&lt;p&gt;This is to ensure time management and efforts on features of a program that are unlikely to be used, and to focus on features that meet the immediate requirement of your project.&lt;/p&gt;

&lt;p&gt;By following this principle, you can keep your codebase simple and maintainable and also help reduce the risk of bugs and errors.&lt;/p&gt;

&lt;h2&gt;
  
  
  DYC (Document Your Code)
&lt;/h2&gt;

&lt;p&gt;DYC emphasizes the importance of documenting your codes. This principle makes your code more readable, understandable and maintainable, for you and any other programmer who may need to use your code in the future.&lt;/p&gt;

&lt;p&gt;Documenting your code as a programmer is a good practice but writing good documentation is a more concise and advisable practice as a programmer.&lt;/p&gt;

&lt;p&gt;Good documentation can help other programmers understand the purpose, structure and other relevant dependencies in your code, which is essential for debugging and modifying or updating the code.&lt;/p&gt;

&lt;p&gt;Documentation Can be written in different form;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comments with codes&lt;/li&gt;
&lt;li&gt;README files&lt;/li&gt;
&lt;li&gt;User guides &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adhering to the DYC principles, can help to improve the quality and maintainability of your code and also makes it easier for other programmers to work with your codes.&lt;/p&gt;

&lt;h2&gt;
  
  
  SLAP (Single Level Of Abstraction)
&lt;/h2&gt;

&lt;p&gt;The slap principle proposes that code should have a single level of abstraction. That is, a block of code should not mix what the code does and how it works. As SLAP promotes code clarity, maintainability, and reusability, functions and modules are focused on completing one task at a time.&lt;/p&gt;

&lt;p&gt;The code is easier to read, understand, and modify when it is at the same level of abstraction, since it is modular, and each piece can be understood independently.&lt;/p&gt;

&lt;p&gt;Thus, code in a function or module should be at the same abstraction level and should not mix lower-level implementation details with higher-level business logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  KISS ( Keep It Simple Stupid)
&lt;/h2&gt;

&lt;p&gt;KISS (Keep It Simple, Stupid) is a principle which advocates keeping systems, software, or any solution as simple as possible.&lt;/p&gt;

&lt;p&gt;The purpose of this principle is to avoid unnecessary complexity and to focus on the most essential features or components of a project.&lt;/p&gt;

&lt;p&gt;In General, KISS provides developers with a useful guideline for creating software that is easy to understand, maintain, and use, as well as that delivers a good user experience.&lt;/p&gt;

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

&lt;p&gt;In this article you have learnt about the 6 programming principles you should know and apply to become a better programmer and also to practice well, structured and easy to read codes.&lt;br&gt;
Thanks for reading.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
  </channel>
</rss>
