teleren/devto huggingface dataset:
Introduction to Message Brokers
Published: 2022-03-09 01:40:30

## Key definitions 
- A key feature used in many software designs and architecture are the messages brokers. A message broker is a cross-application communication technology that helps build common integration mechanisms to support cloud-native, microservices-based, serverless, and hybrid cloud architectures. 
- Message Brokers enable the programmers to build applications, systems and services to communicate with each other and exchange information. On that same process they can validate, store, route, and deliver messages to the appropriate destinations.
- To provide reliability they often rely on message queue structures where they store the massages in order until they are fully consumed by the application. So they will normally follow a FIFO(**F**irst **I**n **F**irst **O**ut) method to organize and process the queue in order to process all messages that are in the queue

## Message broker models

### Peer-to-peer messaging

- This is the distribution pattern used in message queues with a one-to-one relationship between the sender and the consumer of the message. Each message in the queue is sent to only one recipient and processed only once. This method is used when the message only had to be executed once
  - A good example for this messaging pattern is a payroll/financial transaction processing. In these kinds of systems, both senders and receivers need a guarantee that each payment will be only be process once.

### Publish/subscribe messaging

- In this message distribution pattern, commonly referred to as "pub/sub", works with the idea that each message is published to a topic, and all the multiple message consumers that are subscribed to the topic will/want to receive those messages. All messages published on a topic will be distributed to all subscribed applications. This is basically a broadcast distribution method where we have a one-to-many relationship between the publisher of a message and its consumer.
  - A good scenario and example where we can use this kind of message distribution pattern will be in an airline company where they will have to release updated information about the flights, and that information could be used by multiple systems since ground crew performing aircraft maintenance, refueling, baggage handlers, flight attendants, pilots preparing the aircraft for the flight, operator visual displays to inform the public, and many others possibles systems 

<p align="center">
<img src="https://www.cloudamqp.com/img/blog/exchanges-topic-fanout-direct.png" width="600px;" />
</p>
<p align="center">Here we have a more basic visual example of how does work those mainly used message broker models</p>
⚙️ ❮ ZTrace ❯
Tags: zsh, tooling, productivity, shell
Published: 2022-03-09 01:30:15

<div align="center">
  <a href="https://github.com/z-shell/zi">
  <img src="https://raw.githubusercontent.com/z-shell/zi/main/docs/images/logo.png" alt="Logo" width="60" height="60"><img/></a>

