teleren/devto huggingface dataset:
Develop Essential Skills for the Future of Work
Tags: skills, future, communication, learning
Published: 2023-10-15 11:28:51

I love learning, and I value both informal and formal training. On my spare time, I'm taking a part time master degree at National University of Singapore as well as studying for a few certificates in AWS and kuberenets. Learning new things empowers me to unlock my full potential. It is important to get training, resources, and materials that will enable you to excel in your roles.

The most important skills for me to develop are:

* Communication skills: This includes skills like being clear and concise, providing understandable explanations, and using appropriate communication channels.
* Leadership and management skills: This includes skills like project management, coaching, team leadership, stakeholder management, and leadership influence.
* Technical proficiency: This includes skills like coding, data analysis, and various technical tools (e.g., Golang, SQL, Kubernetes).
* Soft skills for collaboration: This includes skills like teamwork, stakeholder management, and influencing skills.
* Problem-solving and decision-making skills: This includes the ability to be proactive in finding solutions and making informed choices.
* Adaptability: This includes the ability to context switch, multitask, and understand new tools and technologies.
* Client interaction and facing skills: This includes skills related to client interaction, negotiation, and client relationship management.

I am interested in receiving training in specific technical areas, such as Golang Application Design, Kubernetes Training, and understanding new tools and technologies (AWS, GCP, Kubernetes).

My goal is to equip myself with the necessary tools for now and in the future. By continuing to learn, I aim to foster a culture of knowledge and skill sharing, empowering myself to unlock my full potential.

**How to develop essential skills**

There are many ways to develop essential skills. Here are a few tips:

* Take online courses or workshops.
* Read books and articles about the skills you want to develop.
* Shadow someone who is good at the skills you want to develop.
* Practice the skills you want to develop in your everyday work and life.
* Find a mentor or coach who can help you develop your skills.

**Conclusion**

Essential skills are need to be successful in your career and in life. By developing your essential skills, you can increase your employability, earn more money, and have a more fulfilling career. If there is anything you want to learn, let me know and we could become study buddy.
Delicious Danggit Fried Rice Recipe
Tags: recipe, kitchenexpert
Published: 2023-10-15 10:47:48

At first, I was thinking of having this with a [fried egg](https://www.kitchenexpert.net/potato-hash-with-eggs/). It just occurred to me that I had a Danggit silog the other day. Though I’m not picky, I like to have a meal that is a little different. In order to enjoy this the way I enjoy pancit habab most – with spicy vinegar – I decided to eat it that way. Besides, [Danggit fried rice](https://www.kitchenexpert.net/danggit-fried-rice/) is a substantial part of a meal. We added some vinegar to it to enhance its flavor.
Danggit is a salted, sun-dried rabbitfish native to the shallow waters of Cebu, known for its abundance and taste. Danggit Fried Rice is a simple version of fried rice containing chopped dried Danggit, also called rabbitfish. It is made with garlic, cooked white rice, and chunks of dried fish. There is no doubt that this version of fried rice is very tasty and you can eat it with other fried Filipino breakfast favorites like tocino, longganisa, and whatever else you enjoy.
The danggit is usually not dried until cooked, so they are cooked fresh in many ways, such as stewed in soup or fried whole. This has been the case with steamed and fried tilapia before, both of which I enjoyed. An omelet that is Filipino is another dish that I think this dish would complement – you know – scrambled eggs with tomatoes and onions. You can make tasty Danggit Fried Rice with this recipe.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/of99gmblbj1n7s0dfr3e.jpg)
Cloud Computing
Tags: beginners, cloud, cloudcomputing, aws
Published: 2023-10-15 09:51:12


#Cloud :-
The cloud is a distributed collection of servers that host software and infrastructure, and it is accessed over the Internet.

#Cloud Computing:-
On demand delivery of compute power, database, storage, applications and other IT resources through cloud service platform via the Internet with pay as you go model.
#Characteristics of Cloud:-

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


