teleren/devto huggingface dataset:
The 3 Plugins You'll Ever Need For Your Terminal
Tags: productivity, programming, tooling, opensource
Published: 2022-03-26 18:59:08

Maximizing the tools you are already using (or adding new ones) is all we're about! 🚀

Before we start we all need to have `zsh` installed.

What is `zsh` you ask? 

> ZSH, also called the Z shell, is an extended version of the Bourne Shell (sh), with plenty of new features, and support for plugins and themes. Since it’s based on the same shell as Bash, ZSH has many of the same features, and switching over is a breeze.

- Install zsh with brew ([Homebrew](https://brew.sh/)):
```zsh
brew install zsh
```

- Install `oh-my-zsh` (framework for managing your zsh configuration):

```zsh
sh -c "$(curl -fsSL
https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/
master/tools/install.sh)"
```

Hopefully, everything went well and you're seeing this screen now:
![oh my zsh screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4b6cl3yl9kn7x5nimje.png)
 
---

### Now, the plugins 🔥


## [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)

![zsh-autosuggestions preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8td0nyb3ymoesbcgchf1.png)
 

- Clone this repository:

```zsh
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```

- Add the plugin to the list of plugins for `Oh My Zsh` to load **(inside `~/.zshrc`)**:

```sh
plugins=( 
# other plugins...
zsh-autosuggestions
)
```

- Close the terminal and start a new terminal session, to see the plugin in action ⚡️

---

## [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)

Some examples:

Before:![Before](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/73pus16ds6y44e51l2z4.png)

After:![After](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gi09b2m471fvuwnk6j9y.png)
 

1. Clone this repository in oh-my-zsh's plugins directory:

    ```zsh
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    ```

2. Activate the plugin in `~/.zshrc`:

    ```zsh
    plugins=( 
    # other plugins...
    zsh-autosuggestions
    zsh-syntax-highlighting
    )
    ```

3. Restart zsh ⚡️

---

## [spaceship-prompt](https://github.com/spaceship-prompt/spaceship-prompt)

![spaceship-prompt preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pnkg4jgeq8kmmaarqr3y.gif)


- Clone this repo:

```zsh
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
```


- Symlink `spaceship.zsh-theme` to your oh-my-zsh custom themes directory:

```zsh
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
```

- Set `ZSH_THEME="spaceship"` in your `.zshrc`.

**That's it!** You're all set now 🦾
Debug multiple bugs with vsCode without losing breakpoints
Published: 2022-03-26 18:58:22

Sometimes a bug is so stubborn, you have to put it on hold and do something else.
So, if you're using vsCode to debug your issue, you're going to lose those breakpoints if you start debugging something else.

And that's where my new vsCode extension come into the picture.

It lets you have as many breakpoint flows as you want, while allowing you to seamlessly switch between them, with all their info like location, expression, messages, etc. You could even track them with your favorite source control tools such as git.

The extension is live on vsCode marketplace, you can install it by typing the following into the command palette:

`ext install OmarDulaimi.breakpoint-bookmarks`

Or by searching for it from the Extensions menu: `Breakpoint Bookmarks`

Contributions are welcomed :)

Repo: https://github.com/omar-dulaimi/breakpoint-bookmarks
Extension page: https://marketplace.visualstudio.com/items?itemName=OmarDulaimi.breakpoint-bookmarks


![How extension works](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvyyhdu3gshtoost6uv0.gif)
Programming job and a BSc.
Tags: discuss, programming, beginners, career
Published: 2022-03-26 18:50:06

Welcome to this week's article peeps 👋, we would be talking about "that" degree, getting a job in tech and being a self-taught programmer. First of, what's "that" degree?
That degree is basically Computer Science. Now, you might be wondering how on earth I can give a piece of advice on this when I haven't gone to college and haven't had real work experience. Well in this article, I would be talking about all that, let's get started!

## <u>🎓 How importaant is a BSc?:</u>

If you thought I was going to talk about a computer science degree being useless, you are wrong. As opposed to some notions, a degree is important and also a person's choice.

A computer science degree, despite being just a cardboard, is an important part of a developers journey. One very important aspect of every developers journey is networking, network with the right people and everything else could and would fall in place. A second thing is that no knowledge is useless (*except if it's Java 🤣, jk*), and would help you at one point or the other. Finally, a degree gives you a little perk when applying for jobs later on...

## <u>❔ Should you get one?</u>

It's a matter of choice, a degree won't usually help you when it comes to getting jobs (mostly US) but can help secure connections. I would still advise getting a degree. Period.

So you are a self-taught developer, you want to get a job and establish yourself in tech, technical writing and open source would help you better than a degree in that regard. Speaking from personal experience, I have never applied for a job in my life but receive job offers from referrals on a consistent basis. It's not really about age, so don't berate yourself for being too young or being too old. It's also not about a degree (*really*), but more about your mindset and skillset, developing your personal skillset as a developer is another entire topic.

The world is changing rapidly, and you shouldn't allow job requirements to scare you. Ask the seniors in tech, those requirements don't really stand when you apply for a job, but also remember that failure and rejection would happen. *Fail fast, fail often, fail forward*. One more thing, personally I am not going to college, wether for a computer science degree or other.

---

That's another week gone, writing huge content has been hard for me nowadays as I have a lot on my hands. Still planning to allocate more time for that, this post is blown wide open for comments and discussions. Would love to chat with you peeps in the comments, and remember, **fail fast, fail often, fail forward**, you would only learn one more way to not fail. See you guys next week 👋.
Curso grátis de Spring Boot
Tags: java, webdev, tutorial, programming
Published: 2022-03-26 18:47:23

 Neste curso criaremos uma aplicação completa utilizando Java, Spring Boot, JSF Primefaces e MySQL.

O código fonte está disponível no github https://github.com/feltex/academicnet

Nesta série de vídeos mostraremos como criar uma aplicação de controle de Alunos utilizando Java. Veja abaixo a lista de tecnologias e ferramentas que abordaremos:

Java 11
Spring Boot
MySQL
Rest API
Postman
Tests de Integração da API
Github
JSF - PrimeFaces
Docker
Deploy na AWS


## 01 - SPRING BOOT uma aplicação completa - Criando o projeto
{% embed https://www.youtube.com/embed/WKL_BrUfe9Q %}

## 02 - SPRING BOOT uma aplicação completa - Fazendo o CRUD
{% embed https://www.youtube.com/embed/MUkgmIULElE %}

## 03 - SPRING BOOT uma aplicação completa - usando o Postman
{% embed https://www.youtube.com/embed/tWGi_QKdGHo %}

## 04 - SPRING BOOT uma aplicação completa - Vamos usar o Mysql
{% embed https://www.youtube.com/embed/qHpjK3wNjxs %}

## 05 - SPRING BOOT uma aplicação completa - Utilizando o primefaces
{% embed https://www.youtube.com/embed/GHQX3H_hfyw %}

## 06 - SPRING BOOT uma aplicação completa - Testes automáticos
{% embed https://www.youtube.com/embed/SBvKXe2pk8w %}

## 07 - SPRING BOOT uma aplicação completa - como usar Docker
{% embed https://www.youtube.com/embed/KynRfzk23Jc %}

## 08 - SPRING BOOT uma aplicação completa | Deploy na Amazon Web Services
{% embed https://www.youtube.com/embed/qRBw_XKU8CE %}
My Journey in Finding A CMS
Tags: webdev, cms, headless, nextjs
Published: 2022-03-26 18:33:13

##I need a CMS that is easy for me to integrate, simple for a user to use and doesn't make me jump through hoops to modify.

As the year (2021) approaches its close, I have been looking at all the upcoming projects I have. Quite a few involve building sites. 

I have pretty much settled on [Nextjs](https://nextjs.org) for the frontend, it's the other side that's giving me concerns. I would like to get these sites up and running as quickly and **efficiently** as possible.

## Use A Site Builder or Preexisting Template
The thought has absolutely crossed my mind...

Sure, I could use something like Editor X, Webflow or WordPress. But it all boils down to customisation. These sites are going to be custom - very custom, looks that can't be achieved with a site builder.

Great as these tools may be, they will not offer me what I aim to achieve.

## So, Why Nextjs?
There are a number of options when it comes to choosing a frontend. Nextjs just makes more sense to me because:
- **React**: Nextjs is basically React but a tier higher, I can achieve more with the former than the later.
- **Gatsby**: A friend tried to put me on Gatsby. I tried it, I didn't like how it handles things. 
- **Vue**: I am too far down my coding journey to try and start learning another framework
- **Svelte**: See before
- **Pure HTML/CSS**: I'm crazy, but not that crazy. I have done this before, but not this time.
- **Astro**: I still need to do some looking into Astro. I like what  [Chris Bongers](https://hashnode.com/@dailydevtips)  has accomplished with it.
- **Angular**: We do not talk about Angular on this blog.

I have chosen Next because:
- Like their website says 'The Framework for production'
- I am hoping to maybe possibly get a chance to work with Vercel


## So Why This Post?
With all that out of the way, let's get back to the reason for this post. Whilst Nextjs may have the frontend covered, I need something as efficient to handle the content and data of the sites.

So, in the coming weeks, I will be looking at several options, documenting what I learn and how well it suits my needs. I will be scoring the backend options based on:
1. Ease of use
2. How well data can be queried
3. Ease of integration with Next
4. Time taken to production
5. Support/Community
6. Ease of deployment

The contenders so far are as follows:
- Sanity
- Strapi
- Payload CMS
- WordPress CMS
- Contentful
- GraphCMS


I will be creating the same type of site to see which does it best. 

Also, if you have a backend option you think I should look at, please tell me. I will gladly give it a try.


>This post will be updated as we go

---
>**Update 29 October 2021**: Added 'Contenful' and 'GraphCMS' to the list. I think I'll stop at six. Added 'Time to production' ranking.

---
### Thank you for reading, let's connect!
Thank you for visiting this little corner of mine. Let's connect on [**Twitter**](https://twitter.com/Psypher1) and [**LinkedIn**](https://www.linkedin.com/in/jamesmidzi/)
Don't Sweat The Small Stuff
Tags: webdev, firebase, react, newbie
Published: 2022-03-26 18:18:51

## Great Example

---


Great example on what not to do.


![firebase name creation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ry5iob0kdja99n3drexh.png)

I found myself stuck on this when creating a firebase auth account. Im sure you get stuck here too.

This question was asked, what would you like to Project public-facing name to be? Please enter a project name: 

Mind you it also says, that whatever you choose will be shown publicly. Like when you signup to MailChimp and they send you an Authentication Email to verifiy accounts. But what if this project is to act as part of my portfolio. What then? Firebase or your momma cant help you here.

So I spent 22min staring at this 1 problem like a deer stuck looking at a cars headlights. 

So many questions arised instantly after:

What if I wanted to change it?

How hard would it be to switch or rename?

Is it really this important to have a good name?

Why is this so hard?! 

---


## LMAO

---

It isnt. 

I realized that my end goal is to complete a sustainable MVP, good enough to show the neccessary skillz needed for recuiters and potential clients to see. So does it REALLY matter if its JUST a portfolio product demo?

Then this happens:


![wrecking ball against a wall](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ya9386pnh26jakdbi1wt.jpg)

Thats right! I made a break through. 

Why not call it ` portfolio-product-demo ` or better yet ` Portfolio Product Demo `

Even better why not K.I.S.S. ( Keep It Super Simple )

So I decided on JasonCruz.Dev Sign-Up Confirmation

---

## I know what your thinking..

---

Could it have been that easy!? YES! It could have.. But since this is my first real use-case application on Firebase, you can imagine how stuck someone can get when anything new appears.

FYI: When writing this blog post, I literally didnt have a friggin clue what to name it. But I persisted. As I start blogging this post for the purpose of helping others decide and figure out what not to do and in the mist of it all, discovered what name I will be using. 


![world dominiation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7b4uhiyzw6ye87wvjhl.jpg)

Thanks Dev.To for your continue support! One day when I become big and strong, I'll be making a blog app for my own blogs and others! Plus I already have an idea on what it will look like! I can not wait! 

So heres to you newbie developers! Cheers!

---
What is BDD?
Tags: softwaretesting, qa, bdd, programming
Published: 2022-03-26 18:21:06

---
title: What is BDD?
published: true
date: 2022-03-26 18:13:00 UTC
tags: #softwaretesting #qa #bdd #programming
canonical_url: https://blog.seancoughlin.me/what-is-bdd
---

## BDD Tl;dr

[BDD](https://en.wikipedia.org/wiki/Behavior-driven_development) or behavior-driven development puts developers in the seat of business owners, forcing them to think about how their code creates value.

## What is BDD?

BDD requires that units of software should be defined in terms of the desired behavior. Often the desired behavior is related to some business value requirement. BDD is a common practice in the agile development process.

BDD focuses more on defining how software should function. Behavior-driven development emerged from test-driven development which is more focused on testing code.

## The Rules of BDD

BDD often follows one of two formats. The **"given-when-then"** format or the **"as a** blank **I want** blank **so that** blank. **"** For example,

- **Given** a user has properly filled out the form **when** they click the finish button **then** they should see a thank you message.
- **As a** data analyst, **I want** form validation **so that** bad values don't make it to the database.

A popular way of implementing BDD using programming is through testing with [Cucumber](https://en.wikipedia.org/wiki/Cucumber_(software)) and [Gherkin](https://en.wikipedia.org/wiki/Cucumber_(software)#Gherkin_language).

## Pros of Behavior-Driven Development

- BDD is defined through simple one-sentence outlines of behavior making it easy to understand.
- BDD **"given-when-then"** and **"as a** blank **I want** blank **so that** blank **"** formats are non-technical so they can reach a large audience.
- Behavior-driven development creates a common language for developers, testers, and business owners.

## Cons of Behavior-Driven Development

- Requirements in BDD have to be specific enough that developers can implement them.
- Automated testing of behaviors with the BDD framework can require additional maintenance.

## Further Reading

BDD is closely related to [ATDD](https://en.wikipedia.org/wiki/Acceptance_test%E2%80%93driven_development) or acceptance test-driven development and [TDD](https://en.wikipedia.org/wiki/Test-driven_development) or test-driven development.

You can read more about many [types of software testing with this series](https://blog.seancoughlin.me/series/software-testing).
Hello, my name is Adrian Grimm!
Tags: introductions, code, coding
Published: 2022-03-26 17:45:44

---
title: Hello, my name is Adrian Grimm!
published: true
description: Introducing myself to the dev.to community
tags: introductions, code, coding
cover_image: https://i.imgur.com/ESX0evl.jpg
---

I've been a member here for a few years, but I haven't done much writing. This introduction is my first step in a new, focused direction.
I've been writing front-end code for about three years. I had been taking classes in Database Administration. I also took a class on HTML and CSS, followed by a JavaScript course. I enjoyed these classes so much that I realized this was what I wanted to do.
Finally! After years of searching, I was able to find my direction. When I say finally, I mean I've worn many hats. I was a professional chef with a degree from Johnson & Wales University. Then I earned the title of United States Marine. Leaving active duty, I found employment as a Correctional Officer. Currently, I work as a senior tech support agent helping with alarm systems.
I completed the front-end developer program and continued my learning journey. Expanding on what I had learned, I went more in-depth with React. I added Gatsby and crafted a website for a small Swedish band that has become my pride and joy. Imagine how happy I was to find #VetsWhoCode, where I could start learning in earnest.
I have a voracious thirst for knowledge and am always looking to learn. While expanding my skills, I hope to have more free time to dive into Ruby and Ruby on Rails, among others.
Life isn't only about writing code, and when I'm not at my desk, I'm spending time with my wife, kids, and cats. I love Star Wars (recently finished reading the Thrawn Trilogy!) and Colts football, and I work so much better listening to music!
So hit me up on Twitter as [@usmcamgrimm](https://twitter.com/usmcamgrimm) and check out my GitHub as [usmcamgrimm](https://github.com/usmcamgrimm) and let's talk!
Move zeroes
Tags: javascript, leetcode, beginners, algorithms
Published: 2022-03-26 17:38:47

Leetcode problem : https://leetcode.com/problems/move-zeroes/

**Brute force solution**:

We can solve this question using two for loops.

1. Initialize a variable (say count) equal to 0.
2. Start a for loop from 0 to array.length
3. If we come across a non-zero element,
     + Insert the current element to index = count of the array.
     + Increment count.
4. Start the second loop from count to array.length
5. In the body, keep inserting 0 to each current location as it iterates.
6. Return array

{% embed https://gist.github.com/vnay-dev/3e98c972dd8f6e036af2695057014767 %}

**Optimized solution** :

1. Initialize a variable (say count) equal to 0.
2. Start a for loop from 0 to array.length
3. If we come across a non-zero element,
    + Swap the current element with the element at index = count of the array.
    + Increment count.
4. Return array

{% embed https://gist.github.com/vnay-dev/d081c3388d4365112750b60cbf241f10 %}
C++ foundation | Maxsus belgilar
Tags: cpp, uzbek, beginners, foundation
Published: 2022-03-26 17:33:33

 
### C++ da **string** va maxsus belgilar! 

***1)*** `\` - *escape character*. Bu belgi orqali string *(tekst)* ichida maxsus komandalar yoki belgilar yozish uchun ishlatiladi.

string ichida yozish mumkin bo'lmagan ba'zi belgilar mavjud. Msilo uchun *"Men qat'iy qaror qildim"* deb chop etish uchun C++ da *"Men "qat'iy" qaror qabul qildim"* deb yozish xatolik beradi. Bunga sabab string ichida tutiq belgisi ishlatilsa(**'**) belgisi ishlatisa, string tugaganini anglatadi.
Shuning uchun bunday ta'qiqlangan belgilarni yozish uchun `\` ishlatiladi.

***2)*** `\` belgisini o'zini chop etish uchun nima qilamiz!?
- `\\` ikta slash qilib yozamiz shunda 

*Misol uchun:*
```cpp
#include <iostream>
using namespace std;
int main()
{
    cout << "Slash \\ chiqaramiz" << endl;
    return 0;
}

-----natijasi----- Slash \ chiqaramiz

```

***3)*** `\t` - **Tab**
 - `\t` - vazifasi stringda yoki ishlayotgan qatoringizda oddiy *space*dan ko'ra kattaroq *space* joy ajratib beradi (4 bo'sh katak miqdorida)

*Misol uchun:*

```cpp
#include <iostream>
using namespace std;
int main()
{
    cout << "Bo'sh\t katak" << endl;
    return 0;
}

-----natijasi----- Bo'sh    katak

```
***4)*** `//` **iktalik slash**
 - **Kommentariyalar**(izohlar)


*Kommentariya*- siz yozgan qatordagi code nima vazifani yoki natijani berishi haqida izoh beriladi!
Kompilyator kommentariyada ko'rinadigan hamma narsani e'tiborsiz qoldiradi, shuning uchun bu ma'lumotlarning hech birini natijasini chiqarmaydi!
  - **Iktalik slash** `//` bilan boshlangan kommentariya(izoh) bir qatorli kommentariya(izoh) deyiladi. Chiziqlar kompilyatorga satr oxirigacha keyingi barcha narsalarni e'tiborsiz qoldirishni aytadi.

*Misol uchun:*
```cpp
#include <iostream>
using namespace std;
int main()
{
    int a = 3;
    int b = 4;
    c = a * b;
    cout << "c" = c; //Bu ifoda orqali a va b ni ko'paytmasini *console* ga chiqaradi
  
    return 0;
}

-----natijasi----- c = 12 
e'tibor bergan bo'lsangiz ekranga ikki slash ichidagi izohni console ga chiqarmadi

```

> Eslatma! mishka orqali o'zingizga kerakli bo'lgan kodelarni belgilab `ctrl`+`/` birgalikda bosib shu belgilaganlaringizni hammasini kommentariyaga olsa bo'ladi


*Misol uchun:*

![Belgilangan qatorlarni kommentariyaga olish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/osupwwdarhh5ovbjko58.png)

#### Berilgan ma'lumotlar foydali bo'lgan bo'lsa biz hursandmiz! Alhamdulillah
DECK with svelte 🔥
Tags: webdev, svelte, laravel, php
Published: 2022-03-26 17:28:08

Initially, **DECK V3**, which started as a Proof of Concept, was only dependent on **Electron JS**. Then we decided to move the codebase with **Svelte**. So here are some hurdles and achievements that can be interesting to share with you all. 

## Hurdles without  framework 😮‍💨

- Too risky for a small or one-person team

- Struggle a lot to maintain code for a vast application

- Struggle to communicate with a UI framework

- Structure the code which can be flexible to understand for future developers

## Achievements with Svelte 🤗

- Outstanding performance with less code 

- Control over components

- Flexible and structured code

- Way easy for beginners to start on it

- No more struggle with a UI framework compatibility

- Great community support

Apart from the above points, we loved the way **Svelte** is built, and the intention of the framework is precisely matched with **DECK**. We needed a lightweight, less code, fast performance, easy to write JS framework on top of **Electron JS**.

We love writing svelte. If you have faced any of these hurdles, give a try to [Svelte](https://svelte.dev/).

[Get DECK today](https://get-deck.com/) 💕.

_If you find this article helpful please share and follow us on [Twitter](https://twitter.com/deckdevstudio)._