teleren/devto huggingface dataset:
Installing Flutter on MacOS
Tags: flutter, macbook, installation
Published: 2022-02-06 18:51:40

Hi Everyone!
Flutter is a cross-platform software development kit by Google. It is one of the burning topic of the Internet. So to get started with it we need to install the sdk and all other dependencies correctly for it to run on our laptop successfully.
Here is a very short article explaining how to install Flutter on your MacBook with seven easy steps. 

Step-1: Install Flutter SDK from its [official website](https://docs.flutter.dev/get-started/install/macos).
OR
You can download the [zip file](https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_2.10.0-stable.zip) from here.

---

Step-2: Save the zip file to your desired location or preferably to Documents. Mark the path to this location(to be used on later steps).

---

Step-3: Open Terminal (CMD+Space and search Terminal)
Type ` ls ` and check if 'Documents' folder is showing.
If not showing then type ` cd ~ ` to go to home directory.

---

Step-4: Unzip the file using any file archiver utility like [WinRAR](https://www.win-rar.com/download.html?&L=0)
OR
Use follow these sub-steps to unzip using terminal

   1--> 

```
cd Documents
```
   2--> 

```
unzip ~/Downloads/flutter_macos_2.10.0-stable.zip
```

---

Step-5: Adding flutter to path (temporarily).
   

```
export PATH="$PATH:`pwd`/flutter/bin"
```
Run `flutter doctor` command to ensure flutter is working.

After you close the terminal then you won't be able to use flutter commands through terminal again. So we need to add flutter tools to path permanently.

---

Step-6: Adding flutter tool to path (permanently). This step is bit complicated, so be careful.

Run ` pwd ` on the terminal and copy the path and save it somewhere.

Then run ` echo $0 ` to which shell you are using.

  If you are getting ~zsh then follow these steps:

  - `vim ~/.zshrc` Run this command to open vim editor

  - ` export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin" `
 Write this command on vim editor.
 Here replace _[PATH_OF_FLUTTER_GIT_DIRECTORY]_ with the path that you got by running the `pwd` command earlier

  - Press **ESC** 

  - Type `:wq` and press **Enter** 
        
 
 If you are using ~bash then follow these steps:
  

  - `touch ~/.bash_profile; open ~/.bash_profile` This opens TextEdit File.

  - ` export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"`
 Type this command on and replace _[PATH_OF_FLUTTER_GIT_DIRECTORY]_ with the path that you got by running the `pwd` command earlier

  - Save the file

---

Step-7: Run this command to confirm that the path is added successfully.

```
flutter doctor 
```

You can visit the [Official Flutter Installation](https://docs.flutter.dev/get-started/install/macos) documentation for MacOS installation guide.
If you have any query then contact me through [LinkedIn](https://www.linkedin.com/in/lalit-k-2001/).
Understanding React Props
Published: 2022-02-06 18:34:17

Functional components can accept arguments, similar to JavaScript functions. These arguments are called **<u>props</u>**, and represent an object.

For example, we can use <u>props</u> in our Hello component:

```
function Hello(props) {
  return <p>Hello, {<u>props</u>.name}!</p>
}
```
Now, we can add a **name** attribute to our element:

```
const el = <Hello name="David" />;
```

The attribute value will be passed to the component when rendered.

> An element can have multiple custom attributes, which will be passed to the component using the **<u>props</u>** object. You can use any custom names for your attributes.

## **Components using Components**

Components can use other components to generate an output.

**For example:**

```
function App() {
  return <div>
    <Hello name="David" />
    <Hello name="James" />
    <Hello name="Amy" />
   </div>:
}
```
Here, our **App** component uses the **Hello** component three times, each time with a new **name** attribute.

> Generally, it is a good practice to split complex components into multiple smaller components, that are reusable.

## **Props in Class Components**

Props can be accessed in class components using **this.<u>props.</u>**

**For example:**

```
class Hello extends React.Component {
  render() {
     return <p>Hello, {this.<u>props</u>.name}!</P>;
 }
}

```
An important thing to consider is that <u>props</u> are read-only, meaning components cannot modify their <u>props.</u>

## **An Example**

Now that we know how to create components and pass the data, let's create a shopping list.

Each item in our list will have a **name** and a **price.**

**For example:**

```
<Item name="Cheese" price="9.87" />
```

The **Item** component will render a simple div element with the data:

```
function Item(props) {
  return <div className="item">
   <b>Name:</b> {props.name} <br />
   <b>Price:</b> {props.price}
   </div>;
}
```

Now we can use our component and create multiple items for our shopping list:

```
<Item name="Cheese" price="9.87" />
<Item name="Bread" price="2.5" />
<Item name="Ice cream" price="24" />
```
Shamshir: Github Actions to attach a label to pull requests based on the number of approvals
Tags: github, javascript, node, productivity
Published: 2022-02-06 18:07:27

---
title: Shamshir: Github Actions to attach a label to pull requests based on the number of approvals

published: true
description: 
tags: #github #javascript #node #productivity
//cover_image: ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v0lc0b1oh9mimt3y2pn5.png)
---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0fruckqntafmtcvxs6u.png)

# Introduction
Shamshir is a Github Action to attach a label to pull requests based on the number of approvals. 

You would find it useful if your team's git repository is run under some conventions that requires 2 or more approvals from members to let a pull request merged or release.

Shamshir will make it easy to find out which pull request can be "releasable" by attaching a label to each pull request based on the number of approvals.

It is designed to be run both on stand-alone server and on Github Actions. 

https://github.com/kyagi/shamshir

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bzmr9fnozhn9vx60lumi.png)
What is Web 3.00
Tags: web3, webdev, blockchain, programming
Published: 2022-02-06 17:46:25

First, we need to know that is web1.
Web 1.00 is when a worldwide web-based application is born.At this time user can only read and the user did not any interaction. 1991 to 2004 is the time of web 0.1.

Then web 2.00 comes and the user can write, read, and can interact with another user, Payment system is included. data is centralized means user data will control only some organizations like google, Facebook. They are using our data so we can many suggestions by theirs. That is also unethical. 

So now the world tech roller thinks what is important. The important thing is data centralization means data privacy. User can only control their data, and users can sell their personal data and earn a percentage of money. 
Dabo company controls all things. And Dabo is an Opensource platform. Anyone can buy a stack holder membership. And need to spacial money for by this membership, this currency is cryptocurrency. 
Maximum  Feature is extending from web 2.00. But some main revolutionary feature is everything is controlled from one server. like when the Facebook server is down. Users can not use Facebook. but in web3 everything is controlled from in one server. Google, Facebook does not be used users. Because every data is decentralized. And BLOCKCHAIN is this company that is used for data decentralization. And also have more interesting features.

One of the biggest things meta base is called virtual reality. In 1992 miles Stephenson writes a snow crash drama. Metaverse concepts came from this drama. You can go office using metaverse technology. Facebook already working within a project that is called horizon world. Canadian 18 years old anyone using this. Another example is a sandbox.  Facebook CEO mark zukar barg says metaverse is next of the internet. 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/st606v6prw294302gmmq.jpg)
The BEST programming language to learn in 2022
Tags: beginners, programing, best, language
Published: 2022-02-06 17:44:56

We've all been there! Starting out, it's hard to know what's what with programming languages. And there's so much hype around this language or that, and it makes it seem like the language you are not learning has all the greatest features and will let you build 10x faster with no bugs. I'm hoping I can give some perspective on the 'why' behind all these programming languages.

##There are so many languages, how do computers understand it all?
There is really only one language that matters, machine code. I am referring to binary, 0's and 1's, that a microprocessor computer chip utilizes to perform an action. That is the only thing computers really understand. But it isn't realistic to write out these 1's and 0's by hand. Instead researchers figured out a way to have functions that convert to binary.
 
This first layer between binary and programming language is called assembly and it is still very abstract to the programming languages you are probably used to. The next step of this evolution is what we consider "low level" programming languages. C++ for example is considered low level because it is closer to assembly than something like Objective-C or JavaScript.

These high level languages have to be translated from a function like 

```
print("hello world") 
```

to 

```
mov  dx, msg      ; the address of or message in dx
mov  ah, 9        ; ah=9 - "print string" sub-function
int  0x21         ; call dos services

mov  ah, 0x4c     ; "terminate program" sub-function
int  0x21         ; call dos services

msg  db 'Hello, World!', 0x0d, 0x0a, '$'   ; $-terminated message
```

and it would further break down to something like this

```
b8    21 0a 00 00   
a3    0c 10 00 06  
b8    6f 72 6c 64  
a3    08 10 00 06  
b8    6f 2c 20 57   
a3    04 10 00 06   
b8    48 65 6c 6c  
a3    00 10 00 06   
b9    00 10 00 06   
ba    10 00 00 00   
bb    01 00 00 00   
b8    04 00 00 00   
cd    80            
b8    01 00 00 00   
cd    80           
```

All of this to illustrate the fact that there is no 'best language' overall. Just depends what you want to build. 

###You will get a lot better at programming if you spend more time coding than trying to optimize your learning, so try not to get hung up on the "best"
 
##The Answer
It doesn't matter what language you learn, because it all gets converted to binary machine code anyway by the compiler or interpreter. My advice is to **pick one language and stick with it as long as you can**. It is very tempting to try new languages but syntax changes will only get in the way of gaining a deeper understanding of software architecture. 

Lately though, JavaScript is becoming very popular because of new frameworks and compilers that allow you to write JavaScript and it gets converted to something else (see React Native for an example).

If you **DO** have an idea of what you want to build, here is my opinion of where to start

Building websites - JavaScript / PHP
Building Web Apps - React
Building iOS Mobile Apps - Swift
Building Android Apps - Java
Building Back End - Java / Spring
What is Cyberchondria?
Tags: mental, health
Published: 2022-02-06 17:23:07

Today, many people experience and struggle with a condition called Cyberchondria. Although it does not seem like a disease, **Cyberchondria**, a modern health problem that negatively affects human psychology, is constantly increasing.

Cyberchondria, about the diseases that individuals believe exist; It is the situation of trying to find information and documents on the internet, trying to find a treatment method and believing that he can make a certain diagnosis. It can also be called a kind of disease disease. Even if people do not have any health problems, they can experience this situation and try to reach a conclusion in line with the findings they do not have. While this situation causes many problems and wrong results, it also causes a lot of problems on the psychology of the person.

## Who Gets Cyberchondria?

This syndrome is a problem experienced by people who are obsessed with their health, overly apprehensive and skeptical. The freedom to do research for free by using the internet and to do it comfortably while hiding one's identity is attractive to people, and as a result, the situation of Cyberchondria emerges.

Now, with the transfer of all information to the virtual environment and the active sharing of content by numerous sites and platforms, many types of virtual media addictions have emerged. **Cyberchondria** disease is seen as one of them.


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

## How Does Cyberchondria Disease Cause Negative Effects?

This disorder affects the person negatively in many respects and reduces the quality of life. First of all, people who have this problem spend almost all their time with this anxiety and doubt. This causes unnecessary waste of time and an unproductive standard of living. In addition, there are communities of false or distorted information as well as correct information on the Internet. For this reason, while people think that they are doing research, they can actually be exposed to many misleading information pollution. Thus, they can wear themselves out by having wrong ideas and delay going to the doctor because they think they are protecting their own diagnosis. As a result of all these, even if the person has a health problem, the diagnosis and treatment that is actually required is delayed and the health of the person is endangered due to the self-diagnosis and treatment.


This article was originally published on [diyetcepte](https://diyetcepte.net), keep visiting it for regular updates.

Thanks for reading through! 🤗
Callback function vs Higher Order Function
Tags: webdev, beginners, tutorial, react
Published: 2022-02-06 17:14:48

A higher-Order function is a very common and advanced concept in javascript. Actually, the function is like a first-class citizen in javascript. because a function can be stored inside a variable and take argument do the logical expression. So we can say, the callback function is which function takes a function an as argument and the argument function is called a callback function. Programmer can be using this callback function where he needed.

```javascript
const heigherOrderfunction = (nms,callback) => {
   return callback(nms);
}
function callback(x){
return 'player name is'+x;
}
console.log(heigherOrderfunction ("Rose", callback))
```
Configuring a camelCase to snake_case parser with Axios
Published: 2022-02-06 16:26:56

If you work on a project in which the frontend and backend are developed in different languages, there is a high probability that you will have values with different namin conventions traveling through HTTP requests.
In this short article I will show you a strategy so that you can maintain the naming convention of the values according to the programming language you are using and thus maintain a standardized code style in your applications.

### Configuring the parser on the Frontend

First of all, you need to install axios and a library called humps in your project:

```bash
yarn add axios humps @types/humps
```

That done, you can configure the axios interceptors as follows:

```ts
import axios, { AxiosResponse, AxiosRequestConfig } from 'axios';

import { camelizeKeys, decamelizeKeys } from 'humps';

const api = axios.create({
  baseURL: 'localhost:3000'
});

// Axios middleware to convert all api responses to camelCase
api.interceptors.response.use((response: AxiosResponse) => {
  if (
    response.data &&
    response.headers['content-type'] === 'application/json'
  ) {
    response.data = camelizeKeys(response.data);
  }

  return response;
});

// Axios middleware to convert all api requests to snake_case
api.interceptors.request.use((config: AxiosRequestConfig) => {
  const newConfig = { ...config };
  newConfig.url = `api/${config.url}`;

  if (newConfig.headers['Content-Type'] === 'multipart/form-data')
    return newConfig;

  if (config.params) {
    newConfig.params = decamelizeKeys(config.params);
  }

  if (config.data) {
    newConfig.data = decamelizeKeys(config.data);
  }

  return newConfig;
});

export default api;
```

Note that in the code above, some validations are made to check whether the intercepted call should be converted or not. You can add as many validations as you need.

With the little code above, you have a parser that manages to maintain the style pattern in the frontend and backend of your applications.

It is also worth mentioning that humps also has functions to convert PascalCase values 😎.

I hope this small tutorial can help you with your projects! Thanks for reading!

-----

*If I helped you with this post, consider to buy me a coffee on Ko-Fi* 🙂

[![ko-fi](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0iksxv1nvytpo8uper1g.png)](https://ko-fi.com/S6S0ADLCR)
Best Apps for Learning Coding 
Tags: beginners, programming, tutorial
Published: 2022-02-06 16:26:02

Hi Guys . Welcome To My Another Blog.
<h1>Top Apps Where You Can Learn !!</h1>
Here are some best apps where you can learn:--

## 
<U>1. Programming Hub </u>

![A pie chart showing 40% responded "Yes", 50% responded "No" and 10% responded "Not sure" ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/psdtwsp8oa6zitt7idhc.jpg)
From My Personal experience . Programming Hub is a platform where you can learn Python, HTML, C++, Javascript, java, and a ton more.  This app has over 118,000+ reviews with ratings of 4.8/5 stars on the Google Play Store and has an Editors' Choice badge. 
In this app, you can learn from the best courses and also track your skills.

## 
<u>2.Mimo</u>

![ A pie chart showing 40% responded "Yes", 50% responded "No" and 10% responded "Not sure"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hjxu5yemgdpttikw98f8.jpg)
 Mimo, on this platform/app, you can learn android development, web designing, web development, and much more stuff. This platform is really amazing. It will help you make projects that are real-life projects. which helps you in an interview.
In this app, you can learn various languages like HTML, CSS, javascript, react, node.js, PHP, Java, MongoDB, c#, etc.
<u>3. Solo Learn</u>

![A pie chart showing 40% responded "Yes", 50% responded "No" and 10% responded "Not sure"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aqfsgqg5p6q71jt6djmr.jpg)
Solo Learn is a must check, This app will help you to learn from beginner to advance level. This also offers you coding lessons, courses, and quizzes. Which can help you practice.
In this app, you can learn many languages like HTML, CSS, javascript, python, PHP, c#, kotlin, java, and many more. So you see web development, android development all covered!!
<u>4. Grasshopper</u>

![A pie chart showing 40% responded "Yes", 50% responded "No" and 10% responded "Not sure"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5e1zn1h8vs2bgyo4nxzk.jpg)
Grasshopper is the best way to learn to code for beginners. With fun, quick lessons on your phone or desktop, Grasshopper teaches adult learners to write real JavaScript. It’s currently available free of charge on Desktop, Android, and iOS. Grasshopper is a Code with Google program.
<u>5.programming Hero</u>

![A pie chart showing 40% responded "Yes", 50% responded "No" and 10% responded "Not sure" ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47ie8rwo25w5bdz94o5t.jpg)
Programming hero is a platform for learning code it is number #1. This app also won the best tech code startup. This platform offers you learning from scratch. It provides quizzes which help you revise. so must check
In this app, you can learn various languages with courses like HTML, CSS, javascript, react, node.js, PHP, Java, MongoDB, c#, kotlin, flutter, and many more.

Thanks for reading my post. Hope you Like my post. Please like Share.
Getting Started with Anvil for Python
Tags: anvil, python, beginners
Published: 2022-02-06 16:21:46

**Anvil** is a runtime for Python code. What makes it special is that it helps you create browser based applications with just Python code. No HTML, no JavaScript, just Python.

The best thing is that Anvil is an open source project, so you can get started for free. 

Even better, you can sign up at [anvil.works](https://bas.surf/get-anvil) for free, too. The hosted Anvil version gives you an in-browser IDE.

## Installing the Open-Source Version Locally

1. Install Java. Anvils runtime server needs to run a Java JAR. You can [download Java](https://bas.surf/get-java) directly from Oracle.

2. Install the [Open Source Version of Anvil](https://bas.surf/get-anvil-oss) with pip:
```
pip install anvil-app-server
```

3. If you want to use Anvil's plotting functions, which depend on the `plotly` package, install this with pip
```
pip install plotly
```

### Testing the first app

Once you have installed Anvil and its dependencies, you can create an example app based on the `todo-list` template which comes bundled with your Anvil installation:
```
create-anvil-app todo-list MyTwitterStats
```

You can start the Anvil server with

```
anvil-app-server --app MyTwitterStats
```

Then head over to [localhost:3030](http://localhost:3030).

It should display a Todo-App in your browser. If that's the case, you have successfully installed Anvil and ran your first app.

*Note* that the open source version is just capable of running Anvil apps. The hosted service offers you a browser-based development environment on top.

## Using the Hosted Anvil Service

If you want to use the in-browser IDE of Anvil, you have to sign up for their service on [anvil.works](https://bas.surf/get-anvil).


![Anvil Drag and Drop Editor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65b6zzw0jc835ydwuu2e.gif)

This gives you an easy to use drag-and-drop editor for your UI as well as a full-featured IDE for your code. Technically, the runtime is the same as the open source edition.

*Note* that the free version of anvil.works comes with some limitations. For example, usage of the `azure` packages, the standard library's `lxml`, and `gzip` are restricted. 
However, the Paid Plan of Anvil does not impose these restrictions, plus you can work around these restrictions by providing your own [uplink Python runtime](https://anvil.works/docs/uplink).
Uma jornada até o primeiro emprego com Java. 
Published: 2022-02-06 16:02:23

Olá! Me chamo Vitor Silva de Souza. Analista de suporte do Mercado Livre, na Bahia. 

Há alguns meses decidi que iria migrar da área de suporte e iria em busca da minha primeira vaga de emprego como Dev, desde então tenho transitado entre diversas linguagens e não me aprofundei em nenhuma mas decidi que este ciclo se encerraria e finalmente eu iria deixar de ser uma pessoa que estuda pouquíssimas coisas sobre um assunto e logo está pulando para o próximo.  

Postarei sobre meu progresso com Java e outras tecnologias que um Dev back-end deve saber. Atualmente faço parte do programa de formação Certified Tech Developer da Digital House + Mercado Livre. Um programa que busca formar pessoas na área de desenvolvimento. Deixarei a grade do curso no final da página para quem tiver interesse. No momento estou no segundo semestre e já desenvolvi alguns pequenos projetos com tecnologias variadas. 


Ah, e por sinal, estou em busca do meu primeiro emprego como Dev back-end Java. A jornada é longa. 


Se você leu até aqui serei eternamente grato. No final das contas o que quero é compartilhar meu progresso para que seja algo mais palpável para mim. 


Obrigado e vamos nessa. 


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