<?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: Charles Eugene</title>
    <description>The latest articles on DEV Community by Charles Eugene (@charles_eugene_79230d4394).</description>
    <link>https://dev.to/charles_eugene_79230d4394</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%2F2164298%2F27bf0687-cd56-49fe-ab34-8ad7059c8b5c.JPG</url>
      <title>DEV Community: Charles Eugene</title>
      <link>https://dev.to/charles_eugene_79230d4394</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/charles_eugene_79230d4394"/>
    <language>en</language>
    <item>
      <title>Snowflake</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 14 Apr 2025 13:49:40 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/snowflake-4kg3</link>
      <guid>https://dev.to/charles_eugene_79230d4394/snowflake-4kg3</guid>
      <description>&lt;p&gt;When working with data at scale, traditional databases often start to feel like a past time that's where Snowflake steps in. Boom, here comes Snowflake stepping in! It's not just a cloud data warehouse it's a full platform for analytics, data sharing, and engineering. Built from the ground up to take advantage of cloud computing. &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%2Fz31wnj57lurlmrqgtf5k.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%2Fz31wnj57lurlmrqgtf5k.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Snowflake is a cloud native data platform that lets you store, query, and analyze large volumes of data without dealing with servers or infrastructure headaches. Unlike older warehouses, it separates storage from compute, runs on cloud providers like AWS and Azure also supports SQL. Give it structured data aka "Tables" and semi structured formats like JSON it handles both!&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%2Fveob26z7ynqlvemn4ic3.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%2Fveob26z7ynqlvemn4ic3.png" alt="Image description" width="512" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Elastic Scaling: You can scale compute and storage separately depending on workload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi Cloud Support: Choose your provider or run across multiple.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance: It's fast even with tons of concurrent users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pay for what you use: Pause computing when you don't need it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zero Maintenance: No hardware, patches, or indexing needed. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Flzi30ck5j75ri8szb987.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%2Flzi30ck5j75ri8szb987.png" alt="Image description" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Separation of Storage and Compute: You can scale up the compute for a big query without touching your storage. It's cleaner and more cost efficient than bundling them together like older systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi Cloud Ready: Whether if you're on AWS or Azure Snowflake can run on it. It's designed to be flexible and vendor neutral.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No Infrastructure Management: It handles everything behind the scenes from optimization to resource allocation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Built in Security: Everything is encrypted and access is controlled by roles.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fpacjrl0x2lw8ztsu8n28.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%2Fpacjrl0x2lw8ztsu8n28.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding Snowflake's Architecture&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;There are four major layers to understanding how Snowflake works.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Storage Layer: All of your raw data structured or not is stored in cloud based object compressed, encrypted, and managed by Snowflake.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compute Layer: Compute resources are called virtual warehouses. Each one processes queries and jobs independently. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud Services Layer: Which takes care of Query parsing and optimization, MetaData handling, Access Control, and Transactions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Sharing Layer: Share live queryable data with partners or clients without copying or exporting anything Snowflake handles the permissions and access securely.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2F0f3n2be3zgq6t4vh7wsg.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%2F0f3n2be3zgq6t4vh7wsg.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember is a Snowflake is a SDK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API vs SDK&lt;/p&gt;

&lt;p&gt;Definition&lt;br&gt;
API: Set of rules for interacting with a service.&lt;br&gt;
SDK: Toolkit that wraps those rules in easy to use code.  &lt;/p&gt;

&lt;p&gt;Interface&lt;br&gt;
API: REST based called by HTTP.&lt;br&gt;
SDK: Built in function often language specific.&lt;/p&gt;

&lt;p&gt;Developer Effort:&lt;br&gt;
API: Manual Setup&lt;br&gt;
SDK: Less boilerplate, faster dev time.&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%2Fg8kuqqdzxwf4jpk9hqh8.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%2Fg8kuqqdzxwf4jpk9hqh8.png" alt="Image description" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Snowflake is one of those platforms that gets it right. It's fast, secure, elastic, and built with developers in mind. You don't need to be a data engineer to get value from it and the ability to query data. If you're building apps, dashboards, or workflows that rely on serious data learn to use Snowflake! &lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://appstekcorp.com/services/snowflake-services/" rel="noopener noreferrer"&gt;https://appstekcorp.com/services/snowflake-services/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.biztory.com/blog/what-are-the-different-snowflake-components" rel="noopener noreferrer"&gt;https://www.biztory.com/blog/what-are-the-different-snowflake-components&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.businesswire.com/news/home/20240924530491/en/Snowflakes-AI-Data-Cloud-for-Travel-and-Hospitality-Drives-AI-Innovation-Enhances-Collaboration-and-Transforms-Customer-Experiences" rel="noopener noreferrer"&gt;https://www.businesswire.com/news/home/20240924530491/en/Snowflakes-AI-Data-Cloud-for-Travel-and-Hospitality-Drives-AI-Innovation-Enhances-Collaboration-and-Transforms-Customer-Experiences&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.snowflake.com/trending/cloud-services/" rel="noopener noreferrer"&gt;https://www.snowflake.com/trending/cloud-services/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.snowflake.com/en/" rel="noopener noreferrer"&gt;https://www.snowflake.com/en/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Snowflake_Inc" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Snowflake_Inc&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Elevate Your UI With React Paper</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 31 Mar 2025 13:17:25 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/elevate-your-ui-with-react-paper-5eeh</link>
      <guid>https://dev.to/charles_eugene_79230d4394/elevate-your-ui-with-react-paper-5eeh</guid>
      <description>&lt;p&gt;&lt;strong&gt;React Paper&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%2Fw7e7gckozvxmhnpwppuf.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%2Fw7e7gckozvxmhnpwppuf.png" alt="Image description" width="514" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In web design UI needs clarity, structure, and visual depth to stand out. React Paper is a component from Material UI that brings these qualities to the forefront. It mimics real world paper giving your content shadow, shape, and elegance with minimal effort.&lt;/p&gt;

