<?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: Esraa Nasr</title>
    <description>The latest articles on DEV Community by Esraa Nasr (@esraanasr92).</description>
    <link>https://dev.to/esraanasr92</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%2F425236%2F6b95bcef-f09c-47f9-8c41-68fa9f89a1fa.jpg</url>
      <title>DEV Community: Esraa Nasr</title>
      <link>https://dev.to/esraanasr92</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/esraanasr92"/>
    <language>en</language>
    <item>
      <title>Build Your First Simple API with Node.js and Express (Beginner-Friendly Guide)</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Mon, 06 Oct 2025 06:46:50 +0000</pubDate>
      <link>https://dev.to/esraanasr92/build-your-first-simple-api-with-nodejs-and-express-beginner-friendly-guide-32ko</link>
      <guid>https://dev.to/esraanasr92/build-your-first-simple-api-with-nodejs-and-express-beginner-friendly-guide-32ko</guid>
      <description>&lt;p&gt;If you’re just starting with backend development, building your own API is one of the best ways to learn how the web actually works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is an API?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API stands for Application Programming Interface — it allows two systems to communicate with each other.&lt;/p&gt;

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

&lt;p&gt;Your frontend asks the server: “Give me the t-shirt info”&lt;/p&gt;

&lt;p&gt;The server replies:&lt;br&gt;
&lt;code&gt;{ "tshirt": "T-shirt with your dragon and ID of 23" }&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use APIs?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We use APIs to make communication between clients and servers smooth and structured.&lt;/p&gt;

&lt;p&gt;They allow your app to request and receive data in a standard format like JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step: Build an API from Scratch&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ Create a new folder&lt;br&gt;
Open your terminal and create an empty folder for your project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir api
cd api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2️⃣ Initialize npm&lt;br&gt;
This creates a package.json file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3️⃣ Install Express&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install express
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4️⃣ Create index.js&lt;/p&gt;

&lt;p&gt;This is where we’ll build our server.&lt;br&gt;
Check my GitHub repo for full code: &lt;a href="https://github.com/EsraaNasr92/api" rel="noopener noreferrer"&gt;https://github.com/EsraaNasr92/api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test your API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can test your API in several ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;curl — directly from your terminal&lt;/li&gt;
&lt;li&gt;VS Code REST Client Extension&lt;/li&gt;
&lt;li&gt;REST Client

