<?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: Ayodeji Akintubi</title>
    <description>The latest articles on DEV Community by Ayodeji Akintubi (@ayodeji75).</description>
    <link>https://dev.to/ayodeji75</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%2F1070977%2F12471c95-c143-4876-9a48-f7f0e9d83d5c.png</url>
      <title>DEV Community: Ayodeji Akintubi</title>
      <link>https://dev.to/ayodeji75</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayodeji75"/>
    <language>en</language>
    <item>
      <title>How to fix "react-scripts" is not recognized as an internal or external command</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Mon, 08 Sep 2025 11:42:33 +0000</pubDate>
      <link>https://dev.to/ayodeji75/how-to-fix-react-scripts-is-not-recognized-as-an-internal-or-external-command-3b6p</link>
      <guid>https://dev.to/ayodeji75/how-to-fix-react-scripts-is-not-recognized-as-an-internal-or-external-command-3b6p</guid>
      <description>&lt;p&gt;This error means react-scripts isn’t installed or isn’t properly accessible. Some solutions are: &lt;/p&gt;

&lt;p&gt;a.  &lt;strong&gt;Install react-scripts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most common cause of this error is the absence of react-scripts. Install it: &lt;br&gt;
npm install react-scripts&lt;br&gt;
or&lt;br&gt;
yarn add react-scripts&lt;/p&gt;

&lt;p&gt;b.  &lt;strong&gt;Check if you’re in the correct directory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ensure you’re running the command from the root directory of your React project, where package.json and other related files are located. If you’re not in the root directory, navigate there with this command:&lt;br&gt;
cd your-react-project-folder&lt;/p&gt;

&lt;p&gt;c.  &lt;strong&gt;Reinstall node_modules&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes, a corrupt installation may trigger the problem. Fix it by deleting existing installations with this command: &lt;br&gt;
rm –rf node_modules package-lock.json&lt;/p&gt;

&lt;p&gt;Then, reinstall everything: &lt;br&gt;
npm install&lt;/p&gt;

&lt;p&gt;d.**    Check your package.json**&lt;/p&gt;