&lt;p&gt;Whether if you're building dashboards, admin panels, or clean landing pages, Paper can become your go to for crafting beautiful layouts.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is React Paper?&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%2F44xtx1txxh5vkw3q5oeh.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%2F44xtx1txxh5vkw3q5oeh.png" alt="Image description" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paper is a React component provided by Material UI. It copies the concept of an actual sheet of paper from Google's Material Design system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Great for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Background Color &lt;/li&gt;
&lt;li&gt;Elevation &lt;/li&gt;
&lt;li&gt;Rounded or square corners &lt;/li&gt;
&lt;li&gt;Versatile styling using MUI's sx prop&lt;/li&gt;
&lt;/ul&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%2Fbgbsn9zl1mm6iefw6dbw.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%2Fbgbsn9zl1mm6iefw6dbw.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Role of Paper&lt;/strong&gt;&lt;br&gt;
The idea comes from actual stacks of paper layered on a surface. This helps users visually understand hierarchy and grouping. &lt;br&gt;
Using depth and elevation Paper can help you with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Group Related Content &lt;/li&gt;
&lt;li&gt;Highlight Sections &lt;/li&gt;
&lt;li&gt;Improve Layout Structure &lt;/li&gt;
&lt;li&gt;Enhance Readability &lt;/li&gt;
&lt;/ul&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%2Fmqoafjmop8ii07hs4sgc.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%2Fmqoafjmop8ii07hs4sgc.png" alt="Image description" width="686" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lets get set up&lt;/strong&gt;&lt;br&gt;
Install MUI and Paper.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install @mui/material @emotion/react @emotion/styled&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Import Paper&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%2Ft0jcyttrlth7jcm82d6y.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%2Ft0jcyttrlth7jcm82d6y.png" alt="Image description" width="517" height="49"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic Usage&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%2Fitch1ukl60me2pzv6z20.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%2Fitch1ukl60me2pzv6z20.png" alt="Image description" width="547" height="806"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;elevation={3} Adds a soft shadow &lt;/li&gt;
&lt;li&gt;padding Is for spacing inside the container&lt;/li&gt;
&lt;/ul&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%2Fbzn2orb0a7qluv1l1f4b.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%2Fbzn2orb0a7qluv1l1f4b.png" alt="Image description" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important props for Paper&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Elevation: Adds shadow depth 0-24, 0 is flat 24 is deep.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variant: Use outlined to show a border instead of a shadow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Square: If true it removes the default round corners.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fffo792npckfuvdsply82.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%2Fffo792npckfuvdsply82.png" alt="Image description" width="800" height="448"&gt;&lt;/a&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%2Fusdbpjko2rtaz8rvapdx.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%2Fusdbpjko2rtaz8rvapdx.png" alt="Image description" width="509" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practices&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use elevation to guide eyes and not overwhelm them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stick to 2-3 elevation levels for page clarity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try to avoid nesting Paper inside of other papers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Combine with Box, Grid, or Stack for better looking layouts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
React Paper is a powerful UI container that brings structure, depth, and clarity to web applications. It fits great into dashboards, landing pages, and admin panels giving the content hierarchy with a visual polish. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://mui.com/material-ui/getting-started/installation/?srsltid=AfmBOorZCdtDqoJJ_hNjON2Suk_lIbQuSyI3jL6PiETCVBFVu2GrvPyq" rel="noopener noreferrer"&gt;https://mui.com/material-ui/getting-started/installation/?srsltid=AfmBOorZCdtDqoJJ_hNjON2Suk_lIbQuSyI3jL6PiETCVBFVu2GrvPyq&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.npmjs.com/package/react-native-paper" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/react-native-paper&lt;/a&gt; &lt;br&gt;
&lt;a href="https://mui.com/material-ui/react-paper/?srsltid=AfmBOoptzFGTS6cbBMMSQpmGNhyfrkbaInQ-bbmPzS1GV74v8tif8kCL" rel="noopener noreferrer"&gt;https://mui.com/material-ui/react-paper/?srsltid=AfmBOoptzFGTS6cbBMMSQpmGNhyfrkbaInQ-bbmPzS1GV74v8tif8kCL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.thefabricator.com/thefabricator/article/bending/when-adopting-best-practices-isn-t-your-best-practice" rel="noopener noreferrer"&gt;https://www.thefabricator.com/thefabricator/article/bending/when-adopting-best-practices-isn-t-your-best-practice&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blogs.purecode.ai/blogs/mui-paper" rel="noopener noreferrer"&gt;https://blogs.purecode.ai/blogs/mui-paper&lt;/a&gt;&lt;br&gt;
&lt;a href="https://xpertlab.com/react-native-paper-material-design/" rel="noopener noreferrer"&gt;https://xpertlab.com/react-native-paper-material-design/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>React Router: Navigating the Future of React Apps</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Thu, 27 Mar 2025 12:02:42 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-5aj</link>
      <guid>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-5aj</guid>
      <description>&lt;p&gt;&lt;strong&gt;React Router&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%2F544kmp40ldtzzds7drdq.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%2F544kmp40ldtzzds7drdq.png" alt="Image description" width="700" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to building modern web applications React Router, is the way to go for it's a client side routing library that handles navigation between views or pages in React without reloading the page! A new React Router version V7.3.0 came out March 6th, 2025.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use React Router?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Great Navigation no page reloading for better UX.&lt;/li&gt;
&lt;li&gt;Dynamic Routing great for dynamic parameters and query string easily.&lt;/li&gt;
&lt;li&gt;Nested Routing create structured layouts with subroutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lets get set up&lt;/strong&gt;&lt;br&gt;
Install the React Router package.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install react-router-dom@latest&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now wrap the entire app with  in the index.js&lt;/strong&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 ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import App from "./App";

ReactDOM.render(
  &amp;lt;BrowserRouter&amp;gt;
    &amp;lt;App /&amp;gt;
  &amp;lt;/BrowserRouter&amp;gt;,
  document.getElementById("root")
);

This makes client side routing for your app.

**All routes are now in a &amp;lt;Routes&amp;gt; container**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>React Router: Navigating the Future of React Apps</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 17 Mar 2025 19:35:08 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-nf5</link>
      <guid>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-nf5</guid>
      <description>&lt;p&gt;&lt;strong&gt;React Router&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%2F544kmp40ldtzzds7drdq.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%2F544kmp40ldtzzds7drdq.png" alt="Image description" width="700" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to building modern web applications React Router, is the way to go it's a client side routing library that handles navigation between views or pages in React without reloading the page! A new React Router version V7.3.0 came out March 6th, 2025.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use React Router?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Great Navigation no page reloading for better UX.&lt;/li&gt;
&lt;li&gt;Dynamic Routing great for dynamic parameters and query string easily.&lt;/li&gt;
&lt;li&gt;Nested Routing create structured layouts with subroutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lets get set up&lt;/strong&gt;&lt;br&gt;
Install the React Router package.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install react-router-dom@latest&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now wrap the entire app with  in the index.js&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BrowserRouter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./App&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;ReactDOM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;BrowserRouter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/BrowserRouter&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;,
&lt;/span&gt;  &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes client side routing for your app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now all routes are now in a  container&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Home&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Home&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;About&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/About&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Contact&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Contact&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&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;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Home&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/about&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;About&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/contact&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Contact&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Routes&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The /renders the Home page&lt;/li&gt;
&lt;li&gt;The /about renders the About page&lt;/li&gt;
&lt;li&gt;The /contact renders the Contact page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advanced Features&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%2F1mlc510wqdfki7wptaxl.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%2F1mlc510wqdfki7wptaxl.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Loading: React Router V7.3.0 has better enhanced data loading capabilities which is fetched before a route is rendered. This makes sure that when a page loads in real time all the data is already available, which will lead to faster performance and smoother user experience.&lt;/li&gt;
&lt;/ul&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%2F6300dswmdz995ix23v1g.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%2F6300dswmdz995ix23v1g.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server side rendering: "SSR" helping use SEO and improve initial page load times. By rendering the content on the server before sending it to the client pages become more search friendly and load faster. Making wait time to go down drastically so the user doesn't have to wait for content to appear.&lt;/li&gt;
&lt;/ul&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%2Ftg883xzub15r8zjvcy4c.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%2Ftg883xzub15r8zjvcy4c.png" alt="Image description" width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static pre rendering: Helps apps to generate static HTML pages for specific routes when its time to build. The pre generated files can be served directly to users, which will minimalize server requests, produce faster load speed, and makes for overall better performance. Now this feature is useful for sites with content that doesn't change frequently. IE blogs, marketing pages, and documentation sites. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features of React Router V7.3.0&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;No Break Upgrade: Updating from an older version to V7.3.0 makes sure apps continue to work without any modifications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React 19: This version has new bundling server rendering, pre rendering making the path to react 19 seamless.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced Type Safety: A new type generation provides great service for route parameters, loader data, actions. Making developers more confident.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;The new React Router V7.3.0 has taken a big leap forward in routing for React apps. It's a non breaking upgrade that makes existing projects adopt the new features without disruption, mostly. As React 19 approaches React Router V7.3.0 will help bridge the gap. &lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://reactrouter.com/" rel="noopener noreferrer"&gt;https://reactrouter.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reactrouter.com/changelog" rel="noopener noreferrer"&gt;https://reactrouter.com/changelog&lt;/a&gt;&lt;br&gt;
&lt;a href="https://api.reactrouter.com/v7/modules/react_router.html" rel="noopener noreferrer"&gt;https://api.reactrouter.com/v7/modules/react_router.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/w/index.php?search=react+router&amp;amp;title=Special%3ASearch&amp;amp;ns0=1" rel="noopener noreferrer"&gt;https://en.wikipedia.org/w/index.php?search=react+router&amp;amp;title=Special%3ASearch&amp;amp;ns0=1&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>React Router: Navigating the Future of React Apps</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 17 Mar 2025 19:35:08 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-3e21</link>
      <guid>https://dev.to/charles_eugene_79230d4394/react-router-navigating-the-future-of-react-apps-3e21</guid>
      <description>&lt;p&gt;&lt;strong&gt;React Router&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%2F544kmp40ldtzzds7drdq.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%2F544kmp40ldtzzds7drdq.png" alt="Image description" width="700" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to building modern web applications React Router, is the way to go it's a client side routing library that handles navigation between views or pages in React without reloading the page! A new React Router version V7.3.0 came out March 6th, 2025.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use React Router?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Great Navigation no page reloading for better UX.&lt;/li&gt;