#1.On demand self service: 
Cloud users can provision and manage resources independently as needed, without human intervention.

#2.	Broad Network Access: 
Cloud services are accessible over the internet from a variety of devices, providing .

#3.	Scalability: 
Cloud resources can easily expand or shrink to accommodate changing workloads, ensuring efficient resource utilization.

#4.	Resource Pooling: 
Cloud providers share and allocate resources dynamically among multiple users, optimizing infrastructure utilization.

#5.	Measured Service: 
Cloud usage is metered, and users are billed based on the resources they consume, promoting cost transparency.  


##Service Models :-

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

## Deployment Models:-

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

#1.	Public Cloud: 
Cloud services available to the general public, hosted and managed by third-party providers (e.g., AWS, Azure, Google Cloud).

#2.	Private Cloud: 
Cloud infrastructure is exclusively for one organization's use, often hosted on-premises or in a dedicated data center.

#3.	Hybrid Cloud: 
A combination of public and private clouds, enabling data and application portability between them (e.g., using AWS and a private data center).

#4.	Community Cloud: 
Shared cloud infrastructure for a specific group or community with common interests, such as a consortium of healthcare providers using a shared cloud for patient data management.
task 17
Published: 2023-10-06 09:44:55

Selenium is a popular open-source tool and framework used for automating web browsers. It is primarily used in the field of software testing and web scraping. Selenium provides a way for software testers and developers to interact with web applications by simulating user interactions with a web browser.

Here are some key points about Selenium and its use in automation:

Automation Framework: Selenium is not just a single tool but a suite of tools and libraries. The most commonly used component is Selenium WebDriver, which provides a programming interface for automating interactions with web browsers.

Cross-Browser and Cross-Platform: Selenium WebDriver supports multiple web browsers such as Chrome, Firefox, Safari, and Edge. It is also platform-independent and can be used on different operating systems like Windows, macOS, and Linux.

Web Testing: Selenium is widely used for automating web application testing. Testers can write scripts to navigate web pages, interact with elements (e.g., clicking buttons, filling forms), and verify that the application behaves as expected.

Functional Testing: Selenium is used for functional testing, where testers validate that an application's features and functions work correctly. It allows for automated testing of workflows and user scenarios.

Regression Testing: Automation with Selenium is commonly employed for regression testing, ensuring that new code changes do not introduce bugs or break existing functionality.

Load Testing: While Selenium is primarily designed for functional testing, it can also be used for load testing when combined with other tools or libraries. It can simulate multiple user sessions to test an application's performance under load.

Web Scraping: Beyond testing, Selenium is used for web scraping tasks. Developers can write scripts to extract data from websites, making it useful for data mining, competitive analysis, and data collection.

Programming Languages: Selenium supports multiple programming languages such as Java, Python, C#, Ruby, and more. Testers and developers can choose the language they are most comfortable with.

Parallel Execution: Selenium allows for parallel test execution, which speeds up the testing process by running multiple test cases concurrently.

Community and Ecosystem: Selenium has a large and active community of users and developers. There are numerous resources, forums, and libraries available to support Selenium automation.

Integration: Selenium can be integrated with other testing tools and frameworks to enhance test automation capabilities.

In summary, Selenium is a versatile tool that is primarily used for automating web browsers, making it a valuable asset for web application testing and web scraping tasks. Its flexibility, cross-browser compatibility, and support for various programming languages make it a popular choice in the field of test automation.
Understanding Hooks in React: A Comprehensive Guide
Published: 2023-10-15 08:51:50

What are React Hooks
React hooks are functions that allow you to use state and other React features in function components. Before hooks were introduced, state management and lifecycle methods were primarily associated with class components. However, hooks make it possible to add state and side effects to function components, making them more powerful and concise.

Commonly Used React Hooks

1. useState: The useState hook allows you to add state to functional components. It takes an initial value as an argument and returns an array with the current state and a function to update that state.

