teleren/devto huggingface dataset:
How to deploy your app on Netlify, Firebase or Heroku? A video course.
Tags: javascript, beginners, tutorial, webdev
Published: 2023-01-20 04:38:05

**Hello!**
Welcome to the third lesson of the Practical Guide to Building LiveChat Apps! (if you haven't seen previous ones, check out  [Lesson 1](https://dev.to/livechat/video-course-learn-how-to-build-apps-with-livechat-developer-platform-2njm) about planning the app development or [Lesson 2](https://dev.to/livechat/video-course-learn-how-to-build-apps-with-livechat-developer-platform-2h4m) about using LiveChat API in practice 🫡)


Watch the 3rd lesson, where you’ll learn how to deploy your app to:

- Netlify
- Firebase
- Heroku
And ultimately, how to configure your freshly deployed app in the Developer Console!


{% embed https://www.youtube.com/watch?v=lGPQkIF34NY %}

**If you have any questions, let us know in the comments! Tomorrow we will publish the last lesson of the course** 👋
Selenium Java Interview Questions and Answers || That Every QA should Know - Part 3
Tags: webdev, beginners, programming, tutorial
Published: 2023-01-20 04:31:31

In this video , We are going to learn about the TOP 51+ Selenium Selenium Java Interview Questions and Answers. These are exact questions asked for the beginners and experience people. 

{% embed https://youtu.be/PzUtEGRHk1M %}

Question #1 : What is Object Repository? How can we create an Object Repository in Selenium?
Question #2 : How can I read test data from excels?
Question #3 : What is a Framework?
Question #4 : How to capture screenshot in WebDriver?
Question #5 : How to get the Custom attribute value?
Question #6 : How to Drag and Drop from Iframe 1 to 2?
Question #7 : How can we handle web-based pop-up?
Question #8 : What is the difference between driver.close() and driver.quit command?
Question #9 : How to select value in a dropdown?
Question #10 : How to Use Selenium Expected Conditions?

Download Slides : http://bit.ly/seleniumInterview

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

👪 Join our Community - http://bit.ly/learntesting2019

✅ Automation Community - https://thetestingacademy.com

🐦Follow us on Twitter  - https://twitter.com/itstechmode

📖 Like us on Facebook - https://www.facebook.com/scrolltest

🎤  Listen to our Podcast - https://anchor.fm/thetestingacademy


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

#automationtesting #manualtesting #testautomation #thetestingacademy #scrolltest
🚀 Tools and services I recommend:
Some of the courses that I recommend to become better Automation Tester 🙌🙌

✅Selenium Training and Certification -
https://scrolltest.com/go/edureka


✅Learn Jenkins for QA -
https://bit.ly/learnjenkins-p1


✅Programming Java -
https://bit.ly/learnjava2020-p1


✅Test Automation - 
https://bit.ly/learnautomation2020


✅API Testing - 
https://www.learnapitesting.com


✅Cypress Tutorial with LIVE Projects -
http://cypresstutorial.com
Licensed general contractor in Leon Valley, TX-Associated builders and contractors in Boerne, TX
Tags: buildingandconstructioninnolte, tx, buildingcompanyinnatalia, roofconstructioninkyle
Published: 2023-01-20 04:10:28

http://samissionsrenovations.com/services
Call us-(210) 632-0919

Our reputation has been based on honesty and integrity, and we have been cultivating enduring relationships with our clients. Our skilled team members will complete any project quickly, effectively, and within your budget, no matter what it may be.We work hard to give services that go above and beyond what is desired, making the entire process straightforward and stress-free.Visit our official website for more info.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w29pdoc10qagfsky15iv.jpg)
Construction companies in Kirby, TX-New home construction in Leon Valley, TX
Tags: constructioncompaniesinkirby, tx, buildingahouseinliveoak, constructionservicesinhondo
Published: 2023-01-20 03:59:53

http://samissionsrenovations.com/
Call us-(210) 632-0919

With over 27 years of industry experience, S.A Missions Renovations is a general contractor licensed by the state of Texas and provides residential remodeling services to its devoted clients in the San Antonio region.Feel free to call us on our official number-(210) 632-0919.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h92f52ips7apslzswxvq.jpg)
Join images with ImageMagick and automate with Automator
Published: 2023-01-20 03:54:15


## Objective
Throwing images to a folder and the script generates a single image with all the images that were copied and this image is optimized.

## Script with ImageMagick
The main script is create with imagemagick. I find a good example in this [Link](https://superuser.com/questions/290656/vertically-stack-multiple-images-using-imagemagick).


This is the code:

`convert -append IMG_*.JPG out.jpg`

The **append** command is the one that allows you to join the images. If you use **-append** joins them horizontally and if you use **+append** the images align vertically.


the optimized version is this one:

`convert -append IMG_*.JPG -quality 65 -strip -interlace JPEG out-ok.jpg`




## Trigger folder

We open the Automator program in MacOS and create a new folder action

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

Then we select the folder where the action is to be performed.
We needd The **run shell script** action to add our script and the **view results** to get some information when we running the automator actions.

You will end with a worflow like this:

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

The script grow a little bit:

`if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi
if  [ -f "$HOME"/.profile ]; then
    source "$HOME"/.profile
elif [ -f "$HOME"/.bash_profile ]; then
    source "$HOME"/.bash_profile
elif [ -f "$HOME"/.bashrc ]; then
    source "$HOME"/.bashrc
fi

convert -append /Users/username/Desktop/prueba/IMG_*.JPG -quality 65 -strip -interlace JPEG /Users/username/Desktop/prueba/out-ok.jpg
`

The if part is just a way to catch all the posible path to let Automator see the commands in zsh. You can test another options like:

sometimes with a link to this file work

`source ~/.zshrc`

if you want to know more about this error in Automator follow this [question](https://apple.stackexchange.com/questions/97502/my-automator-workflow-fails-because-it-fails-to-find-the-git-command-within-the) in stackexchange.

The second part of the script is the same script we see at begining but with absolute links to image pattern (IMG_*.JPG) and to final image.

Test the folder action in Automator and when it work without any error there is a last step.

## Folder action setup
Now you need to link the folder action to the folder whe image will be process. Select the folder and with the right mouse show options. Select **Folder action setup** and will pop up with a warnig about Confirm Service, touch the service button.

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


then in the right part of this window touch the + button and select the folder action you create and save in Automator. 

Check the action is selected and if all the steps are correct the script will run and images will be join in this folder!
491. Leetcode solution in cpp
Tags: cpp
Published: 2023-01-20 03:52:19

```cpp

class Solution {
 public:
  vector<vector<int>> findSubsequences(vector<int>& nums) {
    vector<vector<int>> ans;
    dfs(nums, 0, {}, ans);
    return ans;
  }

 private:
  void dfs(const vector<int>& nums, int s, vector<int>&& path,
           vector<vector<int>>& ans) {
    if (path.size() > 1)
      ans.push_back(path);

    unordered_set<int> used;

    for (int i = s; i < nums.size(); ++i) {
      if (used.count(nums[i]))
        continue;
      if (path.empty() || nums[i] >= path.back()) {
        used.insert(nums[i]);
        path.push_back(nums[i]);
        dfs(nums, i + 1, move(path), ans);
        path.pop_back();
      }
    }
  }
};
```
#leetcode
#challenge
Here is the link for the problem:
https://leetcode.com/problems/non-decreasing-subsequences/
O que é e para o que serve Autenticação Básica?
Published: 2023-01-20 03:35:31

Com o nome de "Autenticação Básica", você não deve confundir a Autenticação Básica com a autenticação padrão de nome de usuário e senha. A autenticação básica faz parte da especificação HTTP

Por fazer parte das especificações do HTTP, todos os navegadores possuem suporte nativo para "HTTP Basic Authentication". Abaixo está a captura de tela da implementação no Google Chrome.


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

**Como funciona?**

A autenticação básica é um método simples de autenticação utilizado na rede para garantir que somente usuários autorizados tenham acesso a determinados recursos. Ele é baseado em um mecanismo de envio de dados de nome de usuário e senha para o servidor, que então valida essas informações antes de permitir o acesso aos recursos protegidos.

Quando um cliente envia uma solicitação para acessar um recurso protegido, o servidor responde com um código HTTP 401 (não autorizado) e inclui um cabeçalho "WWW-Authenticate" no qual o servidor solicita que o cliente se autentique. O cliente, então, envia suas credenciais de volta ao servidor como parte do cabeçalho de autorização da solicitação. O servidor valida as credenciais e, se elas forem válidas, permite o acesso ao recurso solicitado. Caso contrário, o servidor rejeita a solicitação e retorna um código HTTP 403 (proibido).

A autenticação básica tem duas principais desvantagens importantes que devem ser consideradas ao escolher esse tipo de autenticação:

**Primeiro** -> As credenciais são enviadas no cabeçalho da solicitação sem criptografia, o que significa que podem ser interceptadas facilmente por qualquer pessoa que tenha acesso à rede. 

**Segundo ** -> a autenticação básica não fornece mecanismos para proteger contra-ataques de phishing ou man-in-the-middle. 

Por essas razões, é recomendável que se evite o uso da autenticação básica em aplicações da Internet e se utilize métodos de autenticação mais seguros, como o OAuth.
Day 15 #100DaysofCode
Published: 2023-01-20 03:23:49

## Update on the Admin Dashboard

![Admin Dashboard Progress](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60zdqfcxscm65ycdqn6y.png)

I just finished out the html contents for the Admin Dashboard; it is currently filled with Dummy content. My next step is to create the layouts using grid and then figure out how to get new icons added to the page. For this project, I plan to write the stylings using SCSS; we'll see how it goes as it will be my first time. 

Motto for the day: "Slow progress is better than no progress."
An open letter to Microsoft
Published: 2023-01-20 03:07:52

Dear Microsoft,

I am writing to express my deep concern about the decision to put accessible features, such as live captions, behind a paywall. This decision has a significant impact on individuals who are hard of hearing or deaf, as it makes it difficult for them to access important information and communicate effectively.

Access to live captions is a basic need for many people with hearing impairments, and it is not something that should be restricted by cost. It is essential for them to be able to understand and participate in conversations and meetings, both in personal and professional settings. Without access to live captions, these individuals may miss important information and be excluded from full participation in their communities.

In addition to being essential for communication, live captions are also a valuable tool for education and personal development. Many deaf and hard of hearing individuals struggle to access educational and professional opportunities due to barriers such as a lack of captioning. By making live captions available to all users, Microsoft can help to level the playing field and provide more opportunities for these individuals to reach their full potential.

Furthermore, I would like to bring to your attention that, accessibility features such as live captions are not only beneficial for people with hearing impairments but also for people who are non-native speakers, people in noisy environments, or people with cognitive or learning disabilities. Therefore, it is not only important for people with hearing impairments but for everyone in general.

I urge Microsoft to consider the needs of individuals with hearing impairments and to make live captions available to all users, regardless of their subscription status. This would make a significant difference in the lives of many people and would demonstrate the company's commitment to accessibility and inclusivity.

I would like to thank you for your time and consideration, and I look forward to hearing about any steps that Microsoft is taking to address this issue.

Sincerely,
Abhishek Gupta
The 4 Phases of Coding
Tags: programming, coding, developers, beginners
Published: 2023-01-20 02:48:00

Are you feeling confident but incompetent, or competent but unconfident? 

Programming can be a challenging and intimidating field, but with the right mindset, it can also be incredibly rewarding. In programming, there are two key factors: Confidence and Competence. 

Confidence refers to your belief in your own abilities and your willingness to take on new challenges. Competence, on the other hand, is your actual skill level and the knowledge you have of different programming languages and concepts. Both are important, but they don't always go hand in hand. 

The 4 Phases of Coding are:

1. The Hand Holding Honeymoon-a joy-filled romp via tutorials

2. The Cliff of Confusion-painful realization that it's a lot harder

3. The Desert of Despair-a long journey through a pathless landscape

4. The Upswing of Awesome-finally found a path through the desert 


![Phases of Coding](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y1rfmeb8jv08zb078v0p.png) 

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more in DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
How to Work With Large Pandas Dataframes and Limited Memory.
Tags: python, programming, productivity, tutorial
Published: 2023-01-20 02:36:48

Few Pandas users take advantage of this amazing tweak. 

The default configuration when you read a dataframe is suitable for smaller datasets. But for larger datasets, you'd soon need more memory. 

This post describes compressing your dataframes to fit in your memory without losing any information. Do this and tap into the full potential of your computer. 

[A Little Pandas Hack to Handle Large Datasets with Limited Memory](https://towardsdatascience.com/a-little-pandas-hack-to-handle-large-datasets-with-limited-memory-6745140f473b?sk=9f87fec31134b3ff35ad0f51c3657104)
Hello folks
Tags: beginners, computerscience, community, cpp
Published: 2023-01-20 02:29:35

Hello developers. 
Iam a newbie to the dev.to community. 
I recently started exploring the field of computer science From the last three months and exploring various domains like web development, blockchain .
I am currently learning C++.Iam learning it from YouTube. Do you have any course suggestions , then please comment down.
 I want an active group of people so that the journey will become awesome. 
Any suggestions and advice to explore and learning from you is welcomed.
Learn CSS by creating Netflix Logo
Published: 2023-01-20 02:25:56

Learning CSS by creating projects is the best way of leaning any language. This article will teach you some topics of CSS by creating Netflix logo.

Now create file called index.html and style.css. In the index.html file create the start template :

```
<!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>Netflix Logo</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
</body>
</html>
```

In style.css file create the starter style:

```
body{
padding: 0;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: azure;
}
```

In index.html file add the add a <div> tag having class name “netflix-log” like below:

<div class="netflix-logo"></div>
Now add the following styles to style.css file:

```
.netflix-logo {
height: 15rem;
width: 3rem;
border-left: 3rem solid #e50914;
border-right: 3rem solid #e50914;
}
```

Add the following code to your style.css file:

```
.netflix-logo:before {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background: #e50914;
}
```

Add this style to the existing .netflix-logo:before:

```
transform: skewX(21.5deg);
```

Add this final line to your .netflix-logo:before class in your style.css file:

```
box-shadow: 0 0 30px black;
```

If you view your index.html file in a browser. you should see the completed Netflix Logo:

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

Let’s connect:

You can get the source code from [here]("https://codepen.io/shani-sharma/pen/ExpwPMr"). And also for detailed article you can visit [here](https://codingsutra.in/learn-css-by-creating-netflix-logo/)
Animate on scroll
Tags: webdev, javascript, beginners, react
Published: 2023-01-20 02:20:55

##Introduction
Animation on scroll is a feature that we see often on modern websites, it grabs user attention and add interactivity to your web application rather than just a static page.

In this article I am going to show you how to implement on-scroll animation using the intersection observer api.

##Intersection Observer API
The Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with the viewport, It used for lazy loading Images, infinite scrolling and on-scroll animation. For more information about this api you can check the [docs](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API).

##A Simple example 
I created three section, Each one is going to fade in when we intersect with it.
```html
<section class="hidden">
 <h2>title 1</h2>
</section>
<section class="hidden">
 <h2>title 2</h2>
</section>
<section class="hidden">
 <h2>title 2</h2>
</section>
```
```css
h2{
    color: #4b6cc1;
}
.hidden{
    display: flex;
    padding-block:15rem ;
    flex-direction: column;
    opacity: 0;
    transition: opacity 1s .5s ease-in;
}
```
```js
const targets = document.querySelectorAll(".hidden")
const options = {
    root : null,
    threshold:0.5
}

const callback = (entries)=>{
    console.log(entries)
    entries.forEach(entry => {
          if(entry.isIntersecting){
            entry.target.classList.add("show")
          }else{
            entry.target.classList.remove("show")
          }
    });

}
const observer = new IntersectionObserver(callback,options)

targets.forEach(target=>observer.observe(target))
```
```css
.show{
 opacity:1;
 }
```
we will get all elements that have class "hidden" and add the "show" class to  the element that intersects with 50% of the viewport, that’s what 0.5 in the threshold means.
##Demo
{% embed https://codesandbox.io/embed/naughty-brook-bx3jpl?fontsize=14&hidenavigation=1&theme=dark %}

##Intersection Observer API as react hook
This is the react version 
```js
import {useState,useRef,useEffect} from "react"
export const useOnScreen = (options)=>{
    const ref = useRef(null);
    const [isVisible,setIsVisible] = useState(false)
  
   useEffect(()=>{
     const observer = new IntersectionObserver(([entry])=>{
         if(entry.isIntersecting){
         setIsVisible(true)         
         }
     },options)
     if(ref.current){
         observer.observe(ref.current)
     }
     return ()=> ref.current ? observer.unobserve(ref.current):null

   },[ref,options])

   return [isVisible,ref]
}
```
Install Redis 6.2 Inside Centos 7 Docker Container
Published: 2023-01-20 02:10:10

You'd think this would be easy, but like everything else there are some tricks.

Here's what I did for my docker-compose.

NOTE: That this is not the latest Redis but 6.2 is my current requirements so here we go.

```yaml
version: '3.7'
services:
  redis:
    image: redis:6.2
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    sysctls:
      - net.core.somaxconn=511
    volumes:
      - $PWD/redis-data:/var/lib/redis
```

This solves a bunch of problems all ready:

1. Setting environment variables gets us up faster.

2. Need to do some sysctl magic to get things working.

3. Mounting external volume allows us to persist Redis data.

Bring it up:

```bash
docker-compose up redis
```

Of course, there's all ready issues:

```
Starting containers-2891_redis_1 ... done
Attaching to containers-2891_redis_1
redis_1  | 1:C 20 Jan 2023 01:50:54.485 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1  | 1:C 20 Jan 2023 01:50:54.485 # Redis version=6.2.10, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1  | 1:C 20 Jan 2023 01:50:54.485 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis_1  | 1:M 20 Jan 2023 01:50:54.485 * monotonic clock: POSIX clock_gettime
redis_1  | 1:M 20 Jan 2023 01:50:54.486 * Running mode=standalone, port=6379.
redis_1  | 1:M 20 Jan 2023 01:50:54.486 # Server initialized
redis_1  | 1:M 20 Jan 2023 01:50:54.487 # Can't handle RDB format version 10
redis_1  | 1:M 20 Jan 2023 01:50:54.487 # Fatal error loading the DB: Invalid argument. Exiting.
```

Starting the redis-server explicitly seems to work:

```yaml
version: '3.7'
services:
  redis:
    image: redis:6.2
    command: ["redis-server", "--appendonly", "yes"]
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    sysctls:
      - net.core.somaxconn=511
    volumes:
      - $PWD/redis-data:/var/lib/redis
```

Now bring it up:

```bash
docker-compose up -d redis
```