&lt;li&gt;Dynamic Routing great for dynamic parameters and query string easily.&lt;/li&gt;
&lt;li&gt;Nested Routing create structured layouts with subroutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lets get set up&lt;/strong&gt;&lt;br&gt;
Install the React Router package.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install react-router-dom@latest&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now wrap the entire app with  in the index.js&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BrowserRouter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./App&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;ReactDOM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;BrowserRouter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/BrowserRouter&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;,
&lt;/span&gt;  &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes client side routing for your app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now all routes are now in a  container&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Home&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Home&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;About&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/About&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Contact&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./pages/Contact&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&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;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Routes&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Home&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/about&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;About&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Route&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/contact&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Contact&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Routes&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The /renders the Home page&lt;/li&gt;
&lt;li&gt;The /about renders the About page&lt;/li&gt;
&lt;li&gt;The /contact renders the Contact page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advanced Features&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%2F1mlc510wqdfki7wptaxl.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%2F1mlc510wqdfki7wptaxl.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Loading: React Router V7.3.0 has better enhanced data loading capabilities which is fetched before a route is rendered. This makes sure that when a page loads in real time all the data is already available, which will lead to faster performance and smoother user experience.&lt;/li&gt;
&lt;/ul&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%2F6300dswmdz995ix23v1g.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%2F6300dswmdz995ix23v1g.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server side rendering: "SSR" helping use SEO and improve initial page load times. By rendering the content on the server before sending it to the client pages become more search friendly and load faster. Making wait time to go down drastically so the user doesn't have to wait for content to appear.&lt;/li&gt;
&lt;/ul&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%2Ftg883xzub15r8zjvcy4c.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%2Ftg883xzub15r8zjvcy4c.png" alt="Image description" width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static pre rendering: Helps apps to generate static HTML pages for specific routes when its time to build. The pre generated files can be served directly to users, which will minimalize server requests, produce faster load speed, and makes for overall better performance. Now this feature is useful for sites with content that doesn't change frequently. IE blogs, marketing pages, and documentation sites. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features of React Router V7.3.0&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;No Break Upgrade: Updating from an older version to V7.3.0 makes sure apps continue to work without any modifications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React 19: This version has new bundling server rendering, pre rendering making the path to react 19 seamless.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced Type Safety: A new type generation provides great service for route parameters, loader data, actions. Making developers more confident.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;The new React Router V7.3.0 has taken a big leap forward in routing for React apps. It's a non breaking upgrade that makes existing projects adopt the new features without disruption, mostly. As React 19 approaches React Router V7.3.0 will help bridge the gap. &lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://reactrouter.com/" rel="noopener noreferrer"&gt;https://reactrouter.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reactrouter.com/changelog" rel="noopener noreferrer"&gt;https://reactrouter.com/changelog&lt;/a&gt;&lt;br&gt;
&lt;a href="https://api.reactrouter.com/v7/modules/react_router.html" rel="noopener noreferrer"&gt;https://api.reactrouter.com/v7/modules/react_router.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/w/index.php?search=react+router&amp;amp;title=Special%3ASearch&amp;amp;ns0=1" rel="noopener noreferrer"&gt;https://en.wikipedia.org/w/index.php?search=react+router&amp;amp;title=Special%3ASearch&amp;amp;ns0=1&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Pixel Art: The Guide</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 03 Feb 2025 14:16:29 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/pixel-art-the-guide-5490</link>
      <guid>https://dev.to/charles_eugene_79230d4394/pixel-art-the-guide-5490</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&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%2Fcvdqz1pyf45o4mnhxexd.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%2Fcvdqz1pyf45o4mnhxexd.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pixel art is a unique style of digital art that’s been used by artists and gamers for years. It’s about creating images pixel by pixel giving them a retro vibe. It might look and seem simple but it is not. There is a lot more to it. You have to get the right colors, shading, and overall makeup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;History of Pixel Art&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Pixel art has roots dating back to the early digital graphics and video games scene from the 70's and 80's. During that time technology was still very "new" and graphics had limitations. It made artist work with a small number of pixels and a limited color palette. This led to the iconic pixel visuals like Pac-Man, Super Mario Bros., and The Legend of Zelda.&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%2Fc24tqtfhhd85gczo4kl6.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%2Fc24tqtfhhd85gczo4kl6.png" alt="Image description" width="506" height="613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Essential Tools for Creating Pixel Art&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’re wanting to build pixel art, you’ll need the right tools. Here are some of the most commonly used software programs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Aseprite&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A professional pixel art tool with an intuitive interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offers animation features, layers, and custom palettes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Pyxel Edit&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ideal for creating tilesets and game assets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy to use.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Photoshop &amp;amp; GIMP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;General all purpose image editing software with pixel controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More powerful but may require additional setup for pixel art workflows.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Piskel&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A free browser based pixel art editor.&lt;/p&gt;

&lt;p&gt;Great for beginners and quick animations. (What I used) &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%2Fu0la9qih39bct64r6emc.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%2Fu0la9qih39bct64r6emc.png" alt="Image description" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coding In Pixel Art&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Pixel art is not just about drawing or art it  involves software engineering aka JavaScript and other programming languages. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Setup Your Canvas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;document.getElementById('pixelCanvas') This gets the HTML.
canvas.getContext('2d') This initializes the canvas to use 2D rendering.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Pixel Size&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pixelSize = 10 each pixel in the artwork will be drawn as a 10x10 pixel square on the canvas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Character Matrix&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This 2D array shows the pixel art. Each 1 represents a filled pixel that will be drawn on the canvas. Each 0 represents an empty space.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Function Draw Pixel Art&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;for (let y = 0; y &amp;lt; character.length; y++) Will loop through each row in the character array.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;for (let x = 0; x &amp;lt; character[y].length; x++) Then loops through each column in the character array.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;if (character[y][x] === 1): Checks if the current position is a 1.&lt;br&gt;
ctx.fillRect(x * pixelSize, y * pixelSize, pixelSize, pixelSize) Draws a filled rectangle at the exact position.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Call the function&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This will execute the drawPixelArt() function rendering the pixel art onto the canvas.&lt;/li&gt;
&lt;/ul&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%2Fe5nwifc3ttot6rf6hk3a.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%2Fe5nwifc3ttot6rf6hk3a.png" alt="Image description" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Pixel art is more than just a retro art form it’s a powerful tool that continues to grow. If you're creating game art, normal artwork, and animations. If you can understand the fundamentals and coding aspects it can enhance your pixel art projects. Get your stylus or start coding and bring your vision to life.&lt;/p&gt;

&lt;p&gt;Resources: &lt;br&gt;
&lt;a href="https://www.istockphoto.com/illustrations/pixel-cat" rel="noopener noreferrer"&gt;https://www.istockphoto.com/illustrations/pixel-cat&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Pixel_art" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Pixel_art&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.pixilart.com/" rel="noopener noreferrer"&gt;https://www.pixilart.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.pinterest.com/pin/zelda-pixel-art--757871443539534867/" rel="noopener noreferrer"&gt;https://www.pinterest.com/pin/zelda-pixel-art--757871443539534867/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.piskelapp.com/p/create/sprite" rel="noopener noreferrer"&gt;https://www.piskelapp.com/p/create/sprite&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FrostBite3: EA'S GAME ENGINE</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 27 Jan 2025 15:00:46 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/frostbite3-eas-game-engine-1jl4</link>
      <guid>https://dev.to/charles_eugene_79230d4394/frostbite3-eas-game-engine-1jl4</guid>
      <description>&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%2Fpl0vht63x1etqjftwfwc.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%2Fpl0vht63x1etqjftwfwc.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Power of Frostbite 3:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the world of game development the Frostbite engine stands as a great technological achievement. Created by DICE and owned by Electronic Arts (EA). Known for its  crazy graphics, interactive worlds, and great gameplay. Frostbite was really made for first person shooters like the Battlefield series. But its ability to adapt has allowed it to power a wide array of game genres, including  RPGs and high energy sports games like Madden NFL 24.&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%2Fyazeax60hq4yx7w9m05c.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%2Fyazeax60hq4yx7w9m05c.png" alt="Image description" width="650" height="916"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frostbite’s Origins&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The Frostbite engine first appeared in 2008 with the release of Battlefield: Bad Company. This version introduced a groundbreaking feature! Destructible environments that added a new dimension to gameplay. Over the years Frostbite has undergone many changes, evolving into a more versatile tool capable of supporting diverse gaming experiences! In 2013 Frostbite 3 was birthed alongside Battlefield 4.&lt;/p&gt;

&lt;p&gt;-&lt;strong&gt;Play With Environments:&lt;/strong&gt;&lt;br&gt;
Players could modify and engage with the game world in real time a feature branded as "Levolution" in Battlefield 4. &lt;/p&gt;

&lt;p&gt;-&lt;strong&gt;Great Graphics:&lt;/strong&gt;&lt;br&gt;
Frostbite 3’s advanced capabilities produced lifelike lighting, particle effects, and detailed character models.&lt;/p&gt;

