teleren/devto huggingface dataset:
Accessibility
Tags: technology, development, web, a11y
Published: 2022-12-05 09:12:00

Web accessibility a.k.a a11y refers to the universal ability of different users and devices to access the content and features of a website, regardless of physical or cognitive ability.

In other words, web accessibility ensures that everyone can successfully use a website, including users who are blind, color blind; deaf or hard of hearing, as well as users who have difficulty using their hands or have other disabilities.

###What does it mean for Coolblue
We want to adhere to the [W3C’s Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/)

You can find a comprehensive checklist in Coolblue design system guidelines (internal).

###Definition of done
Accessibility is considered to be part of your teams definition of done.
Vote on Product Hunt - $1 Million USD AesirX License Giveaway!
Tags: aesirx, opensource, giveaway, martech
Published: 2022-12-05 09:01:06

This Christmas season, $1 Million USD Community Giveaway from AesirX

To help launch all AesirX Solutions to the global Open Source community, we decided to convert our $1M #Giveaway to a Christmas Special Event so that everyone in the #OpenSource community has a chance to get AesirX Software.

1280 x 1-year AesirX licenses are up for grabs until Christmas. 

❓ HOW TO PARTICIPATE:
Step 1: Enter and log in: https://lnkd.in/gSq4vPi3
Step 2: Vote for AesirX BI & AesirX Analytics on #ProductHunt
Step 3: Follow/Like/ Share our posts to gain more points

⏰ Winners will be drawn at 12:00 AM PST on 24th December
✉️ Winners will be notified via email
AesirX Solution Series Design Specifications V1.0 Released #4
Tags: aesirx, opensource, privacyfirst, martech
Published: 2022-12-05 08:56:49

AesirX Solution Series Design Specifications V1.0 Released

To give the Community full access to the visualization and planning of the AesirX Solution Series we have just released the full Design Specifications on all AesirX Solutions currently released or to be released in the coming 4 weeks leading up to Christmas 2022.

AesirX DMA (Digital Marketing Automation)
AesirX DAM (Digital Asset Management)
AesirX BI (Business Intelligence)
AesirX Analytics (no frontend, no design specification, see BI)
AesirX SSO (Single Sign On)
AesirX MetaVerse CMS (Content Management System)
AesirX PIM (Product Information Management)

The purpose of releasing the Design Specifications for the AesirX Solution Series is to give the community full insights and access to what has been released and what is being released in the near future, so that a better visualization and understanding off what the solutions potential is, as well as give the Community a chance to propose changes and ideas based on the same original content as our design team.
CodeSandbox preview in Dev.to
Published: 2022-12-05 08:06:17

Here's how to embed a CodeSandbox example inside of a Dev.to post:

```
{% codesandbox infinite-scroll-intersectionobserver-forked-grjfkp %}
```

And here's the result:
{% codesandbox infinite-scroll-intersectionobserver-forked-grjfkp %}
AesirX Solution Series Design Specifications V1.0 Released #4
Published: 2022-12-05 08:52:26

AesirX Solution Series Design Specifications V1.0 Released

To give the Community full access to the visualization and planning of the AesirX Solution Series we have just released the full Design Specifications on all AesirX Solutions currently released or to be released in the coming 4 weeks leading up to Christmas 2022.

AesirX DMA (Digital Marketing Automation)
AesirX DAM (Digital Asset Management)
AesirX BI (Business Intelligence)
AesirX Analytics (no frontend, no design specification, see BI)
AesirX SSO (Single Sign On)
AesirX MetaVerse CMS (Content Management System)
AesirX PIM (Product Information Management)

The purpose of releasing the Design Specifications for the AesirX Solution Series is to give the community full insights and access to what has been released and what is being released in the near future, so that a better visualization and understanding off what the solutions potential is, as well as give the Community a chance to propose changes and ideas based on the same original content as our design team.

https://github.com/aesirxio/discussions/discussions/4
Typescript Type Predicate
Tags: typescript, beginners
Published: 2022-12-05 08:46:00

Sometimes in our code, we want to have more control over the type we are manipulating and we want to tell Typescript that choice.

Let’s create a union Type `Animal` which can either be a `Cat` or a `Dog`:

