teleren/devto huggingface dataset:
A brief intro to Web3(web2 vs web3)
Tags: beginners, tutorial, webdev, blockchain
Published: 2022-03-08 07:23:35

Before Web3(or Web3.0 as fondly called), we had an internet the Web2 which had to do with so much censorship and runs
on centralized server which are owned by big corporations.
With web2, most social media companies can censor any account or tweet or blogpost and just about everything,
 like the Nigerian government restricted citizens from Twitter use after the President's post was brought down ,and recently,
 Russian's Prsident have also restrictted it's citizen from access sites like Faebook.
. In web2, payment service may decide to not allow payments for certain types of work and also, Servers for gig-economy apps could go down and affect worker income
		


Web3 is the new version and advanced version of the internet where the user has control and ownership over the data. 
Web3 tweets and posts would be not censor-able because control is decentralized
 It focuses or shifts it's attention from centralization to decentralization 
Big companies(Facebok, twitter, Instagram) or tech giants(google, Microsoft) cannot harvest it 
and influence the user and make money out of it, Web3 payment apps require no personal data and can't prevent payments.
 
According to ConSenSys, "Web3 is an identity layer for the internet. Web3 is a reaction to social networks not keeping our data secure, and selling it for their own profit. Web3 is a way for artists and creators to not only own what they produce on a platform,
 but the platform itself. Web3 is a new patron model for the internet". 
As a tech enthusiast, I look forward to a trust-less,permission-less and decentralized services. 
The web3 era brings in more opportunity for developers to leverage on their talent,learn more and earn more.
Though there are limitations which are being addressed like;
(1) Scalability – transactions are slower on web3 because they're decentralized. 
(2) Changes to state, like a payment, need to be processed by a miner and propagated throughout the network.
(3) UX – interacting with web3 applications can require extra steps, software, and education. 
(4) Accessibility – the lack of integration in modern web browsers makes web3 less accessible to most users.
(5) Cost – most successful dapps put very small portions of their code on the blockchain as it's expensive.

If you're a newbie and this makes sense to you, there are tons of resources out there to start your journey in the web3 space,
my top three picks are : 
*https://blockgames.gg/
*https://nestcoin.com/
*https://zuri.team/
Importance of Online Reservation Systems
Tags: travel, software, technology
Published: 2022-03-08 07:20:03

**What is an online reservation system?**

Our phones and computers are a gateway to living life through technology. This is more notable with travelling. Booking tickets, hotels, transfers and many other aspects of travelling have been made much easier with technology. Most travellers look online for travel details before embarking on trips.   

**What is the importance of online reservation systems?**

Availability of information along with an online booking facility is an added bonus for consumers who appreciate the convenience. This makes it essential to have online booking software for your travel company. Online booking systems ensure more conversions from the consumers who visit your website or app looking for bookings. 