&lt;p&gt;-&lt;strong&gt;Better Physics:&lt;/strong&gt; &lt;br&gt;
The engine pushed boundaries with life like destruction  making everything from small scale damage to the complete collapse of structures.&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%2F8aphsvoyj8wg48jfo2ob.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%2F8aphsvoyj8wg48jfo2ob.png" alt="Image description" width="800" height="900"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coding in Frostbite 3&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Frostbite primarily uses C++ for core engine development. This allows for high performance and close-to-hardware optimizations achieving advanced graphics and physics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For gameplay scripting Frostbite uses a custom scripting language or toolchain that is made closely with its engine tools. Developers may not directly write scripts but instead use visual scripting systems to fixed behaviors. Which is a little confusing because EA does not release much on this information! &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cross Platform Gaming Frostbite powered games must work across multiple platforms. Developers write platform specific code to optimize performance and ensure stability on different hardware&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI behavior in Frostbite 3 can be coded directly in C++ or made using its proprietary tools. There also isn't much information on this EA has a very need-to-know basis. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frostbite requires a special content pipeline to process assets like textures, models, animations, and audio. Artists and programmers work closely with programmers often writing scripts to make asset integration into the game engine.&lt;br&gt;
&lt;strong&gt;Frostbite 3's Role in Madden NFL 24&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fmbqvgd4jj3nfr9bst20l.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%2Fmbqvgd4jj3nfr9bst20l.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Frostbite by the Madden series brought a new level of realism to the franchise. While the engine brings many benefits! The merge into Madden NFL 24 has had plenty of criticism. Fans have expressed concerns (including myself) that the game’s leans on animations which has shifted focus away from real time football based moves, which made the early games great. Here's how the engine enhances Madden NFL 24! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Player Movements:&lt;/strong&gt; &lt;br&gt;
By leveraging Frostbite’s rendering technology. Madden incorporates SAPIEN technology to create lifelike player animations and movements raising the bar for "realism".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Detailed Environments:&lt;/strong&gt;&lt;br&gt;
Stadiums are made with great attention to detail, from crafted turf textures to weather systems that dynamically impact gameplay. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Gameplay Mechanics:&lt;/strong&gt; &lt;br&gt;
Frostbite is made to have smoother animations and responsive controls creating a "polished football experience".&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%2Fvbajt10jsgzoibmt08oh.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%2Fvbajt10jsgzoibmt08oh.png" alt="Image description" width="478" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges In Using Frostbite 3 for Madden 24 and other games&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Animation Over Physics:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Madden NFL 24 relies heavily on animations for player movements and actions. Frostbite’s animation driven system has faced criticism. This shift can make the game feel less dynamic and less realistic during certain interactions. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Longer Development Times:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Teams often spend additional time building custom tools and workflows to make Frostbite suitable for sports games. This slows down the development process and increases production costs, as designers and engineers must repeatedly adapt the engine for features it wasn’t originally designed to handle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Buggy Features and Stability Issues:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Frostbite’s complexity sometimes leads to bugs and glitches that are difficult to troubleshoot. In Madden NFL 24 issues like visual effects, animation hitches, or AI errors can stem from the engine’s underlying systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Adapting To Non Shooter Games:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Frostbite was originally optimized for first person shooters like Battlefield. Games outside this genre like Dragon Age: Inquisition or Need for Speed Rivals, required crazy modifications to the engine. This has led to inefficiencies and difficulties in creating genre specific gameplay.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Limited Asset Import Tools:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Frostbite’s pipeline for importing assets like models, animations, and textures is not as user friendly as the other engines like Unreal or Unity. Most Developers often have to create workarounds or manually adapt assets which can be time dubbed as a time suck.&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%2Fxwjtfkc4v2gyp879c4d4.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%2Fxwjtfkc4v2gyp879c4d4.png" alt="Image description" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Frostbite 3 remains solid in EA’s game development and strategy. Offering the tools to create beautiful graphics and really fun experiences. It's limitations remind me that even the most advanced tools come with trade offs.&lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.ea.com/frostbite" rel="noopener noreferrer"&gt;https://www.ea.com/frostbite&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Frostbite_%28game_engine%29" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Frostbite_%28game_engine%29&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.gamedesigning.org/engines/frostbite/" rel="noopener noreferrer"&gt;https://www.gamedesigning.org/engines/frostbite/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.giantbomb.com/frostbite-3-0/3015-7847/games/" rel="noopener noreferrer"&gt;https://www.giantbomb.com/frostbite-3-0/3015-7847/games/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.igdb.com/game_engines/frostbite-3" rel="noopener noreferrer"&gt;https://www.igdb.com/game_engines/frostbite-3&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ea.com/ea-studios" rel="noopener noreferrer"&gt;https://www.ea.com/ea-studios&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.gamespot.com/articles/madden-nfl-24-dallas-cowboys-roster-and-ratings/1100-6516209/" rel="noopener noreferrer"&gt;https://www.gamespot.com/articles/madden-nfl-24-dallas-cowboys-roster-and-ratings/1100-6516209/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ea.com/games/madden-nfl/madden-nfl-24/news/madden-24-ultimate-team-deep-dive" rel="noopener noreferrer"&gt;https://www.ea.com/games/madden-nfl/madden-nfl-24/news/madden-24-ultimate-team-deep-dive&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>MongoDB: Your Data Journey</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 20 Jan 2025 13:34:08 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/mongodb-your-data-journey-ma5</link>
      <guid>https://dev.to/charles_eugene_79230d4394/mongodb-your-data-journey-ma5</guid>
      <description>&lt;p&gt;MongoDB is more than just a database. If you're building apps that need to grow, MongoDB has your back. It’s a NoSQL database that’s all about helping developers store data the way they want. Below I will be sharing showing you how to get started with it and some real time examples!&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%2F8xsv0cbbxob5fgxvp3q4.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%2F8xsv0cbbxob5fgxvp3q4.png" alt="Image description" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is a Schema in MongoDB &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Schema is like the structure of your data’s house. It sets the rules and tells your data how to act. In MongoDB schema allows documents in the same collection to have different layouts. If you want to get better  organized you can make a schema it'll make your life easier.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Keeps Data Consistent&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your data will follow a pattern &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Simple Queries&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Knowing your data's shape makes searching easy!
&lt;/li&gt;
&lt;/ul&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%2Fu84sk46i77x2fugs4kvv.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%2Fu84sk46i77x2fugs4kvv.png" alt="Image description" width="800" height="657"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're using Mongoose here's a schema solution for MongoDB&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%2Fs11wejouuq8wmash6q49.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%2Fs11wejouuq8wmash6q49.png" alt="Image description" width="800" height="753"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Set Up&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Install MongoDB locally or take the cloud route with MongoDB Atlas. &lt;/p&gt;

&lt;p&gt;Head to the MongoDB Download Center.&lt;/p&gt;

&lt;p&gt;Grab the installer and set it up.&lt;/p&gt;