```typescript
interface Cat {
  name: string;
}
interface Dog {
  name: string;
  breed: string;
}
type Animal = Dog | Cat;
```
Let’s say, we want to write a function to concatenate all available information inside each interface to a string. To archive this, we need to narrow our variable to the correct type.

To define this narrowing, we need to write a function where the return type is a type predicate defined with the **“is” keyword.**

```typescript
// We can search for a property only available in one of our interfaces, 
// and if this property exists (breed in this case)
// we can categorically say that our return type is of type Dog
isDog(animal: Animal): animal is Dog {
  return (animal as Dog).breed !== undefined;
}
```
As shown below, Typescript can narrow our input `Animal` to `Dog` and give us a nice autocomplete.


![autocomplete because input is of dog Type](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g1n4zcufp6jigdu4hsph.png)

But what makes Typescript really strong is that it now knows that the else statement cannot be of type `Dog`. So the type is narrowed to `Cat`.


![autocomplete for Cat Type](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1qnuukljn8gl0b03xbg1.png)

**Bonus Tip:** Type predicate can become very useful for filter operations. _(array.filter or rxjs.filter)_. Typescript doesn’t narrow your type correctly after a filter operation because it doesn’t really know if the type was narrowed with that operation. But as a developer, you know what type of output is expected. Then you can just use a type predicate to control your type system.

In the following snippet, we have an array of `Dog` or `undefined` values. We want to filter out all undefined values to get an array of dogs. Without a type predicate, the output is still of type `Array<Dog | undefined>`.


![filter without type predicate](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7g5zmt2vjids99nw46y1.png)

But by telling Typescript that we are sure the output **IS** of type `Dog[]`, we can write a type predicate as the return type, and Typescript will infer the output to `Dog[]`.

![filter with type predicate](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ilgrht3mhft12cpbpe81.png)

---

I hope you learned new Angular concept. If you liked it, you can find me on [Medium](https://medium.com/@thomas.laforge), [Twitter](https://twitter.com/laforge_toma) or [Github](https://github.com/tomalaforge).

> 👉 _If you want to accelerate your Angular and Typescript learning journey, come and check out Angular challenges._

Happy coding !!!
Finding dead code in the typescript project
Tags: typescript, deadcode, tsprune, refactoring
Published: 2022-12-05 08:43:36

For finding "dead" code in a typescript project, I use package:
`yarn add -D ts-prune`

after installation, add a script to `package.json` file:

```typescript
{
...
  "scripts": {
    "find-deadcode": "ts-prune"
  }
}
```

now use `yarn find-deadcode` it will find and shows all unused exports in a project

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



The script above will detect unused exports, even if they are used internally within the module. So you can remove `export` to make this code local only, or you can modify script to ignore this behavior:

```typescript
{
...
  "scripts": {
    "find-deadcode": "ts-prune | grep -v '(used in module)'"
  }
}
```
Online Clipboard
Tags: productivity
Published: 2022-12-05 08:43:02

Online Clipboard is free online tool that help you to copy and paste between devices. This tool sync clipboard in realtime.

## How to use online clipboard?

Follow the steps given below to use online clipboard:

**1. Open [Online Clipboard](https://goonlinetools.com/online-clipboard/), paste text in clipboard and then click on send to online clipboard**

![clipboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ib9k8ix8451hm7h18bp.png)

**2. Remember clipboard id or copy sharable url**

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

**3. To Retrieve clipboard in another device click on retrieve and enter clipboard id**

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

**4. Enable live clipboard while retrieve to see clipboard changes quickly**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/05ciacjt5gz4qimmog43.png)
New EC2 Models re:invent 2022
Tags: ec2, aws
Published: 2022-12-05 08:38:36


AWS Released 5 new EC2 models in Re:invent 2022. Hereby an overview.



| Model            | Processor                     | vCPU                     | Memory          | Network    | EBS               |
| ---------------- | ----------------------------- | ------------------------ | --------------- | ---------- | ----------------- |
| C6in             | 3rd Gen Intel Xeon            | 128                      | 256             | 200Gbs EFA | 80Gbs / 350K iops |
| R7iz (preview)   | 4th Gen Intel Xeon (Sapphire) | 128                      | 1024 DDR5       | 50Gbs      | 40Gbs             |
| C7gn (preview)   | Graviton3E                    |                          |                 | 200Gbs EFA |                   |
| Hpc6id (preview) | 3rd Gen Intel Xeon            | 64 cores                 | 1024            | 200Gbs EFA |  25                 |
| inf2  (preview)  | Inferentia2                   | 12 (up to 2.3 Petaflops) | 384 accelerator | NeuronLink |                   |



## C6in Network Optimised

First with the new 200Gbps EFA network connection. 

Target: Virtual applications (firewalls/routers), Telco 5g user plane functions, data analytics, HPC and CPU AI/ML
Region: US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland).

