<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Osika Martha</title>
    <description>The latest articles on Forem by Osika Martha (@mataoseeker).</description>
    <link>https://forem.com/mataoseeker</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%2F1002017%2F263ab98a-cab7-4137-8358-a49a25948bcd.jpeg</url>
      <title>Forem: Osika Martha</title>
      <link>https://forem.com/mataoseeker</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mataoseeker"/>
    <language>en</language>
    <item>
      <title>The Underrated Superpower of Rest While Coding</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Wed, 07 Jun 2023 08:17:46 +0000</pubDate>
      <link>https://forem.com/mataoseeker/the-underrated-superpower-of-rest-while-coding-1mf8</link>
      <guid>https://forem.com/mataoseeker/the-underrated-superpower-of-rest-while-coding-1mf8</guid>
      <description>&lt;p&gt;Programmers frequently find themselves caught up in the constant pursuit of deadlines and pushing the limits of their coding skills in the fast-paced world of software development. The prevalent mentality frequently disregards the critical need for rest in favor of productivity and extended workdays. But in this article, I want to highlight the value of taking breaks while programming and show how doing so can boost productivity, creativity, and problem-solving skills.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Rest as a Catalyst for Creativity:&lt;br&gt;
Coding innovations frequently come about as a result of epiphanies and original ideas. However, being engrossed in coding work nonstop might cause mental tiredness, making it more difficult to think creatively. It's easier for creative thoughts to develop when you take regular breaks and let your mind roam. Going on a stroll, reading a book, or pursuing a hobby are examples of activities unrelated to coding that might help spark new ideas and creative solutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Science of Rest:&lt;br&gt;
Our brains benefit from rest times, which enable cognitive processing and knowledge consolidation, according to scientific studies. The default mode network (DMN) in our brains becomes active when we take a break, making it easier to solve problems and come up with fresh ideas. Regular breaks also increase concentration and attention span, lowering the risk of burnout and raising the capacity to maintain productivity over the long term.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rest for Error Detection and Debugging:&lt;br&gt;
The process of coding is extensive and complicated, frequently requiring close attention to detail. Nevertheless, prolonged periods of nonstop coding might raise the possibility of mistakes sliding through the cracks. Taking a break from the screen and coming back with a clearer head makes it easier to spot potential errors. Taking breaks allows programmers to step back from their code and see it with fresh eyes, improving fault identification and enhancing debugging effectiveness.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved Problem-Solving Abilities:&lt;br&gt;
Rest is essential for enhancing problem-solving skills. Our first instinct when faced with a difficult code issue could be to keep working through it. But taking a break can give you a new perspective and an opportunity to look at the issue differently. As a result, we can approach the problem with fresh insight and perhaps find other solutions that we would have missed when working nonstop.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Productivity and Efficiency:&lt;br&gt;
Contrary to what you would think, including rest in your coding regimen might actually increase output and efficiency. By prioritizing rest, you can stay away from burnout's hazards, which frequently result in decreased performance and greater mistakes. You may return to your coding chores with fresh energy, attention, and drive if you take regular breaks, which preserve a healthy work-life balance.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion:&lt;br&gt;
Recognizing the value of rest while coding is essential for long-term productivity and individual well-being in a culture that frequently exalts overwork and long hours. Accepting regular breaks increases overall efficiency, minimizes the likelihood of burnout, and fosters creativity and problem-solving. Programmers can unlock their full potential and succeed more often in their coding activities by appreciating and prioritizing rest. So keep in mind that taking a step back can help you advance in your learning of coding.&lt;/p&gt;

</description>
      <category>rest</category>
      <category>coding</category>
    </item>
    <item>
      <title>How to effectively use the Fetch API in JavaScript</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Fri, 05 May 2023 04:05:53 +0000</pubDate>
      <link>https://forem.com/mataoseeker/how-to-effectively-use-the-fetch-api-in-javascript-4lb4</link>
      <guid>https://forem.com/mataoseeker/how-to-effectively-use-the-fetch-api-in-javascript-4lb4</guid>
      <description>&lt;p&gt;The Fetch API is a modern interface for fetching resources (such as data or files) from a server using JavaScript. It provides a simpler and more efficient way to make asynchronous network requests and handle the responses than the older XMLHttpRequest (XHR) interface.&lt;br&gt;
