teleren/devto huggingface dataset:
Redux Vs Redux Toolkit
Tags: react, redux, javascript, webdev
Published: 2023-01-15 19:16:03

## Difference Between Redux & Redux Toolkit.

First of all, before knowing the difference between redux and redux toolkit we must know what definition two of this is.

**Redux:** Redux is an open-source JavaScript library for managing and centralizing application states.

That means if you have a state(like a variable) or many states that need to many components or modules. So you need to make globalize those states to easily access them. Redux does this work for us.

**Redux Toolkit:** Redux Toolkit is a set of tools that helps simplify Redux development. 

In other words, if I configure something through redux, as hard as it will be, but the same task we can perform it easily with the redux toolkit.

## Redux VS Redux Toolkit

Some of the differences are highlighted below

1. In Redux you must configure Devtools but in the Redux toolkit, you don't have to configure. Because it already has.

2. In Redux for asynchronous performance you need to add Redux Thunk, But in the Redux toolkit, it's already built-in.

3. Redux requires too much boilerplate code but the Redux toolkit doesn't.

## What Should I learn?

In my preference, you should learn the Redux toolkit. It also depends on other requirements.

But before learning the Redux toolkit you must learn Redux basics. Because, you have to crystal clear concept about **Action**, **Reducer**, and **Store **and their work procedure. After that, you can jump to the Redux toolkit.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9diuogxgc61197m671l.png)

## React Redux Toolkit Roadmap.

Their three things that you have to learn to use redux in your react app and the learning sequence is below. (Top to bottom)

1. Redux (Basic must).

2. React Redux. After that

3. Redux Toolkit.

If you are a beginner you can follow this tutorial playlist. I hope it helps you a lot.