&lt;p&gt;Start your MongoDB server: run Mongod &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%2Flu21ueidrd8qm4mxqgr6.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%2Flu21ueidrd8qm4mxqgr6.png" alt="Image description" width="618" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Concepts&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Database &lt;br&gt;
Think of this as your main folder where are all your collections live. Each Database is its own world keeping collections separate and secure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Collection &lt;br&gt;
Collections are like playlists for your data. They hold multiple documents and don't enforce a fixed schema unless you tell them to. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Document &lt;br&gt;
A document is a JSON object that stores your data. Its structured and handles nested information. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F5ptj9s1y14dfvjavhjfz.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%2F5ptj9s1y14dfvjavhjfz.png" alt="Image description" width="648" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of MongoDB&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;NoSQL Database - It doesn't have tables and columns it works with collections and documents making things dynamic and fluid.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexible Schema - You can change your data structure as the project you're working on evolves.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSON Documents - MongoDB uses BSON Binary JSON &lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2Fqm37yg9a4wmcvxy49xfy.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%2Fqm37yg9a4wmcvxy49xfy.png" alt="Image description" width="713" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Horizontal Scalability - uses sharding to distribute data across servers.&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%2F6a856q4ii1v1zv0odop6.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%2F6a856q4ii1v1zv0odop6.png" alt="Image description" width="782" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CRUD Operations in MongoDB&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create Documents 
Add new documents to a collection using insertOne or insertMany.&lt;/li&gt;
&lt;/ul&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%2Fozi516i9c5legoqftgzp.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%2Fozi516i9c5legoqftgzp.png" alt="Image description" width="662" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read Documents 
Fetch documents with the find method and optional filters.&lt;/li&gt;
&lt;/ul&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%2F8436w7o581yfwfw3sjsu.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%2F8436w7o581yfwfw3sjsu.png" alt="Image description" width="800" height="79"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updating Documents 
Change existing data with updateOne or updateMany. &lt;/li&gt;
&lt;/ul&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%2Fqno3dvalv3yf7xuy3ojs.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%2Fqno3dvalv3yf7xuy3ojs.png" alt="Image description" width="595" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delete Documents 
Delete documents using deleteOne or deleteMany.&lt;/li&gt;
&lt;/ul&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%2Fqncaal3z9kspkjwm6ogg.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%2Fqncaal3z9kspkjwm6ogg.png" alt="Image description" width="800" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
MongoDB isn’t just a place to stash your data it’s like giving your data wings. With  flexible schema, powerful query tools, and ability to scale as your projects evolve. Whether you're making something for the web, mobile apps, or IoT devices.&lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.mongodb.com/" rel="noopener noreferrer"&gt;https://www.mongodb.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.geeksforgeeks.org/specify-json-schema-validation-in-mongodb/" rel="noopener noreferrer"&gt;https://www.geeksforgeeks.org/specify-json-schema-validation-in-mongodb/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://digitalvarys.com/introduction-to-mongodb/" rel="noopener noreferrer"&gt;https://digitalvarys.com/introduction-to-mongodb/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/mongodb/mongodb_get_started.php" rel="noopener noreferrer"&gt;https://www.w3schools.com/mongodb/mongodb_get_started.php&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.mongodb.com/resources/basics/json-and-bson" rel="noopener noreferrer"&gt;https://www.mongodb.com/resources/basics/json-and-bson&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/@harshks.mit/bson-vs-json-72ac7786dbde" rel="noopener noreferrer"&gt;https://medium.com/@harshks.mit/bson-vs-json-72ac7786dbde&lt;/a&gt;&lt;br&gt;
&lt;a href="https://hazelcast.com/foundations/distributed-computing/sharding/" rel="noopener noreferrer"&gt;https://hazelcast.com/foundations/distributed-computing/sharding/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Web Security End To End Encryption</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Tue, 03 Dec 2024 14:29:32 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/web-security-end-to-end-encryption-4idc</link>
      <guid>https://dev.to/charles_eugene_79230d4394/web-security-end-to-end-encryption-4idc</guid>
      <description>&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%2F5em4fk890jqdo5gpfjjx.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%2F5em4fk890jqdo5gpfjjx.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Web Security Encryption Methods and the Importance of End to End Encryption&lt;/em&gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Protecting your information! Whether its on the job or your personal information during online communication is paramount! Encryption is the cornerstone of web security making sure your data is protected! We will discuss commonly used encryption methods and dive into the role of end to end encryption.  &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%2F6p4d87t32zpdpge4gyu3.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%2F6p4d87t32zpdpge4gyu3.png" alt="Image description" width="400" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What is Encryption?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Encryption is a method of converting your plain text into coded format called ciphertext to prevent unauthorized access. Only the given party with the right decryption key can change the ciphertext back to its readable form! Encryption is great for securing online communication, banking transactions, and other stored data.  &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%2F1lgn3gddjh8uaak7nn5q.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%2F1lgn3gddjh8uaak7nn5q.png" alt="Image description" width="600" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Encryption Methods&lt;/em&gt;&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%2Fnc6qbpka374uaprvicez.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%2Fnc6qbpka374uaprvicez.png" alt="Image description" width="740" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Symmetric Encryption&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A single key is used for both of the encryption and decryption.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The common algorithms used during this are called Advanced Encryption Standard (AES) and Data Encryption Standard (DES).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File encryption, disk encryption, and data transmission with in the trusted networks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Faster than asymmetric methods for larger data sets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The secure key distribution can be challenging.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fqqejv5jwz1xglgdz1uk1.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%2Fqqejv5jwz1xglgdz1uk1.png" alt="Image description" width="740" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Asymmetric Encryption&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Asymmetric encryption has two keys a public key for encryption and a private key for decryption.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The common algorithms used are Rivest Shamair Adleman (RSA) and Elliptic Curve Cryptography (ECC).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uses email encryption, Secure Sockets Layer (SSL) and Transport Layer Security (TLS) for the website connections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better security for key distribution. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slower than symmetric encryption which is less effective for larger data volumes. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Hashing&lt;/em&gt;&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%2F8bohy60w7dxblqofot6j.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%2F8bohy60w7dxblqofot6j.png" alt="Image description" width="611" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Hashing changes data into an actual fixed size hash value but it cant be changed back to its original form.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure Hash Algorithm (SHA) and Message Digest 5 (MD5) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Good for password storage and data integrity checking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Good for verifying data integrity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If the algorithm is outdated it can be vulnerable to brute force and some collision attacks.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What Is End to End Encryption?&lt;/em&gt;&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%2F3znp68wvi1fuvlo54xd9.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%2F3znp68wvi1fuvlo54xd9.png" alt="Image description" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E2EE is a system where data is encrypted on the sender's device and can ONLY be decrypted by the specific user. Even internet service providers or platform operators cant access the plain text! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;How It Works&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Both sender and receiver generate public and private keys.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The sender encrypts a message using the users public key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The encrypted message travels through the network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The user decrypts the message using their private key.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The Good&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Makes sure that only the specific party can read the messages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It will protect against tampering during the transmission.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It will prevent unauthorized access even if the network is down or compromised.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The Bad and The Ugly&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Not all devices and software platforms support E2EE.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It does encrypt the message but the actual metadata IE the sender receiver details might still be accessible.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Encryption has a very important role in securing digital communication. Between symmetric, asymmetric, and end to end encryption methods are great tools for safeguarding information based on the requirements of the users and applications. As cyber threats evolve so will our commitment to encryption practices!  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Sources&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.aspirationhosting.com/website-security-features/" rel="noopener noreferrer"&gt;https://www.aspirationhosting.com/website-security-features/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ssl2buy.com/cybersecurity/end-to-end-encryption-e2ee" rel="noopener noreferrer"&gt;https://www.ssl2buy.com/cybersecurity/end-to-end-encryption-e2ee&lt;/a&gt;&lt;br&gt;
&lt;a href="https://computer.howstuffworks.com/encryption.htm" rel="noopener noreferrer"&gt;https://computer.howstuffworks.com/encryption.htm&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/security/encryption/what-types-of-encryption-are-there/" rel="noopener noreferrer"&gt;https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/security/encryption/what-types-of-encryption-are-there/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.clickssl.net/blog/what-is-symmetric-encryption" rel="noopener noreferrer"&gt;https://www.clickssl.net/blog/what-is-symmetric-encryption&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.clickssl.net/blog/what-is-asymmetric-encryption" rel="noopener noreferrer"&gt;https://www.clickssl.net/blog/what-is-asymmetric-encryption&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ssl2buy.com/wiki/difference-between-hashing-and-encryption" rel="noopener noreferrer"&gt;https://www.ssl2buy.com/wiki/difference-between-hashing-and-encryption&lt;/a&gt;&lt;br&gt;
&lt;a href="https://certera.com/blog/what-is-end-to-end-encryption-e2ee-how-does-it-work/" rel="noopener noreferrer"&gt;https://certera.com/blog/what-is-end-to-end-encryption-e2ee-how-does-it-work/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding Git Commands: The Guide To Version Control</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 18 Nov 2024 14:43:55 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/understanding-the-terminal-the-command-line-1h5d</link>
      <guid>https://dev.to/charles_eugene_79230d4394/understanding-the-terminal-the-command-line-1h5d</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Essential Git Commands for Software Development&lt;/em&gt;&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%2F3wo8ri4zsk2z1nxkeirr.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%2F3wo8ri4zsk2z1nxkeirr.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So you want to be a software engineer? Git is one of the first tools you'll need to learn and master. Git is the back bone of version control allowing colleagues and individuals to manage code changes seamlessly. Let's explore Git's essential commands and how they help track, share, and maintain their work!&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;So what is Git and WHY should you use it?&lt;/em&gt;&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%2F57o4shkpae1t4ghsjtmd.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%2F57o4shkpae1t4ghsjtmd.png" alt="Image description" width="354" height="142"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahh Git! Git is a great control tool that helps developers manage project files and it keeps a history of all the changes you're making. It doesn't matter whether you're working by yourself or with a colleague. Git makes code management super smooth lets learn the tools needed to do so!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;First steps&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lets get started: Setting up Git &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Tell Git Who You Are:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git config --global user.name (Your Name): This assigns your name to all future commits.&lt;/li&gt;