## R7iz Memory-optimized (preview)

First 4th generation Intel Xeon Scalable processors (code named Sapphire Rapids up to 3.9Ghz
Highest performance per vCPU among x86, 20% more then z1d
First model to use DDR5 with 2.4x higher bandwidth

Including 2 bare metal sizes

Target: RDS or other workloads that have per-core licensing model or require high compute and memory



## C7gn  (preview)

Latest Generation Graviton3E.
Up to 200gbs Network and 50% higher packets transfer then C6gn.

Target: virtual application , data analytics 


## Hpc6id

Highest CPU code count with large local NVMe up to  15.2 Tb local NVMe

Target: HPC Clusters
Region: US East (Ohio) and AWS GovCloud (US-West


## inf2 Deeplearning (preview)  

Up to 12 AWS Inferentia2. 3x higher compute, 4x higher throughput and 10x lower latency then Inf1
Up to 2.3 Petaflops DL , 384 GB accelerator memory with 9.8Tbs bandwidth 
NeuronLink , intra instance ultra highspeed interconnect 
50% better performance per wat to GPU based EC2. Integrated in PyTorch and Tensorflow 

Target: Deeplearning. 



## Links

<https://aws.amazon.com/about-aws/whats-new/2022/11/introducing-amazon-ec2-c6in-instances/>
<https://aws.amazon.com/about-aws/whats-new/2022/11/introducing-amazon-ec2-r7iz-instances/>
<https://aws.amazon.com/about-aws/whats-new/2022/11/announcing-amazon-ec2-c7gn-instances-preview/>
<https://aws.amazon.com/about-aws/whats-new/2022/11/announcing-amazon-ec2-hpc6id-instances/>
<https://aws.amazon.com/about-aws/whats-new/2022/11/aws-announces-amazon-ec2-inf2-instances-preview/>
How to build a feature flags service in a few minutes
Tags: featureflags, featuretoggle, dotnet, programming
Published: 2022-12-05 08:24:10

## Overview

This article is about how to build a feature flag tool & feature management service with an open-source feature management project [FeatBit](https://github.com/featbit/featbit).

## Introduction

More and more teams and companies started to use feature flag tools and feature management services to reduce delivery risk, speed up feature release, and achieve BizDevOps.

There are some open-source feature flag tools, but none of them are 100% open-source. You must pay for functionalities like user segments, audit logs, change requests, IAM, etc. 

Here I introduce a new open-source feature management project developed by .NET. It's not only open-source with more functionalities but also user-friendly. 

## Using the code

Let's start to build our self-hosted feature management.

[1] Go to the GitHub page https://github.com/featbit/featbit

[2] Clone the repository to your server or local machine and boot up the services.

```
git clone https://github.com/featbit/featbit
cd featbit
docker compose up -d
```

[3] Wait until all containers have started. 

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

[4] Go to FeatBit's portal http://localhost:8081 with creadentials below to start your journey:

    - username: test@featbit.com
    - password: 123456

Until now, you've successfully built and hosted your feature management service. 

FeatBit includes lots of services such as testing in production, progressive release, AB testing, etc. 

To get started, you can check its [GitHub page](https://github.com/featbit/featbit) or go directly to its [Documentation page](https://featbit.gitbook.io/docs).

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

## Points of Interest

It was a good experience. You built a feature management service in a few minutes. 

You can check how they code the project by reading more documentation (e.g, [Architecture](https://featbit.gitbook.io/docs/tech-stack/architecture))

You can also join the community to chat and exchange opinions with them.

If you find it useful, you can support it by [giving it a Star](https://github.com/featbit/featbit).


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


----------------------------------

[FeatBit](https://www.featbit.co)
The best React and React Native forms library
Tags: react, reactnative, forms, validation
Published: 2022-12-05 08:17:43

A clean and neat way to validate forms in React & React Native. It works with your custom or third party components the same way, it works with the basic elements.
Documentation and Samples:
https://www.enfometa.com/documentation
npm install @enfometa/em-forms
#enfometa #react #reactnative #forms #validation

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xypa1oigkyi0klbbta2c.png)
AesirX Solution Series Design Specifications V1.0 Released #4
Published: 2022-12-05 08:09:01

AesirX Solution Series Design Specifications V1.0 Released

To give the Community full access to the visualization and planning of the AesirX Solution Series we have just released the full Design Specifications on all AesirX Solutions currently released or to be released in the coming 4 weeks leading up to Christmas 2022.

AesirX DMA (Digital Marketing Automation)
AesirX DAM (Digital Asset Management)
AesirX BI (Business Intelligence)
AesirX Analytics (no frontend, no design specification, see BI)
AesirX SSO (Single Sign On)
AesirX MetaVerse CMS (Content Management System)
AesirX PIM (Product Information Management)

The purpose of releasing the Design Specifications for the AesirX Solution Series is to give the community full insights and access to what has been released and what is being released in the near future, so that a better visualization and understanding off what the solutions potential is, as well as give the Community a chance to propose changes and ideas based on the same original content as our design team.

https://github.com/aesirxio/discussions/discussions/4
When to use record instead of class in .NET?
Tags: dotnet, tutorial, beginners
Published: 2022-12-05 08:08:22

In .NET, the record keyword is used to create a value type that is a light-weight alternative to a class. record types are similar to classes, but they are immutable and come with built-in support for value-based equality, copy and move semantics, and pattern matching. record types are particularly useful for scenarios where you need to represent a value that is not intended to be modified, such as a mathematical vector or a geographic coordinate.

In general, you should use record instead of class when you need a value type that is lightweight, immutable, and provides built-in support for value-based equality, copying, and pattern matching. If you need a reference type that is mutable or you require additional features that are not supported by record types, such as inheritance or polymorphism, then you should use a class instead.
Selection sort(선택 정렬)
Tags: algorithms
Published: 2022-12-05 08:07:48

## Time Complexity
best O(n^2)
Worst O(n^2)
Average O(n^2)

## Space Complexity
O(1) - because only use one temp variable

## BigOh
O(n^2)

## Opinion

This algorithm has very strict occur but has the worst time Complexity So when you use this algorithm for a huge structure it is hard to use this algorithm.

---
{% embed https://www.youtube.com/watch?v=8ZiSzteFRYc %}
(I don't put the code or concept because for practice)
[https://www.programiz.com/dsa/selection-sort](https://www.programiz.com/dsa/selection-sort)
Web scraping with Rust
Tags: sraping, rust, tutorial, programming
Published: 2022-12-05 07:59:26

Web scraping is the process of extracting data from websites and storing it for later use. In this tutorial, we will learn how to perform web scraping in Rust, a statically typed, multi-paradigm programming language that was designed to be safe, concurrent, and fast.

To perform web scraping in Rust, we will need a few tools:

1. The `reqwest` library: This library provides a convenient and easy-to-use API for making HTTP requests and handling responses.

2. The `select.rs` library: This library allows us to easily extract data from HTML documents using CSS selectors.

First, let's create a new Rust project and add the `reqwest` and `select.rs` libraries as dependencies in our Cargo.toml file:

```
[dependencies]
reqwest = "0.10.4"
select = "0.4.4"
```

Next, let's create a new file `src/main.rs` and add the following code:

```
use std::io;

use reqwest::Client;
use select::document::Document;
use select::predicate::{Attr, Name};

fn main() -> io::Result<()> {
    let mut resp = Client::new()
        .get("https://www.rust-lang.org")
        .send()?;

    let body = resp.text()?;
    let document = Document::from(body.as_str());

    for node in document.find(Attr("id", "blog-entries")) {
        for entry in node.find(Name("a")) {
            let title = entry.text();
            let url = entry.attr("href").unwrap();
            println!("{} ({})", title, url);
        }
    }

    Ok(())
}
```

In this code, we are using the `reqwest` library to make an HTTP GET request to the Rust website, and then we are using the `select.rs` library to extract data from the HTML response. We are using a CSS selector to find the `div` element with the `id` attribute "blog-entries", and then we are finding all `a` elements within that `div`. For each `a` element, we are printing the text (the title of the blog post) and the `href` attribute (the URL of the blog post).

Now, let's run our web scraping program:

```
$ cargo run
   Compiling webscraper v0.1.0 (/home/user/webscraper)
    Finished dev [unoptimized + debuginfo] target(s) in 1.17s
     Running `target/debug/webscraper`
Introducing the Rust 1.52 release channel (https://blog.rust-lang.org/2022/03/03/Rust-1.52.html)
How does the Rust release process work? (https://blog.rust-lang.org/inside-rust/inside-rust-february-2022.html#how-does-the-rust-release-process-work)
…
```

As you can see, our web scraping program has successfully extracted the title and URL of each blog post from the Rust website.

In conclusion, web scraping in Rust is relatively simple and straightforward using the `reqwest` and `select.rs` libraries.
Boost your productivity and save time and money with our real-time collaboration tools
Tags: webdev, management, startup, productivity
Published: 2022-12-05 07:53:27

Struso's main objective is to boost your productivity and save time and money. Because of this objective, we develop a tool that offers real-time collaboration while using a wide variety of tools such as Todo management, Project Management, Customer Relationship Management, Event Planning, Time Tracker, and a lot more depending on your needs. Struso is a fully adaptable platform, so you can shape the tool #nocode. We currently have a free offering for up to 5 team members.

https://struso.com
YOUTUBE LINKS TO LEARN DEVOPS
Tags: devops, python, aws, azure
Published: 2022-12-05 07:48:32

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

**1) Linux :**
Basic Linux commands are necessary before jumping into shell scripting.

* https://lnkd.in/dBTsJbhz
* https://lnkd.in/dHQTiHBB
* https://lnkd.in/dA9pAmHa

**2. Shell Scripting:**

* https://lnkd.in/da_wHgQH
* https://lnkd.in/d5CFPgga

**3. Python: This will help you in automation**

* https://lnkd.in/dFtNz_9D
* https://lnkd.in/d6cRpFrY
* https://lnkd.in/d-EhshQz

**4. Networking**

* https://lnkd.in/dqTx6jmN
* https://lnkd.in/dRqCzbkn

**5. Git & Github**

* https://lnkd.in/d9gw-9Ds
* https://lnkd.in/dEp3KrTJ

**6. YAML**
https://lnkd.in/duvmhd5X
https://lnkd.in/dNqrXjmV

**7. Containers — Docker:**

* https://lnkd.in/dY2ZswMZ
* https://lnkd.in/d_EySpbh
* https://lnkd.in/dPddbJTf

**8. Continuous Integration & Continuous Deployment (CI/CD):**

* https://lnkd.in/dMHv9T8U

**9. Container Orchestration — Kubernetes:**
* https://lnkd.in/duGZwHYX

**10. Monitoring:**

* https://lnkd.in/dpXhmVqs
* https://lnkd.in/dStQbpRX
* https://lnkd.in/de4H5QVz
* https://lnkd.in/dEtTSsbB

**11. Infrastructure Provisioning & Configuration Management (IaC):** 
Terraform, Ansible, Pulumi

* https://lnkd.in/dvpzNT5M
* https://lnkd.in/dNugwtVW
* https://lnkd.in/dn5m2NKQ
* https://lnkd.in/dhknHJXp
* https://lnkd.in/ddNxd8vU

**12. CI/CD Tools:** 
Jenkins, GitHub Actions, GitLab CI, Travis CI, AWS CodePipeline + AWS CodeBuild, Azure DevOps, etc

* https://lnkd.in/dTmSXNzv
* https://lnkd.in/dAnxpVTe
* https://lnkd.in/daMFG3Hq
* https://lnkd.in/dqf-zzrx
* https://lnkd.in/diWP7Tm7
* https://lnkd.in/dYDCSiiC

**13. AWS:**

* https://lnkd.in/dmi-TMv9
* https://lnkd.in/de3-dAB6
* https://lnkd.in/dh2zXZAB
* https://lnkd.in/dQMyCBWy


**14. Learn how to SSH:**
SSH using mobaxterm.

* https://lnkd.in/gx-T_FU8

**15. SSH using Putty :**

* https://lnkd.in/gGgW7Ns9

**CREDIT: [Ann Felix](https://www.linkedin.com/in/annfelix70/)**