2. useEffect: The useEffect hook enables you to perform side effects in function components. It replaces the lifecycle methods like componentDidMount, componentDidUpdate, and componentWillUnmount in class components.

3. useContext: The useContext hook provides access to the React context system, which simplifies the sharing of data between components.

4. useRef: The useRef hook creates a mutable reference that persists across renders. It's often used for accessing DOM elements directly.

5. useMemo and useCallback: These hooks help optimize the performance of your components by memoizing values and functions.

Why Use React Hooks?

1. Simplified Code: React hooks enable you to write more concise and readable code. With class components, you often had to write repetitive code for managing state and lifecycle methods. Hooks eliminate much of this boilerplate.

2. Better Reusability: Functional components with hooks are easier to reuse since they are more self-contained and do not rely on class hierarchies.

3. Easier to Learn: For developers who are new to React, hooks offer a more straightforward entry point. Learning hooks can be less intimidating than understanding the intricacies of class components.

4. Improved Performance: Hooks allow for better performance optimizations. You can use memoization and other techniques more easily, making your components faster and more efficient.

Example: Using useState and useEffect

Let's look at a simple example of how to use useState and useEffect hooks. We'll create a counter that updates the document title with the current count.

import React, { useState, useEffect } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    document.title = `Count: ${count}`;
  }, [count]);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}

export default Counter;

Conclusion

React hooks have revolutionized the way developers write React components. They provide a more elegant and efficient way to manage state, side effects, and other React features in functional components. As you become more familiar with hooks, you'll find that your React code becomes more maintainable, easier to understand, and more performant. So, if you're starting a new React project or considering refactoring an existing one, embrace hooks to make your development experience smoother and more enjoyable. Happy coding!
do you want to know about DATA STRUCTURES ?
Tags: datastructures, algorithms, javascript
Published: 2023-10-15 08:36:52

A data structure is a way of organizing and storing data in a computer so that it can be accessed and used efficiently.

data structures types:

Arrays: Arrays are used to store a collection of elements of the same data type in contiguous memory locations.

They are commonly used in programming languages to store lists of data such as names, numbers, and dates. For example, an array can be used to store the scores of students in a class.

Stacks: Stacks are used to store a collection of elements that follow the Last-In-First-Out (LIFO) principle.

Queues: Queues are used to store a collection of elements that follow the First-In-First-Out (FIFO) principle.

They are commonly used in programming languages to implement scheduling algorithms and event handling systems.

For example, when a user requests a print job, it is added to the print queue.

Linked lists: Linked lists are used to store a collection of elements that are connected through a series of nodes.

They are commonly used in programming languages to implement dynamic data structures such as stacks and queues.

For example, when a new element is added to a linked list, a new node is created and linked to the previous node.

Trees: Trees are used to store hierarchical data such as file systems and organization charts.

They are commonly used in programming languages to implement search algorithms and database indexing systems.

Graphs: Graphs are used to store relationships between objects such as social networks and road maps.

They are commonly used in programming languages to implement routing algorithms and recommendation systems.

Hash tables: Hash tables are used to store key-value pairs such as usernames and passwords.

They are commonly used in programming languages to implement associative arrays and database indexing systems.

time complexity of data structures:
(Please check the image included in this post)

how to calculate time complexity of program:

To calculate the time complexity of a program, you need to analyze the number of operations that are performed by the program as a function of the input size.

The time complexity is usually expressed using Big O notation, which gives an upper bound on the number of operations required to perform an operation on the data structure .

- Identify the algorithm used in the program.

- Determine the number of operations performed by the algorithm for a given input size.

- Express the number of operations as a function of the input size.

- Simplify the function using Big O notation.

For example, let’s say you have a program that sorts an array of n elements using bubble sort. The algorithm has a worst-case time complexity of O(n^2)

 This means that if you double the size of the input array, the number of operations required to sort it will increase by a factor of four.
Weekly reading digest #9
Tags: php, symfony, backend, softwareengineering
Published: 2023-10-15 08:00:00