&lt;/ul&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%2F71vimwj3il8k8vp4t20h.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%2F71vimwj3il8k8vp4t20h.png" alt="Image description" width="800" height="46"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git config --global user.email IE: (&lt;a href="mailto:youremail@example.com"&gt;youremail@example.com&lt;/a&gt;): This assigns your email to future commits.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Verify your settings:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git config --list: This is to verify your Git settings.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Starting a Repository&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Create a new Git repository:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git init: To initialize a new Git Repository in your project directory, this tells Git to start tracking changes. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;CLONING :O&lt;/em&gt;&lt;/strong&gt;&lt;br&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%2F76sya5101feed9psp0zn.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%2F76sya5101feed9psp0zn.png" alt="Image description" width="600" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git clone (Repository Url): This will make a local copy of a remote repository. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Making and Tracking Changes&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Stage Changes:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git status: Displays the state of your working directory &lt;/li&gt;
&lt;/ul&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%2Fvsjfxjtgvuvw774w7hor.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%2Fvsjfxjtgvuvw774w7hor.png" alt="Image description" width="720" height="149"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Adding and Saving Changes&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;git add (file): This stage changes to a specific file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;git add .: Is the stage all changes in the directory.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fg9y94a1reeyrjmgr5b17.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%2Fg9y94a1reeyrjmgr5b17.png" alt="Image description" width="800" height="38"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Your Commit Changes:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;git commit -m "Your Message": This commit is staged changes with a message.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;git commit --amend: Use this if you need to change or modify the message or to include missing files.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F018e67cxrnupuitvnlnm.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%2F018e67cxrnupuitvnlnm.png" alt="Image description" width="800" height="19"&gt;&lt;/a&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%2Fxys9hknvjts0qx7oj5rz.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%2Fxys9hknvjts0qx7oj5rz.png" alt="Image description" width="800" height="30"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Commit History&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git helps you keep an exact record of every change you made to your project!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git log: To view the commit history. &lt;/li&gt;
&lt;/ul&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%2Fwljh3v8ndyg2vrik1470.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%2Fwljh3v8ndyg2vrik1470.png" alt="Image description" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Branching and Merging&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git branch: List all branches or if you need to create a new branch. &lt;/li&gt;
&lt;/ul&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%2F2cs3ha3j3x9bie5mqzzd.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%2F2cs3ha3j3x9bie5mqzzd.png" alt="Image description" width="800" height="59"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Switch Between Branches:&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;git checkout (branch name): This is to switch to a branch.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;git checkout -b (branch name): This is to create and switch to a new branch in ONE step!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Merge branches:&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git merge (branch name): This merges another branch into your current one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Clean up old branches:&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git branch -d (branch name): This will delete the entire branch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Teamwork Remote Repositories&lt;/em&gt;&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%2Fmc4r3pc7egh89b47l2xi.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%2Fmc4r3pc7egh89b47l2xi.png" alt="Image description" width="715" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Link To A Remote Repository&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git remote add (person) (url): This will link your local repo to a remote repo [This is my current link to a colleague to see who you're connected to use git remote -v]&lt;/li&gt;
&lt;/ul&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%2Fqaorap2kus8fd5tj3cq8.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%2Fqaorap2kus8fd5tj3cq8.png" alt="Image description" width="800" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Share your work:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git push origin (branch name): This will upload the changes you made to a remote branch.&lt;/li&gt;
&lt;/ul&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%2Fs8qh8mx4hqlejv5w9cva.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%2Fs8qh8mx4hqlejv5w9cva.png" alt="Image description" width="800" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Lets Bring In The Updates&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git pull: This will merge changes from a colleague or any remote branch you're connected to.&lt;/li&gt;
&lt;/ul&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%2Fktf8i6l2s3z1p9y2tfjh.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%2Fktf8i6l2s3z1p9y2tfjh.png" alt="Image description" width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;4. Fetch With No Merging:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git fetch: You can get updates from a colleague or any remote branch you're connected to without merging. &lt;/li&gt;
&lt;/ul&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%2Fijzweezgm8ab77r39w1h.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%2Fijzweezgm8ab77r39w1h.png" alt="Image description" width="800" height="30"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Did you mess up?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lets undo changes! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Unstage changes:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mistakes do happen but Git's undo commands will save the day! &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%2Fa44eo6tpdfezsa4ndktx.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%2Fa44eo6tpdfezsa4ndktx.png" alt="Image description" width="600" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;git reset (file): This removes a file from the staging area WITHOUT deleting its changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Discard Changes Completely:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
git reset --hard (commit): This rolls back to a previous commit and discarding all changes since then.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Undo a Specific Commit:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
git revert (commit): Makes a new commit that undoes changes from a particular commit &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%2F0e1gxiqz986qoj2kqgir.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%2F0e1gxiqz986qoj2kqgir.png" alt="Image description" width="292" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Tagging and Tracking Milestones&lt;/em&gt;&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%2Fssxhgxjy7xmhw5p67khq.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%2Fssxhgxjy7xmhw5p67khq.png" alt="Image description" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tags are important moments in your project! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Add a Simple Tag:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;git tag(tag name): Tags the current commit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Push Tags To Remote Repository&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;git push origin (tag name): Makes your tag accessible to a colleague.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Advanced Tools for Complex Workflows&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Special scenarios Git can help with  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Streamline Commit Histories:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;git rebase (branch name): Moves your commits to a different base branch while keeping the same changes. &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%2Fkzk19h60jhqio1nkkwwy.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%2Fkzk19h60jhqio1nkkwwy.png" alt="Image description" width="800" height="127"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Pick specific commits:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;git cherry-pick (commit): Makes changes from a specific commit onto your current branch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. Track All Repository Actions:&lt;/em&gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;git reflog: Shows your history of all actions performed in your repository with resets.&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%2F4gizkgtywf0vodv1bm9r.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%2F4gizkgtywf0vodv1bm9r.png" alt="Image description" width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Thats all Folks!&lt;/em&gt;&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%2Fp5sqdn057kgcnxwz7suz.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%2Fp5sqdn057kgcnxwz7suz.png" alt="Image description" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the git commands listed above will help you navigate your role as a developer. You'll gain more control over your code and work flow whether its the simple commands or the more advanced ones! Use it to your benefit lets work smarter not harder! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://cloudstudio.com.au/2021/06/26/git-command/" rel="noopener noreferrer"&gt;https://cloudstudio.com.au/2021/06/26/git-command/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://parade.com/947443/parade/best-friend-quotes/" rel="noopener noreferrer"&gt;https://parade.com/947443/parade/best-friend-quotes/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cert-india.com/belbin-stack/leadership-and-teams" rel="noopener noreferrer"&gt;https://www.cert-india.com/belbin-stack/leadership-and-teams&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.facebook.com/thebasics14/?locale=is_IS" rel="noopener noreferrer"&gt;https://www.facebook.com/thebasics14/?locale=is_IS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://education.github.com/git-cheat-sheet-education.pdf" rel="noopener noreferrer"&gt;https://education.github.com/git-cheat-sheet-education.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.atlassian.com/git" rel="noopener noreferrer"&gt;https://www.atlassian.com/git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.michiganstateuniversityonline.com/resources/leadership/how-to-build-a-culture-of-teamwork/" rel="noopener noreferrer"&gt;https://www.michiganstateuniversityonline.com/resources/leadership/how-to-build-a-culture-of-teamwork/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.nytimes.com/2009/01/01/garden/01clones.html" rel="noopener noreferrer"&gt;https://www.nytimes.com/2009/01/01/garden/01clones.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.archive360.com/blog/when-is-it-ok-to-delete-data" rel="noopener noreferrer"&gt;https://www.archive360.com/blog/when-is-it-ok-to-delete-data&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=3Qz1GMpOtUY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=3Qz1GMpOtUY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://depositphotos.com/photos/reset-button.html" rel="noopener noreferrer"&gt;https://depositphotos.com/photos/reset-button.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://godmetea.wordpress.com/2016/01/31/pencils-pens-and-undo-buttons/" rel="noopener noreferrer"&gt;https://godmetea.wordpress.com/2016/01/31/pencils-pens-and-undo-buttons/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Job Hunt Potential Companies</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Mon, 11 Nov 2024 15:03:41 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/job-hunt-potential-companies-3h5n</link>
      <guid>https://dev.to/charles_eugene_79230d4394/job-hunt-potential-companies-3h5n</guid>
      <description>&lt;p&gt;&lt;strong&gt;Navigating the job market as a Software Engineer in Austin, Texas&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%2F1ltqbrtx3mkastz5qcss.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%2F1ltqbrtx3mkastz5qcss.png" alt="Image description" width="268" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Austin is one of my favorite places! Austin has become an extremely sought after destination for tech professionals because of the mix of industry giants, booming startups, and an awesome unique cultural landscape. It doesn't matter if you're starting out as a brand new software engineer or if you're a Senior software engineer. Job hunting in Austin's super competitive market WILL require preparation, focus, and strategy! Also remember its not always "What you know its WHO you know!"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Austin is a hub for tech talent&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%2Fko5b6biaks4w1rjnx4rw.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%2Fko5b6biaks4w1rjnx4rw.png" alt="Image description" width="744" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Tech Giants: Companies like Apple, Google, and IBM have established a significant presence in Austin. Plus the startup field here continues to grow do not be scared to work for a company that is just getting off of the ground!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quality of Life: Austin is not cheap! But it is cheaper than places like San Francisco and New York (Cleaner too)! The vibe here is great different people with all types of cultural backgrounds and there is ALWAYS something to do! &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexible Work Options: Many companies in Austin have embraced remote and hybrid positions. This is great for software engineers who prefer flexibility!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Setting goals for your job search&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%2Fhasgyhbu4w80v5qzismm.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%2Fhasgyhbu4w80v5qzismm.png" alt="Image description" width="800" height="670"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Define your ideal role:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Decide if you're looking for full time work, contract opportunities, or just a part time job!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Determine if you want a fast paced startup environment, an established corporation, or a large tech company.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Think about the technologies and projects YOU ARE passionate about which is going to help narrow down the types of companies to target.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Utilize targeted job boards&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%2F8vocmtjh2ncnsopx2v4y.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%2F8vocmtjh2ncnsopx2v4y.png" alt="Image description" width="250" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;LinkedIn: Excellent for networking and finding job listings directly from recruiters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Built In Austin: A great resource for tech jobs focused specifically on Austin's unique industry landscape.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Indeed and Glassdoor: These are reliable platforms for reviewing open job listings, checking company culture, and reading those coveted salary reviews.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AngelList: It's helpful if you're interested in working with those startups or early stage companies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key skills and tools for Austin's Market&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%2Fltjqylsqydqzzqsryywx.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%2Fltjqylsqydqzzqsryywx.png" alt="Image description" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Technical Knowledge: Companies here in Austin seek engineers proficient in JavaScript, Python, Java, or C++. Things like React and Node.js are frequently requested. (This is directly from an Senior Engineer)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Experience with cloud technologies such as AWS or Azure can provide an edge!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Soft Skills: Communication, teamwork, and flexibility are SUPER IMPORTANT in the collaborative tech environment. Remember startup roles require adaptability and a great proactive mindset.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Showcase Practical Work: All the work you've done should be put here! Your GitHub profile or online profile with relevant code samples and projects. This is a great way to showcase your work, skills, and your contributions to your projects!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;ACTUAL CODING QUESTIONS A POTENTIAL EMPLOYER COULD ASK YOU TO SOLVE&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%2Fq4gekbu2a8u0kghf6u43.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%2Fq4gekbu2a8u0kghf6u43.png" alt="Image description" width="800" height="741"&gt;&lt;/a&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%2Fsxmlokemkvkuzaom5gba.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%2Fsxmlokemkvkuzaom5gba.png" alt="Image description" width="800" height="803"&gt;&lt;/a&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%2F9vczszi6fohibdm2fnug.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%2F9vczszi6fohibdm2fnug.png" alt="Image description" width="800" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top companies to explore in Austin&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chief Outsiders:
Listed below are some of things you COULD be hired for and its okay if it doesn't fit your build they are looking for talented Software Engineers! (This is knowledge given straight to me by Peter Hayes)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A.I. Consulting &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fractional CMO&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software Engineering (Front and Back end)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Product Marketing &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is Pete Hayes one of my mentors and Principal at Chief Outsiders &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%2Fhbluy6f9vzuh0xkea883.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%2Fhbluy6f9vzuh0xkea883.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PwC:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Audit Services &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software Engineering &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consulting Services &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tech Analysist &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is Mark Colwill my main and most important Mentor Senior Director of Information Security PMO at PwC&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%2Frqkjy8ruwua95pdkc8c4.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%2Frqkjy8ruwua95pdkc8c4.png" alt="Image description" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FINAL THOUGHTS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finding a job in Austin or anywhere for the software engineering market is an exciting journey that will require a clear approach and determination. (You will fail just like in coding but you have to be okay with it) Focus on your coding skills, soft skills, resources and understand the Austin tech community. You'll be well prepared to find a role that aligns with your goals. REMEMBER networking and continuing to better your skills are key to to staying competitive to finding a job! &lt;/p&gt;

&lt;p&gt;Sources: &lt;a href="https://aquilacommercial.com/learning-center/austin-job-market/" rel="noopener noreferrer"&gt;https://aquilacommercial.com/learning-center/austin-job-market/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Apollo-Tools-Piece-Household-Improved/dp/B09GYTZ9X7?th=1" rel="noopener noreferrer"&gt;https://www.amazon.com/Apollo-Tools-Piece-Household-Improved/dp/B09GYTZ9X7?th=1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.nurturebox.ai/blog/job-boards-benefits" rel="noopener noreferrer"&gt;https://www.nurturebox.ai/blog/job-boards-benefits&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.clairebuck.com/goal-setting-why-set-personal-goals/" rel="noopener noreferrer"&gt;https://www.clairebuck.com/goal-setting-why-set-personal-goals/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Austin,_Texas" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Austin,_Texas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/pulse/how-keep-hold-your-tech-talent-year-theresa-durrant-" rel="noopener noreferrer"&gt;https://www.linkedin.com/pulse/how-keep-hold-your-tech-talent-year-theresa-durrant-&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/petehayescmo/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/petehayescmo/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.chiefoutsiders.com/fractional-cmo" rel="noopener noreferrer"&gt;https://www.chiefoutsiders.com/fractional-cmo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.chiefoutsiders.com/profile/pete-hayes" rel="noopener noreferrer"&gt;https://www.chiefoutsiders.com/profile/pete-hayes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://jobs.us.pwc.com/entry-level" rel="noopener noreferrer"&gt;https://jobs.us.pwc.com/entry-level&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mark-colwill-88a82284?utm_source=share&amp;amp;utm_campaign=share_via&amp;amp;utm_content=profile&amp;amp;utm_medium=ios_app" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/mark-colwill-88a82284?utm_source=share&amp;amp;utm_campaign=share_via&amp;amp;utm_content=profile&amp;amp;utm_medium=ios_app&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Functions Blog</title>
      <dc:creator>Charles Eugene</dc:creator>
      <pubDate>Fri, 04 Oct 2024 16:46:38 +0000</pubDate>
      <link>https://dev.to/charles_eugene_79230d4394/functions-blog-3m8e</link>
      <guid>https://dev.to/charles_eugene_79230d4394/functions-blog-3m8e</guid>
      <description>&lt;p&gt;&lt;strong&gt;What's up yall!??&lt;/strong&gt; Charles here! So today we're gonna talk about CONJUCTION CONJUCTION WHAT ARE FUNNNNCTIONS???? (Yeah I'm old some of yall probably didn't get that but do your research on that haha I'm just a bill!) &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%2Fmoo8nc92t7s1s6xfewym.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%2Fmoo8nc92t7s1s6xfewym.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Functions are one of the core concepts in JavaScript. They allow you to encapsulate code that you can reuse, pass as arguments, return from other functions!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now I'm going to show you how to use a Funk-tion&lt;/strong&gt; &lt;br&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%2F6pr3xj63je9eimm46ys2.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%2F6pr3xj63je9eimm46ys2.png" alt="Image description" width="640" height="953"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use the function keyword followed by the name of the function, followed by parentheses () and curly braces {}. It really is pretty easy well this part ain't nothing to it, just do it! &lt;br&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%2Fhn957p9q1qs3ymih55hg.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%2Fhn957p9q1qs3ymih55hg.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But seriously yall this is a safe space! What's on your mind? I know the world is super crazy for everyone! But hey I'm here for ya big or small lets talk functions or life I'm here! &lt;br&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%2Fmm0c4pgq913x3yc8f8f3.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%2Fmm0c4pgq913x3yc8f8f3.png" alt="Image description" width="600" height="770"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But hey back to the cold world of FUNCTIONS BRRRRRR! There are 4 different ways to create a function in JavaScript. Here we go!! &lt;br&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%2Fe2aavvb1irxky1pwso1s.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%2Fe2aavvb1irxky1pwso1s.png" alt="Image description" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Function Declaration &lt;/li&gt;
&lt;li&gt;Function Expression &lt;/li&gt;
&lt;li&gt;Arrow Function &lt;/li&gt;
&lt;li&gt;Function Constructor&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So below I will be listing an examples of each of these Functions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Declaration&lt;/strong&gt;&lt;br&gt;
A function declaration defines a function that can be called and executed later in the code. It specifies the function name, parameters, and the block of code that runs when the function is invoked.&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%2Fq6qa6mbgzjdv7y3m3kc2.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%2Fq6qa6mbgzjdv7y3m3kc2.png" alt="Image description" width="800" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The keyword here is &lt;strong&gt;function&lt;/strong&gt; this is the keyword used to declare a function.&lt;/p&gt;

&lt;p&gt;The function name is &lt;strong&gt;greet&lt;/strong&gt; that is the name given to the function. You can use this name to call the function later in the code.&lt;/p&gt;

&lt;p&gt;The parameter is &lt;strong&gt;name&lt;/strong&gt;, this is a placeholder used to pass data to the function which is a string value &lt;strong&gt;"Ash"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The function body contains the block of code that executes when the function is called, the function body is enclosed in curly braces {}.&lt;/p&gt;

&lt;p&gt;The function returns a value it returns a greeting string! &lt;strong&gt;"Hello, Ash!"&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%2Fda0v4747e4rd219qsmaj.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%2Fda0v4747e4rd219qsmaj.png" alt="Image description" width="241" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Expression&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A function expression defines a function as part of a larger expression normally by assigning it to a variable. But unlike function declarations function expressions are NOT hoisted, which means they cannot be called before they are defined. &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%2F0l6syu50bfdr8gg1sxxt.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%2F0l6syu50bfdr8gg1sxxt.png" alt="Image description" width="716" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;var multiply&lt;/strong&gt; Is the variable that stores the function the variable multiply holds the function that multiplies two numbers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;function (a, b)&lt;/strong&gt; Is a function without a name it takes two parameters (a and b) and returns the product of (a * b).&lt;/p&gt;

&lt;p&gt;Function expression the function is defined as part of the assignment to the &lt;strong&gt;multiply variable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The function multiplies the product which is &lt;strong&gt;4x4= 16&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The console.log() prints the returned value &lt;strong&gt;16!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So why use &lt;strong&gt;Function Expressions&lt;/strong&gt;? You can assign functions to variables pass them as arguments to the other functions, or return them from other functions. &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%2Fc9xe7irj5rj3phik9zw8.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%2Fc9xe7irj5rj3phik9zw8.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
(This is a 16 bit Sub-Zero btw just incase you didn't get it LOL)&lt;/p&gt;

&lt;p&gt;Lets get Back to Business!!&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%2Fsf18ykfgo3lll6esedfj.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%2Fsf18ykfgo3lll6esedfj.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How are we feeling about Function Declarations and Function Expressions so far? Me, I'm feeling pretty good about it but if you have any questions I'm here just comment below :D but yeah I don't know if you guys are into sports but my fantasy football team isn't doin to hot right now :/ I started off 2-0 but I lost back to back games so I'm 2-2 but hopefully I get back on track haha! Like I said this is a safe space we can talk about anything! This is the coders life I'm learning the better your mood is the better you can code &lt;strong&gt;TRUST ME ON THAT&lt;/strong&gt;!! Lets get "BACK TO BUSINESS"!!!&lt;br&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%2F7rl7k7z1wl8zm64uu4vn.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%2F7rl7k7z1wl8zm64uu4vn.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Arrow Function&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Arrow functions provide a shorter syntax for writing function expressions. They are always anonymous and have some differences in how this is handled compared to regular functions.&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%2F1fietxltxqx61zuwr02j.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%2F1fietxltxqx61zuwr02j.png" alt="Image description" width="711" height="171"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;let add&lt;/strong&gt; This defines a variable &lt;strong&gt;add&lt;/strong&gt; that will hold the arrow function, the variable &lt;strong&gt;add&lt;/strong&gt; can later be used to call the function as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(a, b)&lt;/strong&gt; These are the parameters of the function specifically a, and b are the two numbers that will be added together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;=&amp;gt;&lt;/strong&gt; This is a arrow function syntax which will separate the parameters from the function body!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a + b&lt;/strong&gt; This is the actual function body and it returns the result of adding a and b.&lt;/p&gt;

&lt;p&gt;Now when the function &lt;strong&gt;add&lt;/strong&gt; is called with arguments &lt;strong&gt;5 and 3&lt;/strong&gt; the function returns 5+3 which is 8. &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;console.log()&lt;/strong&gt; prints the result which is 8!&lt;/p&gt;

&lt;p&gt;Arrow functions are much shorter and way more simpler compared to the traditional function expressions or declarations! &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%2Ffbwfucnm2dntjx7vjjle.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%2Ffbwfucnm2dntjx7vjjle.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Constructor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A function constructor in JavaScript is a special type of function that is used to create new function objects dynamically. It provides a way to define a function's parameters and body as strings, and then return a new function based on these inputs.&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%2F2morawdiedfyx6om52j3.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%2F2morawdiedfyx6om52j3.png" alt="Image description" width="800" height="148"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Creation&lt;/strong&gt; This creates a function with two parameters &lt;strong&gt;a and b&lt;/strong&gt;. The function body is &lt;strong&gt;return a + b;&lt;/strong&gt; that adds the two numbers and returns their sum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Call&lt;/strong&gt; &lt;strong&gt;sum(10, 12)&lt;/strong&gt; calls the function &lt;strong&gt;sum&lt;/strong&gt; with arguments &lt;strong&gt;10&lt;/strong&gt; and &lt;strong&gt;12&lt;/strong&gt;. The function returns &lt;strong&gt;10 + 12 = 22&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So a quick fact Function constructor are &lt;strong&gt;NOT&lt;/strong&gt; hoisted you have to declare them and define them before using them!&lt;/p&gt;

&lt;p&gt;So here are some differences between &lt;strong&gt;Function Constructor&lt;/strong&gt; and other Function definitions! Functions made with &lt;strong&gt;Function()&lt;/strong&gt; do not have access to the local scope, not like function declarations or expressions which &lt;strong&gt;CAN&lt;/strong&gt; access variables in the scope they were defined in! &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%2Fp26rea9mlzg6f591ywu8.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%2Fp26rea9mlzg6f591ywu8.png" alt="Image description" width="495" height="680"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(GUYS DO NO NOT JUDGE ME I DO NOT LISTEN TO TAY SWIFT LIKE THAT BUT THAT OLD TAY SWIFT WAS FIRE!!! OUR SONG IS SLAMMIN SCREEN DOOR LOL!!!) &lt;/p&gt;

&lt;p&gt;But hey how we feeling about Arrow Functions and Function Constructors? Here's a quick fact about &lt;strong&gt;Arrow Functions&lt;/strong&gt; arrow functions do &lt;strong&gt;NOT&lt;/strong&gt; have their own &lt;strong&gt;this&lt;/strong&gt;! If you need to use &lt;strong&gt;this&lt;/strong&gt; inside a function just use a normal function expression instead of an &lt;strong&gt;Arrow Function&lt;/strong&gt;! Also &lt;strong&gt;Arrow Functions&lt;/strong&gt; do &lt;strong&gt;NOT&lt;/strong&gt; have an &lt;strong&gt;arguments&lt;/strong&gt; object. If you need to use arguments use a regular function! Now a tip about &lt;strong&gt;Function Constructor&lt;/strong&gt; it can be slower apparently because the function body is parsed EVERY TIME the constructor is called not like function declarations or expressions! I look forward to seeing any questions don't be shy! We're coders we ask ALL the questions!&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%2F01nv8j0ezjqpjzluzufa.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%2F01nv8j0ezjqpjzluzufa.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
