teleren/devto huggingface dataset:
Software Requirements Engineering
Tags: softwarerequirementengineering, softwareengineering, programming
Published: 2022-08-11 22:28:00

Software Requirement is the process of describing the features and functionalities of the
targeted system. Software Requirements give us a clear picture of the targeted system 
i.e. **what the expectation of the customer for his/her product requirements can be obvious or hidden
known and unknown expected and unexpected according to the client's point of view**. 

Example: (Online Law Firm Android App) is a Real-Time Cloud-Based android application that will provide judicial assistance to society. We aim to help people solve their Judicial
problems and guide them by providing the best possible solution. Another goal of the application is to bring all the interested parties on a single platform. Notification-based alerts
to notify all the parties. Our system will help the Laws and find new cases. The system will have a communication system through which users can communicate with each other. Our system will have a rating system through which the client will rate the users.

## What is Software Requirement
Software Requirement is a Condition and Capability that must be possessed by a system
according to some standards.
Example:
▪ Login Functionality of Online Law Firm Android App.
▪ Admin of the system can suspend and delete any accounts.
▪ Users of the system can delete any contact.
▪ Clients can submit /her Case in our system

## Why Software Requirement Engineering is Important 
Software requirement engineering is a very important phase of the software development process or simply Software development life cycle (SDLC). This phase is used to translate the unclear and incomplete idea of the customer into complete precise and formal specification this document is very must important and act as a bridge between the Customer, User, and Developers. Therefore, the importance of software requirement engineering is very much important for the development of effective and efficient software products.

## Complete Book of Software Requirements Engineering 
You can download the complete software requirements engineering book from given below URL
https://www.amazon.com/dp/B0B94VRT2Y
C# file nesting in VSCODE
Tags: vscode, csharp, dotnet, editor
Published: 2022-08-11 20:06:32

Partial classes | Interface/Implementation
--- | ---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4hizx1kw906iz163lrde.gif) | ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/089bm17kih8qbwd7fzav.gif)

 > I know, I know it's been a while since I wrote. This one is worth reading!

1. Press `CMD+,` (or `CTRL+,` for the poor 😎) to open VSCODE settings window. 

2. Type *nesting* in the search bar at the top, then find `Explorer > File Nesting: Patterns` tab as shown in the picture.

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

3. Add those two items at the end that is highlighted in the picture.

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


Now 2 things happen: 
1) you partial classes nest under main class. 
2) you implementations nest under interfaces if they are in the same folder.  

#### Partial classes
{% youtube SyWK59vvteg %}

#### Interfaces
{% youtube H0c4Nb73lvQ %}

