teleren/devto huggingface dataset:
How to Warm up Your IP Address for Emailing with Tencent Cloud’s Simple Email Service
Tags: webdev, html, edm
Published: 2022-08-15 14:21:09

We’ve previously explored how to optimize the open rate of your marketing email last time. Let’s examine IP warm-up – a key step for email marketing today.
**1. Why is IP warm-up necessary**
Warm-up is often talked about in the email industry. It is the warming-up of the sender's IP and domain name, a common practice of starting with a small number of emails before starting bulk emailing. The aim is to introduce your sending practices to ISPs (such as Gmail, Hotmail, and QQ Mail) so that they will recognize your sending quality, which helps you build a positive reputation for your domain name and IP.

If your domain name and IP are not warmed up or have never or barely been used to send emails, sending bulk emails through them will be considered abnormal by the ISP; more often than not, your emails will end up in spam. Therefore, make sure that your IP is warmed up. As long as your IP is trusted by the ISP, you can maintain your reputation even if the number of sent messages greatly fluctuates.

**2. How to warm up your IP**
_**Step 1. Set up your identity verification**_
Before the warm-up, make sure that you have performed SPF, DKIM, MX, and DMARC validation. For more information, visit https://www.tencentcloud.com/document/product/1084/40180. The ISP will have your emails delivered only after the validation.

_**Step 2. Select your recipients during the warm-up**_
Warming up an IP is to email a few addresses through the IP and slowly increase the number of emails. It is important that you select the right recipients. Keep a clean list of recipients; that is, avoid emailing invalid addresses. Also, keep the list active, so as to get a good open rate and click rate.

_**Step 3. Send proper content**_
Be formal in your content and do not muddle through your warm-up with just an image or a few sentences. The whole warm-up process should be real or real-world-like. For triggered domain names, use content such as [welcome], [notification], and [e-commerce transaction] to guide user interactions (such as clicking links and replying to the email). For bulk emailing domain names, formulate a delicate marketing template, so that the content is less likely to be identified as spam.

_**Step 4. Determine the send volume and frequency**_
The warm-up usually takes about a month. Generally speaking, you can start with 1,000–2,000 emails per IP per day and slowly increase the volume. Make sure that the numbers of emails from different ISPs are even as much as possible. Pay attention to the email feedback. The better the feedback, the looser the requirements of ISPs, and the higher the number of emails that can be sent.
During the warm-up, keep a close eye on the delivery, bounce, and spam folder. Stop sending emails as soon as they are found to be blocked and continue the sending of a smaller number of emails the next day.

Stay tuned for our next topic with best practice sharing on marketing email design!
4-Repositories that will boost your FLUTTER Skills!
Tags: flutter, programming, github, dart
Published: 2022-08-15 14:13:35


