teleren/devto huggingface dataset:
Web 2 vs Web 3
Published: 2022-03-03 11:42:46

The first generation of world wide web(web1) it's known as a stream of information; which is read-only web, where users can only just search and read from a web1 resource, but with the introduction of web2(stream of interaction), it was a system which aims to actively engage users, and the content itself is more user-generated. While web3(stream of interpretation) is a more automated version of web2 where the computer tend to interpret information just like humans using technologies like Blockchain, Artificial Intelligence (AI), Augmented Reality (AR) and Virtual Reality (VR).

Web2 is all about developing materials for the web using the read-write web standard, which allows rich media, web applications, and sharing information to be created. Web3, on the other hand, is all about semantics and recognising user behaviour in order to interact with them.

**Comparisons**:

- Web2 is second generation of internet focused on interaction, while Web3 is third generation of internet focused on decentralisation and semantic learning. 

- Web2 applications deals mainly with web applications while web3 are smart applications based on AI(Artificial Intelligence) and ML(Machine Learning).

In summary Web2 is all about building relationships and communicating with one another mainly about the user interaction with the web. Web3 is all about giving those conversations and relationships more intelligence being automated.

To learn, build and solve problems with blockchain technology you can enrol at [blockgames](https://blockgames.gg/). 
Get Early access to build, operate and invest in simple products that make crypto accessible to everyone checkout [nestcoin](https://nestcoin.com/).
I own this article to the Zuri Team which has been immensely successful in creating a global network of a highly adept intelligent workforce that can help your company achieve their mission-critical projects and goals check the out at [zuri team](https://zuri.team/).
.NET Core vs                   
 .NET Framework
Tags: dotnet, csharp
Published: 2022-03-03 11:46:47


## **What is .NET Core?**


.NET Core is the latest version of Microsoft’s .NET Framewok, which is a free, open-source, general-purpose programming platform. It’s a cross-platform framework .The.NET Core Framework may be used to create a variety of apps, including mobile, desktop, online, cloud, IoT, machine learning, microservices, games, and more. .NET Core is written from scratch to make it a modular, lightweight, fast, and cross-platform Framework. 

## **What is .NET Framework?**
 Microsoft’s Net Framework is a software development platform for building and running Windows applications.Net framework includes developer tools, programming languages, and libraries that are used to develop desktop and web applications. It is also used to build websites, web services, and games.

 **The key difference** between .NET Core and .NET Framework is a platform for .NET applications on Windows whereas, NET Core is the latest version of the .NET Framework which is a cross-platform and open-source framework optimized for modern app needs and developer workflows.
Usage of onTap function in a listTile with Drawer
Published: 2022-03-03 11:45:58

When making use of an onTap function in a ListTile widget in flutter: Use it this way:
` Widget buildListTile(String text, IconData icon, Function() tapHandler) {
    return ListTile(
      leading: Icon(
        icon,
        size: 26,
      ),
      title: Text(
        text,
        style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
      ),
      onTap: tapHandler,
    );
  }
`

and not  this way:


` Widget buildListTile(String text, IconData icon, Function tapHandler) {
    return ListTile(
      leading: Icon(
        icon,
        size: 26,
      ),
      title: Text(
        text,
        style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
      ),
      onTap: tapHandler,
    );
  }
`


**N.B** : Look how i defined the function in both



the second way would run your code into errors while your code would be without errors in the first
Dative.JS Tutorial
Tags: dativejs, javascript, webdev, tutorial
Published: 2022-03-03 11:37:37

## Introduction

DativeJs Is A Mordern Ui Javascript FrameWork

### How Do I Use Dative.Js


#### First 
Scaffold A Project

```bash
$ npx degit dativeJs/template my-app

# Install All The Dependencies
$ npm i
```

That Command Should Create a template with Dative.JS There

File Structure Should Be Considered While Creating a New Component

```treeview
my-app
|- src
   |- your-component
      |- your-component.dative.html // The Template
      |- your-component.dative.js // The Script
```


```ts
  // your-component.dative.js
  import Dative from 'dativejs';
  import template from './your-component.dative.html';

  export let YourComponent = Dative.extend({
     template,
     // Other Options Goes Here
  })
```


### Then You Can Import it in the ``src/index.js``

```ts
import { YourComponent } from './your-component/your-component.dative'

...

app.attach([
  ...,
  new YourComponent({
     el: '#your-component-id'
  })
])
```


You Set

Check [DativeJS Docs](https://dativejs.js.org) for more details

Thanks For Reading :)
Hoeveel kost het om een keukenkraan te kopen?
Published: 2022-03-03 11:30:56

Voordat u begint met winkelen voor een nieuwe keukenkraan, moet u de afwerking en het type kraan bepalen dat u wilt. Roestvast staal, messing en kunststof materialen zijn er in verschillende prijsklassen. De afwerkingen die bovenop deze materialen komen, zullen ook variëren. Chroom is een universeel betaalbare afwerking met universele dikte, terwijl brons en nikkel duurder zijn, maar aantrekkelijker. Het materiaal van het lichaam van de kraan speelt ook een rol in de uiteindelijke kosten.

Er zijn veel factoren die van invloed zijn op de prijs van een keukenkraan. Doe je het zelf, dan zijn de arbeidskosten aanzienlijk hoger dan wanneer je een loodgieter inhuurt. Vaak is vervanging van sanitair nodig om een ​​nieuwe kraan te installeren, omdat de oude niet voldoet aan de code. De kwaliteit van de kraan heeft ook invloed op de prijs. Het kan langer duren om kapotte onderdelen te verwijderen dan de rest van de kraan.

**Selecteer het budget
**
Het type afwerking dat u kiest, bepaalt hoeveel het kost om een ​​keukenkraan te kopen. Koperen en messing kranen hebben natuurlijke antimicrobiële eigenschappen, waardoor ze een goede keuze zijn voor een badkamer of keuken. Bijna elk metaal heeft verschillende texturen en prijsklassen. De goedkoopste afwerking is geborsteld, terwijl de duurste gepolijst is. Verouderde en getextureerde afwerkingen kosten meer, net als de installatie.

**Afhankelijk van het merk
**
Het kopen van een nieuwe [nivito](https://www.nivito.nl) is niet zo duur als je zou denken. De kosten van arbeid zijn afhankelijk van hoeveel u wilt uitgeven. Een nieuwe kraan kan tussen de $ 100 en $ 1.000 kosten, afhankelijk van het merk en de kwaliteit. Voor het vervangen van een keukenkraan heeft u waarschijnlijk een loodgieter nodig om deze te installeren. De loodgieter moet het sanitair vervangen en ervoor zorgen dat het nieuwe goed past. Als je een kapotte keukenkraan vervangt, moet je misschien de gootsteen vervangen of het aanrechtblad verwijderen.

De arbeidskosten voor het vervangen van een keukenkraan variëren. Sommige kranen zijn eenvoudig zelf te vervangen, voor andere is een erkende loodgieter nodig. Het is het beste om contact op te nemen met een professional om het werk te doen. U kunt geld besparen door het werk zelf te doen, maar het is belangrijk om te weten hoeveel het project gaat kosten. U moet ervoor zorgen dat de aannemer die u kiest ervaring heeft met het type kraan dat u wilt kopen.

**De erkende loodgieter nodig
**
Er zijn twee manieren om een ​​nieuwe keukenkraan te installeren. U kunt het zelf doen, maar u kunt ook een loodgieter inhuren om het voor u te doen. Als je het zelf doet, kun je het zelf doen als je weet hoe je het goed moet doen. Een loodgieter is de persoon die de installatie kan uitvoeren. In de meeste gevallen moet de installateur een erkende loodgieter zijn. Maar als je een loodgieter laat installeren, moet je wat meer betalen.
Razorpay payment DJANGO
Published: 2022-03-03 11:11:38

# Steps to integrate Razorpay 

* Setting up Razorpay account.

* Storing API keys in settings.py

* Installing Razorpay library.

* Creating order using Razorpay API.

* Sorry, unable to save it. You might have moved your notion database to some other page, please take it back to the page where it was created.

* Creating order at backend and also creating Razorpay order.

	* Show template

	* render to payment.html

	* Get info of call back URL

	* Done with creating an order.

* Making payment.

* Handling payment success and failure.

	* Razorpay makes a post request

	* with the help of that handling success/failure

	* Done with payment.

	* Final checks for all platforms

	* Final checking

![](https://notionpack-uploads.s3.amazonaws.com//tmp/tmpxzr1sn6n.png)

![](https://notionpack-uploads.s3.amazonaws.com//tmp/tmp3k9zd7kv.png)

[https://gist.github.com/Nishant127/ed0e02cfb0ae0da3fb82f17b21252ca4](https://gist.github.com/Nishant127/ed0e02cfb0ae0da3fb82f17b21252ca4)


```python
def get_image_urls(cls, markdown):
        regex = r"!\[.?]\((https.*?)\)"
        urls = re.findall(regex, markdown)
        for url in urls:
            img_data = requests.get(url).content
            with tempfile.NamedTemporaryFile(suffix=".png") as image:
                image.write(img_data)
                upload_file_to_bucket(image.name)
                url = create_file_upload_url(image.name)
```

<br/>
const life = change();
Tags: javascript, discuss, devjournal, beginners
Published: 2022-03-03 10:24:29

---
title: const life = change();
published: true
description: the only true constant in life is change
tags: javascript, discuss, devjournal, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ort5j7ueijmdypmidb44.jpg
---

They (*supposedly, originally, Heraclitus*) say that **the only true constant in life is change**.

A JavaScript programmer in you might write that like this:

```
const life = change();
```

And, the trick in real life is that the function's implementation regularly looks like this:

```
function change() {
    return Math.random();
}
```

However, when you'd try to output the value of the `life` constant ([see it in action in JS Fiddle](https://jsfiddle.net/Hitman666/dLtcug09/10/)), it would be exactly that, a constant (no matter how many times you'd call it or output it).

> Sidenote: if you're puzzled by the fact that you can **assign a function to a constant** (or to a variable for that matter) **before it was defined in the code**, then go and learn about [hoisting in JavaScript](https://stackoverflow.com/questions/7506844/javascript-function-scoping-and-hoisting).

Now, you may write the above statement like this:

```
const life = function change() {
    return Math.random();
}
```

And, if you call `life();` now (again, [see it in action](https://jsfiddle.net/Hitman666/dLtcug09/10/)), it will return a different value every time you call it.

> ⚠️ JavaScript gurus among you may chuckle at assigning a function to a constant, but check this StackOverflow [answer](https://stackoverflow.com/a/42803030/534755) for its applicability - plus, you'll learn (or, refresh your memory) about hoisting in JS.

Switching gears; the point of all this is that you can't expect to be doing the same thing, and getting different results, and no matter what obstacles you face, the key to overcoming them is not in changing the event, but in changing yourself and how you react to it.

And that, itself, is a process. A process that begins with the desire or acceptance to be teachable and improve for the better.

Hope you like this attempt at mixing programming with personal growth topics (for more, check my [daily thoughts](https://www.nikola-breznjak.com/blog/daily-thoughts/) entries).

Stay safe, friends ❤️

---

_Originally published on [my blog](https://www.nikola-breznjak.com/blog/daily-thoughts/const-life-change/)._

This is [why I write](https://www.nikola-breznjak.com/blog/daily-thoughts/why-do-i-write-these-daily-thoughts-posts/) these 'daily thoughts' posts.
How to Add the Syncfusion Blazor Chips Component to a Blazor WebAssembly App
Tags: webdev, blazor, dotnet, csharp
Published: 2022-03-03 10:19:31

A quick overview on how to create and configure the Syncfusion [Blazor Chips](https://www.syncfusion.com/blazor-components/blazor-chips) component in a Blazor WebAssembly app using Visual Studio 2019. The Blazor Chips component allows users to present a block of text information while filtering contacts and an email inbox. In this video, you will learn how to add a simple chip to a Blazor WebAssembly app. You will see different types of Blazor chips and add icons to them. You will learn how to customize a chip using styles, letters, and avatars. Finally, you will see how to bind a click event to the Blazor Chips component. 

Product Overview: https://www.syncfusion.com/blazor-components/blazor-chips

Explore tutorial video: https://www.syncfusion.com/tutorial-videos

Download example from GitHub: https://github.com/SyncfusionExamples

{% youtube YJtHD8jPwW0 %}
World Wide Web Evolution
Tags: web1, web3, web2, blockchain
Published: 2022-03-03 10:03:48

According to Tim Berners-Lee, **Web 1.0** (the first generation of the World Wide Web) is the "read-only web". It lasted between 1989 and 2005. There were just a few content creators in Web 1 with a huge majority of users as consumers of the created content. The users were reading information presented to them. It was not as dynamic, vivid and interactive as the web present now. Websites focused on making information public for anyone with access, and set up an online presence. 

Tim Berners-Lee described **Web 2.0** as a "read-write" web. It is described as the wisdom, people-centric, participative social web. As an enhanced version of web 1, web 2 allows more controls to users and provides interaction. Modification can't be done to any technical specification, but the design and usage of web pages can be modified. Users can interact and also collaborate with each other in a virtual community. Web 2.0 focused on user-generated content, usability, and interoperability for end users. Basically, Web 2 allows user to interact and contribute content, as opposed to them just being consumers.

Dale Dougherty working as the vice president of O’Reilly Media delivered a speech about Web 2 in a conference, 2004. He defined web 2 as: "the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform. Chief among those rules is this: Build applications that harness network effects to get better the more people use them."

AJAX and JavaScript frameworks are some of the web browser technology used in Web 2 development.

**Web 3.0** is described as the intelligent semantic web. According to Tim Berners-Lee, web 3 is the "read-write-execute" web. It allows users to find, share and combine more easily. The semantic web allows a person or a computer to start off in one database, and then move through an unending set of databases. The goal of linked data is to enable computers teach machines to read web pages. Computers can interpret information like humans via Artificial Intelligence and Machine Learning. Which help to intelligently generate and distribute useful content tailored to the need of a particular user at a given time.

**Difference between Web 1.0, Web 2.0, and Web 3.0 **  [1]


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

Thanks to Zuri team and Nestcoin, I will be learning more about Web 3 and blockchain technology.
https://blockgames.gg/ 
https://nestcoin.com/
https://zuri.team/.


**_References:_**
1. geeksforgeeks.org
How to rename a Rails app
Tags: rails, ruby
Published: 2022-03-03 09:55:50

Article originally published here : https://www.bootrails.com/blog/how-to-rename-a-rails-app/

Here are the instructions to rename an existing Rails app. Nothing really risky, it should be a set-and-forget thing.


## How the Rails your app name was defined

First, the name of your Rails app comes from the "rails new myapp" command. In this example, "myapp" is the name of your Rails app.

 - It creates a folder named "myapp" and put all the default files and directories inside,
 - The main module of the application (under config/application.rb) is named "Myapp" (beware of the first capitalized letter)
 - Some files contains the word "myapp" - like package.json, but I won't list all files here, it depends on what version of Rails and what options you passed to the "rails new" command. Just use the "search and replace" command of your editor.

## You will rename occurrences at least 3 times

 - rename the top folder,
 - rename the module under config/application.rb
 - do a find all/replace all for all the remaining occurrences.

Warning, if the original name was too generic, like "rails" or "app", there could be occurrences that do not concern your app's name.

Pay extra attention to the case. Ruby is case-sensitive, so don't go too fast when replacing occurrences.

## Conclusion

Renaming a Rails app is not an anxious task. Just take time to change occurrences with care, it will work seamlessly.

And, of course, after that, run your test suite ;)
How to handle both API and Basic authentication in Laravel
Tags: laravel, auth, webdev, php
Published: 2022-03-03 09:55:42

While building your app in Laravel PHP Framework, you have multiple ways of protecting your API routes with various auth guards or Basic auth. Would it be nice to support both API guard and Basic auth at the same time?

In default Laravel app you can protect your API routes like this:

```php
// routes/api.php

use Illuminate\Support\Facades\Route;

Route::middleware('auth:api')->group(function (): void {
	// PROTECTED ROUTES
});
```

Or using Basic auth:

```php
// routes/api.php

use Illuminate\Support\Facades\Route;

Route::middleware('auth.basic')->group(function (): void {
	// PROTECTED ROUTES
});
```

But it's not possible to guard your routes with both of them. E.g., if there's no provided Bearer token use the Basic auth. To accomplish this we need to make some adjustments to the default `Authenticate` middleware which is provided in the `app/Http/Middleware` directory. Here's how I achieved that:

```php
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Auth\AuthenticationException;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Auth\Middleware\Authenticate as Middleware;

class Authenticate extends Middleware
{
	/**
	 * Handle an incoming request.
	 */
	public function handle($request, Closure $next, ...$guards): Response
	{
		try {
			$this->authenticate($request, $guards);
		} catch (AuthenticationException $e) {
			if (!$request->wantsJson()) {
				throw $e;
			}

			if ($response = $this->auth->onceBasic()) {
				return $response;
			}
		}

		return $next($request);
	}
}
```

First, we catch the `AuthenticationException` which is thrown by the parent `authenticate()` method. That means that every provided guard (or a default one) didn't produce a valid user.

Now we can try to do a Basic auth but only if the client expects a JSON response (we don't want to try Basic auth in a normal web context because it would pop-up the Basic auth prompt box on every browser request).

Take note that `onceBasic()` method returns `null` if the provided Basic auth credentials are valid. If not, it returns an already formed Error Response bag which you can safely return from the middleware.

Now we're able to authenticate our users on API routes with both API guard and fallback Basic auth by simply using a default `auth` middleware.

Thank you for reading this! If you've found this interesting, consider leaving a :heart:, :unicorn: , and of course, share and comment on your thoughts!

Lloyds is available for partnerships and open for new projects. If you want to know more about us, [check us out](https://lloyds-digital.com).

Also, don’t forget to follow us on [Instagram](https://instagram.com/lloyds.digital) and [Facebook](https://facebook.com/lloydsdigital)!
Can NodeJS be used for Mobile App Development
Published: 2022-03-03 09:48:57

Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. Node.js can be used in the development of mobile applications. 

Some of the most popular applications that are built using Node.js include Netflix, PayPal, Walmart, eBay and Trello.

The framework is available with many plugins and extensions that can provide excellent functionality to the web pages making it efficient, fast and reliable. Node.js has a collection of libraries using which you can build mobile apps to run on Android and iOS platforms.

The advantages of using Node.js for mobile development include:
• Reuse same code across multiple devices
• Easily make changes in the existing code
• Fast processing power and speed
• Scalable to a large extent

I hope the post offers a clear perspective that Node.JS can be used to develop a mobile app. 

So, get started with the Node.JS based mobile app development by hiring a dedicated node.js developer from a trusted mobile app development company like **WebClues Infotech.**
Download AWS S3 Bucket
Tags: aws, webdev, cloud, s3
Published: 2022-03-03 09:46:59

An Amazon S3 bucket is a public cloud storage resource available in Amazon Web Services’ (AWS) Simple Storage Service (S3), an object storage offering. Amazon S3 buckets, which are similar to file folders, store objects, which consist of data and its descriptive metadata. AWS recently released their Command Line Tools, which work much like boto and can be installed using. Now, you can download AWS s3 bucket folder or files.

## Install AWS Cli
```ssh
sudo easy_install awscli

or

sudo pip install awscli
```

## Download and install AWS CLI in your machine

- Install the AWS CLI using the [MSI Installer (Windows)](http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-msi-on-windows).
- Install the AWS CLI using the [Bundled Installer for Linux, OS X, or Unix](http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-bundle-other-os).
- Configure AWS CLI

Once installed the AWS CLI, you can then simply run the following commands to download AWS S3 bucket folders and files.
```ssh
aws s3 sync s3://<source_bucket> <local_destination>
```

For example: aws s3 sync s3://mybucket will download all the objects in mybucket to the current directory.

**You can also download a folder recursively in AWS S3 Bucket**
```ssh
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
```
This will instruct the CLI to download all files and folder keys recursively within the PATH/TO/FOLDER directory within the BUCKETNAME bucket.

You can also read more about [Downloading an Object AWS S3(Simple Storage Service)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html).

Please like share and give positive feedback to motivate me to write more.

For more tutorials please [visit my website](https://www.w3courses.org/tutorials/).

Thanks:)
Happy Coding:)