teleren/devto huggingface dataset:
Hacking together a web-scraping enrollment app
Tags: atlashackathon, javascript, vue, webdev
Published: 2022-01-01 15:23:45

### Overview of My Submission

If you're a university student / have ever been to uni, you know how cumbersome enrollment can be. You need to look for a class, find the profs, find out how good they are and their average GPA - all this takes time!

So, this app aims to sort professors by rating and GPA trend for any course in this semester or the upcoming one/(s) at my uni - and all _you_ need to do is look up course :smile:

![App Demo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xjwqu0z2vu68zf42wx5d.gif)


### Submission Category

Choose Your Own Adventure

### Link to Code

{% github https://github.com/nandanv2702/unitrack %}

### Additional Resources / Info

Here's some of the tools I used
- [MongoDB Atlas](https://www.mongodb.com/atlas/database)
- [NuxtJS](https://nuxtjs.org) - a [VueJS](https://vuejs.org) framework
- [ChakraUI](https://vue.chakra-ui.com/input) - an accessibility-oriented component library
Its Dark: A Dark VSCode Theme
Tags: vscode, themes, productivity, webdev
Published: 2022-01-01 15:20:15

---
title: Its Dark: A Dark VSCode Theme
published: true
description: An elegant dark theme for VSCode
tags: #vscode #themes #productivity #webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9n0m9gnwpf4f83ft9qew.png
---

[![Its Dark Theme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ei1905r9nm5dityos0t.png)](https://marketplace.visualstudio.com/items?itemName=iamismiledev.its-dark)

From the day I have started to use VSCode several themes are used by me. Among all of those most used ones are Just Black & Snazzy Operator. [Its Dark](https://marketplace.visualstudio.com/items?itemName=iamismiledev.its-dark) is based on these themes with some changes. Some screenshots are given below to check how its look like. For best view and feel install and start to use it.

👩‍💻 JavaScript
![Its Dark (JavaScript)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2lnuzulekgb2o036fs7a.png)

👩‍💻 TypeScript
![Its Dark (TypeScript)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z6euri6d4z9p0pk47lh3.png)

👩‍💻 HTML
![Its Dark (HTML)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n2nzvqzlmw5wjuqkojgh.png)

👩‍💻 CSS
![Its Dark (CSS)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4vv9tbuools2cw4mocj.png)

👋 Hope you're gonna enjoy this theme.🙂
What is new in React Router V6?
Tags: react, javascript, v6
Published: 2022-01-01 15:18:19

Do you know that the most popular library to manage your React application navigation has a new version? React Router is the most popular library to manage your React application navigation and the new version 6 brings with it very interesting novelties.

Version 6 brings the component **Routes**, which is basically the replacement of the old **Switch** component. The idea, according to the documentation, is to make it easier for an application to be seen as different independent parts, each of them living within a path.

It also brings the new **Outlet **component, that is used in the case in which we want to take the route declaration to a single place but we want to define a “layout” for each group of routes.

Another significant change is that even if you were able in previous versions of React Router to define routes as objects, this way of declaring routes is already 100% integrated into React Router V6 through the **useRoutes** hook.

Last but not least this new version of React Router is integrated with the React Suspense API, this means that the **useNavigate **hook replaces the **useHistory **hook for those moments in which we absolutely need to navigate through the application (for example, after sending a form).

As you can see, this new version of React Router brings quite captivating news. The new versions of this library usually break old features, that's why the way we structure and define the routes of our application will change significantly. In my concept, the most important change is the introduction of seeing route sets as mini-applications.
Update! Script Auto Installer V2ray Di VPS Ubuntu, Websocket + TLS + CDN
Tags: tutorial, linux, ubuntu
Published: 2022-01-01 15:05:25


Saya akan bagikan tutorial serta [script auto installer v2ray di VPS Ubuntu](https://www.calonbos.net/script-auto-installer-v2ray-di-vps/), tapi sebelumnya saya rekomendasikan kalian untuk membaca artikel saya yang berjudul [beli vps indonesia murah gratis saldo](https://www.calonbos.net/membuat-vps-sendiri/) sebagai refrensi saja atau bisa digunakan untuk belajar tentang vps buat kalian yang memang masih pemula.

Buat kalian yang bejualan vpn wajib coba script auto installer v2ray ini, karena dari tingkat kestabilan dalam tunelling vpn ini cukup bagus jika kita bandingkan dengan vpn ssh premium.

…kita langsung saja ke tutorialnya

## _Script Auto Installer V2ray Di VPS Ubuntu_

Sebelum melakukan installer v2ray di vps, kalian harus punya domain yang sudah terhubung ke cloudflare (sebagai cdn) syarat lain yang harus kalian penuhi adalah, vps belum terinstall apapun (fresh vps)

###1. Remote IP VPS
Silahkan remote dan login ke akun vps kalian menggunakan putty, juice, termius atau semacamnya

###2. Lakukan update dan Upgrade
Biar script auto installer v2ray berjalan lancar, sebaiknya lakukan update dan upgrade terlebih dahulu. Untuk printahnya kalian bisa gunakan dibawah ini

`sudo apt update && apt upgrade -y`

###3. Install Curl
Gunakan printah dibawah ini untuk melakukan instalasi curl, ini berfungsi untuk melakukan command pada protokol http atau https

`sudo apt install curl -y`

###4. Install V2ray Dengan Panel X-UI
Untuk script auto installer v2ray silahkan gunakan perintah dibawah ini, selain script dibawah ini kalian juga bisa mencari script auto installer di forum github yang bebas kalian gunakan secara gratis

[Lanjutkan Membaca...](https://www.calonbos.net/script-auto-installer-v2ray-di-vps/)
Demystifying working of a JavaScript program!
Tags: javascript, programming, webdev
Published: 2022-01-01 14:21:47

Learning a  new programming language can be fun if we know how things are going underneath the hood. In this article we will see how things work around when it comes to execution of a JavaScript Program!
Well you might have heard that everything in JavaScript happens or takes place inside an execution context. Now what exactly is this execution context?? Well, to put it in simple terms we can say execution context is like a container that mainly contains two components viz Memory Component and Code Execution Component.

Basically, execution of a program takes place in two phases, 
1.Creation Phase
2.Code Execution Phase

We will try to understand these phases with an example.
Consider the below code ,

```
var firstName='Shrushti';
var surname='Polekar';
function getFullName(firstName,surname){
  const name=firstName+" "+surname;
  return name;
}
var candidateFullName=getFullName(firstName,surname);
console.log(candidateFullName);
```

**Step 1: Creation Phase**
First of all a global execution context is created.
In this phase memory will be allocated to variables firstName and surname with a placeholder of undefined. The function  getFullName will also get memory allocated with the actual block of code as placeholder.

![execution context](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/halqid2so6rarb5ew87q.JPG)

**Step 2: Code execution phase**
In this phase the compiler will start executing the code line by line. The variables firstName and surname will be assigned the actual values ie Shrushti and Polekar. Now as soon as the compiler encounters the function call getFullName, a new execution context will be created and the again the same procedure will be repeated of memory allocation. 

![execution context](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wj7n9mb4sdm96g4o3zcr.JPG)
The function will perform the operation written in its block and return the string value. Thus the variable candidateFullName will get assigned the value -Shrushti Polekar.
After this the execution context will get discarded and remaining code will continue to execute. Finally the global execution context will also get discarded.

Thus like this the execution contexts are created , executed and discarded untill the global execution context is not finally discarded. 
 
This was all about working of a JavaScript Code!!! 
Happy Coding!
What Language Should I learn for Cyber Crime Job?
Published: 2022-01-01 14:52:32

Well, in just a few simple steps, you can be learning a new language that is making the world safer by your hands! Keep reading and I will show you how. If you want to become a cyber security specialist, then there's no better way than to learn programming languages like Python and C++. The reason why these two are the most popular choices is because they are easily understandable to beginners while also having many useful [API](https://jbbatteryfrance.com/)s in order to keep up with new developments in technology.
The difference between get, find, query (React Testing Library).
Tags: react, reacttestinglibrary, javascript, testing
Published: 2022-01-01 19:46:14

---
title: The difference between get, find, query (React Testing Library).
published: true
date: 2022-01-01 14:48:53 UTC
tags: react,reacttestinglibrary,javascript,testing
canonical_url: 
---

Choosing a suitable query type while working with React Testing Library.

![](https://cdn-images-1.medium.com/max/500/1*Bg_nX5M7EWctOBUJFT1BqQ.jpeg)

### Intro

React Testing Library (RTL) gives developers methods to find elements on the component it rendered for testing, these methods are called queries. There are 3 main types of RTL query types namely get, find and query.

In this guide we’ll be looking at the differences and tips to note while working with any of these query types.

### get

- getBy : returns the matching node, however will throw an error if **multiple** matches or **no** matches are found.
- getAllBy : returns an array of matching nodes if **at least one** match is found and throws an error if **no** match is found.

**Tip**  : Use these methods if you expect the element / elements to be present upon query.

### query

- queryBy : returns the matching node if one match is found and null if no match is found, however will throw an error if **multiple** matches are found.
- queryAllBy : returns an array of matching nodes if **at least one** match is found and an empty array if **no** match is found.

**Tip**  : Use these methods if you are looking to confirm presence of an element / elements.

### find

- findBy : returns a promise that returns the matching node, however will throw an error if **multiple** matches or **no** matches are found.
- findAllBy : returns a promise that returns an array of matching nodes if **at least one** match is found and throws an error if **no** match is found.

**Tip**  : Use these methods if the element / elements being queried might display asynchronously (for example, if your element is expected to only display after an event is fired consider using find as it retries the query after some time).

For more information on the queries check out the [React Testing Library](https://testing-library.com/docs/queries/about/#types-of-queries) docs. I’ll appreciate feedback :).

Good luck coding!
Iya Elepo App Part 6
Tags: blazor, csharp, radzen
Published: 2022-01-01 14:41:09

In this video, I conclude the customization of add customer page and I customize the edit customer page.

{% youtube 6ppv3BDl0jk %}


Source code and database files can be found at {% github benjaminsqlserver/IyaElepoAppLessonSix %}
My 2022 Goals
Tags: productivity, challenge, javascript
Published: 2022-01-01 14:40:57

Hi all,

First of all i wish an happy new year to all dev community. And because it's a new year it's also the time to fix some goals objective for the year. 

My goals are :

1-Launch my personal blog and post regularly. (plan : one post by month)

2-Regulary post here 

3-After 13 years playing with C++ and java, I'll start this year to learn JavaScript and hope to be able to start my side project in javaScript quickly.

4- like a lot of people improve my english

Not big things for majority of you ,but for me, it's a new chalenge that start this year. 

And you what are your key goals?

Thanks for reading.
A.I Project Code Language
Published: 2022-01-01 14:36:08

When it comes to coding, there are two main types of languages: script language and designed language (programming language). There are also hybrid code languages that bridge the gap between the two.

A.I Project is written in C++ designed programming language, which means the code is read like English sentences with symbols added to tell a computer what to do. A "[script](https://www.jbbatterygermany.com/)" is similar in the way names are used: when a person needs to say something, they might say my name is Tom, but if they wanted to write it on paper, they would write down -TOM as the first symbol of each word.

The C++ programming language used for A.I. Project is capable of doing many things that are currently not possible using most other programming languages.
Creating a new branch and switching to it with just one command
Tags: git, opensource, protip
Published: 2022-02-05 11:28:42

---
title: Creating a new branch and switching to it with just one command
published: true
date: 2022-01-01 14:34:20 UTC
tags: git,opensource,protip
canonical_url: https://jtemporal.com/creating-a-new-branch-and-switching-to-it-with-only-one-command/
---

Every time you create a new branch in Git you need to switch to that branch before committing. In this pro tip I’ll show you my favorite shortcut to create a branch and switch to it, all at the same time.

## Traditional ways to create a branch

In Git, it is possible to create a branch and switch to it using the following command sequence:

```
git branch branch-1
git checkout branch-1

```

As you can see in the image below:

![image showing the result of the commands git branch and git checkout](https://res.cloudinary.com/jesstemporal/image/upload/v1643316044/git-atalhos/git-chekout-branch-fig1_wtfkds.png)

Or even with the following sequence:

```
git branch branch-2
git switch branch-2

```

Also visible in the image bellow:

![image showing the result of the commands git branch and git switch](https://res.cloudinary.com/jesstemporal/image/upload/v1643316044/git-atalhos/git-switch-branch-fig2_ipahho.png)

## Shortcuts to create branches and switch branches at the same time

There’s nothing wrong with these two sequences of commands shown earlier, but there are two shortcuts to get the same result using just one command. The first using `git checkout` followed by the `-b` flag:

```
git checkout -b branch-3

```

You can see the similar result to the one shown in the first example of this blog post:

![image showing the result of the command git checkout -b branch-3](https://res.cloudinary.com/jesstemporal/image/upload/v1643317261/git-atalhos/git-checkout-b-fig3_qengsz.png)

And if you prefer using the command `git switch` we have the following shortcut using the `-c` flag:

```
git switch -c branch-4

```

Also with a similar result to what we saw previously:

![image showing the result of the command git switch -c branch-4](https://res.cloudinary.com/jesstemporal/image/upload/v1643317261/git-atalhos/git-switch-c-fig4_xqijaw.png)

## GitFichas

Below you’ll find [two GitFichas to help you remember these shortcuts](https://gitfichas.com):

[
 ![GitFicha #014: git checkout -b name](https://res.cloudinary.com/jesstemporal/image/upload/v1642878596/gitfichas/en/014/full_tatfxp.jpg)
](https://gitfichas.com/en/014?utm_source=blog)

[
 ![GitFicha #035: git switch -c name](https://res.cloudinary.com/jesstemporal/image/upload/v1642878600/gitfichas/en/035/full_krt83d.jpg)
](https://gitfichas.com/en/035?utm_source=blog)

Now you know two shortcuts to create a branch and change to it with _only one command_.
Criando um novo branch e mudando pra ele com apenas um comando
Tags: git, português, colinha
Published: 2022-01-02 11:32:38

---
title: Criando um novo branch e mudando pra ele com apenas um comando
published: true
date: 2022-01-01 14:34:20 UTC
tags: git,português,colinha
canonical_url: https://jtemporal.com/criando-um-novo-branch-e-mudando-pra-ele-com-um-comando/
---

Toda vez que você cria um branch novo no Git você precisa mudar para esse branch antes de faz um commit. Nessa colinha eu vou te mostrar o meu atalho favorito para criar um branch e mudar para ele tudo ao mesmo tempo.

## Formas tradicionais de criar um branch

No Git é possível criar um branch. E mudar para ele usando a sequência de comandos a seguir:

```
git branch ramo-1
git checkout ramo-1

```

Como você pode ver na imagem abaixo:

![imagem mostrando o resultado dos comandos git branch e git checkout](https://res.cloudinary.com/jesstemporal/image/upload/v1641056637/git-atalhos/criando-e-mudando-de-branch-fig-1_i8r9uw.png)

Ou até mesmo a sequência a seguir:

```
git branch ramo-2
git switch ramo-2

```

Também visível na imagem abaixo:

![imagem mostrando o resultado dos comandos git branch e git switch](https://res.cloudinary.com/jesstemporal/image/upload/v1641056637/git-atalhos/criando-e-mudando-de-branch-fig-2_ypy9u5.png)

## Atalhos para criar branches e trocar de branch ao mesmo tempo

Não tem nada errado com essas duas sequências de comandos mostrados anteriormente, mas existem dois atalhos para obter o mesmo resultado usando apenas um comando. O primeiro usando o `git checkout` seguido da _flag_ `-b`:

```
git checkout -b ramo-3

```

Que você pode ver o resultado semelhante aquele mostrado no primeiro exemplo dessa colinha:

![imagem mostrando o resultado do comando git checkout -b ramo-3](https://res.cloudinary.com/jesstemporal/image/upload/v1641056638/git-atalhos/criando-e-mudando-de-branch-fig-3_gg7i9l.png)

E se você preferir usar o comando `git switch` temos o seguinte atalho usando a _flag_ `-c`:

```
git switch -c ramo-4

```

Também com resultado semelhante ao que vimos anteriormente:

![imagem mostrando o resultado do comando git switch -c ramo-4](https://res.cloudinary.com/jesstemporal/image/upload/v1641056638/git-atalhos/criando-e-mudando-de-branch-fig-4_uolxpk.png)

## GitFichas

Abaixo você encontra [duas GitFichas pra te ajudar a lembrar desses atalhos](https://gitfichas.com):

[
 ![GitFicha #014: git checkout -b nome](https://gitfichas.com/assets/img/projects/014/full.jpg)
](https://gitfichas.com/projects/014)

[
 ![GitFicha #035: git switch -c nome](https://gitfichas.com/assets/img/projects/035/full.jpg)
](https://gitfichas.com/projects/035)

Agora você sabe dois atalhos para criar um branch e mudar pra ele. Qual desses você vai adotar?
227. Basic Calculator II
Tags: java, algorithms, 100daysofcode, programming
Published: 2022-01-01 14:34:12

# [Description](https://leetcode.com/problems/basic-calculator-ii/)

Given a string `s` which represents an expression, *evaluate this expression and return its value*.

The integer division should truncate toward zero.

You may assume that the given expression is always valid. All intermediate results will be in the range of `[-231, 231 - 1]`.

<aside>
💡 **Note:** You are not allowed to use any built-in function which evaluates strings as mathematical expressions, such as `eval()`.

</aside>

## Example 1:

```
Input: s = "3+2*2"
Output: 7
```

## Example 2:

```
Input: s = " 3/2 "
Output: 1
```

## Example 3:

```
Input: s = " 3+5 / 2 "
Output: 5
```

## Constraints:

- `1 <= s.length <= 3 * 105`
- `s` consists of integers and operators `('+', '-', '*', '/')` separated by some number of spaces.
- `s` represents **a valid expression**.
- All the integers in the expression are non-negative integers in the range `[0, 231 - 1]`.
- The answer is **guaranteed** to fit in a **32-bit integer**.

---

# Solutions

## Solution 1

### Intuition

use a variety to store last operation, if found last operation is `*` or `/` pop it and calculate it with current value;

### Code

```java
import java.util.Stack;

/*
 * @lc app=leetcode id=227 lang=java
 *
 * [227] Basic Calculator II
 */

// @lc code=start
class Solution {
    public int calculate(String s) {
        Stack<Integer> stack = new Stack<>();

        int current = 0;
        char lastOperation = '+';
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (Character.isDigit(c)) {
                current = current * 10 + c - '0';
            }
            if (!Character.isDigit(c) && !Character.isWhitespace(c) || i == s.length() - 1) {
                switch (lastOperation) {
                    case '+':
                        stack.push(current);
                        break;
                    case '-':
                        stack.push(-current);
                        break;
                    case '*':
                        stack.push(stack.pop() * current);
                        break;
                    case '/':
                        stack.push(stack.pop() / current);
                        break;
                }
                lastOperation = c;
                current = 0;
            }

        }

        int sum = 0;
        for (Integer integer : stack) {
            sum += integer;
        }
        return sum;
    }
}
// @lc code=end
```

### Complexity

- Time: O(n)
- Space: O(n)

---

## Solution 2

### Intuition

### Code

```java

```

### Complexity

- Time:
- Space:

---

# Similar Questions