teleren/devto huggingface dataset:
Jenkins Tutorial Step by Step | Day1 | Why we need to Learn Jenkins as QA
Tags: webdev, beginners, tutorial, programming
Published: 2023-02-10 06:34:25

In this video, series of Jenkins Tutorial step by step, we are going to learn Jenkins for Software Testers.

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

I will show How to run your  Automation Projects in Jenkins, we will learn all major concepts of jenkins like jenkins pipeline, freestyle job, jenkins plugins, jenkins manage users and roles.

✅✅ Download Slides + NOTES - https://sdet.live/notes


———————————————————————————

🔗 Join the Facebook Group - http://scrolltest.com/fb

🔗 Learn API Testing(with Postman) - https://learnapitesting.com/

🔗 Rest API Testing with Python - http://masterapitesting.com/

🔗 E2E Frontend Testing with Cypress - http://cypresstutorial.com/

🔗 Join Our Automation Newsletter - http://scrolltest.com/tta

🔗 Master API Testing Bundle - https://apitesting.co/bundle

🔗 Rest Assured MasterClass- https://apitesting.co/enroll


———————————————————————————

Who is this for?

✅ Anyone who wants to learn How Jenkins works, basics and more.

✅ Want to run your own projects on Jenkins

✅ What is Jenkins?

**Jenkins** – an open source automation server which enables developers around the world to reliably build, test, and deploy their software.

[https://www.jenkins.io/
](https://www.jenkins.io/
)

[https://en.wikipedia.org/wiki/Jenkins...
)](https://en.wikipedia.org/wiki/Jenkins...
)

✅ *An open source automation server which enables developers around the world to reliably build, test, and deploy their software*

✅ Why we need to Learn Jenkins?

Jenkins has become an indispensable tool for both Java programmers and DevOps engineers. **Jenkins allows you to set up continuous integration (CI) and continuous deployment (CD) pipeline**, which reduces risk on Software development and delivery

✅ What are the benefits of Jenkins?

- *Runs Automated Test Suites*
- *Run you Web, Mobile Automation SUITE*
- *API Monitoring*
- *Report and Email Notification*
- *Trends and detailed failure that can be shared.*
- *You can use slave to make build and run fast.*

How to install Jenkins on Windows, Mac and Ubuntu