**1) [Flutter Interview Questions:](https://github.com/power19942/flutter-interview-questions)**

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

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

**2) [Awesome-Flutter:](https://github.com/Solido/awesome-flutter)**

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

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

**3) [Best-Flutter-UI-Templates:](https://github.com/mitesh77/Best-Flutter-UI-Templates)**

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

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

 
**4) [Flutter/Samples:](https://github.com/flutter/samples)**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/onpcmjfiif7riq2b41ft.PNG)
Strapi V4 Custom graphQL Resolver
Published: 2022-08-15 13:53:00

[https://www.theitsolutions.io/blog/how-to-add-custom-graphql-query-to-strapi-v4](https://www.theitsolutions.io/blog/how-to-add-custom-graphql-query-to-strapi-v4)

[https://forum.strapi.io/t/graphql-custom-resolver-in-v4/13506](https://forum.strapi.io/t/graphql-custom-resolver-in-v4/13506)


[Are GraphQL queries supposed to trigger controller actions in Strapi v4?](https://forum.strapi.io/t/are-graphql-queries-supposed-to-trigger-controller-actions-in-strapi-v4/13474)


[GraphQL custom resolver in V4](https://forum.strapi.io/t/graphql-custom-resolver-in-v4/13506)

[https://strapi.io/blog/extending-and-building-custom-resolvers-with-strapi-v4](https://strapi.io/blog/extending-and-building-custom-resolvers-with-strapi-v4
)
```
register({ strapi }) {
    const extensionService = strapi.plugin('graphql').service('extension');

    const extension = ({}) => ({
      typeDefs: `
        type YourType {
          customResolver: [OtherType!]!
        }
      `,
      resolvers: {
        YourType: {
          customResolver: async (parent, args) => {
            const entries = await strapi.entityService.findMany('api::other-type.other-type', {});
            return entries;
          }
        }
      }
    })
```
Customer Feedback Tools In 2022
Tags: webdev, productivity, showdev, design
Published: 2022-08-15 13:52:00

Customer feedback is a great way to improve the quality of your product and make sure your customers are happy with their experience. But getting customer feedback can be a complex process. The problem is that asking for customer feedback is hard. 

We're all busy, we have a lot on our plates, and sometimes it feels like there's just too much to do.

## What is a customer feedback tool?

A customer feedback tool is a way to collect and analyze data about your customers in order to make better decisions about your business.

[Collecting customer feedback](https://supahub.com/blog/what-is-user-feedback-and-how-to-collect-it) is not as simple as asking them for it, though!

You need a collection tool that can collect data from multiple sources, interpret it, and give you actionable insights on which you base future product decisions.

When you use a customer feedback tool, you'll get access to all sorts of information about your customer's experiences with your business and its products or services.

You'll be able to see what they think about the quality of your product and how easy it was for them to use. You'll also be able to see how much they like or dislike specific features or aspects of the service.

## Why customer feedback tools are important?
Customer feedback is one of the most important things you can do as a business owner. The more you know about what your customers want, the more likely you are to be able to deliver that product or service successfully. You'll also be able to identify trends in the market so that when new opportunities arise, you can be ready for them.

1. Organize customer feedback in one place
2. Understand what your customers want
3. Increase customer retention with customer feedback tools
4. Make data-driven product decisions

## The top 11 customer feedback tools in 2022
1. [Supahub](https://supahub.com)

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

Best for: Collect, manage and prioritize user feedback from different sources in one place.

Overview: Supahub is the only feedback tool that lets you collect, manage and prioritize your user's feedback from different platforms in one place. It allows you to get real input from your users to stop you from assuming their needs. Instead, let your users share their needs in their own voices.

The result? You'll be able to stop assuming your customers' needs—instead, let them share their real input on what they want with you.

Read the list of all feedback collection tools here: https://supahub.com/blog/customer-feedback-tools
WEED - reduce permission-related runtime errors in production!
Tags: react
Published: 2022-08-15 13:47:36

Hey Friends!
Here is a new opensource CLI tool, which was born from a problem we encountered in our company. We named it WEED, “What EEz Different” and it compares permissions between dev and production with the goal of avoiding runtime errors in production ahead of time. It’s completely open source and free. Feel free to use and let us know your thoughts! https://www.producthunt.com/posts/weed-what-ees-different
Popup Questioner /?
Tags: help, beginners, django, javascript
Published: 2022-08-15 13:44:00

hi there guys , 
              I'm currently building a e-commerce website with the Django framework and I really want the users or people whom will eventually visit the website to make an account {register} with my website as customers , and I want to suggest them to create an account through a modal , but I don't want the modal to be very intrusive or even pop up every time the user visits the site , 

I'm thinking that the modal or even a small notification bar should show up only after the user has visited my site for a number of times and for a set amount of time ,

 **is there a way to track the number of times a person visits my website and how much time they spend on it . 
**


also I am open to suggestions on
 **how I should convey the message of "please consider creating an account with us" to the user , should it be a modal or a notification banner or something else entirely **

at the end the website is an ecommerce platform for kitchen-ware
and is in very early stages any and all suggestions are welcome



thank you !.
Working with 2D slices in Golang
Tags: go, webdev, beginners, tutorial
Published: 2022-08-15 13:15:40

Have you ever passed 2D slices as function argument in Golang. 2D slice is things with slices of slices.

```golang

package main

import (
	"fmt"
)

func print2DSlice(a [][]int) {
	// let us iterate over 2D slice
	for i := 0; i < len(a); i++ {
		oD := a[i] // access 0th array in 2D slice
		for j := 0; j < len(oD); j++ {
			fmt.Printf("%d ", oD[j])
		}
		fmt.Println()
	}
	return
}

func main() {
	tDSlice := make([][]int, 0)
        // or tDSlice:=[][]int{}
	tDSlice = append(tDSlice, []int{1, 2, 3, 4, 5})
	tDSlice = append(tDSlice, []int{12, 32, 43, 423, 52})
	tDSlice = append(tDSlice, []int{2341, 322, 323, 324, 53})
	tDSlice = append(tDSlice, []int{3321, 2423, 33232, 432, 532})
	tDSlice = append(tDSlice, []int{14343, 24343, 34343, 44343, 54343})
	tDSlice = append(tDSlice, []int{14343, 24343, 3434334, 4434, 54343})
	tDSlice = append(tDSlice, []int{4343431, 43432, 34343, 44343, 4343435})

	print2DSlice(tDSlice)
}

```

Ref: https://www.dotnetperls.com/2d-go
Thank you.
Scroll Animation | JavaScript
Tags: javascript, beginners, webdev, tutorial
Published: 2022-08-15 13:14:03




Learn How to Make a Scroll Animation using CSS and JavaScript, step-by-step from scratch.
As you will notice in this tutorial: one block comes from the right and another one from the left!


{% youtube peFOHcbEUig %}

***

```html
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Scroll Animation</title>
  <link rel="stylesheet" href="style.css">
  <script defer src="app.js"></script>
</head>

<body>
  <h1>Scroll to See 👀 the Animation</h1>

  <div class="box blue show">
    <h2>content</h2>
  </div>
  <div class="box red">
    <h2>content</h2>
  </div>
  <div class="box yellow">
    <h2>content</h2>
  </div>
  <div class="box green">
    <h2>content</h2>
  </div>
  <div class="box blue">
    <h2>content</h2>
  </div>
  <div class="box red">
    <h2>content</h2>
  </div>
  <div class="box yellow">
    <h2>content</h2>
  </div>
  <div class="box green">
    <h2>content</h2>
  </div>
  <div class="box blue">
    <h2>content</h2>
  </div>
  <div class="box red">
    <h2>content</h2>
  </div>
  <div class="box yellow">
    <h2>content</h2>
  </div>
  <div class="box green">
    <h2>content</h2>
  </div>

</body>

</html>
```
**CSS**

```CSS
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');

* {
	box-sizing: border-box;
}

/*Color*/
.blue {
	--clr: #4285f4;
}
.red {
	--clr: #db4437;
}
.yellow {
	--clr: #f4b400;
}
.green {
	--clr: #0f9d58;
}

body {
	background-color: #636e72;
	font-family: "Roboto", sans-serif;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0;
	overflow-x: hidden;
}

h1 {
	color: rgb(226, 226, 226);
	text-transform: uppercase;
	margin: 30px;
	text-shadow: 2px 2px 10px #000;
}

.box {
	background-color: var(--clr);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	height: 200px;
	margin: 10px;
	border-radius: 20px;
	box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.3);
	transform: translateX(400%);
	transition: transform 0.4s ease;
}

.box:nth-of-type(even) {
	transform: translateX(-400%);
}

.box.show {
	transform: translateX(0);
}

.box h2 {
	font-size: 45px;
	text-shadow: 2px 2px 3px #000;
}
```
JavaScript

```JavaScript
const boxes = document.querySelectorAll('.box');

window.addEventListener('scroll', checkboxes);

checkboxes();

function checkboxes() {
	const triggerBottom = window.innerHeight / 5 * 4;

	boxes.forEach((box) => {
		const boxTop = box.getBoundingClientRect().top;

		if (boxTop < triggerBottom) {
			box.classList.add('show');
		} else {
			box.classList.remove('show');
		}
	});
}
```
***

🛴 **Follow me for more on:**
📺YouTube:      https://bit.ly/3oBQbc0
Facebook:       https://bit.ly/3cp2S5W
Instagram: https://bit.ly/3Ihh2EB
JavaScript: Falsy(False) and Truthy(True) values explanation with example
Tags: javascript, beginners, programming, codenewbie
Published: 2022-08-15 13:03:00

Bonjour, for a long time at beginning of my career I thought some statement is true if two values comparison is equal and false when some condition does not meet. The above statement is not wrong but incomplete. If we don't understand the all possibilities of truly(true) and falsy(false) values, we will not be able to understand all possible solutions/outcomes we can achieve with this concept. I recently came across a problem/challenge posted by "Hackerrank" in which I am going to explain the concept of True and False statements. 

So, the problem is to count all socks whose pairs are available in a pile. The pile may also contain a single sock with no pair available. 


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

**Input Format**

- The first line contains an integer representing the number of socks.

- The second line contains space-separated integers, the colors of the socks in the pile.

This can be solved by multiple approaches but I am going to use for loop just to explain what I am trying here to share with you guys.

```
function sockCount(n, ar) {
    let temp = {}
    let count = 0
    for (var i = 0; i < n; i++) {
        temp[ar[i]] = !temp[ar[i]]
        if (!temp[ar[i]]) count++
    }
    return count
}

```

And I pass values as following

```
const n = 9;
const ar = [10, 20, 20, 10, 10, 30, 50, 10, 20]
sockCount(n, ar)
```

So, all values are true except false, 0, -0, 0n, "", null, undefined, and NaN. 

At the start, temp is initialized by the empty object. It contains no value. This means if we check anything on this object, it'll return false due to undefined properties. So with all that in mind, we check to see if temp[ar[i]] exists.

**Case (No)** The object temp does not contain the value stored at ar[i]. So in that case, we want to set the value of storage[ar[i]] to the opposite of its current value, which is undefined. Since undefined is falsy, the opposite is true. So we are setting storage[ar[i]] to true. So if our array is temp = { 1: true, 2: false} and we check for temp[3], we get undefined, so we update temp to { 1: true, 2: false, 3: true}

**Case (Yes)** If sock color is already in temp array, we inverse its value from true to false.

**Case (False check)** If we get a false in the current iteration, we just increase the count by one.

I hope you guys grab more clear explanation of falsy and truthy values after reading this article. If you do, do like this post.
But if you loved it? man you gotta connect with me on [LinkedIn](https://www.linkedin.com/in/muhammad-azfar-aslam) 😉
Setting up Command auto completion for AWS CLI
Tags: aws, awscli
Published: 2022-08-15 12:56:22

Once you have installed the AWS CLI, it has the feature to auto complete the commands for you at the press of a TaB key. I am using a MAC & the commands here are pertaining to the Mac OS & the zsh shell is used.

To enable this, execute the foll. commands

1. Check the location of aws_completer
which aws_completer

2. Check the shell using command echo $SHELL
/bin/zsh

3. Find the profile script of shell
ls -a ~/
 
In my case its the zsh & this shell does not have a profile script .zshrc created by default even if you are using the shell

4. Create the file using command:
Touch ~/.zshrc

5. Add the path of the aws_completer to this:

PATH="/usr/local/bin/aws_completer:${PATH}"
export PATH

Add the below command to the .zshrc file so that the command completion works every time you open the shell

autoload bashcompinit && bashcompinit
autoload -Uz compinit && compinit

6. To enable command completion run the below command
complete -C '/usr/local/bin/aws_completer' aws

7. Execute the command below to reproduce the above changes in current shell
source ~/.zshrc

Verify the command completion using the 

aws i(TAB key press)

For other OS's , please refer to the below documentation by AWS
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html
Create a Amazing Movie Website Using HTML CSS Javascript
Tags: css, javascript, beginners, tutorial
Published: 2022-08-15 12:45:34

{% youtube G-mEhvhWyw8 %}

How to build a responsive movie website using html css javascript

In this video, I will show you how to build a (mobile-first responsive) movie website using html css and javascript.

[Live Website](https://codewithsadee.github.io/filmlane)
[Github Repo](https://github.com/codewithsadee/filmlane)

---

HI 👋
I'm Sadee (webdev)
In this channel I make videos about Complete Responsive website.
You can checkout my channel 👇

📺 My Channel : [codewithsadee](https://www.youtube.com/channel/UC1PZHWV6VvICTL1LgFUZq6g)
🔔 Subscribe : [subscribe now](https://www.youtube.com/channel/UC1PZHWV6VvICTL1LgFUZq6g?sub_confirmation=1)

---

🔗 Essential links
-----------------------------
[Download the starter file to practice](https://drive.google.com/file/d/1jghp54vEYmRqOsW5YfMVigIKmJqrzmI-/view?usp=sharing)

---

⏱️ Timestamps
-----------------------------
0:00 - Demo
5:50 - File structure
6:19 - Project initial
10:47 - Header
26:25 - Hero section
37:18 - Upcoming movie section
54:31 - Service section
1:03:47 - Top rated movie section
1:13:53 - Tv series section
1:18:05 - CTA section
1:23:02 - Footer
1:38:11 - Movie detail page
1:51:18 - Media queries

---

[![Become a patreon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fnjl14kdm5qf08hu5lop.png)](https://www.patreon.com/bePatron?u=62535867)
My piece🧩 about (B)it!
Tags: bit, react, mdx, microfrontends
Published: 2022-08-15 12:42:00

Trust me and jump to the link below👇
{% embed https://bit.cloud/bellmas-bit/design/content-dev-task %}

There you will find an article I wrote about my first experience with Bit.
A technology that provides us with a complete pipeline for Micro-frontends development.
By the way, the article was written with [MDX](https://mdxjs.com/), which I think is the future of writing content.

![mdx](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6zdoyawyv60xe3y3ibay.png)

> “Like the README.md text file but with the X factor!”

As you can see, I have no hidden agenda to write a support article about Bit, on the contrary… I was first exposed to this technology during the interviews I did there for the position of **“Content & Component Developer”**, and I got the good old “unfortunately response” from them🥲.
However, I learned a lot from using this technology, so I had to share😉.

_¡! Have a fun reading ¡!_
Building my new home lab rack
Published: 2022-08-15 12:14:32

---
title: Building my new home lab rack
published: true
description: We build a rack and I walk about what goes into the building process and showing the process. We also talk about networking like keystone jacks and cable management.
tags:
cover_image: https://i.ytimg.com/vi/QVsXAQ27CT0/maxresdefault.jpg
---

{% youtube QVsXAQ27CT0 %}

We build a rack and I walk about what goes into the building process and showing the process. We also talk about networking like keystone jacks and cable management.
Length of Longest Substring - Without Char Repeat
Tags: javascript, leetcode
Published: 2022-08-15 12:13:00

```js
var lengthOfLongestSubstring = function(s) {
    let slow = 0,
    fast = 0,
    max = 0,
    set = new Set();

  while (fast < s.length) {
    if (!set.has(s[fast])) {
      set.add(s[fast]);
      fast++;
    } else {
      set.delete(s[slow]);
      slow++;
    }
    max = set.size > max ? set.size : max;
  }
  return max;
};

console.log(lengthOfLongestSubstring("abcabcbb")); // 3
console.log(lengthOfLongestSubstring("abcabcdbb")); // 4
```
JavaScript: O Console
Tags: javascript
Published: 2022-08-15 11:59:17

Fala programadores!!!
No vídeo de hoje vamos falar sobre um dos melhores amigos dos programadores, o console!

O console é um painel que exibe mensagens importantes, como erros, para desenvolvedores. 

Grande parte do trabalho que o computador faz com nosso código é invisível para nós por padrão. Se quisermos ver as coisas aparecerem em nossa tela, podemos imprimir ou registrar diretamente em nosso console.

Não deixe de conferir!
{% youtube f4JWcuU6b7g %}

Curso Javascript - Gratuito.
Instagram: https://www.instagram.com/felipesilva...
Website: https://felipesilva.tech/
So sad : What's wrong Forem? #5
Tags: help
Published: 2022-08-15 11:36:05

![sad_heart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8etnfjeax2e7fwt0ciiz.png)
My heart contributes nothing :(
<br>
I'm not actually joking. That was not a photoshop. It really happened. This bug is very bad. It happens to me. It might be due to a refresh error.
<br>
Can anyone help me fix this issue (uwu)?
{% embed https://github.com/forem/forem/issues/18420 %}