In this post, we'll cover the basics of how to use the Fetch API in JavaScript, with some examples to illustrate its usage.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Basics of Fetch API
&lt;/h2&gt;

&lt;p&gt;To make a fetch request, we use the fetch() method, which takes a URL as its argument and returns a Promise that resolves the response of the request. Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(response =&amp;gt; response.json())
  .then(data =&amp;gt; console.log(data))
  .catch(error =&amp;gt; console.error(error));

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

&lt;/div&gt;



&lt;p&gt;This fetch request retrieves a JSON object from the URL &lt;a href="https://jsonplaceholder.typicode.com/todos/1"&gt;https://jsonplaceholder.typicode.com/todos/1&lt;/a&gt;. The response is then converted to a JavaScript object using the JSON() method; finally logged to the console. The catch() method is used to handle any errors that may occur during the fetch request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making POST requests
&lt;/h2&gt;

&lt;p&gt;We can also use the Fetch API to make POST requests, which send data to a server. Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const data = { title: 'foo', body: 'bar', userId: 1 };

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
})
.then(response =&amp;gt; response.json())
.then(data =&amp;gt; console.log(data))
.catch(error =&amp;gt; console.error(error));

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

&lt;/div&gt;



&lt;p&gt;In this example, we're sending a JSON object as the request body to the URL &lt;a href="https://jsonplaceholder.typicode.com/posts"&gt;https://jsonplaceholder.typicode.com/posts&lt;/a&gt;. We specify the HTTP method as POST and set the Content-Type header to application/json to indicate that we're sending JSON data. We convert the data object to a JSON string using the JSON.stringify() method before sending it in the request body.&lt;/p&gt;

&lt;h2&gt;
  
  
  Error handling
&lt;/h2&gt;

&lt;p&gt;When making fetch requests, it's important to handle errors properly. We can use the catch() method to handle any errors that may occur during the request, such as network errors or server errors.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch('https://jsonplaceholder.typicode.com/todos/999999')
  .then(response =&amp;gt; {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data =&amp;gt; console.log(data))
  .catch(error =&amp;gt; console.error(error));

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

&lt;/div&gt;



&lt;p&gt;We're trying to fetch data from an invalid URL. If the response status is not ok (i.e., not in the range of 200-299), we throw an error with a custom message. The catch() method is used to handle this error.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding headers
&lt;/h2&gt;

&lt;p&gt;Sometimes we need to add headers to our fetch requests, such as authentication tokens or custom headers. We can do this by passing an object as the second argument to the fetch() method, containing the headers we want to add.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const headers = {
  'Authorization': 'Bearer my-token',
  'Content-Type': 'application/json'
};

fetch('https://jsonplaceholder.typicode.com/todos/1', {
  headers: headers
})
.then(response =&amp;gt; response.json())
.then(data =&amp;gt; console.log(data))
.catch(error =&amp;gt; console.error(error));

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

&lt;/div&gt;



&lt;p&gt;We're adding two headers to our fetch request: an authentication token using the Authorization header, and a Content-Type header to indicate that we're sending JSON data.&lt;/p&gt;

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

&lt;p&gt;The Fetch API is a powerful tool that enables developers to fetch data from servers in a simple and intuitive way. By using the basic fetch request, headers, and error handling techniques, you can effectively use the Fetch API in your JavaScript projects.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Context API</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Fri, 05 May 2023 03:37:30 +0000</pubDate>
      <link>https://forem.com/mataoseeker/context-api-49nk</link>
      <guid>https://forem.com/mataoseeker/context-api-49nk</guid>
      <description>&lt;p&gt;User interfaces are created using the well-known JavaScript framework React. It is renowned for handling complicated application state changes and for efficiently rendering components. Managing a React application's state, on the other hand, gets harder as the application's size and complexity increase. To solve this problem, React released the Context API, a state management mechanism that can be used to share states between components.&lt;/p&gt;

&lt;p&gt;The Context API enables programmers to construct a global state that can be accessed and modified by any component in the application without having to provide props through intermediary components. By passing a prop via numerous levels of components, the issue of prop drilling is reduced, which makes the code more complex and challenging to maintain.&lt;/p&gt;

&lt;p&gt;A context must first be created before the Context API can be used in a React application. The createContext() method offered by the React package can be used to accomplish this.&lt;br&gt;
An initial value, which is used as the context's default value, is sent as input to the createContext() method. As an illustration, the following code establishes the context for a theme:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';

const ThemeContext = React.createContext('light');

export default ThemeContext;

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

&lt;/div&gt;



&lt;p&gt;In this example, the initial value for the theme context is 'light'. You can use this context to provide the theme to any component in your application.&lt;/p&gt;

&lt;p&gt;To provide the context to a component, you can use the Provider component. The Provider component takes the context as a prop and wraps the child components that need access to the context. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import ThemeContext from './ThemeContext';
import Header from './Header';
import Footer from './Footer';

function App() {
  return (
    &amp;lt;ThemeContext.Provider value="dark"&amp;gt;
      &amp;lt;Header /&amp;gt;
      &amp;lt;main&amp;gt;
        &amp;lt;p&amp;gt;This is the main content of the page.&amp;lt;/p&amp;gt;
      &amp;lt;/main&amp;gt;
      &amp;lt;Footer /&amp;gt;
    &amp;lt;/ThemeContext.Provider&amp;gt;
  );
}

export default App;

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

&lt;/div&gt;



&lt;p&gt;In this example, the App component provides the theme context to the Header and Footer components. The value of the theme is set to 'dark', which overrides the default value of 'light'.&lt;/p&gt;

&lt;p&gt;To consume the context in a component, you can use the useContext() hook provided by React. The useContext() hook takes the context as an argument and returns the current value of the context. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useContext } from 'react';
import ThemeContext from './ThemeContext';