&lt;p&gt;Ensure react-scripts is listed in dependencies: &lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
“dependencies”: {&lt;br&gt;
    “react-scripts”: “^5.0.1”&lt;br&gt;
},&lt;br&gt;
“scripts”: {&lt;br&gt;
“start”: “react-scripts start”&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;If react-scripts exists, but it’s not version “^5.0.1”, but something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjr5u5kbqez2vsrhsgjy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjr5u5kbqez2vsrhsgjy.png" alt=" " width="769" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;install react-scripts as a dependency with this command: &lt;br&gt;
Npm install react-scripts&lt;br&gt;
Or&lt;br&gt;
Yarn add react-scripts&lt;/p&gt;

&lt;p&gt;The command will add react-scripts in package.json and install it in node_modules&lt;/p&gt;

&lt;p&gt;After the installation, your package.json should look like this: &lt;br&gt;
{&lt;br&gt;
“dependencies”: {&lt;br&gt;
 "react": "^19.1.1",&lt;br&gt;
    "react-dom": "^19.1.1",&lt;br&gt;
    "react-scripts": "5.0.1"&lt;br&gt;
},&lt;br&gt;
"scripts": {&lt;br&gt;
    "start": "react-scripts start",&lt;br&gt;
    "build": "react-scripts build",&lt;br&gt;
    "test": "react-scripts test",&lt;br&gt;
    "eject": "react-scripts eject"&lt;br&gt;
  }}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkrs5qv22d11fviy73mc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkrs5qv22d11fviy73mc.png" alt=" " width="763" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does ^0.0.0 happen?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This error occurs when: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm cache corruption&lt;/li&gt;
&lt;li&gt;Network issues during installation&lt;/li&gt;
&lt;li&gt;Interrupted installation process&lt;/li&gt;
&lt;li&gt;Version resolution conflict
If the solutions above don’t fix the problem, recreate the project with: 
Npx create-react-app my-new-app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then,&lt;br&gt;
Cd my-new-app&lt;/p&gt;

&lt;p&gt;After reinstalling and recreating the project, the command should work correctly. &lt;/p&gt;

&lt;p&gt;If this helps you fix the error, kindly share your experience in the comment section. &lt;/p&gt;

&lt;p&gt;Background image credit: Infy SKY&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>react</category>
    </item>
    <item>
      <title>How to Solve "Error Getting Location: Only Secured Origins are Allowed" Error in JavaScript</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Wed, 08 Nov 2023 07:21:01 +0000</pubDate>
      <link>https://dev.to/ayodeji75/how-to-solve-error-getting-location-only-secured-origins-are-allowed-error-in-javascript-400h</link>
      <guid>https://dev.to/ayodeji75/how-to-solve-error-getting-location-only-secured-origins-are-allowed-error-in-javascript-400h</guid>
      <description>&lt;p&gt;In the dynamic landscape of web development, harnessing the power of geolocation is a common requirement for creating interactive and personalized user experiences. &lt;/p&gt;

&lt;p&gt;However, when attempting to access location information through JavaScript, you may encounter a common stumbling block – the "Error Getting Location: Only Secure Origins are Allowed." &lt;/p&gt;

&lt;p&gt;This error message signals a security measure implemented by browsers to restrict geolocation services to secure (HTTPS) origins. &lt;/p&gt;

&lt;p&gt;In this guide, we will delve into the intricacies of this error, understand why it occurs, and explore practical solutions to navigate through this challenge. &lt;/p&gt;

&lt;p&gt;By the end, you'll be equipped with the knowledge to seamlessly integrate geolocation services into your web applications, ensuring a secure and reliable user experience. &lt;/p&gt;

&lt;p&gt;Let's unravel the mystery behind this error and discover the key strategies to overcome it in JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Triggers the Error?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The "Error Getting Location: Only Secured Origins are Allowed" in JavaScript is triggered as a security measure implemented by web browsers. This error specifically restricts the use of the Geolocation API to secure origins, which generally means websites served over HTTPS (Hypertext Transfer Protocol Secure).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Non-Secure Origins (HTTP)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most common trigger is attempting to access geolocation services from a non-secure origin, i.e., a website served over HTTP. Browsers enforce this security policy to protect users' sensitive location data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Mixed Content Policy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your website is served over HTTPS but includes resources (such as scripts, images, or stylesheets) loaded over HTTP, it might still trigger the error. Browsers follow a mixed content policy, and any non-secure resource within a secure context can lead to a geolocation error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Localhost Exception&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While developing locally, accessing geolocation on localhost is usually allowed, even without HTTPS. However, some browsers may still enforce HTTPS even on localhost in certain cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why the Restriction?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Security and Privacy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Geolocation data is sensitive as it can pinpoint a user's physical location. Requiring a secure connection ensures that this information is transmitted over an encrypted channel, safeguarding it from potential eavesdropping or man-in-the-middle attacks.&lt;br&gt;
Data Integrity:&lt;/p&gt;

&lt;p&gt;HTTPS helps maintain the integrity of the data exchanged between the user's device and the server. Without encryption, there is a higher risk of data tampering during transmission.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solutions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Use HTTPS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The primary solution is to serve your website over HTTPS. Obtain an SSL/TLS certificate for your domain and configure your web server to enable secure connections.&lt;br&gt;
Local Development:&lt;/p&gt;

&lt;p&gt;During local development, geolocation access on localhost is often permitted. However, some browsers may enforce HTTPS even locally. Ensure that your development environment is configured appropriately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Avoid Mixed Content&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your website is served over HTTPS, ensure that all resources, including scripts, images, and stylesheets, are also loaded securely. Address any mixed content issues to prevent the geolocation error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Install Node.JS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A surefire way to solve this error is to install Node.JS on your PC and launch your application via it. &lt;br&gt;
visit &lt;a href="https://nodejs.org/en"&gt;https://nodejs.org/en&lt;/a&gt; to download it&lt;/p&gt;

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

&lt;p&gt;When I encountered the problem, I chose the "Recommended For Most Users" option and installed it in no time. &lt;/p&gt;

&lt;p&gt;When you've successfully installed Node.JS, relaunch the application and you're good to go. &lt;/p&gt;

&lt;p&gt;Open your terminal or Command prompt and run the following commands:&lt;br&gt;
npm install -g http-server&lt;/p&gt;

&lt;p&gt;Navigate to your project directory &lt;/p&gt;

&lt;p&gt;cd /path/to/your/project &lt;/p&gt;

&lt;p&gt;Find your project folder and launch it&lt;/p&gt;

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

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

&lt;p&gt;Understanding these triggers and implementing secure practices will help you overcome the "Error Getting Location: Only Secured Origins are Allowed" in JavaScript, ensuring a secure and reliable geolocation service for your users.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Create a Draughts Game Board with HTML, CSS, and JavaScript</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Mon, 28 Aug 2023 22:55:49 +0000</pubDate>
      <link>https://dev.to/ayodeji75/how-to-create-a-draughts-game-board-with-html-css-and-javascript-2j1n</link>
      <guid>https://dev.to/ayodeji75/how-to-create-a-draughts-game-board-with-html-css-and-javascript-2j1n</guid>
      <description>&lt;p&gt;Otherwise known as Checkers, draughts "is a group of strategy board games for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces."&lt;/p&gt;

&lt;p&gt;You can create an amazing draughts game board with HTML, CSS, and JavaScript. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML Session&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the HTML section, create the board's skeleton with the table tag and its elements. &lt;/p&gt;

&lt;p&gt;The draughts board consists of 64 cells with alternating black and white colors. &lt;/p&gt;


&lt;div class="table-wrapper-paragraph"&gt;&lt;table id="game-board"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

&amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

&amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

&amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

&amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

&amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;

  &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;

  &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;CSS Section&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Define the draught's properties such as the board size, cells, and color in this section. &lt;/p&gt;

&lt;p&gt;table {&lt;br&gt;
      border-collapse: collapse;&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;td {
  border: 1px solid black;
  padding: 3px 5px;
  width: 50px; 
  height: 50px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;body {&lt;br&gt;
  display: flex;&lt;br&gt;
  justify-content: center;&lt;br&gt;
  align-items: center;&lt;br&gt;
  height: 100vh;&lt;br&gt;
  margin: 0;&lt;br&gt;
  background-color: #f0f0f0;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.game-board {&lt;br&gt;
  border-collapse: collapse;&lt;br&gt;
  border: 2px solid #000;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.cell {&lt;br&gt;
  width: 50px;&lt;br&gt;
  height: 50px;&lt;br&gt;
  text-align: center;&lt;br&gt;
  vertical-align: middle;&lt;br&gt;
  font-size: 24px;&lt;br&gt;
  cursor: pointer;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.black {&lt;br&gt;
  background-color: #000;&lt;br&gt;
  color: #fff;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript Section&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is where you define the alternating black and white colors. &lt;/p&gt;

&lt;p&gt;let table = document.getElementById("game-board");&lt;/p&gt;

&lt;p&gt;let rows = table.getElementsByTagName("tr");&lt;/p&gt;

&lt;p&gt;for (let i = 0; i &amp;lt; rows.length; i++) {&lt;br&gt;
  let cells = rows[i].getElementsByTagName("td");&lt;/p&gt;

&lt;p&gt;for (let j = 0; j &amp;lt; cells.length; j++) {&lt;br&gt;
    if ((i + j) % 2 === 0) {&lt;br&gt;
      cells[j].style.backgroundColor = "black";&lt;br&gt;
    } else {&lt;br&gt;
      cells[j].style.backgroundColor = "white";&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
You can effortlessly create the a checkers board with the above code&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Webflow or WordPress: A Comprehensive Comparison of Two Web Development Titans</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Sun, 13 Aug 2023 20:50:59 +0000</pubDate>
      <link>https://dev.to/ayodeji75/webflow-or-wordpress-a-comprehensive-comparison-of-two-web-development-titans-hpa</link>
      <guid>https://dev.to/ayodeji75/webflow-or-wordpress-a-comprehensive-comparison-of-two-web-development-titans-hpa</guid>
      <description>&lt;p&gt;In the ever-expanding web development universe, two towering behemoths stand as beacons of innovation and creativity: Webflow and WordPress. &lt;/p&gt;

&lt;p&gt;Picture this: On one hand is a web development platform that offers a canvas where design dreams come alive with a wave of a virtual brush, while on the other hand is a platform that transforms code into a symphony of functionalities through an avalanche of performance-enhancing plugins. &lt;/p&gt;

&lt;p&gt;Welcome to the ultimate showdown – a tale of two titans vying for the throne of the best web development platform. &lt;/p&gt;

&lt;p&gt;So, tighten your seatbelts as we embark on a journey through the intricacies, possibilities, and unique worlds of Webflow and WordPress where you'll find satisfying answers to some common questions such as Which is better, Webflow or Wordpress?  What is easier, Webflow or WordPress?. &lt;/p&gt;

&lt;p&gt;By the end, you'll be able to make an informed decision when contemplating which of the two is ideal for your next web development project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webflow: The Modern Canvas of Design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Webflow?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Webflow is a new cloud-based Content Management System (CMS) headquartered in San Francisco, USA.  Founded in 2013, the paid software as a service (SaaS) design tool operates in the web browser and allows smooth and swift website or online store creation. &lt;/p&gt;

&lt;p&gt;Webflow is gradually shifting the web development paradigm with its emphasis on no-code, visual design, low-code, and efficient workload while offering them a visual interface to design and build websites without extensive coding knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webflow's Outstanding Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some outstanding features that are driving Webflow's popularity through the roof are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visual Design and Responsive Design:&lt;/strong&gt; Webflow's standout feature lies in its visual design capabilities. Designers can create pixel-perfect layouts using the intuitive drag-and-drop interface.&lt;/p&gt;

&lt;p&gt;Additionally, Webflow allows for creating responsive designs, ensuring websites look and function seamlessly across various devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No-Code/Low-Code Flexibility:&lt;/strong&gt; Webflow empowers users who are not well-versed in coding to build complex websites. With its user-friendly interface and pre-built components, beginners can dive into web development without the steep learning curve of traditional coding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CMS and E-Commerce:&lt;/strong&gt; Webflow offers a built-in content management system (CMS) that facilitates content creation and management. While it doesn't offer robust extensions and plugins as WordPress, it provides essential content management features. &lt;/p&gt;

&lt;p&gt;Its ever-improving e-commerce capabilities make it a viable option for small online stores, freelancers, and other professionals who are looking for the best alternative to WordPress. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosting and Performance:&lt;/strong&gt; Webflow offers hosting directly within the platform, ensuring smooth integration of design and hosting. Additionally, Webflow's hosting is optimized for speed and performance, which contributes to faster loading times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Powerful visual editor. &lt;br&gt;
• Plugins aren’t necessary.&lt;br&gt;
• Paying customers have access to direct customer support. &lt;br&gt;
• Impressive performance optimization. &lt;br&gt;
• Amazing on-site and on-page SEO.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• It can be more expensive than WordPress.&lt;br&gt;
• Low third-party integration. &lt;br&gt;
• Smaller plugin library. &lt;br&gt;
• Its flexible editor can be overwhelming&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Target Audience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This great web development tool is ideal for small business owners, solopreneurs, web design agencies, freelance web designers, tech companies, and large brands. &lt;/p&gt;

&lt;p&gt;On the other side of the spectrum stands WordPress, a longstanding and highly popular content management system that has powered millions of websites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WordPress: The Versatile Powerhouse&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is WordPress?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;WordPress is a highly popular and longstanding CMS that has powered millions of websites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WordPress' Outstanding Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;WordPress currently powers most of the world's websites, thanks to its impressive features that include: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customization and Plugins:&lt;/strong&gt; WordPress is renowned for its unparalleled customization options. With a vast library of easily-integratable plugins and themes and plugins, users can add performance-boosting functionalities such as SEO optimization.&lt;/p&gt;

&lt;p&gt;Membership sites and forums can also be added to a website via the appropriate plugins. This extensibility has contributed to its widespread adoption across diverse industries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community and Support:&lt;/strong&gt; WordPress can boast a vast user community where users can access a wealth of tutorials, resources, and forums. The active community also assists with troubleshooting and finding relatively straightforward solutions to issues. This is one of the fundamental factors behind WordPress’s growth and acceptance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SEO and Blogging:&lt;/strong&gt; WordPress has more robust SEO capabilities, thanks to its array of integrations and SEO plugins and integrations which makes it popular among bloggers who appreciate SEO-friendly structure. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Relatively cheap. &lt;br&gt;
• Responsiveness guaranteed.&lt;br&gt;
• Modular.&lt;br&gt;
• SEO-friendly&lt;br&gt;
• Ideal for an array of websites. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Too much plugins.&lt;br&gt;
• Security vulnerabilities. &lt;br&gt;
• Coding knowledge is required. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webflow vs WordPress Comparison at a Glance&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Security&lt;/strong&gt;
Webflow has built-in security features that make it better secured than WordPress while developers need to integrate appropriate plugins into a WordPress site to boost its security. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Themes/Templates&lt;/strong&gt;
Webflow offers over 1,000 themes or templates to choose from while WordPress offers over 10,000 templates. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Customization&lt;/strong&gt;
As a no-code tool, Webflow is easily customizable while you need plugins to customize a WordPress site. The plugins can sometimes be limited. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Ease of Setup&lt;/strong&gt;
Webflow is super easy to set up, one of the major reasons it’s the preferred choice of non-coders while you need some coding skills to set a WordPress site up. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;SEO Optimization&lt;/strong&gt;
Webflow offers limited automated SEO optimization while appropriate plugins are required for SEO optimization on WordPress websites.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;When to Choose Webflow:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;• If you have zero or little coding skills and experience. &lt;br&gt;
• You want a swift web development and launch. &lt;br&gt;
• You don’t want to outsource your web development. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to Choose WordPress:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• You have coding experience. &lt;br&gt;
• You can afford to outsource web development. &lt;br&gt;
• You are familiar with plugins and their integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which is Right for You?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choosing between Webflow and WordPress ultimately depends on your project's scope, your skillset, and your goals. If you're a designer seeking creative freedom without getting deep into coding, Webflow could be your go-to solution. &lt;/p&gt;

&lt;p&gt;On the other hand, if you're looking for a versatile platform that can accommodate complex websites and offers extensive plugin options, WordPress might be the better choice.&lt;/p&gt;

&lt;p&gt;It's important to consider factors such as the learning curve, desired features, scalability, and budget. While Webflow provides a streamlined design experience, WordPress stands as a reliable powerhouse with a massive community and countless extensions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Verdict&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In conclusion, both Webflow and WordPress have their distinct advantages, catering to different types of users and projects. Carefully evaluating your needs and goals will guide you toward the platform that best aligns with your vision for your website.&lt;/p&gt;

&lt;p&gt;Whichever platform you choose, the evolving landscape of web development ensures that both Webflow and WordPress will continue to shape the digital world in significant ways.&lt;/p&gt;

&lt;p&gt;Image credit: WPBeginner&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>wordpress</category>
      <category>web</category>
      <category>development</category>
    </item>
    <item>
      <title>How to Create an Engaging and Animated Menu Bar with HTML and CSS</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Tue, 01 Aug 2023 18:39:28 +0000</pubDate>
      <link>https://dev.to/ayodeji75/creating-an-engaging-animated-menu-bar-with-html-and-css-1dig</link>
      <guid>https://dev.to/ayodeji75/creating-an-engaging-animated-menu-bar-with-html-and-css-1dig</guid>
      <description>&lt;p&gt;One of the surefire ways to enhance user experience on your website is by creating engaging and user-friendly navigation menus .&lt;/p&gt;

&lt;p&gt;An animated menu bar not only makes navigation intuitive but also visually appealing. &lt;/p&gt;

&lt;p&gt;You can create impressive and captivating animated menu bars that will keep users glued to your website.&lt;/p&gt;

&lt;p&gt;In this tutorial, we will walk you through the step-by-step process of building a sleek and animated menu bar using HTML and key CSS concepts such as transitions. &lt;/p&gt;

&lt;p&gt;We will cover key concepts like CSS transitions, transformations, and pseudo-classes to bring life to your navigation. &lt;/p&gt;

&lt;p&gt;By the end of this tutorial, you'll have the knowledge and skills to design your animated menu bar that can elevate your website's overall look and feel.&lt;/p&gt;

&lt;p&gt;So, let's dive into the world of web animations and create an eye-catching animated menu bar that will leave your visitors impressed!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML&lt;/strong&gt; &lt;br&gt;
In the HTML page, you lay the foundation for the menu. Here is where you will create the appropriate menu for your website. &lt;/p&gt;

&lt;p&gt;For instance, if you intend to create a menu with the About Us, Home, and other necessary menus, you can write this code:&lt;/p&gt;


&lt;br&gt;
    Menu Bar&lt;br&gt;
  &lt;br&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        &amp;lt;ul&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href="#" &amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt; About Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt; Services&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt; Blog&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt; Contact Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code, the  code connects the HTML file with the CSS file to style the code. &lt;/p&gt;

&lt;p&gt;Without the CSS code, here's the created menu bar:&lt;/p&gt;

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

&lt;p&gt;The menu above is far from being intuitive, sleek, and visually appealing. &lt;/p&gt;

&lt;p&gt;For the desired effect, let's style the menu via our CSS. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;CSS *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For easy connection, create a .css file and name it style.css or whatever catches your fancy. Note, though, that the css file name must correspond with the name in the html section. &lt;/p&gt;

&lt;p&gt;Save this file in the same location or folder with your html file. Otherwise, the css and html files won't connect. &lt;/p&gt;

&lt;p&gt;Then, add this code: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/&lt;em&gt;The body section removes default borders and margins to allow you lay the menu as you desire&lt;/em&gt;/&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;body {&lt;br&gt;
       margin:0;&lt;br&gt;
       padding: 0;&lt;br&gt;
       box-sizing: border-box;&lt;br&gt;
      }&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/&lt;em&gt;This section removes the default bulleted listing&lt;/em&gt;/&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   ul {
    list-style-type: none; 
     background-color: #333;
     overflow: hidden; 
        }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;/&lt;em&gt;The float element aligns the menu to the right. You can change it to left if you wish to create a left-aligned menu&lt;/em&gt;/&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   li {
    float: right; 
       }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;/&lt;em&gt;Here is where you style each anchor. The text-decoration element removes the default menu underline.&lt;/em&gt;/&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   li a {
    display: block; 
    color: white; 
    text-align: center;
    padding: 14px 16px; 
    text-decoration: none;
   }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;/&lt;em&gt;Here is where the real animation takes place. The transition-duration element changes the menu color within 3 seconds while the border-radius element changes the menu shape&lt;/em&gt;/&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   li a:hover{
    background-color: yellow;
    transition-duration:  3s;
    width: 200px;
    border-radius: 75% 25%;
    color: black;
   }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;** Final Result&lt;br&gt;
**&lt;/p&gt;

&lt;p&gt;Each menu changes background color, shape, and text color when you hover over it. &lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
You have effortlessly created an animated menu bar. Tweak the code and see what each line of code does or according to your preference. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>codenewbie</category>
      <category>html</category>
    </item>
    <item>
      <title>How I Transitioned into Tech at 40: The Journey and the Challenges</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Sat, 22 Jul 2023 16:52:20 +0000</pubDate>
      <link>https://dev.to/ayodeji75/how-i-transitioned-into-tech-at-40-the-journey-and-the-challenges-2113</link>
      <guid>https://dev.to/ayodeji75/how-i-transitioned-into-tech-at-40-the-journey-and-the-challenges-2113</guid>
      <description>&lt;p&gt;From toiling as a well digger, navigating the streets as a commercial motorcyclist, to molding blocks under the scorching sun, my life was a relentless struggle for meager rewards. &lt;/p&gt;

&lt;p&gt;At 40, I stood at a crossroads, seeking a new path to transform my life. Living on #30,000 (about $15 then) as a family man was depressing. I was living from hand to mouth.&lt;/p&gt;

&lt;p&gt;A simple Facebook post changed the narrative for good.&lt;br&gt;
Embracing an audacious decision, I embarked on a remarkable journey into the world of technology. &lt;/p&gt;

&lt;p&gt;The transition from manual labor to the realm of coding and innovation was both exhilarating and daunting.&lt;/p&gt;

&lt;p&gt;Amidst the odds, I braved the challenges of poor electricity and network connectivity, determined to rewrite my destiny and unravel the untapped potential of Tech.&lt;/p&gt;

&lt;p&gt;Let me share my story.&lt;/p&gt;

&lt;p&gt;Fate's Twist: From Block Maker to Tech Writer&lt;/p&gt;

&lt;p&gt;In 2010, life's circumstances led me to Ibadan, West Africa's largest city, in search of a better living. To make ends meet, I embraced manual block making, thinking it would be a temporary solution. &lt;/p&gt;

&lt;p&gt;However, it became my sole income source, alongside well digging and commercial motorcycling.&lt;/p&gt;

&lt;p&gt;Then, a simple Facebook post altered my path forever. At 40, I stumbled upon a chance to become a freelance writer. Despite doubts and imposter syndrome, I seized the opportunity, messaging the poster with my basic Itel 2020 phone. He scheduled a Facebook meeting for all applicants. &lt;/p&gt;

&lt;p&gt;About 30 minutes before the meeting time on the interview day, I was tens of kilometers away from home Only God knows how I covered that distance in 45 minutes against the regular 1 hour. &lt;/p&gt;

&lt;p&gt;After the interview, the employer gave me a chance because I had "the potential but rusty." He gave me a lifeline on a platter of gold and I took it with both hands and a grateful heart.&lt;/p&gt;

&lt;p&gt;Although obstacles such as poor electricity, network connectivity, and family responsibilities tried to hinder my journey, determination prevailed. &lt;/p&gt;

&lt;p&gt;My mentor guided me into a new career as I approach 41. Today, I thrive as a technical writer, having delved into web development along the way, a career twist that was way beyond my wildest imagination some 7 years ago. &lt;/p&gt;

&lt;p&gt;The blocks I once molded are now stepping stones to a brighter future as a web developer cum technical writer.&lt;/p&gt;

&lt;p&gt;The highlight of my Tech career was when one of &lt;a href="https://dev.to/ayodeji75/tested-and-proven-ways-to-solve-error-code-modulenotfound-requirestack-error-264j"&gt;my Tech articles made it to Googles first page&lt;/a&gt;. It was a dream come true&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%2Fh2c1sjaez97s677w8kin.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%2Fh2c1sjaez97s677w8kin.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The journey into Tech at 40 reshaped my life and unleashed newfound possibilities. Despite the obstacles of inadequate electricity and network woes, I conquered them with determination and perseverance. &lt;/p&gt;

&lt;p&gt;Today, I stand as a testament to the transformative power of embracing change and pursuing a passion that defies age and circumstances.&lt;/p&gt;

&lt;p&gt;Nothing should stand on your way to greatness. Turn those obstacles into stepping stones. &lt;/p&gt;

&lt;p&gt;Don't let the sky be your limit but your springboard to greater heights. &lt;/p&gt;

&lt;p&gt;Remember, na who give up fuck up (Don't give up but keep trying until you make it). &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Unlock Your Potential with a Click: Streamline Your Website with a Downloadable Resume</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Mon, 12 Jun 2023 22:01:59 +0000</pubDate>
      <link>https://dev.to/ayodeji75/unlock-your-potential-with-a-click-streamline-your-website-with-a-downloadable-resume-3m0b</link>
      <guid>https://dev.to/ayodeji75/unlock-your-potential-with-a-click-streamline-your-website-with-a-downloadable-resume-3m0b</guid>
      <description>&lt;p&gt;One of the most effective ways to win a potential client over is through an impressive resume detailing your skillset, years of experience, portfolio, and other necessary information that proves your expertise. &lt;/p&gt;

&lt;p&gt;Reaching prospective clients with your resume is a lot easier in this tech age. Simply integrate a downloadable resume into your portfolio website and you're good to go. &lt;/p&gt;

&lt;p&gt;This article provides fast step-by-step guide to include a downloadable resume into your website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Prepare and store your resume&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Prepare your resume and save it where intending users can access it easily. Some common storage places are Dropbox and other cloud storage facilities and servers.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Generate a download link&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If Dropbox, &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log in into your Dropbox. &lt;/li&gt;
&lt;li&gt;Click on the Resume.&lt;/li&gt;
&lt;li&gt;Click on "Create link and copy"&lt;/li&gt;
&lt;li&gt;Copy the generated link&lt;/li&gt;
&lt;li&gt;Insert this code in your index file: 
&lt;a href="path/to/your/resume.pdf"&gt;Download Resume&lt;/a&gt; 
PS: Replace “path/to/your/resume.pdf” with the generated Dropbox link&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create an CSS file and style the anchor tag. For instance, add this code in your CSS file: &lt;/p&gt;

&lt;p&gt;a.download-link {&lt;br&gt;
    display: inline-block;&lt;br&gt;
    padding: 10px 20px;&lt;br&gt;
    background-color: #007bff;&lt;br&gt;
    color: #fff;&lt;br&gt;
    text-decoration: none;&lt;br&gt;
    border-radius: 5px;&lt;br&gt;
    font-weight: bold;&lt;/p&gt;

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

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

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

</description>
      <category>webdev</category>
      <category>resume</category>
    </item>
    <item>
      <title>Tested and Proven Ways to Solve “Error Code: ‘MODULE_NOT_FOUND, requireStack” Error</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Thu, 04 May 2023 14:31:20 +0000</pubDate>
      <link>https://dev.to/ayodeji75/tested-and-proven-ways-to-solve-error-code-modulenotfound-requirestack-error-264j</link>
      <guid>https://dev.to/ayodeji75/tested-and-proven-ways-to-solve-error-code-modulenotfound-requirestack-error-264j</guid>
      <description>&lt;p&gt;You’ve probably come across the MODULE_NOT_FOUND or requireStack error message while using the powerful Node.js tool. &lt;/p&gt;

&lt;p&gt;Hitting this wall can be a frustrating experience, especially if you’re working against time. The realization that you can’t proceed with the project while struggling with the fast-approaching deadline can be mentally exhausting. &lt;/p&gt;

&lt;p&gt;How do you go around this problem and get the job done before the fast-approaching deadline? &lt;/p&gt;

&lt;p&gt;Well, let’s dig into what can trigger this error message and practical ways to fix the error.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Triggers the "MODULE_NOT_FOUND" Error?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you take a critical look at the error message, what triggers it is a no-brainer: a malfunctioning Node.js. This may be caused by a missing file or any other hidden problem that prevents Node.js from loading when invoked. &lt;/p&gt;

&lt;p&gt;Some other possible causes of this error are: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Corrupt or Missing Module:&lt;/strong&gt; If the target module is corrupted or missing, Node.js won’t be able to load it, leading to the error message. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Node.js Versions Incompatibility:&lt;/strong&gt; If you require a module which is incompatible with your Node.js version, Node.js won’t load the module and that may trigger the requireStack error. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Installation Errors:&lt;/strong&gt; Some hidden errors during Node.js installation may lay the foundation for the MODULE_NOT_FOUND error. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hence, irrespective of what triggers the MODULE_NOT_FOUND error, you can’t proceed with building your app with the malfunctioning module. &lt;br&gt;
This underscores the importance of knowing how to fix this problem pronto. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do You Fix the requireStack Error?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that you’ve identified the cause of the requireStack error message, it’s time to fix it. The most effective solution to this problem is to update your Node.js. &lt;/p&gt;

&lt;p&gt;There are a couple of ways to update your Node.js, depending on your platform. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. How to Update Node Version on Windows Operating System&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows users need the package manager NVM (Node Version Manager) to fix the problem. This tool enables you to manage different versions of Node on your Operating System. With NVM, you can update, install, or switch from one Node version to another. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How to Update Node Version on Linux Operating System&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Linux users can fix this problem with NVM. Consider this step-by-step guide to updating your Node.js with NVM on Linux:&lt;br&gt;&lt;br&gt;
• First check your Node version with this code: nvm –version&lt;br&gt;
• If you’re using an outdated Node.js version, update it with this command: nvm install node --reinstall-packages-from=node.&lt;br&gt;
• When you’re done updating Node.js, confirm the version by running this command again: nvm –version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Update it from Node.JS Website&lt;/strong&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%2Fgjndldpzatorvp3voggz.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%2Fgjndldpzatorvp3voggz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This option comes in handy for Windows and Mac users. &lt;br&gt;
• Visit &lt;a href="http://www.nodejs.org" rel="noopener noreferrer"&gt;www.nodejs.org&lt;/a&gt; &lt;br&gt;
• Click on the download options. Use the appropriate installer for your Operating System. &lt;br&gt;
• Once the installer is completely downloaded, launch it. &lt;/p&gt;

&lt;p&gt;• Follow the provided prompts until you’re done updating the Node.js. &lt;br&gt;
• Confirm the update by running vnm –v again. &lt;/p&gt;

&lt;p&gt;Node.js is a major development tool, thanks to its simplicity of use, constant updates, and performance-enhancing features. &lt;/p&gt;

&lt;p&gt;Rather than lose these supporting features to a random error, update your Node.js version and get over the challenge in no time. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>node</category>
    </item>
    <item>
      <title>Different Ways of Writing JavaScript Functions</title>
      <dc:creator>Ayodeji Akintubi</dc:creator>
      <pubDate>Wed, 26 Apr 2023 09:59:42 +0000</pubDate>
      <link>https://dev.to/ayodeji75/different-ways-of-writing-javascript-functions-12lf</link>
      <guid>https://dev.to/ayodeji75/different-ways-of-writing-javascript-functions-12lf</guid>
      <description>&lt;p&gt;Functions are fundamental to your versatility as a JavaScript developer. They offer you flexibility, absolute control over your code, and other benefits that make it imperative for you to master the art of function declaration.&lt;/p&gt;

&lt;p&gt;Many newbie JavaScript developers struggle to create functions because they have zero clue about the available options. &lt;/p&gt;

&lt;p&gt;You can write JavaScript functions in three different ways which are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. - Function Declaration&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. - Function Expression&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. - Arrow Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s review these function types one after the other.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Function Declaration&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In a function declaration, you declare the function directly without assigning it to a variable.&lt;/p&gt;

&lt;p&gt;function functionName(parameters) {&lt;/p&gt;

&lt;p&gt;//the code to be executed goes here&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;function sum() {&lt;br&gt;
….. // content&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;Consider the example below:&lt;/p&gt;

&lt;p&gt;function sum(a,b) {&lt;/p&gt;

&lt;p&gt;return a + b;&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;console.log (sum(5,6)); // result = 11.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;2. - Function Expression&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a function expression, you assign the function to a variable name. the following example demonstrates how you declare a function expression.&lt;/p&gt;

&lt;p&gt;const x = functionName(parameters) {&lt;/p&gt;

&lt;p&gt;//code goes here&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;let x = function sum(a,b) {&lt;/p&gt;

&lt;p&gt;return a + b;&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;console.log(sum(2,20));&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;3. - Arrow Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The arrow function was introduced in the JavaScript ES6 version. It is an alternative way to the methods discussed above.&lt;/p&gt;

&lt;p&gt;Arrow functions are shorter and easier to use.&lt;/p&gt;

&lt;p&gt;Here, you replace the “function” keyword with =&amp;gt;.&lt;/p&gt;

&lt;p&gt;Consider this:&lt;/p&gt;

&lt;p&gt;sum = (a, b) =&amp;gt; a + b;&lt;/p&gt;

&lt;p&gt;console.log(sum(34,20)); // result = 54&lt;/p&gt;

&lt;p&gt;Note that you can use brackets if the function will cover multiple lines. A typical example is shown below:&lt;/p&gt;

&lt;p&gt;const bigger = (a, b) =&amp;gt; {&lt;/p&gt;

&lt;p&gt;if (a &amp;gt; b) {&lt;/p&gt;

&lt;p&gt;return &lt;code&gt;${a} is bigger&lt;/code&gt;;&lt;/p&gt;

&lt;p&gt;} else {&lt;/p&gt;

&lt;p&gt;return &lt;code&gt;${b} is bigger&lt;/code&gt;;&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;console.log (bigger(45,90)); // result: 90 is bigger&lt;/p&gt;

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

&lt;p&gt;You can choose any of the methods discussed above to create a function, although the arrow method is currently the standard method. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
