teleren/devto huggingface dataset:
Agile Development: Revolutionizing the Software Engineering Industry
Tags: agile, computerscience
Published: 2023-02-22 10:00:00

Software development is a constantly evolving field, and one of the most significant shifts in recent years has been the adoption of Agile development methodologies. Agile development is a flexible and iterative approach to software development that prioritizes collaboration, adaptation, and customer satisfaction.

## **What is Agile Development?**

Agile development is a set of values and principles outlined in the Agile Manifesto. The manifesto emphasizes the importance of individuals and interactions, working software, and customer collaboration over processes and tools.

Agile development is characterized by the use of short development cycles, called sprints, which usually last one to four weeks. During each sprint, a small, cross-functional team works to deliver a potentially releasable product increment. This allows for rapid feedback and adaptation, allowing the team to quickly respond to changing requirements and customer needs.

## **The Benefits of Agile Development**

The Agile approach has revolutionized the software development industry, providing numerous benefits for both the development team and the customer. Some of the key benefits include:

- **Faster delivery:** Agile development allows for rapid feedback and adaptation, allowing the team to quickly respond to changing requirements and customer needs. This leads to faster delivery of software and increased customer satisfaction.
- **Increased collaboration:** Agile development emphasizes the importance of collaboration and communication among the development team, customer, and stakeholders. This leads to a more efficient and effective development process.
- **Higher quality software:** Agile development allows for continuous testing and integration, leading to higher quality software.
- **Increased flexibility:** Agile development allows for flexibility and adaptability, allowing the team to quickly respond to changes in customer needs and requirements.

## **An Example: Spotify**

One of the most well-known examples of a company that has successfully implemented Agile development is Spotify. Spotify's engineering team is divided into small, cross-functional teams, each responsible for a specific area of the product. These teams work in two-week sprints, using Agile methodologies such as Scrum and Kanban. This has allowed Spotify to quickly iterate and deliver new features to customers, leading to its success as a music streaming platform.

## **Conclusion**

Agile development has proven to be a game-changer in the software development industry. By prioritizing collaboration, adaptation, and customer satisfaction, Agile development allows for faster delivery of higher quality software that better meets the needs of the customer. So, start implementing Agile development methodologies and see how it can benefit your software development process.
Python set tutorial
Published: 2023-02-19 06:34:48

