teleren/devto huggingface dataset:
Don't forget Right-To-Left.
Tags: rtl, html, css, seo
Published: 2024-03-19 16:50:07

Here's the table with locale codes Right-To-Left text direction.

| Language          | Number of Speakers | Countries                                     | Locale Code |
|-------------------|--------------------|-----------------------------------------------|-------------|
| Arabic            | ~ 370 million      | Bahrain, Egypt, Jordan, Kuwait,              | ar          |
|                   |                    | Lebanon, Libya, Mauritania, Oman,            |             |
|                   |                    | Palestine, Qatar, Saudi Arabia, Sudan,       |             |
|                   |                    | Syria, Tunisia, UAE, Yemen                   |             |
| Hebrew            | ~ 8 million        | Israel                                        | he          |
| Persian (Farsi)   | ~ 81 million       | Iran, Afghanistan, Tajikistan, Dagestan(Russia) | fa          |
| Urdu              | ~ 70 million       | Pakistan, India                               | ur          |
| Kashmiri          | ~ 7 million        | India (Jammu and Kashmir regions)            | ks          |
| Pashto            | ~ 51 million       | Afghanistan                                   | ps          |
| Uyghur            | ~ 11 million       | China (‎Xinjiang)‎                            | ug          |
| Sorani Kurdish    | ~ 7 million        | Iraq                                          | ckb         |
| Punjabi           | ~ 113              | Pakistan and India (Punjab region)           | pa          |
| Sindhi            | ~ 30 million       | Pakistani (province of Sindhi)               | sd          |
PHP and Angular: Direct File Upload to S3
Tags: php, aws, s3, angular
Published: 2024-03-19 17:50:37

In this post, we will demonstrate how to allows users to upload files directly to Amazon S3 using PHP as a backend.

By directly uploading these files to Amazon S3, you can avoid proxying these requests through your application server. This can significantly reduce network traffic and server CPU usage, and enable your application server to handle other requests during busy periods. S3 also is highly available and durable, making it an ideal persistent store for user uploads.


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

Github Repo: 
https://github.com/tonitomystery/upload-direct-s3-php
SQL FOR ALL..!!!
Tags: sql, webdev
Published: 2024-03-19 17:48:56


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/givkrecelonekbrry09x.PNG)## SQL history

SQL, which stands for Structured Query Language, is a programming language designed to manage and manipulate relational databases.

It provides a standardized way of interacting with databases, allowing users to perform various operations such as querying data, updating records, inserting new data, and deleting existing data.

SQL was developed in the early 1970s by IBM researchers Raymond Boyce and Donald Chamberlin. Initially, it was known as SEQUEL (Structured English Query Language). However, due to trademark issues, the name was later changed to SQL.

 

## Comments in SQL:

Comments exist in all languages. However, Comments in SQL are non-executable statements that serve as documentation or explanatory notes within the code. 

They are invaluable for enhancing code readability and understanding. In SQL, comments can be written using two different formats: 

`--` for single-line comments and `/* */` for multi-line comments.

For example:
```sql
-- This is a single-line comment

/*
   This is a multi-line comment.
   It spans multiple lines for detailed explanations.
*/
```

## ORDER BY Clause

The `ORDER BY` clause is used to sort the result set of a query based on specified columns in either ascending (ASC) or descending (DESC) order. It enables users to organize data according to their preferences, making it easier to analyze and interpret.

For example:
```sql
SELECT column1, column2
FROM table_name
ORDER BY column1 ASC;
```

## <> (Not Equal To) Operator:

The `<>` operator, also known as the inequality operator, is used to compare two expressions for inequality. It returns true if the expressions are not equal and false if they are equal. This operator is handy for filtering data based on conditions where equality is not desired.

For example:
```sql
SELECT *
FROM table_name
WHERE column1 <> 'value';
```

## = (Equal) Operator

The `=` operator is used to compare two expressions for equality. It returns true if the expressions are equal and false if they are not equal. This operator is commonly used in SQL for filtering data based on specific criteria.

For example:
```sql
SELECT *
FROM table_name
WHERE column1 = 'value';
```

## Other Comparison Operators