[OTRAMS Software](https://www.otrams.com/) is the world's most advanced travel technology platform. It is a comprehensive travel ERP system designed to provide smooth operations for destination management businesses, online travel brokers, travel agencies, and wholesalers.
Major Difference between Web2 and Web3
Published: 2022-03-06 22:42:42

To get started, we need to what web2 and web3 are.

## What is Web2
Web2 refers to the version of the internet most of us know today. An internet dominated by companies that provide services in exchange for your personal data.
This usually involves a centralized body or server that is in charge of all the data and transactions carried out.

## What is web3
Web3, in the context of Ethereum, refers to decentralized apps that run on the blockchain. These are apps that allow anyone to participate without monetizing their personal data.

## Why web3
Below are reasons why web3 is an amazing technology

- Anyone on the network has permission to use the service or in other words, permission isn't required.

- No one can block you or deny you access to the service.

- Payments are built-in via the native token, ether (ETH).

- Ethereum is Turing-complete, meaning you can pretty much program anything

## Major differences between web2 and web3

1. On web2, applications like Twitter and Facebook can censor any account or posts While on web3, posts and accounts would be uncensorable because control is decentralized.

2. On web2, payment services may decide to not allow payments for certain types of work while on Web3 payment apps require no personal data and can't prevent payments.
 
3. Servers for gig-economy apps could go down and affect worker income while Web3 servers can't go down – they use Ethereum, a decentralized network of 1000s of computers as their backend.


This doesn't mean that all services need to be turned into decentralized applications. These examples are illustrative of the main differences between web2 and web3 services.

For further reading/sources visit
[What is web3?](https://ethereum.org/en/developers/docs/web2-vs-web3/)
[Blockgames' site](https://blockgames.gg/)
[Nestcoin's site](https://nestcoin.com/)
[Zuriteam's site](https://zuri.team/)
sales tracking software
Published: 2022-03-08 07:03:24


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3dz8vmamcm4l5cxjd6rv.jpg)Be it a small business or a large business. Every business needs to track its leads, sales at some point. It is often essential, though. You cannot grow in this competitive environment if you do not have enough data about your company and its revenue (Whichever gets calculated by tracking the sales).

 

Here comes a need for having the best sales tracking software. The Sales Tracking Software (STS) fits quickly into larger or smaller businesses. It quickly fits into the CRM (Customer Relationship Management) portal to provide a piece of brief information about your company and its leads.

 

It helps in managing all aspects of the sales tracking process. For instance, this article is regarding the same as we will add the best information and the list of best sales tracking software in 2022 Let’s have a look.

You already know enough information about the [sales tracking software](https://www.intandemly.com/program/) as it helps in managing all aspects of the sales tracking process. It generally provides a proper workflow to the salespeople,

Penetrating into key Accounts, Professionally manage your sales tracking software and Grow your Outbound Sales. Hire our platform with Sales Consultants at Intandemly

For more info Visit: [https://www.intandemly.com/program/](https://www.intandemly.com/program/)
Method vs Function in Javascript
Published: 2022-03-08 06:56:12

In Javascript every function is an object (A).
An Object is collection of `{key:value}` pair.

As per MDN:

> A method is a function which is a property of an object. There are two kind of methods: Instance Methods which are built-in tasks performed by an object instance, or Static Methods which are tasks that are called directly on an object constructor.

Values can be

**-> Primative: ** Primative implies to data type such as `number`, `string`,`boolean` or `can be another pair of object`.

**-> Function:** Since its property of an object, so function is called as `Method` .

**So, does it means that every `function` is a method but every method is not a `function` ? No**

-> If a function is within the lexical environment / environment of an object, then that function is termed as `method`, we can invoke that by `OurObject.OurMethod()` (B)
```
var OurObject= {
name : "John snow",
OurMethod: function someFun(paramA, paramB) {
    // some code..
}
```
-> A pure function is, a function which have no object associated with it.

```
function func(param1, ...args){
 // some code...
}
```

As per  Point A, we are saying every function is an object in Javascript, so, a function within within a function will be termed as `method` of that function.



From the book ** JavaScript Patterns by Stoyan Stefanov** covers your questions in detail. Here's a quote from the book on this subject:

> So it could happen that a function A, being an object, has properties and methods, one of which happens to be another function B. Then B can accept a function C as an argument and, when executed, can return another function D.

Lastly, I would like to give very basic example. Everyone knows that arrays have different methods.

EXACTLY, different `METHODS` not `FUNCTIONS`. Like  `push()`, `pop()`,`slice(), `splice()`. 

**Why they are methods?**

They are methods because this functions are an part of an object, so as per point B, There environment is object, so they are termed as `METHODS`.

Cheers!!

For more such update follow @msabir
React: Understand higher-order component with a simple example
Tags: react, beginners
Published: 2022-03-08 06:52:13

This is my memo about React higher-order components with an example.

According to [the official document](https://reactjs.org/docs/higher-order-components.html#gatsby-focus-wrapper), 
>  a higher-order component is a function that takes a component and returns a new component.
```javascript
    const EnhancedComponent = higherOrderComponent(WrappedComponent);
```
HOC is useful when you want to reuse components logic. 

This is the image of the example app.

![](https://cdn-images-1.medium.com/max/2000/1*1KMmZ-lh1TTUtrjUNx6hLA.gif)

This is the structure of files in src folder.

![](https://cdn-images-1.medium.com/max/2000/1*uCFShd90HRiTCL-IdwFwOw.png)

## IncrementWrapper.jsx
```javascript
    import { useState } from "react"
    const IncrementWrapper = (WrappedComponent, incrementValue)=>{
      const HOC = () => {
        const [value, setValue] = useState(0);
        const incrementHandler = () => {
          setValue(value + incrementValue)
        }
        return <WrappedComponent value={value} incrementHandler={incrementHandler} />
      }
      return HOC
    }

    export default IncrementWrapper;
```
## IncrementBy1.jsx
```javascript
    import IncrementWrapper from "../hoc/IncrementWrapper"
    const IncrementBy1 = ({value, incrementHandler}) => <>
      <button onClick={incrementHandler}>Increment By 1</button>
      <h1>{value}</h1>
    </>

    export default IncrementWrapper(IncrementBy1, 1)
```
## IncrementBy10.jsx
```javascript
    import IncrementWrapper from "../hoc/IncrementWrapper"

    const IncrementBy10 = ({value, incrementHandler}) => <>
      <button onClick={incrementHandler}>Increment By 10</button>
      <h1>{value}</h1>
    </>

    export default IncrementWrapper(IncrementBy10, 10)
```
## IncrementBy100.jsx
```javascript
    import IncrementWrapper from "../hoc/IncrementWrapper"

    const IncrementBy100 = ({value, incrementHandler}) => <>
      <button onClick={incrementHandler}>Increment By 100</button>
      <h1>{value}</h1>
    </>

    export default IncrementWrapper(IncrementBy100, 100)
```
The whole code is available [here](https://codesandbox.io/s/blue-night-n1eb7b?file=/src/index.js).

Thank you for reading :)

The original article is [here](https://medium.com/@lada496/react-understand-higher-order-component-with-a-simple-example-aff54853741)
what is account based marketing
Published: 2022-03-08 06:46:10

Account Based Marketing is highly suitable for B2B companies who are aiming to work with high-end clients. The entire process of closing a deal can easily take weeks, months or in some case, a year or more.

The underlying principle dictates a lot of waiting and budget expense, making it a suitable strategy for Large-Size B2B companies. However, thanks to advancements made in technology, and the rise of cloud-based applications, [Account Based Marketing](https://www.intandemly.com/blog/what-is-account-based-marketing/) is becoming affordable for most mid and small size companies of all industries
For more info Visit: [https://www.intandemly.com/blog/what-is-account-based-marketing/](https://www.intandemly.com/blog/what-is-account-based-marketing/)
How to start a good self learning in programming
Published: 2022-03-08 06:45:00

after in school education in computer scince iam not satisfied
becuce i will not get a good programming skill.at that tyme i will confuced becuce i will tink in all good resource are available in online.
but how to start a good and efective self learning and which language are started to learn first .

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ccbx32doxy3q1qjvbo08.jpeg)
Deep Copying in JavaScript just in few minutes
Tags: javascript, tutorial, webdev, beginners
Published: 2022-03-08 06:40:38

In the previous Article, I have written about
[Shallow Copying in javascript using Spread Operator](https://dev.to/muhammad_asif/shallow-copying-in-javascript-using-object-spread-operator-1a60)
You can check it out!!


**Deep Copy**

Unlike the shallow copy, deep copy makes a copy of all the members of the old object, allocates separate memory location for the new object and then assigns the copied members to the new object. In this way, both the objects are independent of each other and in case of any modification to either one the other is not affected. Also, if one of the objects is deleted the other still remains in the memory. Now to create a deep copy of an object in JavaScript we use `JSON.parse()` and `JSON.stringify()` methods. Let us take an example to understand it better.

Code Implementation:

```
var employee = {
    eid: "E102",
    ename: "Jack",
    eaddress: "New York",
    salary: 50000
}
console.log("=========Deep Copy========");
var newEmployee = JSON.parse(JSON.stringify(employee));
console.log("Employee=> ", employee);
console.log("New Employee=> ", newEmployee);
console.log("---------After modification---------");
newEmployee.ename = "Beck";
newEmployee.salary = 70000;
console.log("Employee=> ", employee);
console.log("New Employee=> ", newEmployee);
```
**Copy from Array:**

Copying arrays is just as common as copying objects. A lot of the logic behind it is similar, since arrays are also just objects under the hood.

**Nested Arrays:**

Similar to objects, using the methods above to copy an array with another array or object inside will generate a shallow copy. To prevent that, also use `JSON.parse(JSON.stringify(someArray))`

**Spread Operator:** 

```
const a = [1, 2, 3]
```

```
let b = [...a]
```

```
b[1] = 4
```

```
console.log(b[1]) // 4
```

```
console.log(a[1]) // 2
```
To deal with objects and arrays that are referenced inside of your instance, you would have to apply your newly learned skills about deep copying!
With that copy method, you can put as many values as you want in your constructor, without having to manually copy everything!

##Wrapping Up
I hope you enjoyed the article, if yes then don't forget to press ❤️ and Subscribe. You can also bookmark it for later use. It was fun to create this article and If you have any queries or suggestions don't hesitate to drop them. See you.
You can extend your support by giving me stars on GitHub Profile.😊👇
[Github](https://github.com/Mohammad-Asif-Web)
[Portfolio](https://muhammadasif10.blogspot.com/)

##Support

[Buy me a Coffee](https://www.buymeacoffee.com/muhammadasif10)
🦊 GitLabCheatsheet - 12 - Kubernetes integration
Tags: gitlab, devops, tutorial, cheatsheet
Published: 2022-03-08 06:37:26

The new GitLab Cheatsheet speaks about Kubernetes integration. This integration at GitLab is a work in progress, I will try to update this cheatsheet as GitLab releases come out.


![GitLabCheatsheet - 12 - Kubernetes integration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9gfarnw7j8r08zcnzbs.jpg)


I will create others cheatsheet. Tell me if you have comments or suggest about those cheatsheet 😃.
ECDSA使用，实现多签 （一）
Tags: ecdsa, blockchain, solidity
Published: 2022-03-08 06:16:41

ECDSA在前面的文章已经提到，[尝试爆破NFT奖励时间限制 （二）](https://learnblockchain.cn/article/3518)
这方面的原理，以及实现我就不讨论了，文章比较多，程序员嘛，除了自己写的代码，就是关注接口，学会要会使用。

## 文档

我这里使用的[openzeppelin](https://docs.openzeppelin.com/contracts/4.x/api/utils#ECDSA)的实现，大家可以看看这里的文档。

```
FUNCTIONS
    tryRecover(hash, signature)
    recover(hash, signature)
    tryRecover(hash, r, vs)
    recover(hash, r, vs)
    tryRecover(hash, v, r, s)
    recover(hash, v, r, s)
    toEthSignedMessageHash(hash)
    toEthSignedMessageHash(s)
    toTypedDataHash(domainSeparator, structHash)
```

加密中比较重要的，私钥，公钥，信息

### 签名：

1. 钱包用私钥，
2. 信息 hash，
3. 生成签名。

### 验证签名：

1. 信息生成公钥hash
2. 信息 hash recover 签名，得到签名的公钥地址
3. 比较公钥地址一致，说明是这个地址签名的

## 代码

直接来个测试用例，说明这个过程，里面的私钥都**来自Ganache公开的私钥**
，测试使用环境用的forge,不会用forge，看这里[forge 入门](https://learnblockchain.cn/article/3502)

```
function testSign() public {
        address alice = address(0x9BEF5148fD530244a14830f4984f2B76BCa0dC58); //alice的公钥
        address bob = address(0x8Aa8b0D84cf523923A459a6974C9499581d1F93D); //bob的公钥
        bytes32 hash = keccak256("Signed by Alice"); //信息hash值
        (uint8 v, bytes32 r, bytes32 s) = sign(
            0x18ef5d5e78aa58a63503bcb48a563de61ffe7665d73ee22b4ab66ef15248be5a,
            hash
        ); //使用的alice的私钥、hash进行签名
        bytes memory sig = abi.encodePacked(r, s, v); //打包成测试需要的格式
        address signer = hash.recover(sig); //使用的ECDSA recover 函数得到签名地址
        emit log_named_address("address", signer);
        assertEq(alice, signer);
        (uint8 v2, bytes32 r2, bytes32 s2) = sign(
            0x4e1518672e45fb2746ec5a217330ed24d815d44537da647e973c06d0b0069053,
            hash
        ); //bob的私钥
        bytes memory sig2 = abi.encodePacked(r2, s2, v2);
        address signer2 = hash.recover(sig2);
        emit log_named_address("address", signer2);
        assertEq(bob, signer2);
    }
```

就这样，做多签的基础就有了。

下一篇就讲讲怎么做到多签名确认，才能转账。
上面的代码对[forge-std](https://github.com/brockelmore/forge-std)加了一个小函数。

```
function sign(uint256 pri, bytes32 msg)
        public
        returns (
            uint8,
            bytes32,
            bytes32
        )
    {
        return vm_std_cheats.sign(pri, msg);
    }
```

更详细的，看我github上的仓库，后面的多签，也会提交到这里：
[SimpleMultiSig](https://github.com/daodao2007/SimpleMultiSig)
D3JS Force Layout Hide Node/Link and its children
Published: 2022-03-08 06:11:08

How to hide a node and its children along with Links. As Show in Image. If We hide node(Red Color Bordered) then would like to hide other children's which are Green Color Bordered.

Please let me know possible solution
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/re9f2tng9licy1fw9nfu.PNG)
Nevertheless, Thystea Coded in 2022
Tags: wecoded, beginners
Published: 2022-03-08 06:10:56

Times flies. It is almost 9 years after I started coding when I 13. It all started when I began to explore the internet. It was 2 am, and I couldn't sleep. I came across a post on Twitter promoting their blog(Blogspot). On the same night(morning), I signup because too curious. I started to explore all the functionalities. I keep digging for a week. I wrote everything in there, making it my online diaries.

![This is my first blog, unfortunately I already remove it due to cringness](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o5m5f9w6pt0gmcp42z7z.png)
 **This is my first blog, unfortunately I already remove it due to cringness**

Later I found out that we can customize our blog using HTML and CSS. From there, I start my coding journey. Unfortunately, I don't have anyone to share my excitement with. None of my friends has an interest in blogging or coding. So I kept it all to myself. However, I know I love solving all coding problems from that moment. So I manage to get a Diploma in database management at a college and now pursuing a degree in software engineering. 

It's 2022, Theasty is still coded.
Laravel 9 Scout Full Text Search Example with Database Driver
Tags: laravel, scout
Published: 2022-03-08 05:57:53

Hi Dev,

In this tute, we will discuss laravel 9 scout full text search example. you can see laravel 9 scout search example. you will learn laravel 9 scout elasticsearch example. Here you will learn how to add full text search in laravel 9 scout. Let's get started with laravel 9 scout database engine example.

Laravel 9 provides Scout Package for full text search from your project. If you require to add full text search function in your laravel 9 application then you have to choose scout package to do.

In this example, we will install the scout composer package and use the database driver for full text search. then we will use scout with User model and add a name, email, and id column for full text search. let's see the below step to create full text search function.

[Laravel 9 Scout Full Text Search Example with Database Driver](https://www.codecheef.org/article/laravel-9-scout-full-text-search-example-with-database-driver)
P2 - Live Demo - Source Code - Play Real Steel Boxing with your voice 🔊🔊 - Atom (The People's Champion) P2
Tags: hackwithdg, beginners, javascript, tutorial
Published: 2022-03-08 05:13:39

If you haven't read the first series, please read that and come back here.

Let's continue from where we left of last time.

I'm really impressed by the speed at which the transcription is generated to match the speed of the game.
There can be a lot more done to make sure it's even more faster or we could also make it real-time or at least near real-time. But that's a task for another hackathon.

With that said below is the Live Demo that you can watch to see how the real-time transcription is working and at what speed we get the transcripts from the `Deepgram servers`.

![Game play gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f4j87bngddl9jaw0cxjd.gif)

### YouTube Video 🎬

{% embed https://www.youtube.com/watch?v=BxZt7UkQ_-E&ab_channel=LateNightCodewithSanthosh %}


### GitHub Repo

{% embed https://github.com/Santhoshkumard11/play-real-steel-boxing-with-your-audio %}


### Conclusion ✨
The repo is public now so you guys can try building something on top of what I've done, would love to see what you're planning to go with this.
You don't really need a Flask application to run this, it's just for the demo purpose that I've used to show the power of Deepgram APIs.
You can read more about SDKs available for Deepgram [here](https://developers.deepgram.com/).

There are lot of example that you can look up to in the Use Case section, just to make yourself comfortable with the usage of real-time speech transcription or Deepgram APIs in general.

Happy Learning! 📑
PRs are welcomed and drop your suggestions in the comments.

{% embed https://dev.to/sandy_codes_py %}

## Let's connect 🤝
#### [LinkedIn](https://linkedin.com/in/santhosh-kumard)

#### [Instagram](https://www.instagram.com/sandy_inspires)

#### [Twitter](https://twitter.com/sandy_inspires)