[**Python set**](https://www.programdoc.com/python/sets) is an unordered collection of unique elements. It's used to eliminate duplicates and to perform common math operations like union, intersection, and difference on datasets.

1.  Creating a set of unique strings:

```py
unique_fruits = {"apple", "banana", "orange"}
``` 

2.  Creating a set from a list, which automatically eliminates duplicates:

```py
numbers = [1, 2, 3, 4, 2, 5, 1, 6]
unique_numbers = set(numbers)
``` 

3.  Performing set operations, such as union and intersection:

```py
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
union = set1 | set2
intersection = set1 & set2
```

## Print python set using loop
To print each element of a set using a loop in Python, you can iterate over the set using a `for` loop. Here's an example:

```py
my_set = {1, 2, 2, 3, 4, 5, 3}

for element in my_set:
    print(element)
``` 

In the code above, we create a set called `my_set` that contains seven elements. We then use a `for` loop to iterate over the set, and print each element using the `print()` function.

output:
```
1
2
3
4
5
``` 

You can replace `my_set` with any set that you want to print using a loop.


## Explore Other Related Articles
[Python tuple tutorial](https://dev.to/max24816/python-tuple-tutorial-3m62)
[Python Lists tutorial](https://dev.to/max24816/python-lists-tutorial-2g43)
[Python dictionaries comprehension tutorial](https://dev.to/max24816/python-dictionaries-comprehension-tutorial-3bda)
[Python comparison between normal for loop and enumerate](https://dev.to/max24816/python-comparison-between-normal-for-loop-and-enumerate-p4a)
[Python if-else Statements Tutorial](https://dev.to/max24816/python-if-else-statements-tutorial-3p25)
openGauss Application Scenario
Published: 2023-02-22 09:59:52

transactional application

For transactional applications with large concurrency, large data volume, and online transaction processing, such as e-commerce, finance, O2O, telecom CRM/billing, etc., the application can choose different active and standby deployment modes according to needs.

IoT data

In industrial monitoring and remote control, smart city extension, smart home, Internet of Vehicles and other IoT scenarios, there are many sensor monitoring devices, high sampling rate, data storage as an additional model, and both operation and analysis.
openGauss Product Positioning
Published: 2023-02-22 09:57:12

openGauss is a highly available relational database that supports SQL2003 standard syntax and supports active and standby deployments.

Multiple storage modes support composite business scenarios, and the new introduction provides an in-place update storage engine.
NUMAized data structures support high performance.
Paxos consistent log replication protocol, active/standby mode, CRC check supports high availability.
It supports security features such as fully encrypted computing and ledger database, and provides comprehensive end-to-end data security protection.
Support multiple storage engines through the Table Access Method interface layer.
openGauss is a multi-core-oriented ultimate performance, full-link business and data security, AI-based tuning and efficient operation and maintenance capabilities. It is comprehensive, friendly and open, and works with partners to create the world's leading enterprise-level open source relational database. Released under the Mulan Permissive License v2. openGauss deeply integrates Huawei's years of research and development experience in the database field, and combines enterprise-level scenario requirements to continuously build competitive features.
WITH Technology
Tags: vue, django, python, javascript
Published: 2023-02-22 09:48:35

HUNTING FOR NEW TALENTS! 🔊
If you are looking for a new opportunity in Madrid, we have new vacancies 🙂 We are always looking for new talent.

At WITH we are dedicated to development and innovation. We work on challenging projects, with open source technologies and you will also find a multicultural and dynamic team of experts, great projects and amazing clients to work with. 🚀🚀🚀
We love meeting new people, creating new things and challenging ourselves, so we encourage you to show off your alien hunting skills 👾👾👾👾👾, and check out the full job descriptions.

Visit our recruitment page on our website, join us!
👉🏻 https://with-madrid.com/contact/work-with-us
Looping in Python
Tags: python, programming
Published: 2023-02-22 09:13:29

#Introduction to loops.

A loop is a series of commands that repeat continuously until a certain condition is reached. This allows you to continuously run the same code multiple times or repeat a subroutine until a stopping condition is met.

loops come in many different types, and each programming language has its own syntax.
The
loops have one thing in common.

Stop condition. This condition is checked each time and the loop continues running until the condition is reached.
Python has two types of loops.
1. The For Loop
is used to determine how many times you want to repeat a block of code. It is used to perform certain actions a certain number of times.

######Example

```
fruits = ["Apples", "Oranges", "Banana"]
for i in fruits:
    print(i)
```

**Note** 'i' is a variable assigned to Fruits.

Output:

```
Apples
Oranges 
Banana
```
#####2.While Loop
A while loop is a type of loop in Python that allows you to repeat a block of code until a certain condition is met. The syntax for a while loop is:

```
while condition:
    # do something
```
In this syntax, a "condition" is a boolean expression that is evaluated on each iteration of the loop. If the condition is true, the loop body is executed. If the condition is false, the loop ends and the program moves to the next line of code.

The body of the while loop can contain any number of statements, just like any other block of code. This can include conditional statements, function calls, I/O operations, and other types of statements for use in Python code.
One important thing to keep in mind when using a while loop is that the condition must eventually be false. Otherwise the loop will continue indefinitely and the program will crash. This is called an infinite loop and is generally considered a bug in the code.

Here is an example of a while loop that repeatedly prompts the user for input until input is complete.
```
user_input = ""
while user_input != "quit":
    user_input = input("Enter a word (or 'quit' to exit): ")
    print("You entered:", user_input)
print("Goodbye!")
```
In this example, the while loop continues prompting the user for input until input is complete. As soon as the input becomes "exit", the loop exits and the message "Goodbye!" appears. It prints to the console.

The While Loop is a powerful tool in Python programming that allows you to write more flexible and dynamic code. It can be used in a variety of applications, from processing user input to game loops and simulation programs.
Most Popular Data Warehouse Repos on GitHub
Tags: bigdata, github, database, opensource
Published: 2023-02-22 09:07:53

I used an [AI-powered querying tool](https://ossinsight.io/explore/) to find the [most popular data warehouse repos](https://ossinsight.io/explore/?id=5aea5ba2-0659-493f-8d2c-19c40acb52c5) on GitHub:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdl5lkwnqtujdgn031m8.png)
Documenting your code with DOXYGEN
Published: 2023-02-22 09:07:47

 

## 1 : Installation
1. go to `https://www.doxygen.nl/download.html`
2. Install from git source as per the instructions shown in the page.
NB: Don't forget to install **doxywizard** 

## 2 : Configuration
1. generate the configuration file for _doxygen_ within your project directory
`doxygen -g dconfig`
2. Assign values for variables such as 
_PROJECT_NAME_: Name of the Project that will be displayed on the home page.
a. _PROJECT_NUMBER_: Version number given
b. _PROJECT_BRIEF_: Brief description of the project
c. _OUTPUT_DIRECTORY_: Where the Latex and HTML compiled output displayed
d. INPUT: path to the files to be scanned
e. FILE_PATTERNS: (eg: *.c *.h))
f. RECURSIVE: Allow recursive search over the input dirs(YES/NO)
g. **SOURCE_BROWSER = YES**, 
h. Set the **INLINE_SOURCES=YES**, Setting the 
j. **INLINE_SOURCES**: YES will include the body of _functions_, _classes_ and _enums_ directly into the documentation.

## 3 : How to write comments for _doxygen_
Comments can be written in the format `//!<Comment Here>`, so that _doxygen_ can detect them.

### 3.1: Some general suggestions for writing docs

1. **Know your audience**: Before you start writing, understand who our audience is, what they already know, and what they want to know. This will help you tailor your documentation to their needs and level of understanding.

2. **Organize your content**: Structure your documentation in a way that is easy to navigate and understand. Use headings, subheadings, lists, and other formatting tools to make your content easy to skim and find information 

3. **Use clear and concise language:** Avoid using technical jargon and use plain language wherever possible. Make sure your instructions are easy to follow and understand, and avoid using overly complex sentences or 

4. **Test your documentation: **Make sure to test your documentation to ensure that it is accurate and complete. This can be done by having others read through your documentation and provide 

5. **Update your documentation:** Keep your documentation up-to-date and relevant. As the system, software, or process changes, make sure to update your documentation 

6. **Provide examples and use cases:** Including examples and use cases can help illustrate how your system, software, or process can be used in real-world scenarios.

## 6. Compilation
`doxygen dconfig`
Stuck on updating start menu link
Published: 2023-02-22 08:54:52

I recently came across  problem while installing MYSQL on my Windows(I am on windows 11), where I got stuck in the step, it could not resolve updating start menu link. I found this post on [Stackoverflow](https://stackoverflow.com/questions/43986780/configuration-of-mysql-server-is-taking-longer-than-expected).<br>
If you have troubles in while on Windows 11, here is a guide to solve the problem
1. Go to the control panel, and find the **Windows Tools**. IF you want to easily find the make sure to sort using small icons
![Windows tools](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6wsw8pvq47rrm65if76.png)

1. On windows tools, scroll and find the **Services**
![Services](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ol3e1s4me3ctw49zuevd.png)

1. Once in services, Scroll through and find **MYSQL** services for my case I am using the latest version so it is MYSQL80. Right click on it and go to **Properties** 
![MySQL service](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0j772xvj584p8dv24ct.png)

1. On properties, click on **Log On** tab, choose **Local System Account** and click on apply.
![Log On](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yr0zov5ahykyydt9qebs.png)
1. Go run the MYSQL installer and MySQL from the start and re-configure the MYSQL server. This worked on my side.
![My SQL installer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xohlndwxu2ahbhtutr52.png)
1. Remember to go back to step 4 and choose the default **This Account**. You can now enjoy MYSQL from the Workbench or the MySQL Shell
Wednesday Links - Edition 2023-02-22
Tags: java, jvm, graalvm, micrometer
Published: 2023-02-22 09:00:56

Graal - Add support for ZGC on HotSpot (30 sec)🎉
https://github.com/oracle/graal/issues/5050

Programmatically Listen to JUnit Test Results (1 min)👂
https://blog.sebastian-daschner.com/entries/junit-test-result-listener

JEP draft: Implicit Classes and Enhanced Main Methods (10 min)📖
https://openjdk.org/jeps/8302326

Instrumentation of Reactive Libraries in Micrometer (1 min)🔌
https://micrometer.io/docs/observation#instrumentation_of_reactive_libraries

It’s the future — you can stop using JPEGs (11 min)🖼️
https://daniel.do/article/its-the-future-stop-using-jpegs/
How to upgrade your local Dapr runtime and CLI
Tags: opensource, programming
Published: 2023-02-22 08:51:26

> EDIT: updated for the Dapr 1.12 release :)

I've recently upgraded my local Dapr runtime and the Dapr CLI due to the [new 1.12 release being available](https://blog.dapr.io/posts/2023/10/11/dapr-v1.12-is-now-available/). Since I'll be upgrading to new releases on a regular basis, and use both Mac and a Windows machines, I might as well help my future self and write this down since I forget these things after a week 😅.

Upgrading the self-hosted environment (which I call the runtime) is described in detail in the [official docs](https://docs.dapr.io/operations/hosting/self-hosted/self-hosted-upgrade/), but here I'm writing a slimmed down version, useful if you're either running Windows with winget, or macOS with Homebrew.

1. Uninstall the old Dapr runtime:

    ```shell
    dapr uninstall
    ```
    
    
    If you also want to remove the Redis and Zipkin images run:

    ```shell
    dapr uninstall --all
    ```

2. Install the new Dapr runtime:

    ```shell
    dapr init
    ```

3. Upgrade the Dapr CLI:

    Using Windows and winget:
        
    ```shell
    winget upgrade Dapr.CLI
    ```

    Using macOS and brew:
       
    ```shell
    brew upgrade dapr-cli
    ```

4. Verify that everything is upgraded:

    ```shell
    dapr -v
    ```

    The response should list the new versions:
    
    ```shell
    CLI version: 1.12.0
    Runtime version: 1.12.0
    ````
   
### 🚨 Bleeding edge 🚨

If you need the very latest, (bleeding) edge bits of Dapr, you can:

- Pull the runtime images from the [Dapr GitHub container registry](https://github.com/dapr/dapr/pkgs/container/dapr).

- Download the Dapr CLI release candidates from the [Dapr CLI GitHub release page](https://github.com/dapr/cli/releases).

Enjoy the latest Dapr release!
![Dappy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qolqp3a6wulpbw5udgp9.gif)
How can I write it out? B2B API
Tags: b2b, api, javascript, webdev
Published: 2023-02-22 08:37:37

Hi, im a simple user and i got a b2b api key with some sample code. I want to list all the products from a company. First to my localhost. Maybe later to my website.. (not webshop)

The Sample Code:

https://api.thisisthesite.com,
POST: {
	"apikey": "ihavethekey",
	"method": "GetProductsList",
	"parameters": [
			{
				"ShowGroups": "1",
				"ShowIndex": "1"
			}
	]
}

I want to write out: GetProductInfo ; GetProductList ; GetProductsWarranty.

How can i get these? thank you for helping. I have wampserver, js.node and sublime text.
Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
Tags: systems, architecture, webdev, beginners
Published: 2023-02-22 08:31:04

## TCP

The Transmission Control Protocol (TCP) is a connection-oriented service where the data transmission is on both sides after the connection is established. It has an in-built system to check on the errors as well. In addition, the system also guarantees that the data get delivered in the order it was sent.

This is the better option for transferring information such as data files, web pages, images, etc. However, the feedback mechanisms result in a larger overhead that helps for the good use of available bandwidth on the network.

![TCP](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3lgkg0nlwp0vxg276vr.jpg)

## UDP

Further, the User Datagram Protocol (UDP) is a connectionless internet protocol. In the UDP, neither recovery nor error-checking checking services are needed. The data is repeatedly sent to the receiver whether the receiver is ready or not and is not responsible for end-to-end communication.

There is no overhead to open, maintain, or terminate a connection. We can see the protocol in real-time communications like broadcast transmissions or multicast network ones. Comparatively, UDP is faster than TCP and is much more efficient.

## TCP Vs. UDP

| S.N. | TCP | UDP | 
| ---- | --- | --- |
| 1. | This is connection-oriented. | This is connectionless. |
| 2. | This is reliable. | This is unreliable. |
| 3. | The data delivery is guaranteed. | The data delivery is not guaranteed. |
| 4. | TCP is comparatively slower than UDP. | UDP is comparatively faster than TCP. |
| 5. | Broadcasting is not supported. | There is broadcasting support. |
| 6. | Lost packets can be retransmitted. | Lost packets cannot be retransmitted. | 
| 7. | It has sequence delivery. | It has no sequence delivery. |
| 8. | It has acknowledgment. | It has no acknowledgment. |
| 9. | It has handshaking. | There is no handshaking signal. |
| 10. | Use cases: - (HTTP & HTTPS & SMTP & POP & FTP) | Use cases: - (Video Streaming & DNS & VoIP) |

{% embed https://github.com/pragyaasapkota/System-Design-Concepts %}

**_I hope this article was helpful to you._**

**_Please don’t forget to follow me!!!_**

**_Any kind of feedback or comment is welcome!!!_**

**_Thank you for your time and support!!!!_**

**_Keep Reading!! Keep Learning!!!_**
mobile touch event listeners
Published: 2023-02-22 08:11:32

https://developer.mozilla.org/en-US/docs/Web/API/Touch/clientX

https://www.uriports.com/blog/easy-fix-for-unable-to-preventdefault-inside-passive-event-listener/

https://developer.mozilla.org/en-US/docs/Web/API/Element/touchmove_event
Today's Fun Joke For Developers - Daily Developer Jokes
Tags: jokes, dailydeveloperjokes
Published: 2023-02-22 08:00:15

---
title: "Today's Fun Joke For Developers - Daily Developer Jokes"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258b2d77d4.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q:___ What's the second movie about a database engineer called?

___A:___ The SQL.
 -->
10 JavaScript Don'ts
Published: 2023-02-22 07:32:00

###Here are some common "don'ts" in JavaScript:

Don't use == to compare values with different types: The == operator can cause unexpected results when comparing values with different types. Always use === to compare values with strict type checking.

Don'use vars: 

Vars is not the right choice. Vars does not prevent a variable from _redefined_ in a scope. This often leads to errors. For example:
`1 var myVal = 10;
2 console.log(myVal);
3
4 var myVal = 100;
5 console.log(myVal);
`
On line 4, the variable myVal is redefined. This will lead to accidentally erasing the values defined initially.

Hence do not use vars. Use the new let or const instead.

Don't use global variables excessively: Using too many global variables can lead to naming conflicts and make it difficult to understand how different parts of your code interact.

Don't ignore errors: Ignoring errors can make your code unreliable and difficult to debug. Always handle errors and exceptions appropriately.

Don't use eval(): Using the eval() function can be a security risk, and it can also make your code harder to understand and maintain. Avoid using it unless absolutely necessary.

Don't create unnecessary DOM elements: Creating too many unnecessary DOM elements can slow down your website or web application. Always try to use the minimum number of elements necessary for your design.

Don't mix synchronous and asynchronous code: Mixing synchronous and asynchronous code can make your code difficult to understand and debug. Always use asynchronous code where possible and handle any necessary synchronization carefully.

Don't overuse anonymous functions: Using anonymous functions can make your code harder to read and maintain. Always try to use named functions where possible.

Don't use the with statement: The with statement can lead to naming conflicts and make your code harder to understand. Avoid using it in your code.

Don't forget to use semicolons: Although not strictly necessary in JavaScript, using semicolons to end statements can help prevent unexpected bugs in your code.

Don't ignore performance: Writing inefficient code can slow down your website or web application. Always keep performance in mind and optimize your code where necessary.