SQL offers a variety of other comparison operators, including `>`, `<`, `>=`, and `<=`, which are used to compare values and expressions in different ways. These operators are crucial for building complex conditions in SQL queries.

## AND Operator

The `AND` operator is a logical operator used to combine multiple conditions in a `WHERE` clause. It ensures that all conditions must be true for a row to be included in the result set. The `AND` operator allows for creating more specific and refined queries.

For example:
```sql
SELECT *
FROM table_name
WHERE condition1 AND condition2;
```

- see you in the next here
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gr6dx1r5bajspebbzyfz.PNG)
It’s FOSS
Tags: opensource, newsletter, freelance
Published: 2024-03-19 17:47:56

[DEV.to]: https://dev.to/
[Functional Works]: https://functional.works-hub.com/
[It’s FOSS]: https://itsfoss.com/
[Kodumaro]: https://kodumaro.cacilhas.info/
[my first article]: https://itsfoss.com/upt/

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

I started writing as external stackholder for [It’s FOSS][], [my first article] is already released, there are more to come.

Unfortunately that means I won’t be able to keep writing for [DEV.to][] so frequently, ’cause I couldn’t simply replicate the articles here, as I’ve been doing for [Kodumaro][] and [Functional Works][] (I haven’t asked permission for that).

Nonetheless the articles for It’s FOSS have some little restrictions, which limits what and how I might write or not. Therefore I’m intending to keep writing for DEV.to those subjects that aren’t of interest to It’s FOSS.
How ATLP changed my tech-world in a minute!
Tags: learning
Published: 2024-03-19 17:46:14



**_How I got to know  about ATLP_**

The first time, I ever heard of ATLP was from a friend. My friend joined ATLP and I began seeing changes in his lifestyle, wondering about his transformed, purpose-driven life. 

He had to tell me more about ATLP as a program that trains the youth and transforms them into world-class software engineers. Having been a witness of my friend's life transformation, 
 it triggered me to reach out and learn more about that huge opportunity that was knocking on my door. 

**_What it is like to join ATLP_**

Joining ATLP can be  fascinating and more exciting, as you get to learn with a hands-on experience on different technical and professional tasks. All it takes is, being courageous and committed to delivering your best, embracing the art of learning new things and being challenged along the way, and also being able to share your thoughts and acquiring feedback  from colleagues and mentors. Effective communication is one of the key values that will help you share your thoughts and provide constructive feedback to your colleagues and receiving  it from them  as well. Lastly, you have to wake up everyday willing to improve your capabilities in solving real-life problems. 

**_My progress so far_**

So far, I have learnt different full-stack programming languages such as HTML and CSS with JavaScript and Nodejs for server-side web applications.
Iam planning on working on more projects that will help me in becoming more familiar with full-stack development and open up to any further opportunities in the tech-world that will need my skills.