[Single-use Tests](https://timacdonald.me/single-use-tests/)

[The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)](https://tonsky.me/blog/unicode/)

[Why aren't there more 80% jobs?](https://evertpot.com/on-80-percent-jobs/)

[How to add documentation to your product life cycle](https://thisisimportant.net/posts/process-models-for-documentation/)

[We migrated to SQL. Our biggest learning? Don’t use Prisma](https://codedamn.com/news/product/dont-use-prisma)

[How it works: The novel HTTP/2 ‘Rapid Reset’ DDoS attack](https://cloud.google.com/blog/products/identity-security/how-it-works-the-novel-http2-rapid-reset-ddos-attack)
Top 10 powerful countries in technology
Tags: power, powerful, countries, technology
Published: 2023-10-15 07:48:36


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

Introduction:
In our rapidly evolving world, technology plays a pivotal role in shaping economies, driving innovation, and transforming societies. With advancements in various fields, including artificial intelligence, robotics, and telecommunications, certain countries have emerged as global powerhouses in the realm of technology. In this article, we unveil the top 10 powerful countries in technology that are spearheading the digital revolution and paving the way for a future driven by technological prowess. [Read More](https://www.knowledgebyharsh.tech/2023/06/top-10-powerful-countries-in-technology.html)
Testing Techniques with Examples
Published: 2023-10-15 07:42:41

**<u>1. Boundary Value Analysis:</u>** 
Boundary value analysis always checks for the Minimum value , Maximum value , Just above maximum value , Just below minimum value and the values accepted between the boundary values.
**Example :** Warranty period of a vegetable chopper is 6 months from the purchase date. The product was purchased on 01-01-2023.So we have to validate and test the Boundary values for warranty period of the vegetable chopper using Boundary Value Analysis. 
**Test case 1:** Minimum  value - Check whether the warranty is active on 01-01-2023 , It should be active
**Test case 2:** Maximum value - Check whether the warranty is active on 30-06-2023 , It should be active
**Test case 3:** Just above maximum value - Check whether the warranty is active above 30-06-2023(01-07-2023),It should not be active
**Test case 4:** Just below minimum value - Check whether the warranty 
is active below 01-01-2023(31-12-2022),It should not be active
**Test case 5:** Nominal value Check whether the warranty is active on 03-04-2023 , It should be active
**<u>2. Decision Table testing:</u>**
Complex logical relationships are tested using Decision table testing by passing required conditions and required actions. Various logical input combinations are tested in the form of True "T" and False "F".
**Example:** Testing the login access of an user to the Netflix application to access the video


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

**<u>3. User Case Testing:</u>**
User case testing is a type of an end to end black box functional testing which covers the entire system.
**Example:**A Food Delivery application is taken under consideration for User Case Testing. Given that 2 Different orders are places by 2 different users ,where user 1 has subscribed for Zero delivery charges benefit and user 2 is a normal user with no added benefits.
**Test case 1:**User 1 and User 2 should be able to login the food delivery application using their login credentials 
**Test case 2:**Both the users should be able to place the order from the respective restaurants.
**Test case 3:**User 1 should not be charged for delivery fees and user  2 should be charged for delivery fee.
**Test case 4:**User 1 and User 2 should be redirected to payment gate way with the respective charges.
**Test case 5:**User 1 and user 2 should be notified via message for successful completion of order along delivery tracking link.



**<u>4. LCSAJ Testing:</u>**
Line Code Sequence and Jump testing is a kind of white box testing which majorly focus on the thorough testing of the different control flow paths present in the program.
**Example:**Finding the greatest of 3 given numbers.n1 is 20, n2 is 30 and n3 is 10.
Below are the code conditions :
step1:Assigning the numbers for variable n1=20,n2=30 and n3=10.
step2:Check n1 > n2 and n1 > n3 , So n1 is the greatest
step3:Check n2 > n1 and n2 > n3 , So n2 is the greatest
step4:Check n3 > n1 and n3 > n2 , So n3 is the greatest
In the above portrayed example complete code coverage testing is done.
Counting and sorting
Tags: perl, python, theweeklychallenge
Published: 2023-10-15 07:11:11

## Weekly Challenge 238

Each week Mohammad S. Anwar sends out [The Weekly Challenge](https://theweeklychallenge.org/), a chance for all of us to come up with solutions to two weekly tasks. My solutions are written in Python first, and then converted to Perl. It's a great way for us all to practice some coding.

[Challenge](https://theweeklychallenge.org/blog/perl-weekly-challenge-238/), [My solutions](https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-238/sgreen)

## Task 1: Running Sum

### Task

You are given an array of integers.

Write a script to return the running sum of the given array. The running sum can be calculated as `sum[i] = num[0] + num[1] + … + num[i]`.

### My solution

This is pretty straight forward. I have a variable `total` which keeps a running total. I then iterate over the list (array in Perl), and add the value to the `solutions` list.

```python
for i in ints:
    total += i
    solution.append(total)

print('(' + ', '.join(map(str, solution)) + ')')
```

### Examples

```bash
$ ./ch-1.py 1 2 3 4 5
(1, 3, 6, 10, 15)

$ ./ch-1.py 1 1 1 1 1
(1, 2, 3, 4, 5)

$ ./ch-1.py 0 -1 1 2
(0, -1, 0, 2)
```

## Task 2: Persistence Sort

### Task
 
You are given an array of positive integers.

Write a script to sort the given array in increasing order with respect to the count of steps required to obtain a single-digit number by multiplying its digits recursively for each array element. If any two numbers have the same count of steps, then print the smaller number first.

### My solution

This is very similar to the second challenge in [week 233](https://theweeklychallenge.org/blog/perl-weekly-challenge-233/).

The first step is calculate the steps required to convert the number to a single digit. I store this in the `steps` dict (hash in Perl).

```python
for i in ints:
    steps[i] = 0
    num = abs(i)
    while len(str(num)) > 1:
        num = prod(map(int, str(num)))
        steps[i] += 1
````

In Python, sorting is [stable](https://docs.python.org/3/howto/sorting.html#sort-stability-and-complex-sorts). This means if two things are equal the original order is preserved.

I sort the list twice. The first sort is numerically, and then the steps of the number.

```python
sorted_ints = sorted(ints)
sorted_ints = sorted(sorted_ints, key=lambda i: steps[i])
```

The Perl code is very similar. The main difference is that I do the sort in a single operation.

```perl
my @sorted_ints = sort { $steps{$a} <=> $steps{$b} || $a <=> $b } @ints;
```

### Examples

```bash
$ ./ch-2.py 15 99 1 34
(1, 15, 34, 99)

$ ./ch-2.py 50 25 33 22
(22, 33, 50, 25)
```
Understand CORS 🌐 in Easy Way🦾
Tags: webdev, cors, security, beginners
Published: 2023-10-15 07:00:12

**CORS : Cross-Origin Resource Sharing**

Basically CORS is a security feature of web browser that allow or restrict the web page in one domain to access resource from other domain (cross-origin).

For example, when you fetch data from an api, an error occurred. You may have seen the error in the console of the browser. It happens because api doesn't know that the request you're sending is secure or not.
To access the resource, browser need to allow cross-origin request.

Here CORS mechanism comes into picture.

The response we get after sending a request for data from api, contains HTTP header also. This HTTP header has _Access-control-allow-origin_ and _Access-control-allow-method_.

 **_Preflight Request_** is sent automatically from browser as a part of CORS mechanism. It is used to check whether the cross-origin(other domain) is safe to execute or not.

After preflight request, actual request is sent to the other domain i.e. cross-origin.

Not every time preflight request is sent.For simple request, browser doesn't sent preflight request.
It is only sent if browser detect that there might be some security concerns.

That's the simple explaination of cors. For in-depth information, [MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) docs are best!