© [Ilmhub](https://ilmhub.uz)
TIDBIT: Array of Key-Value pairs from FormData
Tags: javascript, webdev, html, showdev
Published: 2022-08-11 22:18:03

I just came across a case where I needed to turn some form data into an array of key value pairs, where the key is the `input` name.

```html
<!DOCTYPE html>
<html>
<body>

<form>
  <label for="first">First name</label>
  <input type="text" name="first"/>
  <label for="last">Last name</label>
  <input type="text" name="last"/>
  <label for="age">Age</label>
  <input type="number" name="age"/>
  <button type="button" id="btn">Click</button>
</form>

<script>
document.querySelector("#btn").addEventListener('click', () => {
  const inputs = new FormData(document.querySelector("form"));
  const entries = Object.fromEntries(inputs);
  const options = Object.entries(entries).map(([key, value]) => ({ key, value }));
  console.log(options);
/**
[
    {
        "key": "first",
        "value": ""
    },
    {
        "key": "last",
        "value": ""
    },
    {
        "key": "age",
        "value": ""
    }
]
*/
})
</script>
</body>
</html>
```

**Note:** this won't work for multi-select
Discussion and Comment of the Week - v14
Tags: bestofdev
Published: 2022-08-11 21:47:25

This weekly roundup highlights what we believe to be the most thoughtful and/or interesting discussion of the week. We're also be highlighting one particularly cool comment in each installment. 🙌

The DEV Community is particularly special because of the kind and thoughtful discussions happening between community members. As such, we want to encourage folks to participate in discussions and reward those who are initiating or taking part in conversations across the community. After all, a community is made possible by the people interacting inside it.

## Discussion of the Week

This week's winner goes to @manthanbhatt for the brilliant conversation starter "[What things you do for starting new project?](https://dev.to/manthanbhatt/what-things-you-do-for-starting-new-project-4k7o)"

{% embed https://dev.to/manthanbhatt/what-things-you-do-for-starting-new-project-4k7o %}

It's super interesting hearing about the different approaches people take when starting up and planning a new project. You can learn a whole lot from following someone else's template and getting into someone else's creative mindset.

But aside from coming up with a great prompt, props to @manthanbhatt for responding to each and every commenter on their post in an engaged, courteous way; that kinda kindness is commendable. 👏 

Annnnd, this comment + GIF combo totally cracked me up 😆:

{% embed https://dev.to/manthanbhatt/comment/20ojk %}

## Comment of the Week

This one is going to @sherrydays for the hilariously deadpan response to @ben's most recent "[Meme Monday!! 🐘](https://dev.to/ben/meme-monday-23m)"

{% embed https://dev.to/sherrydays/comment/20nej  %}

Is it a copout for me to reward Comment of the Week to someone for dropping a hilarious meme? Maybe... but this one really _really_ got me. 😂 Seeing the typical office chair so boringly parked in front of a desk & computer really puts that "fast-paced and exciting environment" line into perspective.

## What are your picks?

There's loads of great discussions and comments floating about in this community. These are just a few we chose to highlight. 🙂

I urge you all to share your favorite comment and/or discussion of the past week below in the comments. And if you're up for it, give the author an @mention — it'll probably make 'em feel good. 💚
Social cards with tailwind css
Tags: codepen, tailwindcss, html, css
Published: 2022-08-11 21:36:00

<p>Card system designed in a minimalist design and pleasing to the eye, oriented towards social networks and interaction between users, do not hesitate to mix it with your own creation system, so you can achieve wonderful challenges in its interface.</p>

**Components available in the figma community** 👇

https://www.figma.com/community/file/1053662658988158424

{% codepen https://codepen.io/frankuxui/pen/xxXgBxZ %}

Share my work if you like it. ❤ ❤ ❤
Why Devs Break Up with Their Bosses w/ Oliver Wyman's Carolyn Vo
Tags: leadership, podcast, devops, management
Published: 2022-08-11 21:16:27

Everyone who manages a team would like to think that their employees admire them as individuals and as leaders. That you make an impact on those employees while they work under you and long after you end up moving to new companies and opportunities.

One such engineering leader who has mastered the mix of manager, friend and mentor is Carolyn Vo. A Partner and Head of Engineering at Oliver Wyman, Carolyn is one of engineering’s leading advocates on the benefits of creating a culture of approachability, tinkering and healthy levity.

In fact, in our conversation, Carolyn makes a strong argument that without honing the art of approachable management, not only does productivity suffer, but engineers are consistently looking for the door.

One of our liveliest pods to date, we hope you can absorb Carolyn’s insights and energy no matter where you are on your leadership journey.

{% spotify spotify:episode:1QrMYzFMHzE2FQLhGbIzcf %}

## Episode Highlights Include:
* (4:49) Retention isn't important, it's critical
* (7:26) Why asking engineers "Are you happy?" is a garbage question
* (12:13) Misconceptions about what makes engineers happy
* (20:13) Dan & Carolyn's best Easter egg stories
* (29:52) Flat hierarchy culture
* (39:38) How to break the ice with your engineers

## [You’re invited to Interact on October 25th!](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog)

*Want to know how engineers at Slack and Stripe connect their dev teams’ work to the business bottom line? Or how team leads at Shopify and CircleCI keep elite cycle time while minimizing dev burnout and maximizing retention?*

*These are just two of the topics we’ll tackle at [Interact](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog) on October 25th.* 

*A* ***free, virtual, community-driven engineering leadership conference,*** *[Interact](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog) is a one-day event featuring over 25 of the most respected minds in development, all selected by the thousands of engineering leaders in the Dev Interrupted community.* 

## [Register now!](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog)


![Register now!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9xpvwbw5xfawom98qga.jpg)
Custom v-model with Vue.js: Update
Tags: vue, javascript
Published: 2022-08-11 20:25:00

A while back, in 2019, I wrote an article demonstrating how to create a custom Vue component, and handle the `v-model` capabilities:

https://dev.to/valentinprgnd/wrap-a-text-field-in-a-component-with-vue-js-gak

I recently discovered an alternative way to do it, which does not require a watcher, thus making the code much faster and less resource heavy.

The original post suggested this method: 

```vue
<template>
  <div class="custom-input">
    <input v-model="localValue" placeholder="Enter your name">
  </div>
</template>

<script>
export default {
  name: "TextField",
  props: {
    value: String // 1. Receives the value as a prop
  },
  data() {
    return {
      localValue: ""
    };
  },
  created() {
    this.localValue = this.value; // 2. Copy the value in a local value variable

    // Set a watcher to emit the changes to the parent component
    this.$watch("localValue", value => {
      this.$emit("input", value);
    });
  }
};
</script>
```

While functional, the use of a watcher here can be really resource heavy (particularly if you create a lot of such components). 

A better approach would be to use a computed property, like so: 

```vue
<template>
  <div class="custom-input">
    <input v-model="localValue" placeholder="Enter your name">
  </div>
</template>

<script>
export default {
  name: "TextField",
  props: {
    value: String // 1. Receives the value as a prop
  },
  computed: {
    localValue: {
      get() {
        return this.value;
      },
      set(value) {
        this.$emit('input', value);
      }
  }
};
</script>
```

Not only it reduces the boilerplate code, but it also avoids the use of a watcher, making your component faster and less resource heavy 🎉
Confused with ?? & || in JS ?
Tags: javascript, webdev, react, angular
Published: 2022-08-11 20:20:00

Have you confused between `??` and `||` in javascript. Majority of the people think that both are same but both are not same. Purposes are different.

`||` is an OR operator and `??` is a nullish coalescing operator.

Whats the difference ?
### About ||
This is an OR operator. OR operator will check for operands and returns truthy operand if any of the operand is valid or truthy.

Here are the examples:

```javascript
true || false // true because first operand is true
1 || false // 1 because first operand is 1 i.e truthy
false || "Hello" // "Hello" because second operand is "Hello" i.e truthy
```

Looks good then what is the problem with `||` and why we need `??`.

Look at this snippet
```javascript
0 || 1 // 1 In javascript 0 is falsy value so || operator will ignore it.
"" || 1 // 1 because "" is empty string in JS empty string is falsy value.
```
But 0 is not a falsy value it is a number. Setting a variable to 0 dosen't mean that setting falsy value to variable. When there are no characters in a string we call it empty string. If a string dosen't have chars it dosen't mean its a falsy. 

With `||` we have this problem. Every time when we deal with the scenarios mentioned above we have to write extra conditions.

Example: 
From backend service we are receiving student marks. Assume for some students there are extra subjects for the students who don't have extra subjects API giving null or undefined value for those subjects. In frontend if the subject marks are null or undefined we have to show "NA". We can write like this

```javascript
Object.keys(marks).forEach(subject => {
 console.log(subject + " -> " + (marks[subject] || "NA")
})
```
But we have a problem with the above code what is subject marks or 0 ? 

We have to modify the code like this
```javascript
Object.keys(marks).forEach(subject => {
 console.log(subject + " -> " + (marks[subject] || marks[subject]) == 0 ? marks[subject] : "NA"))
})
```
So we now we have a solution for this problem in javascript to avoid these scenarios i.e nullish coalescing operator.

Nullish coalescing operator will check operands and gives non nullish value. Look in to the following snippet.

```javascript
0 ?? 1 // 0 
"" ?? 1 // ""
0 ?? null // 0
null ?? 1 // 1
```

As 0 and "" are not nullish values it will consider those.

#### What values are nullish ?

- `null`
- `undefined`



Cheers,
Happy coding !!
Paracetamol.js💊| #181: Explica este código JavaScript
Tags: javascript, webdev, spanish, programming
Published: 2022-08-11 19:48:34

## **<center>Explica este código JavaScript</center>**
#### <center>**Dificultad:** <mark>Básico</mark></center>

```js
String.prototype.concatName = function(name){
  return this + " " + name;
}

console.log("Hola".concatName("Juan"))
```

A. `Hola undefined`
B. `SyntaxisError, method concatName not exist`
C. `Hola Juan`
D. `ReferenceError`

Respuesta en el primer comentario.

---
AI in javascript
Tags: javascript, ai, machinelearning
Published: 2022-08-11 19:27:14

I was a python developer so of-course I learned AI machine learning and deep learning. After that I also had interest in Web development
so then I learns MERN stack  but now I started to enjoy Javascript and Typescript so I was wondering can I make machine learning models in Javascript?
After some time I found Tensorflow is also available on Javascript ie. Tensorflow js. Tensorflow is a well Known liabrary in AI.
Spending a good amount of time understanding Tensorflow from the core is a diffrent feeling. Then there is **Brain.js** liabrary.
by this i came across a lot of liabraries in Machine learning and AI

- Tensorflow js

- Brain.js

- ml5.js

So the language can be anything if you want to learn AI and execute it You can do it in probably any language easily.
Melhorando a perfomace de projetos PHP com Memcached
Tags: php, cache, performance
Published: 2022-08-11 19:26:00

O módulo Memcached fornece uma interface processual e orientada a objetos útil para o daemon de armazenamento em cache do memcached altamente eficaz, que foi especialmente projetado para diminuir a carga do banco de dados em aplicativos da Web dinâmicos.

O módulo Memcached também fornece um manipulador de sessão (memcache).


**Dicas de onde usar Memcached na sua aplicação?**
1. Dashboards
2. Listagens 
3. Consultas


O principal ponto do Memcached é que, ele diminui o tempo de resposta de suas páginas web, o que, em troca, melhora a experiência geral do cliente. Um melhor tempo de resposta permite que os usuários busquem dados perfeitamente.

Você pode verificar se já está instalado no seu servidor, através do phpinfo.

```php
<?php
phpinfo();
```

Caso não esteja instalado ainda, basta seguir os passos abaixo.

```sh
yum install memcached
systemctl enable memcached
```
OBS: O módulo Memcached 3.0.8 não funciona com o php 7 (ou superior).


Um exemplo de conexão, para verificar se o Memcached está funcionando adequadamente.
{% embed https://gist.github.com/xxdannilinxx/e9e709d0b24ded2fe29d09cd42e5eb1d %}


A partir do exemplo de conexão, você pode criar funções inteligentes para consumir o cache e preencher o cache com informações atualizadas. O objetivo é obter informações sem precisar consultar o banco de dados. Somente se as informações não estiverem cacheadas iremos consultar a banco de dados e após armazenar as informações em cache para as futuras consultas.
{% embed https://gist.github.com/xxdannilinxx/b64328bdf1a396cbad52fc01f80a5a56 %}


**Empresas que usam o Memcached**
[shopify.com](https://shopify.com)
[apple.com](https://apple.com)
[walmart.com](https://walmart.com)


Com o Memcached podemos arquitetar excelentes projetos com estruturas de cache em memória RAM utilizando diversos servidores. É recomendado salvar apenas as informações mais importantes.

**Fontes**
[php.net](https://php.net)
[memcached.org](https://memcached.org)
Announcing Fathym's integration with Plasmic
Tags: webdev, beginners, codenewbie, design
Published: 2022-08-11 19:19:00

We are excited to launch [our integration](https://www.plasmic.app/integrations) with Plasmic! 

Plasmic is a visual, no-code builder for any codebase and website. Fathym’s integration with Plasmic allows users to deploy and host Plasmic-built projects on Fathym in just a few clicks. 

What elevates Plasmic from other no-code builders is its open architecture, direct integration with codebases, and open deployment and hosting. In this way Plasmic operates as a headless, visual builder that generates code in next.js that plugs into your existing website or application codebase. 

What differentiates Fathym as an option for hosting your Plasmic-built projects is that Fathym deploys, hosts and integrates multiple repos and your favourite tech stacks, frameworks, static site generators and no-code builders (like Plasmic) together on one domain. 

This allows you to develop your site as a truly composable frontend, using the best frameworks, templates and tools for different sections of your frontend. Use Plasmic to allow non developers to rapidly build and iterate on your homepage, alongside static site generators like Gatsby and Docusaurus that give you a head start on your blog and docs. 


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


Deploying and hosting your Plasmic-generated GitHub repos on Fathym couldn’t be simpler:  

1. Sign up for a free Fathym account. 

2. After signup, authorize with your GitHub account and select which organization(s) to make available inside Fathym. 

3. Go to Add Project and Import from Git. 

4. Give your project a name and select the GitHub organization, repository and branch of your Plasmic project. 

5. Hit deploy and let Fathym handle the rest.  

To dig further into our integration with Plasmic, and to find out how you can host on Fathym through npm, [read more in our docs.](https://www.fathym.com/docs/guides/deploying/site-builders/plasmic-sites) Or [read our other blog about how great Plasmic is as a tool.](https://www.fathym.com/blog/articles/2022/august/2022-08-10-introducing-fathym-plasmic-integration)
dev.to/forem supported embed links
Tags: forem, tutorial, beginners
Published: 2022-08-11 19:01:23

I'm new to dev.to, and Forem communities.

I'm making this post to be able to find back the list of supported embed.

Here is an extract of the discussion ... by using embed feature.

{% embed https://dev.to/michaeltharrington/comment/20pko %}

{% embed https://dev.to/ccoveille/comment/20pol %}

{% embed https://dev.to/michaeltharrington/comment/20pp7 %}


*NB* as @michaeltharrington said, the list of embed post can be found on the right zone when writing a post.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5vgpzzlfa21dpaptnsqf.png)
 
More information here https://dev.to/p/editor_guide#liquidtags
VS Code Tip of the Week: Sticky Scroll
Tags: vscode, vscodetips
Published: 2022-08-11 18:19:00

This week's VS Code Tip of the Week is the new sticky scroll functionality.

The nice thing about this feature is as you scroll, you have the context to where you are in the code because the sections stick at the top, e.g. a class definition, method definition, etc.

This is a feature you need to enable. Open your VS Code settings and search for `sticky`. Ensure Editor › Experimental › Sticky Scroll is enabled.

![VS Code settings filtered on the word sticky](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1nn44dww9jjxklf2wvh.png)
 
Check out this YouTube short care of [Burke Holland](https://twitter.com/burkeholland) on the VS Code YouTube channel.

{% embed https://youtube.com/watch?v=iM4Vhrk4irY %}
What are the best practices about Go architecture?
Tags: go, help
Published: 2022-08-11 18:17:52

Currently started on a project with Go to train myself. I'm wondering is there some best practices about Go Architecture? *(About where to put some kind of classes, where should we put all the elements related to the database...)*

If you have your idea, a post, a video or a book to share, don't hesitate it will be highly appreciated.

Thanks for your help
Glances - A powerfull system monitoring dashboard for linux
Tags: linux, tutorial
Published: 2022-08-11 18:14:00

If you are looking for a decent cli system monitor then you could try glances.

I am very comfortable with htop but now a days glances become my daily driver.

![Glances Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bk1o5ag86u5nzux0oyep.png)
Also, non-techie people may think you are hacking NASA 😉