1. Go the [https://www.jenkins.io/
](https://www.jenkins.io/)download

2. Install the file or follow steps
3. Install the default plugins
4. Navigate to localhost:8080

✅ *Do I need to know coding to learn Jenkins?* 

No, OPnly in some cases you need to learn Groovy
SAP FICO Online Course
Tags: sapfico, sapficocourse, sapficotraining, sapficointelugu
Published: 2023-02-10 06:26:36

What is sap fico?

SAP FI (Financial Accounting), and SAP CO (Controlling are two modules in the SAP ERP (Enterprise Resource Planning). These modules help businesses manage their financial processes and data.

SAP FI can be used to manage financial transactions, accounting data, such as general ledger accounts and accounts payable and receivable. It also includes bank accounting, asset accounting and bank accounting. This module allows for centralized recording and reporting of financial transactions. It ensures data consistency and accuracy. You also can watch here SAP FICO Demo Video

SAP CO can be used to plan, monitor and control an organization's internal finances. This includes cost centers, profitability analysis, revenue elements and internal orders. This module allows companies to understand the financial implications and make informed decisions about how they allocate resources and manage their costs.

SAP FI and CO together are referred as SAP FICO. SAP FICO provides businesses with a complete solution for financial management. It allows them to record transactions, generate reports, and analyze data.
Como aplicar debounce em input de busca sem lodash
Tags: frontend, react, autocomplete, debounce
Published: 2023-02-10 06:21:49

Campo de busca é um componente muito comum em aplicações, geralmente seguem o mesmo fluxo:

1. Usuário digita um texto no campo
2. Em seguida é disparado um GET request para alguma API
3. E por fim a lista de resultados é renderizada em tela

O problema aqui é no segundo passo, onde seria um desperdício de recurso do servidor, fazer uma busca a cada letra digitada, aí que entra a estratégia chamada de debounce.
A idéia é aplicar um delay, antes de fazer a chamada à API, assim evitando chamadas desnecessárias.

Uma solução muito utilizada é o pacote [lodash debounce](https://lodash.com/docs/4.17.15#debounce), mas para a finalidade descrita acima a implementação é muito simples usando um **setTimeout**. O importante é criar uma referência ao timeout antes, para poder reiniciar o delay, pois caso o usuário insira uma nova busca antes da anterior terminar, o timeout continua em execução, então buscas desnecessárias são feitas do mesmo jeito.

```js
const DEBOUNCE_DELAY = 500;

let timeoutRef; // cria a referência ao timeout

const someFetchFunction = (value) => {
  clearTimeout(timeoutRef); // reinicia o timeout
  
  timeoutRef = setTimeout(() => {
    // faz a chamada à API e outros códigos após o delay
  }, DEBOUNCE_DELAY)
}
```

Apenas isso já é suficiente para que o debounce funcione sem erros. A função pode ser chamada no campo de input, passando o valor digitado no campo de busca.
6. Do be afraid of unstable systems
Tags: predictoroffailure
Published: 2023-02-10 06:21:02

**Are your IT systems down again? 🙄**

It pains me to tell you this; your problems are much worse. 😨

Let's get to the root cause. No, not the technical root cause. The organizational root cause.

Unstable systems are not the sickness; it is the symptoms.

Two of the main types of work in an IT department are **business work** and **internal IT work**.

### Business work
Features that directly positively affect the business.

Business work is the reason we have an IT department.

### Internal IT work
Investments in developer productivity, security, governance, cost management, coordination between departments, and systems stability.

## The organizational root cause
IT neglects internal IT work and only focuses on business work. This neglect is often attributed to a skill gap by the developers. And, yes, that is sometimes the case.

However, in most businesses, it is not the IT department that chooses what the IT department works on; it is often business managers. And business managers will always prioritize tangible business work over long-term intangible IT work.

Whatever the root cause, the ramifications are severe.

## Ramifications
 - **Unstable IT systems** are a strong predictor of a **slow IT department**.
 - A **slow IT department** is a strong predictor of **inadequate cost management**.
 - **Inadequate cost management** is a strong predictor of **insufficient coordination** between departments.
 - **Insufficient coordination** between departments is a strong predictor of **unstable IT systems**.

**Unstable IT systems are just symptoms of a much deeper sickness.**
JavaScript Array Methods Cheatsheet
Tags: javascript, beginners, programming, community
Published: 2023-02-10 05:51:18

JavaScript is a powerful programming language that is widely used for web development. JavaScript arrays are a fundamental data structure used in web development and are commonly used to store and manipulate collections of data. With its numerous built-in methods, JavaScript arrays are powerful tools for data manipulation.

The JavaScript Array Methods Cheatsheet is a guide that covers all the important array methods in JavaScript. This cheatsheet is designed to be a quick reference for developers who are looking to improve their skills in working with arrays in JavaScript. Whether you are a beginner or an experienced developer, this cheatsheet will provide you with the information you need to effectively use arrays in your projects.

So, take some time to go through it and keep it handy as a reference guide for your future projects.


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


---

**🍀Support**

Please consider following and supporting us by subscribing to our channel. Your support is greatly appreciated and will help us continue creating content for you to enjoy. Thank you in advance for your support!

[YouTube](https://youtube.com/@codeofrelevancy)
[Discord](https://discord.com/invite/f8jwnzcRz2)
[GitHub](https://github.com/codeofrelevancy)
ACID Property in Database
Tags: database, vietnameseblogs
Published: 2023-02-10 05:50:27

Hầu hết các bạn lập trình viên làm việc với cơ sở dữ liệu đều đã nghe qua các tính chất ACID trong cơ sở dữ liệu. Tại bài viết này mình sẽ giới thiệu lại cho các bạn các tính chất của transaction trong cơ sở dữ liệu quan hệ.
Đầu tiên ACID là viết tắt các chữ cái đầu của Atomicity, Consistency, Isolation, Durability. Để CSDL đúng chuẩn và có độ tin cậy cao thì phải có đủ 4 tính chất này.

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

Ta đi vào chi tiết từng tính chất:
- Atomicity: giao dịch xử lý tất cả hoặc không có gì. Tính chất này đảm bảo có nhiều hơn 1 giao dịch xử lý thì tất cả giao dịch đều được thực hiện hoặc không có giao dịch nào thành công.
- Consistency: Tính chất đảm bảo rằng trong phiên giao dịch phải được thực hiện hoàn toàn thì mới ghi nhận xuống CSDL, nếu trong quá trình chạy gặp sự cố thì giao dịch sẽ rollback lại trả về trạng thái ban đầu.
- Isolation: Tính chất này đảm bảo các giao dịch sẽ được cô lập không cho cùng truy cập chung vùng nhớ.(Tránh dữ liệu bị ghi đè hoặc tạo dữ liệu không chính xác).
- Durability: Tính chất đảm bảo trường hợp CSDL bản mới bị lỗi không thể mở hay sử dụng sẽ khởi động lại các dữ liệu có sẵn trước khi bị lỗi.

Happy Reading and happy Coding!
Nguồn tham khảo: https://blog.sqlauthority.com/2016/04/10/acid-properties-database-interview-question-week-066/
Fatal Github Error: Authentication failed for Command Line
Tags: github, webdev, linodehackathon, react
Published: 2023-02-10 05:39:01

While I was participating on [Linode Hackathon](https://dev.to/devteam/announcing-the-linode-dev-hackathon-377p). I need to upload React project from Ubuntu server to Github. My Ubuntu server was hosted on Linode. So using command line I decided to upload to Github. But I come across this problem

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

As you can see it is stating that password authentication was removed already. So instead of this we need Personal access tokens to successfully do solve this problem. 
## Step 1
Go to settings 

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

## Step 2
In you profile, scroll down till end and find developer settings

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

Once you clicked on developer settings, you can see this sidebar with three menu items. From here click to last menu item which is Personal access tokens

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

## Step 3
Then choose, from toggling menu down, Tokens(classic)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jp74am63av9gzvdlxauj.png)

## Step 4
Click to generate to token

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



## Step 5
Choose for general purpose option

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

## Step 6
On notes write down your notes, and from scopes choose what you need. 

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

Once you done, click to generate token button. 
Now you get your token 

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

Now you can use this token for authentication. 

In Command Line 

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

When they ask you password: enter you personal access token

If you need  build, help, support to your projector want to get next level in your coding journey reach me out jasurkurbanov96@gmail.com
Boost Your Productivity as a Developer with OpenAI's ChatGPT
Tags: programming, productivity, ai, chatgpt
Published: 2023-02-10 05:32:28

## Introduction:
As a developer, you're constantly searching for ways to increase your productivity and get more done in less time. With the ever-growing demands of the tech industry, it's more important than ever to stay ahead of the curve and work efficiently. Fortunately, OpenAI's ChatGPT provides a solution that can help you increase your productivity and streamline your workflow. In this blog post, we'll explore how ChatGPT can help you boost your productivity as a developer.

## Automated Code Generation: 
ChatGPT can be trained to generate code based on specific programming languages and frameworks. This can save you hours of time and effort, allowing you to focus on more important tasks. ChatGPT can also generate code snippets, making it easier to quickly implement new features and functionalities.

## Documentation and Comments Generation: 
ChatGPT can also be trained to generate documentation and comments for your code, making it easier to understand and maintain your code over time. This can save you time and effort in the long run, as well as improving the overall quality of your code.

## Research and Data Collection: 
ChatGPT can be used to perform research and data collection, allowing you to gather information on specific topics and technologies in a fraction of the time it would take you to do it manually. This can save you hours of time and effort, giving you more time to focus on your coding and development work.

## Error Checking: 
ChatGPT can also be used to perform error checking and debugging, reducing the amount of time and effort you need to spend on this task. By automating this process, you can spend more time on other important tasks, such as coding and development.

## Collaboration: 
ChatGPT can be used to collaborate with other developers and team members, allowing you to communicate and share information in real-time. This can improve communication and collaboration within your team, making it easier to get things done and stay on track.

## Conclusion:
In conclusion, ChatGPT is a game-changer for developers looking to increase their productivity and streamline their workflow. With its ability to automate code generation, perform error checking, and improve collaboration, ChatGPT is a must-have tool for anyone looking to boost their productivity and get more done in less time. So, why not give it a try and see how it can help you take your productivity to the next level?
A first foray into POST/PATCH
Tags: javascript, beginners, programming, webdev
Published: 2023-02-10 05:15:33

In the initial weeks of my Frontend education, I moved from playing around with random functions arrays to the three pillars of web development. This is where the learning curve began to steepen and the excitement to build.

The three pillars of web development are manipulating the DOM, Javascript events and communicating with the server. In this post I'll be focusing on server communication.

One of the more abstract concepts in web development, this is where you begin to have to acknowledge where on earth the data for your website is going to come from, as well as how and when your code is executed to maximize efficiency and reduce bugs.

The project that developed my understanding the most so far has been lab cutely called "Toy-Tales." Its a static page for displaying, uploading, and liking Andy's favorite toys from "Toy Story." This nostalgic background did little to lessen the headache this project gave me when I first started.

As you tell by the title the focus of my struggles were on the POST and PATCH functionalities of this site. My POST is meant to allow the user to upload new toys to the site. As seen below, the crux of my post functionality is divided between two functions.
›
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z6kdah2qsmhjagnv9zpz.png)

I built the submission event as the bridge between my Event-listener and the POST request. Its main job is to hold the constant that interprets the information gathered from the submit form event. This gets sent my render function that handles.... several things.


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

Something I learned before and after this assignment was to keep your functions to on the smaller side, preferably with singular task. This was lesson was hard learned as this function is difficult to look at. The first part of the function appends the elements of the toy's names, images, and like counts to the DOM. Below you will notice an event listener for a like button. What was difficult at the time but so simple in hindsight was the syntax to allow the user to add multiple likes to the like counter without refreshing.

Instead of "toys.likes +1," I used "++toys.likes." This is significantly more efficient than other methods I had tried. This included assigning the amount to a new variable and even trying to refractor my initial likes.innerText (to what, I don't know). My final answer was deceptively simply, but also taught me loads on Javascript syntax.

Finally, my PATCH request required two features I wasn't yet familiar with. One being the location of the patch being toys.id, which informs where my likes need to go, and the object I stringify within the body, which allows me to keep my syntax as simple as possible. What I took away from this exercise was that refractoring doesn't mean using bigger words or more complicated structure(and to make my functions smaller).
Debug Drupal Regions with CSS
Tags: webdev, php, beginners, tutorial
Published: 2023-02-10 05:09:31

{% embed https://youtu.be/BX-HxH3MhAw %}

As part of the First Trillionaire website series I attempt to use our Tailwind CSS implementation to outline the regions with a loud red dashed border.

But... my Tailwind installation fails and we revert to inline styles. We'll call that mission accomplished!
Why REST API ?
Tags: webdev, api, rest, javascript
Published: 2023-02-10 05:05:06

[Learn REST api (tutorial)](https://www.restapitutorial.com/)

**REST** stands for Representational State Transfer. It is a software architectural style for building web services that define a set of constraints and properties. REST APIs are used to create web services that can be consumed by a variety of clients, such as web browsers, mobile devices, and other servers.

How does the REST API work?
A REST API sends an HTTP request to a server, and the server returns a response. The type of request and the format of the response are determined by the API's endpoint and the HTTP method used. The most common HTTP methods used in REST APIs are 

- GET
- POST

- PUT
- DELETE

## Advantages of using the REST API
**Scalability**:
REST APIs can be easily scaled up or down to accommodate changes in the number of clients or amount of data transferred.

**Flexibility**:
REST APIs are flexible and can be used by a variety of clients such as web browsers, mobile devices, and other servers.

**Performance**:
The REST API is optimized for performance and is suitable for applications that require fast and efficient data transfer. **Interoperability**:
REST APIs are based on open standards such as HTTP and JSON, so they can be easily integrated with other systems.


REST APIs are essential tools for building modern web services. They are scalable, flexible, efficient, and can be used by a large number of clients. When creating web services, consider using REST APIs to make them easier to consume, manage, and scale.
Serve Build API issue in ReactJs
Tags: react, javascript, testing, python
Published: 2023-02-10 04:57:54

Hi..., I'm working on running my app as a build but the frontend was sending the API calls but the backend(uvicorn) is not receiving them so that I cannot perform API calls in my application 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zo6nxyxmfdulzwdshmyf.png)
The above is uvicorn for my backend 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cbxlmh7yxhtmksww69sg.png)
This is my Serve Build for my frontend
Parallax Depth Cards with nice hover effect
Tags: codepen, webdev, css, design
Published: 2023-02-10 04:38:29

<p>3d effect cards with the help of perspective.
Design inspired by <a href="https://dribbble.com/shots/18225250-Card-type-component-exploration" target="_blank">https://dribbble.com/shots/18225250-Card-type-component-exploration</a></p>

{% codepen https://codepen.io/Smit29/pen/eYjwNxd %}
1162. Leetcode Solution in
Tags: challenge, programming, cpp
Published: 2023-02-10 03:40:02

================================================================
#Description:
Given an n x n grid containing only values 0 and 1, where 0 represents water and 1 represents land, find a water cell such that its distance to the nearest land cell is maximized, and return the distance. If no land or water exists in the grid, return -1.

The distance used in this problem is the Manhattan distance: the distance between two cells (x0, y0) and (x1, y1) is |x0 - x1| + |y0 - y1|.

 

Example 1:


Input: grid = [[1,0,1],[0,0,0],[1,0,1]]
Output: 2
Explanation: The cell (1, 1) is as far as possible from all the land with distance 2.
Example 2:


Input: grid = [[1,0,0],[0,0,0],[0,0,0]]
Output: 4
Explanation: The cell (2, 2) is as far as possible from all the land with distance 4.
 

Constraints:

n == grid.length
n == grid[i].length
1 <= n <= 100
grid[i][j] is 0 or 1
================================================================
#solution:
```cpp
class Solution {
public:
    int maxDistance(vector<vector<int>>& grid) {
        static const vector<pair<int, int>> directions{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
        queue<pair<int, int>> q;
        for (int i = 0; i < grid.size(); ++i) {
            for (int j = 0; j < grid[i].size(); ++j) {
                if (grid[i][j]) {
                    q.emplace(i, j);
                }
            }
        }
        if (q.size() == grid.size() * grid[0].size()) {
            return -1;
        }
        int level = -1;
        while (!q.empty()) {
            queue<pair<int, int>> next_q;
            while (!q.empty()) {
                const auto [x, y] = q.front(); q.pop();
                for (const auto& [dx, dy] : directions) {
                    const auto& nx = x + dx;
                    const auto& ny = y + dy;
                    if (!(0 <= nx && nx < grid.size() && 
                          0 <= ny && ny < grid[0].size() && 
                          grid[nx][ny] == 0)) {
                        continue;
                    }
                    next_q.emplace(nx, ny);
                    grid[nx][ny] = 1;
                }
            }
            q = move(next_q);
            ++level;
        }
        return level;
    }
};
```
================================================================
#leetcode
#challenge
Here is the link for the problem:
https://leetcode.com/problems/as-far-from-land-as-possible/