function Header() {
  const theme = useContext(ThemeContext);
  return (
    &amp;lt;header style={{ background: theme === 'dark' ? '#333' : '#eee' }}&amp;gt;
      &amp;lt;h1&amp;gt;My App&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
  );
}

export default Header;

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

&lt;/div&gt;



&lt;p&gt;In this illustration, the header is styled in accordance with the current theme using the theme context that the Header component consumes.&lt;/p&gt;

&lt;p&gt;To sum up, the Context API is an effective tool for controlling the global state in a React application. You may transfer state among components without the use of prop drilling by building a context and utilizing the Provider component. Any component can consume the context and update the state as necessary by using the useContext() hook. Building scalable and effective React apps is made possible through the Context API.&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Why Pinia??</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Tue, 02 May 2023 21:08:23 +0000</pubDate>
      <link>https://forem.com/mataoseeker/why-pinia-2nab</link>
      <guid>https://forem.com/mataoseeker/why-pinia-2nab</guid>
      <description>&lt;p&gt;For Vue.js apps, Pinia is a state management library that has grown in popularity. The advantages of using Pinia over alternative state management libraries on the market will be covered in this post.&lt;/p&gt;

&lt;p&gt;Pinia is first and foremost a simple-to-use and comprehended reactive store. Because it already updates whenever its data changes, the store is responsive. As a result, each time something in your application changes, you don't need to manually update the data in your store. This increases the effectiveness and maintainability of your code.&lt;/p&gt;

&lt;p&gt;Utilizing Pinia has the added advantage of being easy and light. Pinia has a smaller footprint and requires less setup and configuration than competing state management libraries. Because of this, it's perfect for small- to medium-sized applications where you want to keep things straightforward.&lt;/p&gt;

&lt;p&gt;Additionally, Pinia offers a robust collection of features that make it simple to manage complex states in your application. For instance, you may divide your business into smaller, easier-to-manage portions thanks to the built-in support for modules. This increases your application's overall efficiency and makes it simpler to maintain and test your code.&lt;/p&gt;

&lt;p&gt;Pinia is also incredibly versatile and adaptable. By developing unique plugins or hooks, you can quickly modify them to match your unique requirements. As opposed to previous state management libraries, Pinia may now be customized to fit your unique use case.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p2lrCM8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sq0f0q86clrbo2xggrnx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p2lrCM8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sq0f0q86clrbo2xggrnx.jpg" alt="Pinia doc" width="300" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pinia has a helpful community and excellent documentation as well. Even if you are unfamiliar with Vue.js, Pinia's documentation is straightforward, short, and simple to understand, making it simple to get started. The community is also lively and supportive, so you can always find assistance and support when you need it.&lt;/p&gt;