&lt;ul&gt;
&lt;li&gt;Postman&lt;/li&gt;
&lt;li&gt;Insomnia (the one I used to learn something new&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example Results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GET &lt;code&gt;/tshirt&lt;/code&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%2Fizvkz1bhf8b9sbh2q0me.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%2Fizvkz1bhf8b9sbh2q0me.png" alt="GET /tshirt" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;POST &lt;code&gt;/tshirt/23&lt;/code&gt; with no logo&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%2Fk8ebp3xzhtjkzjs7au4z.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%2Fk8ebp3xzhtjkzjs7au4z.png" alt="POST /tshirt/23 with no logo" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;POST &lt;code&gt;/tshirt/23&lt;/code&gt; with logo&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%2F00h3m6y8xrith6ves3d5.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%2F00h3m6y8xrith6ves3d5.png" alt="POST /tshirt/23 with logo" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to initialize a Node.js project&lt;/li&gt;
&lt;li&gt;How to use Express to build an API&lt;/li&gt;
&lt;li&gt;How to use middleware to parse JSON (express.json())&lt;/li&gt;
&lt;li&gt;How to test endpoints with Insomnia&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s Connect!&lt;/p&gt;

&lt;p&gt;If you enjoyed this tutorial and want to follow my learning journey, connect with me here:&lt;/p&gt;

&lt;p&gt;Please don't hesitate to ask me any questions.&lt;/p&gt;

&lt;p&gt;GitHub: github.com/EsraaNasr92&lt;br&gt;
LinkedIn: linkedin.com/in/esraa-nasr92&lt;br&gt;
Instgrame: esraa_dev_&lt;/p&gt;

&lt;p&gt;I regularly post about frontend &amp;amp; backend development, APIs, and tech learning journeys.&lt;/p&gt;

&lt;p&gt;If you’re also learning Node.js or Express, follow me — let’s grow together!&lt;/p&gt;

</description>
      <category>node</category>
      <category>express</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>From Zero to React: A Beginner-Friendly Guide</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Thu, 17 Apr 2025 12:47:59 +0000</pubDate>
      <link>https://dev.to/esraanasr92/from-zero-to-react-a-beginner-friendly-guide-nia</link>
      <guid>https://dev.to/esraanasr92/from-zero-to-react-a-beginner-friendly-guide-nia</guid>
      <description>&lt;p&gt;✅ First: What You Should Know Before Starting React&lt;/p&gt;

&lt;p&gt;Before diving into React, you need a solid understanding of the following:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 JavaScript Fundamentals:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Variables (var, let, const)&lt;/li&gt;
&lt;li&gt;    Functions (especially arrow functions)&lt;/li&gt;
&lt;li&gt;    Arrays &amp;amp; Objects&lt;/li&gt;
&lt;li&gt;    Array Methods: map, filter, reduce&lt;/li&gt;
&lt;li&gt;    Destructuring&lt;/li&gt;
&lt;li&gt;    Spread/Rest operators&lt;/li&gt;
&lt;li&gt;    ES6 Modules: import and export&lt;/li&gt;
&lt;li&gt;    Promises and async/await&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 If you're not confident with these yet, focus on the basics first 👨‍💻&lt;br&gt;
**&lt;br&gt;
⚛️ Second: Essential React Concepts to Understand**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;JSX: React uses JSX, which looks like HTML but is actually JavaScript. Learn how to write JSX elements and use JavaScript inside them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React is built on a "Component-based Architecture".&lt;/li&gt;
&lt;li&gt;Understand the difference between:&lt;/li&gt;
&lt;li&gt;✅ Functional Components (preferred)&lt;/li&gt;
&lt;li&gt;❌ Class Components (less used today)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Props: A way to pass data from one component to another (parent to child).&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;State: A local data storage inside a component that changes based on user interaction.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Hooks(start with these):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; useState&lt;/li&gt;
&lt;li&gt; useEffect&lt;/li&gt;
&lt;li&gt; useRef&lt;/li&gt;
&lt;li&gt; useContext (a bit later)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Event Handling: For example, handling button clicks or input changes. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conditional Rendering&lt;/li&gt;
&lt;li&gt;Show different UI elements based on conditions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Lists and Keys: How to display a list of items using arrays and assigning unique keys.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Forms: How to manage and control input elements.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;React Router (for when you're more advanced): To build multi-page apps without full page reloads.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🚀 A Simple Learning Plan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Week 1-2:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Review JavaScript fundamentals

Learn about JSX, components, and props
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Week 3:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Learn useState and useEffect

Build a small project (e.g., a to-do list)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Week 4:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Learn about forms, conditional rendering, and displaying lists
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Week 5:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Try adding React Router

Build a project with multiple pages
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;🎓 Great Free Learning Resources:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Official Docs: react.dev

YouTube: Elzero Web School – excellent explanations (Arabic)

YouTube: The Net Ninja – simple and practical tutorials

Website: freeCodeCamp – full React course for free
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;✨ In the End…&lt;br&gt;
React isn’t hard if you start with the right approach and have a solid grasp of the basics.&lt;/p&gt;

&lt;p&gt;Take it step by step, start with simple projects, and over time you’ll feel the difference and see real progress! 💪&lt;/p&gt;

&lt;p&gt;If you have any questions or need help with your first project, just drop it in the comments ✨👇&lt;br&gt;
Let’s learn together and support each other 💬🔥&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>React 101: Difference Between State and Props</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Wed, 09 Apr 2025 10:04:05 +0000</pubDate>
      <link>https://dev.to/esraanasr92/react-101-difference-between-state-and-props-4p7m</link>
      <guid>https://dev.to/esraanasr92/react-101-difference-between-state-and-props-4p7m</guid>
      <description>&lt;p&gt;If you're learning React—or even using it in real projects—you’ve probably come across both &lt;code&gt;state&lt;/code&gt; and &lt;code&gt;props&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
But it’s common to get confused about what each one really does.&lt;/p&gt;

&lt;p&gt;In this post, I’ll explain the key differences in a simple way, and show you when to use each of them. 🚀&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 1. Props
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;props&lt;/code&gt; stands for &lt;strong&gt;properties&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Used to &lt;strong&gt;pass data from a parent component to a child component&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immutable&lt;/strong&gt; (read-only) inside the child component&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  ✅ Example:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Welcome&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello, &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Welcome&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Esraa"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;⚠️ Important:&lt;/p&gt;

&lt;p&gt;You can’t pass data directly between sibling components (components on the same level).&lt;/p&gt;

&lt;p&gt;📌 In that case, you need to lift the state up to the closest parent component, and use it as a bridge between the two siblings.&lt;br&gt;
💬 So how do siblings share data?&lt;/p&gt;

&lt;p&gt;Depending on your project size or complexity, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lift the state up to the common parent&lt;/li&gt;
&lt;li&gt;Use React Context API&lt;/li&gt;
&lt;li&gt;In larger apps, consider using a state management library like Redux or Zustand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔄 2. State&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;state refers to data that belongs to the component itself&lt;/li&gt;
&lt;li&gt;It can change over time, and every change triggers a re-render&lt;/li&gt;
&lt;li&gt;Great for things like tracking user input, toggling UI elements, updating counters, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ 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 { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;Counter: {count}&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;Increase&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  🧾 Summary Table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Props&lt;/th&gt;
&lt;th&gt;State&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ownership&lt;/td&gt;
&lt;td&gt;Received from parent&lt;/td&gt;
&lt;td&gt;Local to the component&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editable&lt;/td&gt;
&lt;td&gt;❌ Read-only&lt;/td&gt;
&lt;td&gt;✅ Can be updated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Purpose&lt;/td&gt;
&lt;td&gt;Pass data between components&lt;/td&gt;
&lt;td&gt;Handle dynamic changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Triggers UI?&lt;/td&gt;
&lt;td&gt;No (unless parent updates it)&lt;/td&gt;
&lt;td&gt;Yes, triggers re-render&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you found this helpful, feel free to like, share, or save it for later.&lt;br&gt;
And if you have any questions—drop them in the comments! 🙌 Let’s learn together.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>programming</category>
    </item>
    <item>
      <title>React Tabs Component</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Tue, 08 Apr 2025 09:50:13 +0000</pubDate>
      <link>https://dev.to/esraanasr92/react-tabs-component-gkf</link>
      <guid>https://dev.to/esraanasr92/react-tabs-component-gkf</guid>
      <description>&lt;p&gt;Hey devs! 👋&lt;/p&gt;

&lt;p&gt;I've decided to start a small habit:&lt;br&gt;
Each day, I’ll build a simple React task—just to revisit the main concepts and also explore what’s new in React 19.&lt;/p&gt;

&lt;p&gt;I’ll be sharing my daily learnings here in case anyone finds them helpful (or wants to join me on this React refresh ride 🚀).&lt;/p&gt;

&lt;p&gt;📌 Task 1: Tabs Component&lt;/p&gt;

&lt;p&gt;I started with something simple but practical—a Tabs component.&lt;br&gt;
It displays either a person's info or their address, and I can switch between them by clicking on the corresponding tab.&lt;/p&gt;

&lt;p&gt;💡 The Core Concept: useState&lt;/p&gt;

&lt;p&gt;The most important concept I used today is useState.&lt;br&gt;
This hook lets us add state to functional components without needing class components.&lt;/p&gt;

&lt;p&gt;✍️ Syntax:&lt;br&gt;
&lt;code&gt;const [state, setState] = useState(initialValue);&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;state: holds the current value&lt;/li&gt;
&lt;li&gt;setState: updates the state&lt;/li&gt;
&lt;li&gt;initialValue: the initial value assigned&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧠 How I Used It:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const [open, setOpen] = useState(true);&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  If open is true → the Person tab is active&lt;/li&gt;
&lt;li&gt;    If false → the Address tab is shown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I used a ternary condition to decide which component to render based on the state, and I toggled between tabs using onClick events.&lt;/p&gt;

&lt;p&gt;💻 Code Preview&lt;/p&gt;

&lt;p&gt;Here’s a snippet of the component:&lt;/p&gt;

&lt;p&gt;`const Tabs = () =&amp;gt; {&lt;br&gt;
  const [open, setOpen] = useState(true);&lt;/p&gt;

&lt;p&gt;return (&lt;br&gt;
    &lt;/p&gt;
&lt;br&gt;
      &lt;ul&gt;

        &lt;li&gt; setOpen(true)}&amp;gt;Person&lt;/li&gt;

        &lt;li&gt; setOpen(false)}&amp;gt;Address&lt;/li&gt;

      &lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  {open ? (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;Name: John Doe&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Age: 32&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Occupation: Developer&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  ) : (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;Street: 1234 Main St&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;City: San Francisco&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;State: CA&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Zip: 94107&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  )}
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;);&lt;br&gt;
};&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;You can of course style it more with styled-components, which I used in my full version!&lt;/p&gt;

&lt;p&gt;🧠 Lessons Learned:&lt;/p&gt;

&lt;p&gt;useState is super handy and clean for toggling UI elements.&lt;br&gt;
Keeping state simple makes conditional rendering straightforward.&lt;br&gt;
Even basic tasks like this are a great way to reinforce React muscle memory 💪&lt;/p&gt;

&lt;p&gt;👀 What’s Next?&lt;/p&gt;

&lt;p&gt;Next up: I’ll explore other hooks (useEffect, useRef), maybe dive into the experimental features in React 19, and build out more useful UI patterns.&lt;/p&gt;

&lt;p&gt;If you’d like to follow along or share tips, feel free to connect!&lt;br&gt;
Let’s grow together 🌱&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>reactjsdevelopment</category>
    </item>
    <item>
      <title>React Tabs Component</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Sun, 06 Apr 2025 09:09:04 +0000</pubDate>
      <link>https://dev.to/esraanasr92/react-tabs-component-o8m</link>
      <guid>https://dev.to/esraanasr92/react-tabs-component-o8m</guid>
      <description>&lt;p&gt;Hey devs! 👋&lt;/p&gt;

&lt;p&gt;I've decided to start a small habit:&lt;br&gt;
Each day, I’ll build a simple React task—just to revisit the main concepts and also explore what’s new in React 19.&lt;/p&gt;

&lt;p&gt;I’ll be sharing my daily learnings here in case anyone finds them helpful (or wants to join me on this React refresh ride 🚀).&lt;/p&gt;

&lt;p&gt;📌 Task 1: Tabs Component&lt;/p&gt;

&lt;p&gt;I started with something simple but practical—a Tabs component.&lt;br&gt;
It displays either a person's info or their address, and I can switch between them by clicking on the corresponding tab.&lt;/p&gt;

&lt;p&gt;💡 The Core Concept: useState&lt;/p&gt;

&lt;p&gt;The most important concept I used today is useState.&lt;br&gt;
This hook lets us add state to functional components without needing class components.&lt;/p&gt;

&lt;p&gt;✍️ Syntax:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [state, setState] = useState(initialValue);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;state: holds the current value&lt;/li&gt;
&lt;li&gt;setState: updates the state&lt;/li&gt;
&lt;li&gt;initialValue: the initial value assigned&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧠 How I Used It:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [open, setOpen] = useState(true);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  If open is true → the Person tab is active&lt;/li&gt;
&lt;li&gt;    If false → the Address tab is shown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I used a ternary condition to decide which component to render based on the state, and I toggled between tabs using onClick events.&lt;/p&gt;

&lt;p&gt;💻 Code Preview&lt;/p&gt;

&lt;p&gt;Here’s a snippet of the component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
const Tabs = () =&amp;gt; {
  const [open, setOpen] = useState(true);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li onClick={() =&amp;gt; setOpen(true)}&amp;gt;Person&amp;lt;/li&amp;gt;
        &amp;lt;li onClick={() =&amp;gt; setOpen(false)}&amp;gt;Address&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;

      {open ? (
        &amp;lt;div&amp;gt;
          &amp;lt;p&amp;gt;Name: John Doe&amp;lt;/p&amp;gt;
          &amp;lt;p&amp;gt;Age: 32&amp;lt;/p&amp;gt;
          &amp;lt;p&amp;gt;Occupation: Developer&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
      ) : (
        &amp;lt;div&amp;gt;
          &amp;lt;p&amp;gt;Street: 1234 Main St&amp;lt;/p&amp;gt;
          &amp;lt;p&amp;gt;City: San Francisco&amp;lt;/p&amp;gt;
          &amp;lt;p&amp;gt;State: CA&amp;lt;/p&amp;gt;
          &amp;lt;p&amp;gt;Zip: 94107&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
      )}
    &amp;lt;/div&amp;gt;
  );
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can of course style it more with styled-components, which I used in my full version!&lt;/p&gt;

&lt;p&gt;🧠 Lessons Learned:&lt;/p&gt;

&lt;p&gt;useState is super handy and clean for toggling UI elements.&lt;br&gt;
Keeping state simple makes conditional rendering straightforward.&lt;br&gt;
Even basic tasks like this are a great way to reinforce React muscle memory 💪&lt;/p&gt;

&lt;p&gt;👀 What’s Next?&lt;/p&gt;

&lt;p&gt;Next up: I’ll explore other hooks (useEffect, useRef), maybe dive into the experimental features in React 19, and build out more useful UI patterns.&lt;/p&gt;

&lt;p&gt;If you’d like to follow along or share tips, feel free to connect!&lt;br&gt;
Let’s grow together 🌱&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>reactjsdevelopment</category>
    </item>
    <item>
      <title>PHP tutorial for beginners</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Wed, 29 Jan 2025 13:53:15 +0000</pubDate>
      <link>https://dev.to/esraanasr92/php-tutorial-for-bigenner-2lne</link>
      <guid>https://dev.to/esraanasr92/php-tutorial-for-bigenner-2lne</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction to PHP&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PHP stands&lt;/strong&gt; for Personal Home Page, but is now known as PHP: Hypertext Preprocessor. It is a general-purpose server-side scripting language that is widely used in web development for tasks such as form handling, file processing, and database access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Choose PHP?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interpreted Language: PHP is an interpreted language, meaning that PHP code is executed by a web server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open Source: It is an open-source, free product that is highly customizable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Versatile: PHP can be used for various tasks like processing HTML forms, managing files on a server, and connecting to databases.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;php code is written in normal text files between &amp;lt;?php and ?&amp;gt; tags&lt;/li&gt;
&lt;li&gt;A PHP file normally contains HTML tags.&lt;/li&gt;
&lt;li&gt;You can have more than one php script in our page&lt;/li&gt;
&lt;li&gt;PHP statements terminated with ;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PHP execution&lt;/strong&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%2Fh1jl4tgoa7c5ickm8z1h.jpg" 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%2Fh1jl4tgoa7c5ickm8z1h.jpg" alt="PHP execution" width="453" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Server Determination:&lt;/strong&gt; The server identifies PHP scripts by the .php file extension.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Request Handling:&lt;/strong&gt; When a browser requests a .php file, the web server calls the PHP processor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PHP Execution:&lt;/strong&gt; The server executes the PHP code, then substitutes the output into the HTML.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Client Output:&lt;/strong&gt; The resulting HTML page is sent to the client. The PHP code itself is never visible to the user, only the output.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;NOTE: user never sees the PHP code, only the output in the&lt;br&gt;
page&lt;/strong&gt;&lt;br&gt;
**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embedding HTML in PHP Using include&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PHP provides constructs such as include and require to embed HTML or other PHP files into the current script. Here's the difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;include: If the file doesn't exist, PHP will generate a warning but the script will continue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;require: If the file is missing, PHP will stop executing the script and generate a fatal error.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The echo language construct&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;echo and print are more or less the same. They are both used to output data to the screen.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The print statement can be used with or without parentheses: print or print().&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The differences are small:&lt;/p&gt;

&lt;p&gt;– echo has no return value while print has a return value of 1 so it can be used in expressions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$result = echo "Hello";  // ❌ This will cause an error
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$result = print "Hello";  // ✅ Works because print returns 1
echo $result;  // Output: 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Since print returns 1, it can be used inside expressions.&lt;/p&gt;

&lt;p&gt;– echo can take multiple parameters (although such usage is rare) while print can take one argument.&lt;/p&gt;

&lt;p&gt;Using Multiple Arguments in echo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo "Hello", ", ", "World!";  // Output: Hello, World!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Invalid Usage (Multiple Arguments Not Allowed)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print "Hello", "World";  // ❌ Error: print() only takes one argument
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;– echo is marginally faster than print.&lt;br&gt;
echo is faster because it does not return anything.&lt;br&gt;
print is slower because it returns 1&lt;/p&gt;

&lt;p&gt;✅ When Performance Matters (Use echo)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo "Fast output";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ When You Need a Return Value (Use print)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (print "Hello") {
    echo " - Print returned 1";
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;When to Use echo vs print?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;&lt;code&gt;echo&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;print&lt;/code&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Return Value?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Returns 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multiple Arguments?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Speed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;🚀 Faster&lt;/td&gt;
&lt;td&gt;🐌 Slower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Use in Expressions?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;PHP Variables&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;All PHP variables should start with a &lt;code&gt;$&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  php
  $name = "Esraa";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Php variables are global and can be accessed from any php script in   same page
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$fruit = "apple"; 
echo $fruit;  // Outputs: apple
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;There are no type declarations
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$number = 10;  // Integer
$name = "Esraa";  // String
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Variable names are case sensitive.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$Fruit = "apple";  // Different variable than $fruit
$fruit = "banana"; // Will overwrite the previous one
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;An unassigned (unbound) variable has the value NULL
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$var;  // NULL by default
var_dump($var);  // Outputs: NULL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The unset language construct sets a variable to NULL
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$fruit = "apple";
unset($fruit);
var_dump($fruit);  // Outputs: NULL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The IsSet language construct is used to determine whether a variable is NULL , ex :IsSet($fruit)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$fruit = "apple";
if (isset($fruit)) {
    echo "The variable is set!";
} else {
    echo "The variable is not set!";
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If an unbound variable is used in an expression, NULL is
forced to a value that is dictated by the context of the
use. If the context specifies a number, NULL is coerced to
0; if the context specifies a string, NULL is coerced to the
empty string.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$var; // NULL
echo $var + 10;  // Outputs: 10 (NULL is coerced to 0)
echo $var . "hello";  // Outputs: hello (NULL is coerced to empty string)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Looking Ahead:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the next article, we’ll dive into another important topic—functions and arrays in PHP. You’ll learn how to define and use functions effectively and explore how arrays can be leveraged to manage and manipulate data. This is a key area that will help you build more dynamic and organized PHP applications.&lt;/p&gt;

&lt;p&gt;Stay tuned, and don't miss it!&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>website</category>
      <category>programming</category>
    </item>
    <item>
      <title>Understanding Networks – A Beginner’s Guide</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Fri, 03 Jan 2025 11:46:26 +0000</pubDate>
      <link>https://dev.to/esraanasr92/understanding-networks-a-beginners-guide-4o4m</link>
      <guid>https://dev.to/esraanasr92/understanding-networks-a-beginners-guide-4o4m</guid>
      <description>&lt;p&gt;Are you curious about how networks work? Whether it’s sharing data, printing from your computer, or video conferencing, networks are the backbone of modern technology. In this article, I’ll take you through the essentials:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Network?&lt;/strong&gt;&lt;br&gt;
Network: a group of devices connected together to give a user a certain service. &lt;br&gt;
For example: computer and printer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Network.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Sharing: Share files and information seamlessly.&lt;/li&gt;
&lt;li&gt;Resource Sharing: Use shared devices like printers efficiently.&lt;/li&gt;
&lt;li&gt;Modern Technology: Power features like VOIP (Voice over IP) and Video conference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Network components.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;End Users: Devices like PC, printers, and phone&lt;/li&gt;
&lt;li&gt;Network devices: Tools like Hub, Switch, and Router&lt;/li&gt;
&lt;li&gt;Media: Connections through wires or wireless signals.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Network devices.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NIC (Network Interface Card)&lt;/li&gt;
&lt;li&gt;Hub&lt;/li&gt;
&lt;li&gt;Switch&lt;/li&gt;
&lt;li&gt;Router&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's talk about Network devices in detail:&lt;br&gt;
NIC:&lt;/p&gt;

&lt;p&gt;Every device in a network needs a NIC to connect. For multiple hosts, you’ll need more advanced devices like hubs and switches.&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%2Fbg5zhv890t9jk3fmoij6.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%2Fbg5zhv890t9jk3fmoij6.png" alt="Network Interface Card" width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hub:&lt;br&gt;
A hub repeats the information from one host to all connected hosts. However, this creates a single collision domain, which can slow things down.&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%2Fzrrfq7gg417e99hm2vfa.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%2Fzrrfq7gg417e99hm2vfa.png" alt="Hub" width="787" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The hub will relay any information received from Host A to Host B and Host C.&lt;/p&gt;

&lt;p&gt;Two problems arise:&lt;br&gt;
• A hub repeats information received from one host to all the other hosts.&lt;br&gt;
• A hub has a single collision domain.&lt;/p&gt;

&lt;p&gt;Switch:&lt;/p&gt;

&lt;p&gt;Switches solve hub-related issues by creating a separate collision domain for each connected device. This ensures smoother communication.&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%2Fdhmalqzskc5wr96mxuck.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%2Fdhmalqzskc5wr96mxuck.png" alt="Switch" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Router:&lt;br&gt;
Routers interconnect networks and block unnecessary broadcasts, ensuring efficient data transmission across devices.&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%2F5osj62bpeipyw5wq4nat.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%2F5osj62bpeipyw5wq4nat.png" alt="Router" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type of communication.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unicast: One-to-one&lt;/li&gt;
&lt;li&gt;Broadcast: one-to-all&lt;/li&gt;
&lt;li&gt;Multicast: one-to-few&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Functions of Router.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breaking up broadcasts.&lt;/li&gt;
&lt;li&gt;Switching packets between devices.&lt;/li&gt;
&lt;li&gt;Selecting the best path for data transmission.&lt;/li&gt;
&lt;li&gt;Filtering paths for secure connections.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>networking</category>
      <category>network</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Database Management system(DBMS) Part1</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Thu, 13 Jun 2024 10:38:14 +0000</pubDate>
      <link>https://dev.to/esraanasr92/database-management-systemdbms-part1-4okm</link>
      <guid>https://dev.to/esraanasr92/database-management-systemdbms-part1-4okm</guid>
      <description>&lt;p&gt;Hello guys, &lt;/p&gt;

&lt;p&gt;Hope everything is going well. I'm Esraa a frontend developer and postgraduate student at AAST in Computer Science. This semester, I'm studying three subjects Data structure and algorithms, Database Management Systems(DBMS), and Object object-oriented programming (OOP).&lt;/p&gt;

&lt;p&gt;I'll contribute tutorials for each subject to share information, and if you have an external tutorial, please share it with us:).&lt;/p&gt;

&lt;p&gt;So, get to the point. What is the meaning of Data? What is the difference between Data and Information? Why do we need this information?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data:&lt;/strong&gt; refers to raw facts, building blocks of information. Unprocessed information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Information:&lt;/strong&gt; data is processed to reveal meaning (ذات معنى)&lt;/p&gt;

&lt;p&gt;If we have accurate, relevant, and timely information we have a key to effective decision-making. effective decision-making is the key to survival in the global environment. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database:&lt;/strong&gt; Shared, integrated computer structure that houses&lt;br&gt;
End user data (raw facts)&lt;br&gt;
Metadata (data about data)&lt;/p&gt;

&lt;p&gt;Let's go further and discover a database management system.&lt;/p&gt;

&lt;p&gt;Do you consider how may I manage and control access to data? Is it possible to share it? How can I make data more effective and efficient?!&lt;/p&gt;

&lt;p&gt;DBMS can answer all questions about this point because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It's a collection of programs that manage database structure and control access to data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It's possible to share data among multiple apps or users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make database management more efficient and effective.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqcjbh99gkhx9x5t7ng7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqcjbh99gkhx9x5t7ng7.jpg" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feature on details: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Support massive amounts of data&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Giga/tera/petabytes&lt;/li&gt;
&lt;li&gt;Far too big for main memory&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Persistent storage&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programs update, query, manipulate data.&lt;/li&gt;
&lt;li&gt;Data continues to live long after program finishes.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Efficient and convenient access&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Efficient: do not search entire database to answer a query.&lt;/li&gt;
&lt;li&gt;Convenient: allow users to query the data as easily as possible.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Secure, concurrent, and atomic access&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow multiple users to access database simultaneously.&lt;/li&gt;
&lt;li&gt;Allow a user access to only to authorized data.&lt;/li&gt;
&lt;li&gt;Provide some guarantee of reliability against system failures.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Last but not least&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's a diagram for a type of database and location&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbd9f3izzwnrjgm5f3z9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbd9f3izzwnrjgm5f3z9.jpg" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>React App with source code</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Thu, 02 May 2024 08:40:10 +0000</pubDate>
      <link>https://dev.to/esraanasr92/react-app-with-source-code-2nm8</link>
      <guid>https://dev.to/esraanasr92/react-app-with-source-code-2nm8</guid>
      <description>&lt;p&gt;This week, I’m dedicated my time on enhancing my ReactJS skills by building 4 tiny applications.&lt;/p&gt;

&lt;p&gt;Throughout this week, I also spent time researching and learning about different React concepts, such as class components vs. function components, the useRef hook, and handling form elements.&lt;/p&gt;

&lt;p&gt;Rock, paper and scissor game&lt;br&gt;
Link: &lt;a href="https://lnkd.in/dhKHNsDy"&gt;https://lnkd.in/dhKHNsDy&lt;/a&gt;&lt;br&gt;
Source code: &lt;a href="https://lnkd.in/daMrATAA"&gt;https://lnkd.in/daMrATAA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykh6202crc2kwquqaup0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykh6202crc2kwquqaup0.png" alt="Image description" width="798" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Body Mass Index calculation (BMI)&lt;br&gt;
Link: &lt;a href="https://lnkd.in/dEgqSaYW"&gt;https://lnkd.in/dEgqSaYW&lt;/a&gt;&lt;br&gt;
Source code: &lt;a href="https://lnkd.in/d6Na9_Mv"&gt;https://lnkd.in/d6Na9_Mv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vju95busbp6yf2lhju6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vju95busbp6yf2lhju6.png" alt="Image description" width="520" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Form&lt;br&gt;
Link: &lt;a href="https://lnkd.in/dtznKj9J"&gt;https://lnkd.in/dtznKj9J&lt;/a&gt;&lt;br&gt;
Source code: &lt;a href="https://lnkd.in/dmCw9MJv"&gt;https://lnkd.in/dmCw9MJv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqeay0vi87xskusev37vd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqeay0vi87xskusev37vd.png" alt="Image description" width="520" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions and answers&lt;br&gt;
Link: &lt;a href="https://lnkd.in/dTqGCvDy"&gt;https://lnkd.in/dTqGCvDy&lt;/a&gt;&lt;br&gt;
Source code: &lt;a href="https://lnkd.in/demKrvVW"&gt;https://lnkd.in/demKrvVW&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pwlhjawfvepc6cf8hu2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pwlhjawfvepc6cf8hu2.png" alt="Image description" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm thrilled with my progress and eager to put this acquired knowledge to use in my future project!&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/EsraaNasr92/"&gt;https://github.com/EsraaNasr92/&lt;/a&gt;&lt;br&gt;
Twitter / X: &lt;a href="https://twitter.com/Esraa_nasr92"&gt;https://twitter.com/Esraa_nasr92&lt;/a&gt;&lt;br&gt;
Instgram: &lt;a href="https://www.instagram.com/_esraaanasr/"&gt;https://www.instagram.com/_esraaanasr/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactjsdevelopment</category>
      <category>learning</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>The first month in CS Diploma</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Wed, 06 Dec 2023 20:26:33 +0000</pubDate>
      <link>https://dev.to/esraanasr92/the-first-month-in-cs-diploma-28aj</link>
      <guid>https://dev.to/esraanasr92/the-first-month-in-cs-diploma-28aj</guid>
      <description>&lt;p&gt;Hey guys,&lt;/p&gt;

&lt;p&gt;Two months ago I applied for a CS(Computer science) diploma in ASST (Arab Academy for Science and Technology). I'm sucked at self-taught learning and need to have the academic basics of CS.&lt;/p&gt;

&lt;p&gt;Last month I started the journey. I chose 3 subjects for the first semester. Intro to programming, Intro to computing, digital logic, and computer design.&lt;/p&gt;

&lt;p&gt;I decided to share the knowledge that I will have with you, and feel free to ask me any question we're here to share our knowledge with you.&lt;/p&gt;

&lt;p&gt;Here I'll list what I had last month in 3 subjects:&lt;br&gt;
First, Intro to programming &lt;br&gt;
We have the basics of C language &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Syntaxes &lt;/li&gt;
&lt;li&gt;Conditions (If - nested if - switch)&lt;/li&gt;
&lt;li&gt;Loop (for - while - do...while)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Second, Intro to Computing &lt;br&gt;
We started with "Understand Computers Today and Tomorrow 16th edition" which took 4 chapters, a numbering system, and a flowchart.&lt;/p&gt;

&lt;p&gt;Last, digital logic design &lt;br&gt;
Numbering system also and digital gates.&lt;/p&gt;

&lt;p&gt;I will arrange my time and share at least 3 posts every week. &lt;/p&gt;

&lt;p&gt;Wish me luck guys and hope all is well with you.&lt;/p&gt;

&lt;p&gt;Here are my social links if you would like to follow.&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/EsraaNasr92/"&gt;https://github.com/EsraaNasr92/&lt;/a&gt;&lt;br&gt;
Twitter / X: &lt;a href="https://twitter.com/Esraa_nasr92"&gt;https://twitter.com/Esraa_nasr92&lt;/a&gt;&lt;br&gt;
Instgram: &lt;a href="https://www.instagram.com/_esraaanasr/"&gt;https://www.instagram.com/_esraaanasr/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>developer</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>TIL, CSS Text-shadow tricks</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Tue, 17 Oct 2023 08:35:17 +0000</pubDate>
      <link>https://dev.to/esraanasr92/til-css-text-shadow-tricks-458</link>
      <guid>https://dev.to/esraanasr92/til-css-text-shadow-tricks-458</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey guys,&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This article includes examples of text-shadow to add visual interest to your website's typography. I will try to update it every week with new examples.&lt;/p&gt;

&lt;p&gt;Hard Shadow&lt;br&gt;
Double Shadow&lt;br&gt;
Close and Heavy&lt;br&gt;
Glowing&lt;br&gt;
Superhero&lt;br&gt;
Multiple Light Sources&lt;/p&gt;

&lt;p&gt;Hard Shadow&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;text-shadow: 6px 6px 0px rgba(0, 0, 0, 0.2);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6X6IlF6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dcak8rgpe8u8c1d09nj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6X6IlF6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dcak8rgpe8u8c1d09nj7.png" alt="Hard Shadow" width="795" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Double Shadow&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;text-shadow: 4px 3px 0px #fff, 
             9px 8px 0px rgba(232, 28, 28, 0.43);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tcXJXbSm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8p1pweflf55mt3ppcqp6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tcXJXbSm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8p1pweflf55mt3ppcqp6.png" alt="Double Shadow" width="795" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Close and Heavy Shadow&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;text-shadow: 0px 4px 3px rgba(0, 0, 0, 0.4), 
             0px 8px 13px rgba(0, 0, 0, 0.1),
             0px 18px 23px rgba(0, 0, 0, 0.1);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lKU16YiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olrtaz3q8j927ytgevsb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lKU16YiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olrtaz3q8j927ytgevsb.png" alt="Close and Heavy Shadow" width="795" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Superhero Shadow&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;text-shadow: -10px 10px 0px #C29DFA, 
             -20px 20px 0px #934FFA,
             -30px 30px 0px #6600FF;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SgyC_5JC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrpvdfk10wwcbnah68qw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SgyC_5JC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrpvdfk10wwcbnah68qw.png" alt="Superhero Shadow" width="795" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Multiple Light Sources Shadow&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;text-shadow: 0px 15px 5px rgba(0, 0, 0, 0.1),
             10px 20px 5px rgba(0, 0, 0, 0.05),
             -10px 20px 5px rgba(0, 0, 0, 0.05);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J5zTl5_h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d60amrkdrrlah3c6mdh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J5zTl5_h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d60amrkdrrlah3c6mdh0.png" alt="Multiple Light Sources Shadow" width="795" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all the things I'm learning today what about you?&lt;/p&gt;

&lt;p&gt;let's share our knowledge and tell me what you learned today.&lt;/p&gt;

&lt;p&gt;Here are my social links if you would like to follow.&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/EsraaNasr92/"&gt;https://github.com/EsraaNasr92/&lt;/a&gt;&lt;br&gt;
Twitter / X: &lt;a href="https://twitter.com/Esraa_nasr92"&gt;https://twitter.com/Esraa_nasr92&lt;/a&gt;&lt;br&gt;
Instgram: &lt;a href="https://www.instagram.com/_esraaanasr/"&gt;https://www.instagram.com/_esraaanasr/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>JavaScript objects for beginners</title>
      <dc:creator>Esraa Nasr</dc:creator>
      <pubDate>Mon, 18 Sep 2023 09:27:15 +0000</pubDate>
      <link>https://dev.to/esraanasr92/javascript-objects-for-beginners-5hii</link>
      <guid>https://dev.to/esraanasr92/javascript-objects-for-beginners-5hii</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey guys&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From HackerRank challenge &lt;a href="https://www.hackerrank.com/contests/7days-javascript/challenges"&gt;7 Days of JavaScript &lt;/a&gt;  Day 2: objects&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First of all, What are objects?&lt;/strong&gt;&lt;br&gt;
Objects are variables too, but objects can contain many values. &lt;br&gt;
another definition is the object is a different way of organizing information in JavaScript&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;for example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;var myObject = {type:"Kia", model:2023, color:"red"};&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessing Object Properties&lt;/strong&gt;&lt;br&gt;
You can access object properties in two ways:&lt;br&gt;
&lt;code&gt;objectName.propertyName&lt;/code&gt;  or  &lt;code&gt;objectName["propertyName"]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task 1&lt;/strong&gt;&lt;br&gt;
In this example, you are given a single line consisting of property type values of a car in the following order:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;TypeName ModelName ColorName&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;These values are assigned to an object car that has the properties type, model, and color (read the code in the editor carefully to learn how that is done). Your task is to complete the code to print the object.&lt;/p&gt;

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

&lt;p&gt;Take your time and think about a solution then check my solution.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;The next step learning how displaying Information contained in Objects&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;I'm thinking of using if statement for the condition and I'm taking a long time to think about how to iterate over an object variable. loop!! yes using for statement.&lt;/p&gt;

&lt;p&gt;Do you write code? If yes or no you can check my solution.&lt;/p&gt;

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

&lt;p&gt;That's all the things I'm learning today what about you?&lt;/p&gt;

&lt;p&gt;let's share our knowledge and tell me what you learned today.&lt;/p&gt;

&lt;p&gt;Here are my social links if you would like to follow.&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/EsraaNasr92/"&gt;https://github.com/EsraaNasr92/&lt;/a&gt;&lt;br&gt;
Twitter / X: &lt;a href="https://twitter.com/Esraa_nasr92"&gt;https://twitter.com/Esraa_nasr92&lt;/a&gt;&lt;br&gt;
Instgram: &lt;a href="https://www.instagram.com/_esraaanasr/"&gt;https://www.instagram.com/_esraaanasr/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