[https://z.digitalclouds.dev](https://z.digitalclouds.dev) | [GitHub](https://github.com/z-shell) | [Twitter](https://twitter.com/zshell_zi)

</div>

---


`Ztrace` plugin allows to catch output of commands in background.
By issuing:

```zsh
ztstart 3
```

We inform `Ztrace` to catch output of `3` commands.

Video: https://asciinema.org/a/45530

[![asciicast](https://asciinema.org/a/45530.png)](https://asciinema.org/a/45530)

## Installation

### [ZI](https://github.com/z-shell/zi)

Add `zi load z-shell/ztrace` to your `.zshrc` file. zi will handle
cloning the plugin for you automatically the next time you start zsh.

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

Adding `antigen bundle z-shell/ztrace` to your .zshrc file. Antigen will handle cloning the plugin for you automatically the next time you start zsh. You can also add the plugin to a running zsh with `antigen bundle z-shell/ztrace` for testing before adding it to your `.zshrc`.

## [Oh-My-Zsh](http://ohmyz.sh/)

1. `cd ~/.oh-my-zsh/custom/plugins`
2. `git clone git@github.com:z-shell/ztrace.git`
3. Add zsnapshot to your plugin list

### [Zgenom](https://github.com/jandamm/zgenom)

Add `zgenom load z-shell/ztrace` to your .zshrc file in the same function you're doing your other `zgen load` calls in.

## More information

Below are keyboard shortcuts used by `ztrace` command:

- `Ctrl-T` - start Zsh Command Architect (Zshell binding)
- `Ctrl-E` - switch between Ztrace and History views
- `Enter` - delete selected segment (when in command window) or add selected segment (when in history window)
- `[` or `]` - move active segment (when in command window)
- `Shift-left` or `Shift-right` - move active segment (when in command window)
- `Tab` - switch between the two available windows
- `g, G` - beginning and end of the list
- `/` - start incremental search
- `Esc` - exit incremental search, clearing filter
- `<`,`>`, `{`,`}` - horizontal scroll
- `Ctrl-L` - redraw of whole display
- `Ctrl-O`, `o` - enter uniq mode (no duplicate lines)
- `Ctrl-W` (in incremental search) - delete whole word
- `Ctrl-K` (in incremental search) - delete whole line
- `Ctrl-D`, `Ctrl-U` - half page up or down
- `Ctrl-P`, `Ctrl-N` - previous and next (also done with vim's j,k)
Data Structures: Introduction to Trees
Published: 2022-03-09 01:21:25

So first of all Trees are a data structure that is used to store data in a hierarchical format, so trees are not a linear data structure. We can define a tree also as a collection of nodes where each node will contain a data value and a link to others child node. 
In trees we do not store data in sequence, trees will store the data in multiples levels and multiples nodes. 

## Important terminologies

1. Root 
In the trees the first node will always be the **Root Node**. Every tree will have one and only one root node, we also can say that the root is the origin in this kind of data structure.

2. Edge
All links between the nodes of the tree will be called as **Edge**, and in a tree with 'N' number of nodes will always have a maximum of 'N-1' number of edges.

3. Parent
The predecessor of any node is always called as **Parent Node**.

4. Child
The descendant of any node is called as **Child Node**

5. Siblings
All nodes that have the same Parent are called as **Siblings**, in other word all nodes with same parent are called Sibling nodes.

6. Leaf
All nodes that doesn't have a child node are called as **Leaf Node**.
C# record type
Tags: csharp, dotnet, beginners, uzbek
Published: 2022-03-09 01:06:20

Quyida bir xil vazifani bajaruvchi `record` va oddiy `C# class`ni ko'ring.
<div id="sample-code"></div> 
```cs
public record OdamRecord(string Ism, string Familya);

public class OdamClass
{
   public OdamClass(string ism, string familya)
   {
      Ism = ism;
      Familya= familya;
   }

   public string Ism{ get; set; }
   public string Familya{ get; set; }
}

var wahidRecord = new PersonRecord("Wahid", "Abduhakimov");
var wahidClass = new PersonClass("Wahid", "Abduhakimov");
```
### 1. `record` immutable(o'zgarmas)
Yuqoridagi usulda `record` yaratilganda uning property'lari immutable*(o'zgartirib bo'lmas)* bo'ladi. Ularga `record` yaratilyapkanda qiymat beriladi va keyin o'zgartirishning iloji yo'q. `{ get; init; }` deganday gap.

```cs
var wahid = new OdamRecord("Wahid", "Abduhakimov");
wahid.Ism= "David"; // Compile error beradi
```

### 2. Tizimli tenglash (==)
`record` structural equality*(tizimli tenlash)* usulidan foydalanadi. Bu degani agar 2 ta `record` obyektlarning ichidagi property'lari qiymatlari teng bo'lsa bu ikki obyektlar teng hisoblanadi.
```cs
// ... eng tepadagi kodga qarang
var wahid1 = OdamRecord("Wahid", "Abduhakimov");
var wahid2 = OdamRecord("Wahid", "Abduhakimov");
Console.WriteLine($"{wahid1 == wahid2}");          // true

var davron1 = OdamClass("Davron", "Abduhakimov");
var davron2 = OdamClass("Davron", "Abduhakimov");
Console.WriteLine($"{davron1 == davron2}");        // false
```

3. `record` non-immutable
`record` yaratilganda odatda immutable bo'ladi dedik. Lekin uni non-immutable*(o'zgartirsa bo'ladigan)* qilib yaratsa ham bo'ladi.
```cs
public record Odam
{
    public string Ism { get; set; }
    public string Familya{ get; set; }
}

var wahid = new Odam("Wahid, "Abduhakimov");
wahid.Ism = "David";  // muammosiz ishlaydi.
```

> Zeriktirib qo'ymaslik uchun davomi keyingi postlarda 😊

*Shu joyigacha erinmay o'qib kelgan ekansiz demak siz yoki C#'ni chindan sevasiz yoki shunchaki meni kuzatuvchimsiz. Ikkala holatda ham vaqtingiz uchun katta rahmat 😍*

Yurakcha va yakkashoxlarni bosib, menga "podpiska" tashashni unutmang.

[Telegram](https://t.me/wahidsblog) | [Instagram](https://instagram.com/wahid.abduhakimov)
Mulheres na tecnologia
Tags: braziliandevs, wecoded
Published: 2022-03-09 00:58:44

É impossível falar sobre ser mulher na T.I sem citar o passado. E é impossível falar de passado sem falar em **Ada Lovelace**, a primeira pessoa a desenvolver um algoritmo. Ou sem falar na **Grace Hopper**, quem inventou o primeiro compilador para uma linguagem de programação e criou a linguagem base para o COBOL. **Hedy Lamarr**, **Katherine Johnson**, **Evelyn Boyd**, **Margaret Hamilton**, **Barbara Liskov** e tantas outras percursoras da tecnologia.
Se temos tantos exemplos, por que hoje a área é tomada por homens?
Em algum momento da história virou cultural que um computador fosse _brinquedo de meninos_. E de brinquedos avançamos para a faculdade e para o mercado de trabalho. É cultural que a ciência exata seja algo _de homem_.

Segundo a Pesquisa Nacional por Amostra de Domicílios (Pnad), as mulheres **representam apenas (!!) 33%** dos profissionais de T.I. Atualmente, algumas empresas possuem uma meta de percentual de mulheres ocupando seus cargos. Porém, a diferença não passa apenas pela média de pessoas, a **discrepância da média salarial chega a R$1.298,00** (quase um salário mínimo). 

Para que a nossa trajetória, e de outras minorias, seja mais leve na T.I, algumas **comunidades** acabaram sendo criadas. Essas comunidades promovem uma rede de apoio completamente acolhedora. Alguns exemplos:

- **[PyLadies](https://brasil.pyladies.com/)**
- **[Programaria](https://www.programaria.org/)**
- **[Feministech](https://feministech.github.io/)**
- **[Flutter Girls](https://br.linkedin.com/company/flutter-girls?trk=ppro_cprof)**
- **[Elas Programam](https://elasprogramam.com.br/)**
- **[Tech Ladies Brasil](https://www.instagram.com/techladiesbr/)**
- **[Django Girls](https://djangogirls.org/en/)**

Se alguma vez você já cogitou a área de tecnologia mas desistiu por ela ser majoritariamente masculina, sabia que a tecnologia é para **TODOS** e que as comunidades estão aqui para te auxiliar!
Created a blog template with Sveltekit
Tags: svelte, sveltekit, template, javascript
Published: 2022-03-09 00:46:10

---
title: Created a blog template with Sveltekit
published: true
description: I created a simple blog template with Sveltekit
tags: Svelte, Sveltekit, Template, JavaScript
//cover_image: https://direct_url_to_image.jpg
---

## Overview
As stated in the title, I created a blog template with Sveltekit. If you are looking for a bare minimum blog template, maybe give it a try?


- Link to the Example: https://sveltekit-blog-template-swart.vercel.app/
- Link to the Repo: https://github.com/K-Sato1995/sveltekit-blog-template


Home | Post Page
--- | ---
<img width="1131" alt="image" src="https://user-images.githubusercontent.com/32632542/157348324-10647187-1bb0-435e-ab0d-0de9516a5a2c.png"> | <img width="1112" alt="image" src="https://user-images.githubusercontent.com/32632542/157348272-ee3ee69f-c586-47d0-9bb1-70cccf500822.png">


## My thoughts on Sveltekit

I work as a frontend-engineer and mostly use React at work. And this was my first time using [Sveltekit](https://kit.svelte.dev/).

And here are the things I personally really liked about it.

- Routing: Just like [Next](https://nextjs.org/), Sveltekit provides filesystem-based routing. It works like a charm 🧙🏻‍♀️
- Syntax of Svelte: The syntax of svelte is super easy to understand for anyone who has used HTML and CSS. 👏👏
- HMR: Sveltekit internally uses [Vite](https://vitejs.dev/) and the development experience was astonishing especially HMR(Hot Module Replacement) was instantaneous. ⚡️⚡️⚡️⚡️
Useful Chrome Extensions for Web Developer
Tags: webdev, tutorial, productivity, news
Published: 2022-03-09 00:38:51

This are useful Chrome Extension for developers.

## 1. [Blackbox - Select. Copy. Paste & Search](https://chrome.google.com/webstore/detail/blackbox-select-copy-past/mcgbeeipkmelnpldkobichboakdfaeon)
This extension enables you to copy codes/text from images or videos your viewing.

## 2. [WhatFont](https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm) or [Fonts Ninja](https://chrome.google.com/webstore/detail/fonts-ninja/eljapbgkmlngdpckoiiibecpemleclhh)
This extension will help you Identify what font used on the website your looking at.

## 3. [ColorPick Eyedropper](https://chrome.google.com/webstore/detail/colorpick-eyedropper/ohcpnigalekghcmgcdcenkpelffpdolg) or [ColorZilla](https://chrome.google.com/webstore/detail/colorzilla/bhlhnicpbhignbdhedgjhgdocnmhomnp)
This will help you identify colors on any website, and copy that color.

## 4. [Window Resizer](https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh/)
This extension will resize the window to different sizes from mobile platform to desktop platform screen sizes. That way you can test your website in different sizes.

## 5. [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi) (This only for ReactJs Developer)
![React Developer Tool Screen shot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6fcizu4b78boly08kdw.jpg)
This is a developer tool that can help on developing reactjs applications.

## 6. [JSON Viewer](https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh)
This will view json files in a cleaner way.


## 7. [Page Ruler](https://chrome.google.com/webstore/detail/page-ruler/idhjfgkakeliobkfbijghiaklmiaheag?hl=en)
This way you can check measurements of your websites elements.

## 8. [VueJs Dev Tool](https://chrome.google.com/webstore/detail/vuejs-devtools/ljjemllljcmogpfapbkkighbhhppjdbg)
![VueJs Dev Tool Screen Shot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/63zjlibrmw8e9po3xxpj.png)
This is a dev tool for VueJs Developer that will help on developing Vue Applications. 

-----------------------------

Buy Me Coffee 😊

[![Buymecoffee Donate to Bro Jenuel](https://i.imgur.com/jnnBYBem.png)](https://www.buymeacoffee.com/BroJenuel)
Impart
Tags: csharp, webdev
Published: 2022-03-09 00:11:25

Impart is a library that I have been working on for a while now. The primary purpose is bypassing HTML/CSS/JS in creating a functional webpage. Impart allows the developer to create a full website in a single C# script - including hosting. Currently, I am working on events and researching ways of registering them smoothly. I however, am unable to finish this library of techno-wizardry alone. If you are as interested as I am in fighting web standards, consider opening up a request on the repo. If you are unable to contribute though, leaving a star doesn't hurt :)

[(find the repo here)](https://github.com/PixelatedLagg/Impart)

Code Example:

```cs
using Impart;

public class Program
{
    static void Main(string[] args)
    {
        Website web = new Website(new Test());
        web.Start();
    }
}
class Test : WebPage
{
    public Test() : base()
    {
        AddText(new Text("Hello World!"));
    }
}
```
Sweeper.js Update
Tags: javascript, webdev, productivity, node
Published: 2022-03-09 00:06:13

Hello again, this post covers the goals of sweeper.js if you don't know what sweeper.js check out [this post](https://dev.to/mreggo/sweeperjs-33nm)

Currently with sweeper.js I am working on a way to create a custom div, my goal with this is to have the div code utilize sweeper code so you never have to write html.

In a perfect world the ideal basic sweeper.js project would look like this
```js
const sweeper = require('sweeper.js');

sweeper.init('windowTitle' () => {
    sweeper.div('divClass' () => {
        sweeper.h('h size', 'text', 'class');
    });

    sweeper.color('color', 'class')
});
```
But sadly it currently looks like this (with no way to make custom divs)
```js
const sweeper = require('sweeper.js');

sweeper.init('title');

sweeper.h('h size', 'text', 'class');
sweeper.color('color', 'class');

sweeper.endHtml();
```

Anyway it would really help if you could check out and contribute to the project


GitHub: https://github.com/MrEggoXYZ/Sweeper.js#readme
npm: https://www.npmjs.com/package/sweeper.js
How to Reclaim Your Dev Team’s Focus w/ Ambassador Labs' Katie Wilde
Tags: productivity, podcast, techtalks, management
Published: 2022-03-09 00:03:39

Hate interruptions? Ever feel like you’ve lost your ability to focus on coding? 

Katie Wilde, VP of Engineering at [Ambassador Labs](https://www.getambassador.io/), knows your pain and she’s on a crusade to help devs everywhere reclaim their focus. 

Spoiler: She's got a message for managers who can’t meet with devs whenever they want: “Don’t like it? Well, suck it up.”

The thing about productivity is, you can’t have it both ways. You can either protect your devs’ ability to focus by providing them meaningful time for creativity or you can call them into meetings all day long for constant feedback - but you can’t have both. 

These concepts don’t have to be at odds with each other, though. On this week’s episode of Dev Interrupted, Katie details exactly what managers can do to foster a harmonious, productive environment between themselves and their devs. She also talks about the importance of “shifting left,” the dangers of doing it too quickly, and why “hiring great people and getting out of their way” may not be a good mantra.

{% spotify spotify:episode:4Focjin60FbWyDbOFNkpIl %}

## Episode Highlights Include:
* (5:31) Defragmenting a developer’s calendar
* (8:16) Why video games optimize for flow
* (10:59) It takes 23 minutes to get into a flow state
* (16:58) The problem with being solutions-oriented
* (26:44) When “shifting left” goes wrong
* (36:33) Katie's smallest investment with the biggest ROI

## [You're Invited to INTERACT on April 7th](https://devinterrupted.com/event/interact/)

Join engineering leaders from Netflix, Slack, Stack Overflow, American Express & more at LinearB's virtual engineering leadership conference, [**INTERACT**](https://devinterrupted.com/event/interact/) on **April 7th, 2022.**

**1 day, 20 speakers, 1,000s of engineering leaders - all driven by the Dev Interrupted community.** If you are a team lead, engineering manager, VP or CTO looking to improve your team, this is the conference for you!

[**Learn more here**](https://devinterrupted.com/event/interact/)


![Join INTERACT at https://devinterrupted.com/event/interact/](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2xhtonct1vkpjhrtzfl3.png)
What are the common agile metrics people use?
Tags: metrics, agile, observability
Published: 2022-09-08 21:28:21

---
title: What are the common agile metrics people use?
published: true
date: 2022-03-09 00:00:00 UTC
tags: metrics,agile,observability
canonical_url: https://jhall.io/archive/2022/03/09/what-are-the-common-agile-metrics-people-use/
---

“What are the common agile metrics people use?”

This may seem like a perfectly reasonable question on its face. But is it?

I see two problems here.

The first: What is an “agile metric”? I don’t really think such a thing exists. No metric is inherently “agile”. Agile teams will often watch certain metrics, of course. They often are (and indeed _should be_) the exact same metrics that a non-agile team uses. Remember: [“agile” isn’t a business goal](https://jhall.io/archive/2021/06/21/agile-isnt-the-goal/). Your metrics should be measuring business success, regardless of agile or not.

Second: [What problem are you trying to solve](https://jhall.io/archive/2021/05/29/what-problem-are-you-trying-to-solve/)? Metrics alone are meaningless. To quote W. Edwards Demming:

> Data are not taken for museum purposes; they are taken as a basis for doing something. If nothing is to be done with the data, then there is no use in collecting any. The ultimate purpose of taking data is to provide a basis for action or a recommendation for action.

So what action will your metrics help inform? If none, skip the metrics. If you know what decision you’re trying to make, that will tell you what metrics to measure.

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
How to: Enable JavaScript auto-import suggestions in VS Code
Tags: javascript, vscode, webdev
Published: 2022-03-10 02:59:40

---
title: How to: Enable JavaScript auto-import suggestions in VS Code
published: true
date: 2022-03-09 00:00:00 UTC
tags: javascript, vscode, webdev
canonical_url: https://blog.shanemitchell.dev/how-to-auto-imports-vs-code/
---

[![Auto import suggestions](https://blog.shanemitchell.dev/static/cbe16545c7353b60b32c3f8a86c52c1f/f058b/splash.png "Auto import suggestions")](/static/cbe16545c7353b60b32c3f8a86c52c1f/ee3fb/splash.png)

## Auto-import problems

If you work on JavaScript projects in VS Code, you’ve almost certainly been frustrated with the hit-or-miss nature of the auto-import suggestions. When you try to import code from elsewhere in your project, the correct suggestion is nowhere to be found.

[![Import missing from suggestions](https://blog.shanemitchell.dev/static/701a246b600a80a8cc6d2683bd402fdc/f058b/auto-import-not-working.png "Import missing from suggestions")](/static/701a246b600a80a8cc6d2683bd402fdc/f53a0/auto-import-not-working.png)

There are extensions to help with this, but it turns out VS Code now handles this natively – using the `jsconfig.json` file – and luckily it’s very simple to setup.

## Create the `jsconfig.json` file

As of 2018, VS Code treats all JS files as separate from one another. In order to tell it that your files are all part of an **Explicit Project** , you need to create and configure a `jsconfig.json` file (this is a descendant of `tsconfig.json`, which is required for TypeScript projects).

Here’s how:

1. Create the `jsconfig.json` file at the root of your project.
2. (Optional) Configure the compiler options.

Technically an empty file will suffice to tell VS Code this is a project, but you’ll likely want to configure a few things.

There’s a lot of options that can be set, but a few that I like to set for React projects are:

```js
// jsconfig.json at project root

{
  "compilerOptions": {
    "module": "ES6",
    "jsx": "preserve",
    "checkJs": true
  },
  "exclude": ["node_modules", "**/node_modules/*"]
}
```

[See the docs](https://code.visualstudio.com/docs/languages/jsconfig) for details and more config settings.

## And it works! 👍

Now that VS Code knows to treat all your JS files as an explicit project, auto-import suggestions will populate with all your relevant exported code.

![Auto import suggestion working](https://blog.shanemitchell.dev/2831b20596aa2d650c6867d5b6f89fcb/auto-import-working.gif)

Hope that helps! For more VS Code import tips, [see my post on automatic import sorting](https://dev.to/shanesc/how-to-sort-and-cleanup-imports-on-save-in-vs-code-52p1).