&lt;p&gt;For teams looking to work together on a Vue.js project, Pinia is a fantastic option. It is simple to comprehend, and the store's modular architecture enables various team members to concentrate on different areas of the business without infringing on each other's rights. This may be especially useful for bigger projects if several people are contributing to the same codebase.&lt;/p&gt;

&lt;p&gt;Therefore, Pinia is a fantastic option for state management in Vue.js applications. With a variety of features that make it simple to manage complicated states, it is straightforward, light, and strong. A helpful community and excellent documentation make it even easier to get started and receive assistance when you need it. Pinia is unquestionably a library to think about if you're searching for a state management solution for your Vue.js application.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>pinia</category>
      <category>vue</category>
      <category>frontend</category>
    </item>
    <item>
      <title>ReactJS Props</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Tue, 02 May 2023 04:10:09 +0000</pubDate>
      <link>https://forem.com/mataoseeker/reactjs-props-4bim</link>
      <guid>https://forem.com/mataoseeker/reactjs-props-4bim</guid>
      <description>&lt;p&gt;Building interactive user interfaces is a common usage for the well-known JavaScript framework React. Utilizing props—an acronym for properties—is one of React's key characteristics. We shall discuss React props in this post along with their function, significance, and definition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are React Props, Exactly?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Props are a method of passing data between components in React. Props can be inputted into a component, which can then use the information to render itself or pass it down to child components. Simple strings, numbers, and complicated objects and functions can all be used as props.&lt;/p&gt;

&lt;p&gt;The parent component defines props, which are then transmitted to child components via their attributes. As an illustration, consider the case where the parent component is called App and the child component is called Button. In the App component, we may define a prop called label and pass it on to the Button component as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function App() {
  return (
    &amp;lt;Button label="Click me" /&amp;gt;
  );
}

function Button(props) {
  return (
    &amp;lt;button&amp;gt;{props.label}&amp;lt;/button&amp;gt;
  );
}

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

&lt;/div&gt;



&lt;p&gt;In this illustration, the button component renders a button with the text "Click me" using the prop label it receives from the app component. Keep in mind that the props object inside the Button component is used to access the prop label.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Are React Props Operated?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a component receives props, it is forced to be rendered again with the updated data. This is because React components are stateless, meaning they don't save any internal state or data. Instead, they base their rendering decisions on the props.&lt;br&gt;
When a parent component updates its properties, it transmits the updated properties to its child components, which causes the child components to re-render with the updated information. Until all components have been updated with the new data, this process is repeated down the component tree.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React Props: Why Are They Important?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because they make components highly modular and reusable, react props are crucial. We may develop simple, reusable building blocks that can be assembled to create complicated user interfaces by sending data from parent components to child components via props.&lt;/p&gt;

&lt;p&gt;Props also give components a means to be more versatile and adaptable. We may design components that can be used in several settings with varying data and behavior by allowing developers to send in alternative props.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A key component of the React library that makes components more modular and reusable is React props. We may develop simple, reusable building blocks that can be assembled to create complicated user interfaces by sending data from parent components to child components via props. Using props, developers can create components that can be used in a variety of contexts with different data and behavior, increasing the flexibility and customizability of the component.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>ReactJS Vs VueJS</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Tue, 02 May 2023 03:55:09 +0000</pubDate>
      <link>https://forem.com/mataoseeker/reactjs-vs-vuejs-4a47</link>
      <guid>https://forem.com/mataoseeker/reactjs-vs-vuejs-4a47</guid>
      <description>&lt;p&gt;The most extensively utilized and well-liked front-end web development frameworks worldwide are ReactJS and VueJS. Choosing which of these frameworks to employ might be challenging because both ReactJS and VueJS have benefits and drawbacks. In this post, we'll compare ReactJS vs VueJS to help you decide which framework best suits your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  ReactJS:
&lt;/h2&gt;

&lt;p&gt;In 2011, Facebook created ReactJS, an open-source JavaScript library. Using this component-based framework, programmers can create reusable user interface (UI) components that are easy to integrate into other applications.&lt;br&gt;
 The virtual DOM (Document Object Model) that ReactJS employs is a simplified version of the real DOM. This demonstrates how quickly and effectively ReactJS renders and updates UI components.&lt;/p&gt;