[Tutorial Link](https://www.youtube.com/watch?v=0awA5Uw6SJE&list=PLC3y8-rFHvwiaOAuTtVXittwybYIorRB3)
Write Clear and Meaningful Git Commit Messages
Tags: webdev, productivity, github, git
Published: 2023-01-16 05:37:16

There are no strict rules for writing commit messages but When working on a project on GitHub, it's important to communicate clearly and concisely about the changes you've made. One way to do this is through the use of keywords in your commit messages.

These keywords, or labels, help to indicate the nature of the changes and make it easier for others to understand the context of your contributions.

Here are some common keywords and what they indicate:

FEAT: Use this keyword to indicate that you are committing to a new feature.

`"FEAT: Add new login functionality."`

FIX: Use this keyword to indicate that you are committing a fix for a specific problem or issue.

`"FIX: Fix bug causing crashes on certain devices."`

STYLE: Use this keyword to indicate that you are making changes to the style or formatting of the code, but not its functionality.

`"STYLE: Update indentation in main.js."`

REFACTOR: Use this keyword to indicate that you are making changes to the code that improve its structure or organisation, but do not add new features or fix bugs.

`"REFACTOR: Refactor the code to improve readability."`

TEST: Use this keyword to indicate that you are adding or updating tests for the code.

`"TEST: Add new unit tests for login functionality."`

CHORE: Use this keyword to indicate that you are making changes to the build process or other tasks that are not directly related to the code itself.

`"CHORE: Update dependencies in package.json."`

PERF: Use this keyword to indicate that you are making changes to improve the performance of the code.

`"PERF: Optimize image loading for faster performance."`

CI: Use this keyword to indicate that you are making changes to the continuous integration process.

`"CI: Fix issue with test pipeline on Dashboard CI."`

BUILD: Use this keyword to indicate that you are making changes to the build process.

`"BUILD: Add new script for building the production version of the app."
`

By using these keywords in your commit messages, you can help to make your contributions more clear and more understandable to others. However, it is important to note that these are just suggestions and not all projects use them, it's important to check the project's documentation to see if there are any specific guidelines you should follow.

In summary, clear and concise commit messages are a key aspect of good development practices. Using keywords in your commit messages can help to indicate the nature of the changes you've made, making it easier for others to understand and review your contributions.

My Other Blogs
**[BEM Methodology for CSS - A Guide for Developers](https://dev.to/ashishxcode/bem-methodology-for-css-a-guide-for-developers-34jl)**
How to use PHP native enum?
Tags: php, programming, cleancode, php8
Published: 2023-01-16 11:35:45

[PHP 8.1](https://www.php.net/manual/en/language.types.enumerations.php) offers natively the new `enum` structure. Let's see how we can use them in an advanced way! 🚀 And how it can make your code cleaner, more consistent, and easier to understand! 💡


{% youtube https://youtu.be/c080A4Lrnps %}
Becoming a Cloud Engineer in 2023 (A Roadmap)
Tags: cloud, aws, devops, beginners
Published: 2023-01-16 13:38:44



Here is Simon Holdorf’s recommendation for becoming a Cloud Engineer in 2023.

**Step 1: The Role**

On a high level, a cloud engineer is responsible for designing, building, and maintaining an organization's cloud computing infrastructure and systems.


**Step 2: The Fundamentals**

Don't skip the Fundamentals!

Learn:
- General Cloud Computing
- Networking
- Operating systems
- Virtualization
- Security


**Step 3: Selecting a Cloud Provider**

It is beneficial to have experience with multiple cloud providers as a cloud engineer.

If you are starting, I would highly recommend concentrating on one cloud provider first: AWS, Azure, or GCP.


**Step 4: Acquiring programming knowledge**

As a cloud engineer, it is important to understand at least one programming or scripting language, especially for automating tasks and provision resources in the cloud.

Know your way around Git and a product like GitHub or Gitlab.


**Step 5: Learning DevOps principles & tools**

DevOps is a set of practices that aims to improve collaboration between development and operations teams and increase software delivery speed and reliability.

Know:
- CI/CD
- IaC
- Monitoring & Logging
- Collaboration & Communication


**Step 6: Gaining Hands-On experience**

Seeking opportunities to gain practical, hands-on experience with cloud technologies is essential to becoming a successful cloud engineer.

The first step is to create an account with one of the big cloud providers, AWS, Azure, or GCP.


**Step: 7 Earning Certifications**

Obtaining a certification can be beneficial for several reasons:
- Validation of skills
- Improved job prospects
- Professional development
- Increased earning potential
- Fun challenge

To become a successful Cloud Engineer, you need to have a mindset focused on delivering scalable, reliable, and secure solutions.

Check out Simon's video https://www.youtube.com/watch?v=6Yi3c259RE0

Follow Ileriayo Adebiyi on LinkedIn & Twitter for more on Cloud & DevOps.
LinkedIn: https://www.linkedin.com/in/ileriayoadebiyi
Twitter: https://twitter.com/ileriayooo
What are your Goals for the week of January 16?
Tags: discuss, watercooler, motivation
Published: 2023-01-16 15:58:03

What are your goals for this week?
 
- What are you building? 
- What will be a good result by week's end?
- Did you meet your goals last week?

**Last Week's Goals**

- [:white_check_mark:] Update resume/linkedIN/portfolio.
- [:white_check_mark:] Job Search. Spending my mornings hitting LinkedIn and sending DMs. Applying to open roles.
- [:white_check_mark:] Hit milestone in blog views.

**Last Week's Wins**
- I received my HacktoberFest 9 (2022) Tee-shirt and my Trusted User badge for DEV. 

### Still working on: 
- Update resume/linkedIN/portfolio.
- I'm taking a course starting later this month, course hasn't dropped yet.


**This Week's Goals**

- Update resume/linkedIn/portfolio.
- Continue Job Search.
- Learn something. Planning a project out.
- Encourage Virtual Coffee members in our Month of Learning Challenge.
- Blog.

**This Month's Goals**
- Gain more followers here. I would like to have more followers on DEV than I had on the bird site. Need about 100 more here. 
- Gain more followers on Mastodon. @jarvisscript@hachyderm.io I'm nowhere near my DEV or bird numbers but that's ok.

You've read my goals so I'll throw that question back to you.

What are your goals for the week?

```
-$JarvisScript git push
```
Day 12 #100DaysofCode
Tags: webdev, beginners, 100daysofcode
Published: 2023-01-17 03:38:42

## What I Learned Today

* Difference between CSS Grid and CSS Flexbox
* Creating a Grid
* Positioning Grid Elements
* Advanced Grid Properties

I am 91% completed with the TOP Intermediate HTML and CSS Course. The last project in this section is an Admin Dashboard.
Books for System Design
Tags: books, systems, design, beginners
Published: 2023-01-17 09:31:27


1. "Designing Data-Intensive Applications" by Martin Kleppmann is a comprehensive guide to designing, implementing, and maintaining data-intensive applications.

2. "Building Microservices" by Sam Newman is a book that discusses the principles and practices of building microservices-based systems.


3. "Systems Performance: Enterprise and the Cloud" by Brendan Gregg is a book that covers performance analysis and optimization for systems running in the cloud.

4. "Site Reliability Engineering" by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy is a book that discusses the principles and practices of site reliability engineering, which is a discipline that combines software engineering and systems engineering to build and run large-scale, fault-tolerant systems.

5. "Designing Distributed Systems" by Brendan Burns is a book that covers the fundamental patterns and practices for designing distributed systems.
I hope these recommendations are helpful!
Build an Effective Junior Developer Portfolio That Will Get You Hired 👨‍💻🔥
Tags: beginners, webdev, html, portfolio
Published: 2023-01-17 12:22:40

How to build an Effective Junior Developer Portfolio That Will Get You Hired In 2023 👨‍💻🔥

Some important points that you can follow while building your Developer Portfolio ✨

1️⃣
Showcase your best work: Include only your most impressive and relevant projects in your portfolio. Use screenshots and explain the technologies and techniques used.

2️⃣
Make it easy to navigate: Organize your portfolio in a logical and easy-to-use manner. Make sure it's clear what each project is about and how to view it.

3️⃣
Include a brief bio and contact information: Give potential employers or clients an idea of who you are, what you can do, and how to contact you.

4️⃣
Use a clean and modern design: Keep the design of your portfolio simple and clean, using a modern design aesthetic. This will help your work stand out and make a good impression.

5️⃣
Keep it up-to-date: Make sure to keep your portfolio up-to-date with your latest work and skills. This will help demonstrate your growth as a developer and your ability to stay current with industry trends.

6️⃣
Optimize for mobile and web: Your portfolio should be optimized for different devices and web browsers so that it looks good and works well on any device.

Hope this will help you to build an effective portfolio to make yourself stand out from the crowd and land your dream opportunity 🗽

Do Like ❤️ & Save 🔖

𝗙𝗼𝗹𝗹𝗼𝘄 me on **[Linkedin](https://Linkedin.com/in/rammcodes)** for more:
Tips💡+ Guides📜 + Resources ⚡ related to programming and Web Development 👨‍💻

Feel free to connect with me 👍🔖
Go Memory Allocation
Published: 2023-01-18 01:43:19

## What is memory allocation

Memory allocation is the process of how programming languages store or keep track of in-memory data like variables, arguments or any other data in your program’s runtime. 

There are two places where the runtime keeps track of memory; `Heap` & `Stack`

## Heap

A `Heap` *(same name as the data structure but not related at all)* is a portion of physical memory on your machine where global variables, arguments or any data used by the runtime is stored. `Heaps` are generally shared by the entire program meaning that all `stacks` have access to data stored in the `heap`. 

Data in the `heap` stays in the `heap` until it is freed or your program terminates.  

Go has a`Garbage Collector` and it is responsible for freeing up unused data in the `heap` automatically for us *(we can manipulate this behaviour with the `runtime` package)*

## Stack

`Stack` is a short lived memory space to store data that is local to a function or a thread (`goroutine`). 

Memory in the stack are removed once the function or `goroutine` returns/terminates.

Any new memory that is created inside of a `stack` that is passed and used outside of the stack  (********************passed up the stack********************) is said to have `escaped to the heap`. This is when the memory is “transferred” over to the `heap` from the stack.

## Passing down the stack

`Passing down the stack` refers to passing an `address of a variable` instead of the value of the variable itself down to a function.

Example of Passing down the stack

```go
package main

func main() {
	num := 2
	add(&num)
}

func add(i int) {
	result := *i + 10
	return result
}
```

## Passing up the stack

`Passing up the stack` refers to passing an `address of a variable` instead of the value of the variable itself up/outside the function.

Example of passing up the stack:
```go
package main

func main() {
	num := getNum()
}

func getNum() int {
	number := 7
	// This causes the variable number to be moved to the heap
	return &number 
}
```
JSTools Weekly - 2023#2
Tags: javascript, typescript, node, news
Published: 2023-01-18 17:10:00

The latest issues of our weekly newsletter called [JSTools Weekly](https://jstools.substack.com/) just released.

⭐TOP new javascript releases in this issue:
![list of new javascript releases in JSTools Weekly newsletter in issue #2, 2023](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5fgn3huug4keiel1nee.png)

[See more new javascript releases](https://jstools.substack.com/p/2023-topjstools-2
)


🔥HOT javascript tools in this issue:
![list of hot javascript tools in JSTools Weekly newsletter in issue #2, 2023](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uno3ypn5vq2rbmof8e1s.png)
[See more hot javascript tools](https://jstools.substack.com/p/2023-hotjstools-2
)



✨NEW javascript tools in this issue:

![list of new javascript tools in JSTools Weekly newsletter in issue #2, 2023](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q31vbzherzjbf21uz5vl.png)

[See more new javascript tools](https://jstools.substack.com/p/2023-newjstools-2
)
Accessibility Statement | Templates for Websites
Tags: accessibilitystateme, a11y, webaccessibility
Published: 2023-01-18 17:25:02

---
title: Accessibility Statement | Templates for Websites
published: true
date: 2023-01-18 14:00:08 UTC
tags: accessibilitystateme,a11y,accessibility,webaccessibility
canonical_url: https://mirelaprifti.medium.com/accessibility-statement-templates-for-websites-a3dd60e01388
---

![](https://cdn-images-1.medium.com/max/1024/1*S-mFW_bh6dw3SuRkc47lnA.png)

Websites need an accessibility statement to **communicate the steps you’ve taken** to make the site accessible and what people can do if they encounter any accessibility barriers.

In addition, by providing an accessibility statement, website owners can **demonstrate their commitment** to web accessibility and inclusivity.

Note that these are examples, and [**accessibility statements**](https://mirelaprifti.gumroad.com/l/website-accessibility-statement) can be more detailed and will depend on the website’s design, features, and audience.

It’s also worth noting that the accessibility statement is not a one-time task, and it should be reviewed and updated regularly to ensure that the website remains accessible and conformant to the latest guidelines and regulations.

Accessibility Statement Templates for Websites

**→ Partially conformant**

**→ Non-conformant**

**→ Not assessed**

👉 [**Get your templates**](https://mirelaprifti.gumroad.com/l/website-accessibility-statement) 👈

---

#### Check out my other product on Gumroad:

[UX Heuristics (Usability) Evaluation Report Template](https://mirelaprifti.gumroad.com/l/ux-heuristics-report)

[Accessibility Statement | Templates for Websites](https://mirelaprifti.gumroad.com/l/website-accessibility-statement)

[Accessibility Design Guidelines (Webflow)](https://mirelaprifti.gumroad.com/l/accessibility-design-guidelines)

---

✅ Follow me on [Twitter](https://twitter.com/mirepri4) or [LinkedIn](https://www.linkedin.com/in/mirelaprifti/)
Debug Angular with Intellij
Published: 2023-01-19 13:38:23

Does anyone know if it is possible to debug an angular application that opens several Tabs when "routed" ?

localhost:4200/app --> I can debug with Intellij

localhost:4200/app/myTask --> opens in a separate tab in chrome and my breakpoints in typescript code are not considered.


Does anyone know if it is possible to debug multiple tabs within Intellij ?
Create Real State Hero Section Using HTML CSS for Beginners Step By Step From Scratch in 20 Minutes
Tags: html, css, tutorial, beginners
Published: 2023-01-19 17:13:13

{% youtube xLrk619vZj0 %}
Support us and GET 10% OFF of your next order in my shop using the code: EARLYBIRD 🙏❤️
https://my-store-d97fa0.creator-spring.com/listing/soudemy

Hi Guys, today we want to show How To Create Real State Hero Section Using HTML CSS for Beginners Step By Step From Scratch.
Please, if you love it, Support us with Like & Subscribe.🙏🙏❤️❤️

Subscribe Link : 
https://shorturl.at/gKWY9

In the comments, you can say what design you want so that we can prepare the video for you.

If you want to know how the design was done, check here : 
https://youtu.be/DpYMz0XN64s
Why choose Jetpack Compose?
Published: 2023-01-20 10:37:56

[Jetpack Compose](https://developer.android.com/jetpack/compose/why-adopt) is a newer way to create the look and feel of an app on an Android device. It can make the process of building the user interface easier and more efficient for developers. Some reasons why someone might choose to use Jetpack Compose are:

1. It uses the latest features and technology of the Android platform to create a better performance and more beautiful user interface.
2. It's designed to quickly respond and adapt to the user's interactions and changes in the data.
3. It uses a language that is simpler and faster for developers to use when creating and modifying the layout and design of the app.
4. It's easier to understand and keep track of the code which helps with maintaining the app.
5. Overall, Jetpack Compose can make building the user interface faster, simpler and with better performance.
Authentication vs. Authorization – What's the Difference?
Published: 2024-06-22 08:45:09

---
title: Authentication vs. Authorization – What's the Difference?
published: true
date: 2023-01-20 08:03:58 UTC
tags: 
canonical_url: https://mojoauth.com/blog/authentication-vs-authorization
---

Authentication and authorization terms are often used interchangeably by many, but they are two completely different concepts. Both are crucial in ensuring the security of resources in any application or system. Businesses should efficiently configure both authentication and authorization in their application to ensure the utmost security. This article details the concepts of both authorization and authorization along with the following: How authentication and authorization work Types of authentication and authorization Difference between authentication and authorization or authentication vs.
Pastes.io - API DOCS
Tags: update, webdev, api
Published: 2023-01-22 02:10:57

_We have a New API! You can find Docs here_ [https://docs.pastes.io](https://docs.pastes.io)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9zosuo9oj0otletd1ddb.png)
131. Leetcode Solution in Javascript
Tags: javascript, chiki1601, misspoojaanilkumarpatel
Published: 2023-01-22 10:44:47

```javascript
/**
 * @param {string} s
 * @return {string[][]}
 */
var partition = function(s) {
    var result = [];
    var results = [];
    if (!s) return results;
    helper(s, 0, result, results);
    return results;
};

var helper = function(s, start, result, results) {
    if (start >= s.length) {
        results.push(result.slice());
        result = [];
    }

    for (var i = start; i < s.length; i++) {
        var newStr = s.substring(start, i + 1);
        if (isPalindrome(newStr)) {
          result.push(newStr);
          helper(s, i + 1, result, results);
          result.pop();
        }
    }
};

var isPalindrome = function(s) {
    if (!s || s.length === 1) return true;
    var length = s.length;
    for (var i = 0; i < length; i++) {
        if (s[i] !== s[length - i - 1]) return false;
    }

    return true;
};
```
#leetcode
#challenge
Here is the link for the problem:
https://leetcode.com/problems/palindrome-partitioning
How to install Spring Tool Suite
Tags: java, spring, springboot, springcloudsuite
Published: 2023-01-22 15:31:43

Installing the Spring Tool Suite (STS) is easy. This article shows how to do this in three sequential steps. The example is based on Windows OS, but similar procedures work for other operating systems.

## Step 1 - Download the installer

To download the installer, go to  [spring.io/tools](https://spring.io/tools) and select the installer that you need. In our case, we will select the Windows option.


![spring.io/tools screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovo072tovtu3yv7mfhbl.png)

## Step 2 - Extract the files

Once you have downloaded the jar file, move it to the directory were you want to install the STS and extract the files by opening the jar file

![File extraction](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zo5gpy21zmb91vy2hkkj.png)

or extract them using an application such as WinRar.


![File extraction with WinRar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9v977o35ihxane9topj5.png)

## Step 3 - Open the application

Go to the extracted directory and run the application. 
![STS screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2dbhtdsi0jtu6qd4t9xy.png)

If everything went right, this screen will welcome you:


![STS screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4l48sc030ty722sr9v2r.png)
Become a Full-stack
Tags: webdev, programming, beginners, career
Published: 2023-01-22 14:49:37

Become a Full-stack dev for FREE 👇👇
HTML ➡️ learn-html.org
CSS ➡️ web.dev/learn/css
JavaScript ➡️ javascript.info
Git ➡️ atlassian.com/git
React ➡️ beta.reactjs.org
Node ➡️ nodejs.dev/en/learn
Postgres ➡️ postgresqltutorial.com
API ➡️ rapidapi.com/learn