**_Are you planning on joining [ATLP](https://andela.com/andela-technical-leadership-program-rwanda)?_**

Are you planning to join [ATLP](https://andela.com/andela-technical-leadership-program-rwanda)? Here's my opinion: That is the best decision you will ever make if you're really interested in solving real-life problems by the application of both coding  and professional skills. Come with more strength and face real-life challenges that will contribute to  your personal growth. You're welcome to the world where ideas are nurtured.
Dynamic Community Landing Page with Next.js, React, Tailwind, and Strapi - Download Free
Tags: react, nextjs, github, tailwindcss
Published: 2024-03-19 17:38:34

This repository hosts a dynamic community landing page built using modern web technologies including Next.js, React, Tailwind CSS, and Strapi. It is designed to be free to download, allowing developers to easily set up and customize their community landing pages.

[**Demo**](https://irdebtanon.ir/en)
[**Front-End Repository**](https://github.com/paghar/NAR-ANON_FE)
[**Back-End Repository**](https://github.com/paghar/NAR-ANON_BE)

### Tech Stack
**Front End:** React, Next.js, Java Script, Type Script, Web-pack, Enlist
**Layout:**Tailwind CSS
**Folder Structure:** Base on Clean Architecture
**Methodology and Architecture:**
  -HOC Pattern (Higher Order Component Pattern)
  -Container and Presentational Components Pattern
  -Provider Pattern
  -Hooks Pattern
  -State reducer pattern
**Back End:** Strapi
How Next.js breaks React Fundamentals (with Examples)
Tags: react, nextjs, vue, qwik
Published: 2024-03-19 17:31:12

Do you ever feel DX of Next.js is clumsy and cumbersome? I do, so I've investigated why. More in my article: **How Next.js breaks React Fundamentals** with Examples.
[ondrejvelisek.github.io/how-nextjs-breaks-react-fundamentals/](https://ondrejvelisek.github.io/how-nextjs-breaks-react-fundamentals/)
Love to hear your feedback.
![Components go through runtimes and if some state is needed, they re-render. Pass the runtime otherwise.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ct4nxtld6ldy22evl6s.png)
Help: :React Native Guidance Needed
Tags: react, reactnative, javascript, webdev
Published: 2024-03-19 17:30:51

Hi Devs, 
Please can anyone help me build a good boilerplate structure for a react native project, using expo.

Yes i know that expo has its own structure, but when we add some routing and other libraries in it, the structure becomes tedious. 

I am from Web Development, and trying to create a best possible Structure for an app.

As well in React native development using vscode is quite difficult when using plain JS instead of Typescript, 

Yes i like Typescript too, but my Laptop couldn't take that much load.

**Overall, i want to increase my productivity in RN.**
The Power and Challenges of ReactJS
Published: 2024-03-19 17:25:04

In the world of web development, nothing beats ReactJS for its ability to simplify building an interactive user interface. This is because it has a component-based architecture, virtual DOM as well as declarative syntax that comes with several benefits:

**Benefits**:-

- **Component-based structure**: Provides code reusability, organization, and scalability.
- **Virtual DOM**: Improves performance by reducing expensive DOM operations.
- **Declarative Syntax**: Makes UI development and maintenance less complex thus leading to cleaner codes.
- **JSX**: The markup gets integrated with logic without any hitch so that the productivity of developers can be improved.
- **Strong Community Support**: Developers have access to extensive documentation and libraries that speed up the process of developing applications.


**Demerits**:-

- **Learning Curve**: JSX and component lifecycle methods might be difficult for beginners to grasp.
- **State Management**: State management at scale can become complex and inconsistent.
- **Tooling Complexity**: Setting up modern tooling can be daunting, adding overhead to your development workflow.
- **SEO Challenges**: SEO may suffer from client-side rendering hence other techniques such as SSR must be applied to maintain search engine visibility.

Fragmentation of ecosystem – Multiple libraries and frameworks lead to compatibility issues or difficulties in making decisions by users especially when choosing among them.

In summary, even though ReactJS is very ideal for creating sophisticated web applications, some developers
Exploring Vite Software: Revolutionizing Development Efficiency
Tags: webdev, react, vite
Published: 2024-03-19 17:19:06

<u>**Introduction:**</u>
In the ever-evolving landscape of software development, efficiency is key. Enter Vite software, a game-changer in the realm of web development. Vite, which means "fast" in French, lives up to its name by providing developers with a lightning-fast development environment. But what exactly is Vite, and how does it streamline the development process? Let's delve into this innovative tool and explore its myriad benefits.

<u>**What is Vite?**</u>
 Vite is a <u>**local development server**</u> Developed by **Evan You**, the creator of Vue.js, Vite is specifically designed to optimize the developer experience, offering a seamless and efficient workflow.

**<u>How Does it Work?</u>**
Vite harnesses esbuild to pre-bundle dependencies before promptly initiating the server. Subsequently, it analyzes the code and employs route-based code splitting. Leveraging native ESM support, Vite facilitates code delivery, enabling the browser to handle bundling during development. To further enhance performance, Vite integrates Rollup for bundling the application.

**<u>Key Features of Vite:</u>**

1. **Instant Server Start**: With Vite, developers can enjoy near-instantaneous server startup, thanks to its ability to compile modules on the fly. This eliminates the need for time-consuming bundling processes, allowing developers to jump straight into coding without delay.

2. **Hot Module Replacement (HMR)**: Vite comes equipped with built-in support for HMR, enabling real-time updates to application modules without requiring a full page reload. This feature greatly enhances the development experience by providing instant feedback and reducing iteration times.

3. **Dependency Pre-Bundling**: Vite intelligently pre-bundles dependencies during development, ensuring that only application code is processed dynamically. This optimization minimizes build times and maximizes performance, even for projects with complex dependency graphs.

**<u>Conclusion</u>**
In conclusion, Vite stands out as a cutting-edge tool in the realm of web development, thanks to its innovative approach and robust feature set. By leveraging **<u>esbuild</u>** for dependency pre-bundling and native ESM support for efficient code delivery, Vite empowers developers to achieve unparalleled speed and optimization in their projects. The integration of route-based code splitting and Rollup further enhances performance, making Vite a go-to choice for developers seeking to streamline their development workflows and deliver high-quality applications with ease. Embracing Vite means embracing a future where development efficiency knows no bounds.
DevOps with Guruu | Chapter 7 : Connect 2 VPC without internet – Security | Network Service with AWS
Tags: webdev, devops, aws
Published: 2024-03-19 17:11:59

{% embed https://youtu.be/OSF_kyElxQE %}
DevOps with Guruu | Chapter 7 : Connect 2 VPC without internet – Security | Network Service with AWS

> 0:00 Welcome to my Series DevOps with Guruu
> 1:43 My mistake
> 21:31 Initialize CloudFormation Template Again
> 24:00 Create Security Group
> 26:30 Create EC2 instance
> 29:30 Update Network ACL
> 35:00 Create connect Peering
> 37:00 Config Route tables
> 38:00 Delete Resources


Join me on this journey to mastering DevOps. Let's get hands-on and build a strong foundation together! Don't forget to like, share, and subscribe for more exciting content. Happy coding, future DevOps!"
Top VS Code Extensions for Web Development
Tags: vscode, productivity
Published: 2024-03-19 16:56:40

---
title: Top VS Code Extensions for Web Development
published: true
description: If you want to level up your web development, you need these VS Code extensions installed today!
tags: vscode, productivity
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpmcoeqftqugzlhnzjxn.png
---

{%youtube _PG3X7JQg5s%}
Customizing OpenSSH Service Configuration
Tags: ramadhanbersamaredhat, openssh, redhat
Published: 2024-03-19 15:51:29

## Configuring the OpenSSH Server
OpenSSH service is provided by a daemon called sshd. Its main configuration file is /etc/ssh/sshd_config.

The default configuration of the OpenSSH server works well. However, you might want to make some changes to strengthen the security of your system. There are two common changes you might want to make. You might want to prohibit direct remote login to the root account, and you might want to prohibit password-based authentication (in favor of SSH private key authentication).

## Prohibit the Superuser From Logging in Using SSH
It is a good practice to prohibit direct login to the root user account from remote systems. Some of the risks of allowing direct login as root include:

- The user name root exists on every Linux system by default, so a potential attacker only has to guess the password, instead of a valid user name and password combination. This reduces complexity for an attacker.
- The root user has unrestricted privileges, so its compromise can lead to maximum damage to the system.
- From an auditing perspective, it can be hard to track which authorized user logged in as root and made changes. If users have to log in as a regular user and switch to the root account, this generates a log event that can be used to help provide accountability.

The OpenSSH server uses the PermitRootLogin configuration setting in the /etc/ssh/sshd_config configuration file to allow or prohibit users logging in to the system as root.

```
PermitRootLogin yes
```
With the PermitRootLogin parameter to yes, as it is by default, people are permitted to log in as root. To prevent this, set the value to no. Alternatively, to prevent password-based authentication but allow private key-based authentication for root, set the PermitRootLogin parameter to without-password.

The SSH server (sshd) must be reloaded for any changes to take effect.

```
`[root@host ~]# systemctl reload sshd`
```

## Prohibiting Password-Based Authentication for SSH
Allowing only private key-based logins to the remote command line has various advantages:

- Attackers cannot use password guessing attacks to remotely break into known accounts on the system.
- With passphrase-protected private keys, an attacker needs both the passphrase and a copy of the private key. With passwords, an attacker just needs the password.
- By using passphrase-protected private keys in conjunction with ssh-agent, the passphrase is exposed less frequently since it is entered less frequently, and logging in is more convenient for the user.

The OpenSSH server uses the PasswordAuthentication parameter in the /etc/ssh/sshd_config configuration file to control whether users can use password-based authentication to log in to the system.

```
PasswordAuthentication yes
```
Keep in mind that whenever you change the /etc/ssh/sshd_config file, you must reload the sshd service for changes to take effect.
Learning AWS Day by Day — Day 10 — Introduction to Load Balancers
Tags: aws, cloud, cloudcomputing, learning
Published: 2024-03-19 16:41:47

Exploring AWS !!

Day 10:

Introduction to Load Balancers:

Load Balancer is a service that uniformly distributes network traffic & workloads across multiple servers or clusters. Load Balancers increase availability and fault tolerance.

Elastic Load Balancer:
- load balancing service for AWS deployments.
- ELB scales itself as necessary to handle load.
- traffic is distributed in multiple AZ.
- single point of contact for clients.

Types:

Classic Load Balancer — like traditional load balancing, but virtual devices replace physical hardware.
Network Load Balancer — used for handling sudden and violent site traffic.
Application Load Balancer — identifies specific incoming traffic and directs it to specific resource.
Gateway Load Balancer — used to ensure high availability by routing traffic flows through healthy virtual appliances, and re-routing in case of unhealthy appliances.

Blue/Green Deployments with Weighted Routes:
with weighted routing we can switch traffic between the versions of our application. This configuration allows us to control distribution of traffic to our application.
Example: If we define a rule having two target groups with weights 8 and 2, load balancer will route 80% traffic to first target group and 20% to another target group.

Classic Load Balancer:
- distributes the incoming application traffic across EC2 instance in multiple AZs and functions at layer 7 of OSI model.
- routes traffic to healthy instances only, and it is evenly distributed over.
- Internet and internal facing load balancer.

Network Load Balancer:
- functions at 4th layer of OSI model, flow hash algorithm.
- handles millions of requests per second and maintains low latency.
- ideal for load balancing TCP/UDP traffic and supports elastic or static IP.

Application Load Balancer:
- functions at 7th layer of OSI model, round robin algorithm.
- identifies incoming resource type and directs it to appropriate servers.
- ideal for load balancing Http/Https traffic.

Cross Zone Load Balancing (CLB):
- by default, CLB nodes distribute traffic to instances in their availability zone only.
- we enable cross zone load balancing to route evenly across EC2 instances.
- ELB routes each request to instance with smallest load.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ii4ycacknteqerqd701n.png)
useState( )
Tags: usestate, react
Published: 2024-03-19 16:32:30

The `useState()` hook in React allows functional components to manage state. It returns a state variable and a function to update it. You initialize state with an initial value, and updating it triggers re-rendering. You can manage multiple state variables in a component. Always use the setter function to update state for React's efficiency.

`const [state, setState] = useState(initialValue);`
Here, `state` is the current value of the state variable, and `setState` is a function that allows you to update `state`.
- `setState(newValue);`
- `setState(prevState => prevState + 1);`

### simple React component that implements a counter using the `useState()` hook:
```jsx
import React, { useState } from 'react';

function Counter() {
  // Define a state variable 'count' and a function 'setCount' to update it
  const [count, setCount] = useState(0);

  return (
    <div>
      <h2>Counter</h2>
      <p>Count: {count}</p>
      {/* Button to increment count */}
      <button onClick={() => setCount(count + 1)}>Increment</button>
      {/* Button to decrement count */}
      <button onClick={() => setCount(count - 1)}>Decrement</button>
    </div>
  );
}

export default Counter;

```
What is Git Cherry-Pick?
Tags: git
Published: 2024-03-19 16:28:17

---
title: What is Git Cherry-Pick?
published: true
description: Git Cherry-Pick is the best great for bringing in specific changes without merging whole branches. 
tags: git
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7v0jd45v2in1wrcbxigl.png
---

{%youtube _8FeXuoYcqU%}