&lt;p&gt;Thanks to its thriving and sizable community, an enormous ecosystem of third-party libraries and tools has grown up around ReactJS. This makes it simple to add new features to your program and solve problems that arise frequently. Developers may easily get started with ReactJS because to its outstanding documentation.&lt;/p&gt;

&lt;p&gt;The versatility of ReactJS is one of its main benefits. ReactJS may be used to construct both small and large apps, and it can be integrated with other libraries and frameworks. Server-side rendering, a crucial component of search engine optimization (SEO), also functions well with ReactJS.&lt;/p&gt;

&lt;h2&gt;
  
  
  VueJS:
&lt;/h2&gt;

&lt;p&gt;In 2014, Evan You developed VueJS, an open-source JavaScript framework. It is a progressive framework that may be applied to the development of both modest and substantial applications. Developers can construct reusable UI components using the component-based framework VueJS.&lt;/p&gt;

&lt;p&gt;Because it is so straightforward to use, VueJS has grown in popularity over time. It is a great option for developers who are new to front-end web development because of its extremely straightforward and simple-to-learn syntax. In addition, VueJS has a more manageable learning curve than ReactJS, which makes it a popular option for small-scale projects.&lt;/p&gt;

&lt;p&gt;The superb documentation provided by VueJS is one of its greatest benefits. Developers may easily start using the framework because of the thoroughness of the VueJS documentation, which also contains several examples and tutorials. A sizable and vibrant community for VueJS has produced a broad ecosystem of third-party libraries and tools.&lt;/p&gt;

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

&lt;p&gt;A few things should be taken into account while contrasting ReactJS to VueJS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Performance: ReactJS renders and updates UI components more quickly than VueJS. This is due to the fact that ReactJS uses a virtual DOM, which is more effective than the DOM-based strategy used by VueJS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learning Curve: VueJS has a less steep learning curve than ReactJS. This is due to the fact that VueJS has a more straightforward syntax and is simpler for beginners to grasp.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexibility: ReactJS is more adaptable than VueJS when it comes to interacting with other libraries and frameworks. ReactJS can also be used for server-side rendering, which is crucial for SEO.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compared to VueJS, ReactJS features a wider ecosystem of third-party libraries and tools. This makes it simpler to add new features to your program and solve problems that come up frequently.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;ReactJS and VueJS are both top-notch front-end web development frameworks, and each has its own pros and drawbacks. Because it is quicker and more adaptable, ReactJS is a better option for complex applications. Contrarily, VueJS is simpler to use and has a lower learning curve, making it a better option for small-scale projects. In the end, the decision between ReactJS and VueJS will come down to your project's particular requirements and the development team's skill set.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>vue</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Hello, World!</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Mon, 27 Feb 2023 13:35:41 +0000</pubDate>
      <link>https://forem.com/mataoseeker/hello-world-4lnd</link>
      <guid>https://forem.com/mataoseeker/hello-world-4lnd</guid>
      <description>&lt;p&gt;The well-known program "Hello World" is frequently used as a jumping-off point for learning a new programming language. In this article, we'll look at how to write a JavaScript "Hello World" program.&lt;/p&gt;

&lt;p&gt;Building online apps frequently makes use of the high-level, interpreted programming language known as JavaScript. It is renowned for its adaptability, simplicity of usage, and ability to run on both the client and server sides.&lt;br&gt;
A text editor and a web browser are required to write a JavaScript "Hello World" program. The steps are as follows:&lt;/p&gt;

&lt;p&gt;Step one: Make a new HTML file.&lt;br&gt;
Create a new file in your text editor after opening it. Using a ".html" extension, save it. This is the HTML file we'll use.&lt;/p&gt;

&lt;p&gt;Step two: Add the JavaScript code.&lt;br&gt;
Add the following code to the HTML file after opening it in your text editor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Hello World in JavaScript&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;script&amp;gt;
        // JavaScript code goes here
        console.log("Hello World!");
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;We've inserted a script tag with our JavaScript code to this code. The text "Hello World!" is printed to the browser console using the console.log() method.&lt;/p&gt;

&lt;p&gt;Step 3: Launch a web browser and open the HTML file.&lt;br&gt;
Open the file in a web browser after saving it. The "Hello World!" message ought to appear in the browser console.&lt;/p&gt;

