teleren/devto huggingface dataset:
How to choose a crypto wallet to keep your money safe
Tags: btc, wallet, eth
Published: 2023-09-05 10:27:31

---
title: How to choose a crypto wallet to keep your money safe
published: true
date: 2023-01-05 09:28:01 UTC
tags: btc,wallet,eth
canonical_url: https://coinrevision.com/how-to-choose-a-crypto-wallet-to-keep-your-money-safe/
---

Understanding Crypto Wallets: A Beginner’s Guide In today’s digital age, cryptocurrencies like Bitcoin have gained popularity as a form of digital asset. But in order to engage in buying, selling, and trading these cryptocurrencies, you’ll need a secure wallet to hold them. So, what exactly are crypto wallets and how do they work? In this …

<!-- YARPP List -->
### Related posts:

1. [Is Your Crypto Wallet SAFE? This Report Will SHOCK YOU!!](https://coinrevision.com/is-your-crypto-wallet-safe-this-report-will-shock-you/ "Is Your Crypto Wallet SAFE? This Report Will SHOCK YOU!!")
2. [Top Crypto LAYER 2s to Keep An Eye On (Base, Linea, Mantle)](https://coinrevision.com/top-crypto-layer-2s-to-keep-an-eye-on-base-linea-mantle/ "Top Crypto LAYER 2s to Keep An Eye On (Base, Linea, Mantle)")
3. [$10 Trillion Of Institutional Money About to Move Into Crypto – Mark Yusko](https://dev.to/kachali/10-trillion-of-institutional-money-about-to-move-into-crypto-mark-yusko-36od-temp-slug-8393465 "$10 Trillion Of Institutional Money About to Move Into Crypto – Mark Yusko")
React Hook Form: Multiple Yup validation schemas
Tags: tutorial, javascript, react
Published: 2023-01-05 09:25:26

TL;DR [Codesandbox to see it in action](https://codesandbox.io/s/save-save-draft-for-react-hook-form-g4ibwg)

## Introduction
In this tutorial I will show you how I managed to use multiple Yup validation schemas with react-hook-form.

My use case I had a form which I wanted to save (with all fields required) but also to save as draft (with only one required field)

### Step 1: Implement default schema for save

```jsx
import { useForm } from "react-hook-form";
import * as yup from "yup";
import { yupResolver } from "@hookform/resolvers/yup";

const schema = yup.object().shape({
  firstName: yup.string().required(),
  lastName: yup.string().required()
});

/*...*/

const {
    register,
    handleSubmit,
    formState: { errors }
  } = useForm<FormData>({
    resolver: yupResolver(schema), // default schema
});

const onSubmit = handleSubmit((_data) => {
    alert("schema valid!");
});

<form onSubmit={onSubmit}>
    <label>First Name</label>
    <input {...register("firstName")} />

    <label>Last Name</label>
    <input {...register("lastName")} />

    <button type="submit">
        Save
    </button>
</form>
```


### Step 2: Implement second schema for save as draft

```jsx
const draftSchema = yup.object().shape({
  firstName: yup.string().required(),
  lastName: yup.string() // lastName is optional for draft
});

/*...*/

const saveDraft = async () => {
// todo
}

<form onSubmit={onSubmit}>
{/*...*/}

    <button type="button" onClick={saveDraft}>
        Save as draft
    </button>
</form
```


### Step 3: saveDraft function

We're going to manually use the yup.validate() to validate the draftSchema when clicking save as draft. And setting the error into react-hook-form.

```jsx
/*...*/
const {
  register,
  handleSubmit,
  getValues, // to get current form data
  setError, // to set error from yup.validate()
} = useForm<FormData>({
  resolver: yupResolver(schema),
});

const saveDraft = async () => {
  const data = getValues();

  // try catch block for yup validate function. abortEarly: false so it returns all errors on our form.
  try {
    await draftSchema.validate(data, { abortEarly: false });
    // if passes, data is valid
    alert("draft schema valid!");
  } catch (error) {
    // loop over all errors and setError to use them in react-hook-form
    error.inner?.map((inner, index) => {
      const { type, path, errors } = inner;
      return setError(path, { type, message: errors[index] });
    });
  }
};

/*...*/
```

## Conclusion
And that's it! Not the most beautiful solution, but the only one I've got working.

I hope you've found this article useful, please let me know how you used this or another solution in the comments :)
Dev.to sign-up fail
Tags: devto
Published: 2023-01-05 09:22:48

Wow disappointed to see I wasn't able to fill in my profile because of errors in the dev.to sign-up flow. Hopefully fixed soon… ?


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hzzgk9y4mrn7ipp6dwj.png)
The Importance of Non-Technical Skills in Data Science
Tags: datascience, python, career, beginners
Published: 2023-01-05 09:17:56

When it comes to pursuing a career in data science, it's easy to focus on the technical skills that are required, such as programming languages like Python and R, machine learning algorithms, and statistical analysis. These skills are certainly important, and it's essential for data scientists to have a strong foundation in these areas.

However, there are also a number of non-technical skills that are crucial for success in data science. These skills may not be as visible or discussed as frequently, but they are just as important for navigating the challenges and opportunities that arise in this field.

Here are a few non-technical skills that are essential for data scientists:

Communication: Data scientists often work with teams of people from diverse backgrounds, and it is important to be able to communicate technical concepts in a way that is clear and accessible to non-technical audiences. This includes the ability to present findings in a clear and compelling way, as well as the ability to write clear and concise reports.

Problem-solving: Data science is all about solving problems, and being able to approach challenges in a logical and systematic way is essential. This includes the ability to break down complex problems into smaller parts, think creatively, and persist in the face of obstacles.

Collaboration: Data science is often a team sport, and the ability to work well with others is essential. This includes the ability to listen to others, share ideas, and work towards a common goal.

Business acumen: Data science is not just about analyzing data; it's also about using the insights generated from that data to inform business decisions. Understanding the business context and being able to translate technical findings into actionable recommendations is key.

In conclusion, while technical skills are certainly important in data science, they are only part of the picture. Developing strong non-technical skills can help you succeed in this field and make a real impact with your work.
An Introduction to Data Science: What It Is and Why It Matters
Tags: datascience, beginners, computerscience
Published: 2023-01-05 09:11:08

Data science is a rapidly growing field that combines principles from computer science, statistics, and domain expertise to extract insights and knowledge from data. It is a multidisciplinary field that is being applied in a wide range of industries, from healthcare to finance to retail to government, to solve complex problems and make data-driven decisions.

But what exactly is data science, and why is it important?

Data science involves collecting, storing, and analyzing large datasets to discover patterns, trends, and relationships. It involves using various tools and techniques, such as machine learning algorithms and statistical analysis, to process and interpret the data. The goal is to extract meaningful insights and knowledge that can inform decision-making and drive progress.

Data science is important because it allows us to make sense of the vast amounts of data being generated in today's digital world. By turning this data into actionable insights, we can improve operations, create new products and services, and drive innovation. Data science also has the potential to solve some of the world's most pressing problems, such as improving healthcare outcomes, fighting climate change, and reducing poverty.

In short, data science is a powerful tool that has the potential to transform industries and improve the world we live in. If you are interested in learning more about data science and how it is being applied, stay tuned for future posts on this topic.
how to stop Multiple rerendering of console.log in react project
Tags: javascript, react, html, api
Published: 2023-01-05 09:05:02


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ekzbfgw8dhlj2yqkhy1.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xqunbno7vwm5pbu2yy7m.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipr5uu3mmd7bvyp5fdmd.png)
Today's Fun Joke For Developers - Daily Developer Jokes
Tags: jokes, dailydeveloperjokes
Published: 2023-01-05 08:00:07

---
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/5e1258c20b362.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:___ Why did the computer keep sneezing?

___A:___ It had a virus!
 -->
Asynchronous and synchronous JavaScript Basics!
Tags: javascript, beginners, programming, tutorial
Published: 2023-01-05 08:58:23

Asynchronous and synchronous are two ways in which a program can execute:

**Synchronous** execution means that the program will execute each line of code one at a time, in the order that they appear. If a line of code takes a long time to execute (for example, making a network request), the program will stop and wait for it to finish before moving on to the next line.

**Asynchronous** execution means that the program can execute multiple lines of code at the same time. This is useful when you have long-running tasks, such as making network requests, because it allows the program to do other work while waiting for the task to complete.

JavaScript is an asynchronous language, which means that it can execute multiple lines of code at the same time. This is made possible through the use of events and callbacks.

An event is an action that occurs in the program, such as a user clicking a button or a network request completing. A callback is a function that is called when an event occurs.

For example, consider the following code:

```javascript
function makeNetworkRequest() {
  // make a network request and log the response
}

makeNetworkRequest();
console.log('This line of code will run before the network request completes');
```
In this case, the makeNetworkRequest function makes a network request and logs the response. The console.log statement will run before the network request completes, because the program is executing synchronously.

To make this code execute asynchronously, we can use a callback:

```javascript
function makeNetworkRequest(callback) {
  // make a network request and log the response
  callback();
}

makeNetworkRequest(function() {
  console.log('This line of code will run after the network request completes');
});
console.log('This line of code will run before the network request completes');
```
In this case, the makeNetworkRequest function makes a network request and logs the response. When the network request completes, the callback function is called. This allows the program to continue executing while the network request is in progress.

Asynchronous execution is an important concept in JavaScript, and it is used extensively in modern web development. It allows programs to be more efficient and responsive by allowing them to do multiple tasks at the same time.
How increase your productivity as a developer in 2023
Tags: webdev, productivity, programming, javascript
Published: 2023-01-05 08:51:10

As a developer, it's easy to get bogged down by the sheer amount of work that needs to be done. With so many tasks on your plate, it can be difficult to stay focused and productive. But there are a few strategies you can use to increase your productivity and get more done in less time. Here are some tips to help you boost your productivity as a developer in 2023:

**Use the right tools:** One of the keys to productivity is having the right tools for the job. Whether you're working on a large project or a small one, having the right tools can make a big difference in your productivity. Some tools that might be helpful include a good text editor, a debugger, and a version control system.

**Follow a routine:** Establishing a routine can help you stay focused and on track. Set aside specific times for coding, debugging, and testing, and try to stick to that schedule as closely as possible. This can help you avoid getting sidetracked and wasting time.

**Take breaks:** It might seem counterintuitive, but taking breaks can actually increase your productivity. Working for long periods without a break can lead to burnout and decreased productivity. So be sure to take breaks regularly to rest and recharge.

**Prioritize your tasks:** Not all tasks are created equal, so it's important to prioritize your work. Figure out which tasks are the most important and tackle those first. This will help you stay focused and avoid getting bogged down by less important tasks.

**Stay organized:** A cluttered workspace can lead to a cluttered mind, which can make it difficult to focus and be productive. So be sure to keep your workstation organized and tidy. This will help you stay focused and on top of your work.

**Automate where you can:** Automating tasks can save you a lot of time and effort. Look for opportunities to automate repetitive tasks, such as code formatting or linting. This will free up more time for you to focus on more important tasks.

**Learn from others:** Finally, don't be afraid to ask for help or learn from others. Whether you're stuck on a problem or just looking for ways to improve your workflow, other developers can be a valuable resource. So be sure to ask for help when you need it and seek out opportunities to learn from your peers.

By following these tips, you can boost your productivity and get more done as a developer in 2023. Stay focused, stay organized, and don't be afraid to seek out new tools and techniques to help you work more efficiently.
Python - Realist
Tags: python, programming, challenge, beginners
Published: 2023-01-05 08:10:24

Dear, everyone.
This is third step of "HackInScience Python Exercises" series.
I've finished all the realist exercises and share them on my [Github](https://github.com/levintech/HackInScience).

1. Longest word
2. Print sorbet flavors
3. Sets of love
4. Sort students
5. Reverse Roman Numerals
6. Select students
7. Friday the 13th
8. The missing card
9. Playing with anagrams
10. Currency
11. Flatten lists
12. Perfect deck shuffle
13. Hearts emojis
14. Text framing
15. Draw N Squares
16. Student class
17. Print battery charge
18. Side by side
19. Format your output
20. Roman Numerals
21. Caesar Cypher
22. Break a safe
23. Password Generator
24. bencode, bdecode
25. Restaurant menu
26. Py Master Mind
27. Elementary cellular automaton
28. Temperature class
29. Sequence Mining
30. Change for 42€
31. IRC logs as CSV

Hope my work would be little bit helpful for python beginners.
To encourage me to continue, please follow me on [Github](https://github.com/levintech)

Best Regards.
crackers
Tags: webdev, javascript, beginners, programming
Published: 2023-01-05 08:01:47

[](https://hit4pc.com/idm-crack-internet-download-manager-2023
)[](https://hit4pc.com/spotify-premium-crack-key/)[](https://hit4pc.com/wondershare-recoverit-activation-keys/)[](https://hit4pc.com/cleanmymac-x-crack-sep-v2023-patch-full/)[](https://hit4pc.com/cfosspeed-crack-key-download/)[](https://hit4pc.com/360-total-security-crack/)[](https://hit4pc.com/fl-studio-crack/)
How do I get the data from useQuery in onSuccess callback?
Tags: javascript, nextjs, react, beginners
Published: 2023-01-05 07:20:39

There was a bit of confusion on how to get data back from useQuery hook. The developer asking this question thought that the onSuccess key was how you finally got your data from useQuery.

The onSuccess and onError are callback functions that are called after a fetch has succeeded or failed.

They're optional and useful. They're called and passed the data that has been retrieved from the useQuery call so that you can trigger side effects, such as modal popups or something similar with your new data.


```js
const { data } = useQuery("posts", fetchPosts, {
  onSuccess: (data) => console.table(data.data),
  onError: (error) => console.log(error.message)
});

/*
  Updating the name from data to dataRetrieved, makes it more clear.
  We're usually expecting the { data }
*/

const { data } = useQuery("posts", fetchPosts, {
  onSuccess: (dataRetrieved) => console.table(dataRetrieved.data),
  onError: (error) => console.log(error.message)
});
```
The data that you are expecting is { data }, this is the variable that you are probably looking to return after a successful fetch in most cases, not dataRetrieved.

## After Post Requests
Similarly, after a post request, we want to invalidate the key, The invalidation of the key tells React Query to re-fetch and update the data.

So after a post request to our API (updating the database), we'd normally want that new data to be shown. If the key is not invalidated, we'll see old data rather than new data.

To do this we need to pass onSuccess the queryClient as well as set invalidateQueries with the key we want to update.


```js
// Post data to our API
const poster = (id) => {
  return axios.post(`https://yourapi.com/posts`, id);
};

// Tell React Query to invalidate the posts key
// and fetch the new data again to see our changes.
export const useAddPosts = () => {
  const queryClient = useQueryClient();
  return useMutation(poster, {
    onSuccess: () => {
      queryClient.invalidateQueries("posts");
    }
  });
};
```
452. Minimum Number of Arrows to Burst Balloons
Tags: java, leetcode, problemoftheday, 100daysofcode
Published: 2023-01-05 07:18:00

**Problem Description:**
There are some spherical balloons taped onto a flat wall that represents the XY-plane. The balloons are represented as a 2D integer array points where points[i] = [xstart, xend] denotes a balloon whose horizontal diameter stretches between xstart and xend. You do not know the exact y-coordinates of the balloons.

Arrows can be shot up directly vertically (in the positive y-direction) from different points along the x-axis. A balloon with xstart and xend is burst by an arrow shot at x if xstart <= x <= xend. There is no limit to the number of arrows that can be shot. A shot arrow keeps traveling up infinitely, bursting any balloons in its path.

Given the array points, return the minimum number of arrows that must be shot to burst all balloons.

 

**Example 1:**

**Input:** points = [[10,16],[2,8],[1,6],[7,12]]
**Output:** 2
**Explanation:** The balloons can be burst by 2 arrows:
- Shoot an arrow at x = 6, bursting the balloons [2,8] and [1,6].
- Shoot an arrow at x = 11, bursting the balloons [10,16] and [7,12].

**Example 2:**

**Input:** points = [[1,2],[3,4],[5,6],[7,8]]
**Output:** 4
**Explanation:** One arrow needs to be shot for each balloon for a total of 4 arrows.

**Example 3:**

**Input:** points = [[1,2],[2,3],[3,4],[4,5]]
**Output:** 2
**Explanation:** The balloons can be burst by 2 arrows:
- Shoot an arrow at x = 2, bursting the balloons [1,2] and [2,3].
- Shoot an arrow at x = 4, bursting the balloons [3,4] and [4,5].
 

**Constraints:**

- 1 <= points.length <= 105
- points[i].length == 2
- -231 <= xstart < xend <= 231 - 1

**Solution:**

Algorithm:

- Sort the intervals based on the second values of the given intervals.
- Initialise a count and a possibleEnd. Here possibleEnd can be of type long initialised with the minimum value.
- for int [] p: points -> Check whether the start, that is, p[0] > possibleEnd. If true then -> Update the end with p[1] and increment the count
- Finally return this count to get the number of arrows required.


**Code:**

```
class Solution {
    public int findMinArrowShots(int[][] points) {
         if (points.length == 0)
            return 0;
        Arrays.sort(points, (a, b) -> Integer.compare(a[1], b[1]));
        int arrowCount = 0;
        long possibleEnd = Long.MIN_VALUE;
        for (int [] p: points) {
            if (p[0] > possibleEnd) {
                possibleEnd = p[1];
                arrowCount += 1;
            }
        }
        return arrowCount;
    }
}
```
Agen Situs Game Online Terpercaya 2023
Published: 2023-01-05 07:11:24

Game online merupakan salah satu hiburan yang sangat populer saat ini, dan terdapat banyak sekali game yang dapat dimainkan oleh para penggemar game di seluruh dunia. Namun, tidak semua game online yang ada di internet merupakan game resmi yang telah diakui oleh pengembang game yang terkenal dan terpercaya. Berikut adalah beberapa informasi tentang game online resmi yang dapat Anda pertimbangkan:

Game online [Rgocash](http://rgocash.org) resmi biasanya memiliki lisensi resmi yang dikeluarkan oleh pengembang game atau pemegang hak cipta game tersebut. Hal ini menunjukkan bahwa game tersebut telah melalui proses pemeriksaan dan verifikasi yang ketat sebelum diperkenalkan kepada para pemain.

Game online resmi biasanya juga memiliki sistem keamanan yang baik dan tidak mudah ditembus oleh peretas. Selain itu, game tersebut juga tidak memiliki fitur-fitur yang merugikan pemain lain, seperti cheat atau hack.

Game online resmi biasanya juga memiliki komunitas pemain yang aktif dan terbuka, yang dapat dihubungi melalui forum atau layanan dukungan pemain. Hal ini akan membantu Anda untuk mendapatkan bantuan dan saran jika Anda mengalami masalah atau kesulitan dalam bermain game tersebut.

Game online resmi biasanya juga memiliki sistem pembayaran yang aman dan terpercaya, yang dapat digunakan untuk membeli item atau fitur tambahan dalam game. Selain itu, game tersebut juga tidak menggunakan metode pembayaran yang tidak aman atau ilegal.

Game online resmi biasanya juga memiliki dokumen persetujuan pengguna atau "EULA" (End User License Agreement) yang menjelaskan hak dan kewajiban pemain dalam bermain game tersebut. Pastikan bahwa Anda membaca dan memahami EULA tersebut sebelum mulai bermain game.