&lt;p&gt;Congratulations! You have successfully written a JavaScript "Hello World" program.&lt;/p&gt;

&lt;p&gt;It is important to note that there are numerous approaches to writing a JavaScript "Hello World" program. For instance, you might use the alert() method to display the message in a pop-up window or the innerHTML property to add the message straight to the HTML file.&lt;/p&gt;

&lt;p&gt;To sum up, JavaScript is an effective and flexible programming language that can be used to create a variety of web apps. You will be well on your way to becoming a skilled web developer by grasping the fundamentals of JavaScript, including how to write a "Hello World" program.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>deepseek</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Front End Development</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Thu, 12 Jan 2023 22:58:04 +0000</pubDate>
      <link>https://forem.com/mataoseeker/front-end-development-1697</link>
      <guid>https://forem.com/mataoseeker/front-end-development-1697</guid>
      <description>&lt;p&gt;Everything you find on a website is designed by a front-end developer like buttons, links, animations etc. It is the job of the font-end developer to use the client's designs and ideas and implement them through codes. &lt;/p&gt;

&lt;p&gt;To become a front-end developer you would need a few languages such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTML&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CSS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTML
&lt;/h2&gt;

&lt;p&gt;HTML stands for &lt;code&gt;HyperText Markup Language&lt;/code&gt;. It is used to create the skeletal structure of a website. The HTML template looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CSS
&lt;/h2&gt;

&lt;p&gt;To style a website, you would need CSS which stands for &lt;code&gt;Cascading Style Sheet&lt;/code&gt;. Different properties can be styled using the following syntax:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;selector { property : value ; }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Link to CSS tutorial:&lt;br&gt;
&lt;a href=""&gt;https://www.w3schools.com/css/default.asp&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  JavaScript
&lt;/h3&gt;

&lt;p&gt;JavaScript allows the user to interact with the website like when a user wants to submit a form, and an alert pops up with a message "Submitted". JavaScript offers that functionality.&lt;br&gt;
An example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;h2&amp;gt;What Can JavaScript Do?&amp;lt;/h2&amp;gt;

&amp;lt;p id="demo"&amp;gt;JavaScript can change HTML content.&amp;lt;/p&amp;gt;

&amp;lt;button type="button" onclick='document.getElementById("demo").innerHTML = "Hello JavaScript!"'&amp;gt;Click Me!&amp;lt;/button&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;To learn a full course on front-end development: Visit &lt;a href=""&gt;https://www.w3schools.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Building a website that sets up fake userAuthContext that carries out authentication.</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Sun, 08 Jan 2023 08:52:56 +0000</pubDate>
      <link>https://forem.com/mataoseeker/building-a-website-that-sets-up-fake-userauthcontext-that-carries-out-authentication-3cnb</link>
      <guid>https://forem.com/mataoseeker/building-a-website-that-sets-up-fake-userauthcontext-that-carries-out-authentication-3cnb</guid>
      <description>&lt;p&gt;During the AltSchool second semester examination, we were asked to pick ONE question out of four.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5ctyerlV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v26tgzwfw58m5dahs9bu.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5ctyerlV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v26tgzwfw58m5dahs9bu.PNG" alt="Examination Questions" width="649" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I chose to do number 3, where i was expected to implement nested routes, navigation bar, SEO and userAuthContext that carries out fake authentication.&lt;/p&gt;

&lt;p&gt;Honestly, i didn't know how to begin but after taking a few days, i decided to start by implementing the parts i am familiar with.&lt;/p&gt;

&lt;p&gt;I began by installing my react app with &lt;code&gt;npx create-react-app altschool-react-examination&lt;/code&gt; using my git bash in my local machine.&lt;/p&gt;

&lt;p&gt;After opening the file in my Vscode, i installed two dependencies that i needed for my Routers, Register page and Sign in page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;npm install react-router-dom@6&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;npm install react-hook-form&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I started by creating the pages and then the style pages. I built my UI to look like the AltSchool landing page in terms of a few content.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CGUju002--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vwvhxfa76f9j2oy7u0mn.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CGUju002--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vwvhxfa76f9j2oy7u0mn.PNG" alt="Landing page" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After i was done with the UI part of the examination, i was confused as to how to implement the authentication part, i spent a lot sleepless nights watching YouTube videos on ContextAPI, replayed live class videos and at some point i almost gave up. &lt;/p&gt;

&lt;p&gt;With encouragement from my Altschool buddy Chukwurah Victor, i kept searching till i came across a video that explained it better and then i created the userContext file with the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { createContext, useContext, useState } from "react";
import {useNavigate}  from "react-router-dom";

export const userContext = createContext({
  user: null,
  logIn: () =&amp;gt; {},
  logOut: () =&amp;gt; {},
});

const USER = { name: "Guest", isGuestUser: true };

export function UserContextProvider({ children }) {
  const [user, setUser] = useState(USER);
  let navigate = useNavigate();
  function logIn(username) {
    setUser({ isGuestUser: false, name: username });
    navigate("/dashboard")
  }
  function logOut() {
    setUser(USER);
    navigate("/login")
  }
  return (
    &amp;lt;userContext.Provider value={{ user, logIn, logOut }}&amp;gt;
      {children}
    &amp;lt;/userContext.Provider&amp;gt;
  );
}

export function useUserContext() {
  const { user, logIn, logOut } = useContext(userContext);

  return { user, logIn, logOut };
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And to Authenticate the user, i created an &lt;code&gt;Auth.js&lt;/code&gt; file with the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from "react";
import { useUserContext } from "../context/UserContext";


const Auth = () =&amp;gt; {
  const { user } = useUserContext();
  return &amp;lt;&amp;gt;{user.isGuestUser ? "" : ""}&amp;lt;/&amp;gt;;
};

export default Auth;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When one logs in, it authenticates and displays your username&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sZEzJuSA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sm48xybnbux77sfixmv8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sZEzJuSA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sm48xybnbux77sfixmv8.PNG" alt="User Login" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was happy that i was able to finish the examination just in time to submit it. For the holiday challenge, we were asked to modify the examination or add new features. &lt;/p&gt;

&lt;p&gt;I looked at the work i had done the UI wasn't appealing and the code was bulky since i used plain CSS. For the holiday project, i decided to improve on the codebase by using Tailwindcss to style my project instead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hiOwV0HS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qufy4c4cuanx6188i9te.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hiOwV0HS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qufy4c4cuanx6188i9te.PNG" alt="login" width="587" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This provided an avenue as i was just learning Tailwindcss and i decided to improve my skills by applying it. I hosted both project using Netlify.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Old codebase with Plain CSS&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New Codebase with Tailwindcss&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;All round i can say i really enjoyed working on the project and you can find below the links to the GitHub repositories and Live links.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Repositories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Examination: &lt;a href=""&gt;https://github.com/Mataoseeker/Altschool_React_Examination&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Holiday Challenge: &lt;a href=""&gt;https://github.com/Mataoseeker/holiday_challenge&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Live Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Examination: &lt;a href=""&gt;https://altschool-react-examination.netlify.app/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Holiday Challenge: &lt;a href=""&gt;https://holiday-challenge-01.netlify.app/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learning continues.. Thank you for reading my article.&lt;/p&gt;

</description>
      <category>react</category>
      <category>tailwindcss</category>
      <category>javascript</category>
      <category>github</category>
    </item>
    <item>
      <title>Welcome!</title>
      <dc:creator>Osika Martha</dc:creator>
      <pubDate>Wed, 04 Jan 2023 22:16:58 +0000</pubDate>
      <link>https://forem.com/mataoseeker/welcome-3f3o</link>
      <guid>https://forem.com/mataoseeker/welcome-3f3o</guid>
      <description>&lt;p&gt;Hey there! If you are reading this, this is my first post on this community. Let me introduce myself then.&lt;/p&gt;

&lt;p&gt;Hi, My name is Martha, a passionate front end developer that build websites using React. I am really passionate about learning and impacting what I have learnt to others.&lt;/p&gt;

&lt;p&gt;My coding skills include; intermediary experience in HTML, CSS, JavaScript, Tailwindcss &amp;amp; React. I would say intermediary because learning for me never stops, its like a deep pit that can never be filled.&lt;/p&gt;

&lt;p&gt;In my spare time, I venture into technical writing and open source collaboration, hoping to make more collaborations in the future. I also have a YouTube channel where I teach front end development languages. &lt;/p&gt;

&lt;p&gt;Let me stop here. For further discussions, you can get across to me.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
