teleren/devto huggingface dataset:
"Stability Improvement and Code Quality Assurance"_Apache Doris Summit 2022
Published: 2023-02-07 12:52:11

In this speech, you will learn our achievements in stability control and code quality assurance from Apache Doris community

Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris. (Contact US: support@selectdb.com)

Follow us:
https://linktr.ee/apachedoris
Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
"Design of Multi-Table Materialized View"_Apache Doris Summit 2022
Tags: database, opensource, bigdata, datalake
Published: 2023-02-07 12:15:30

In this speech, you will learn the design of the multi-table materialized view, which will speed up the efficiency of same query.

Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris. (Contact US: support@selectdb.com)

Follow us:
https://linktr.ee/apachedoris
Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
Refactoring RATOM: Day 3
Tags: django, htmx, react
Published: 2023-01-25 19:14:49

# ~~Day 2~~ Day 3 

Whoops, already starting to fall behind. I missed Day 2; because, life... so here is Day 3.

Reminder on my current objective:

Step 1. Get the original app up and running.
Step 2. Browse around and get a feel for the UI and UX again.

### Step 1: Get the original app running

This was an exercise in nudging and tweaking requirements, settings, configuration files, etc. But I finally got it done.
YAAAY!

![Screen shot of the RATOM app header](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gkuxxlc1coxmyfia5iyo.png)

### Step 2: Browse around.

![Gif of a person running full speed into a cinder block wall](https://media.giphy.com/media/mIvrv5Qe0kHlu/giphy.gif)

Blocker: In order to browse around, the application needs to have data, and the application was specifically designed to ingest PST files, which, as it happens, are very, very hard to find now that the Enron PSTs have been purged from the internet :angry:

Okay, now I need to add functionality to ingest all the readily available `.eml`s out there.

_yippeee_.

This is starting to feel like a long process, but I'm committed now.

[Previous Post](https://dev.to/jeremygibson/refactoring-ratom-day-1-1nf)
"Design of the New Query Optimizer"_Apache Doris Summit 2022
Tags: database, bigdata, analytical, opensource
Published: 2023-02-07 12:09:21

Catch the new trends, make full use of Apache Doris's new Query Optimizer and no need to worry about complex queries anymore. Listen to Meituan Head Developer Huajian Lan and SelectDB Head Developer Wenxin Zhang's lecture at #DorisSummit2022.

Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris. (Contact US: support@selectdb.com)

Follow us:
https://linktr.ee/apachedoris
Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
The “essential” ingredient to become a good developer
Tags: programming, beginners, career
Published: 2023-02-07 12:09:08


It was a December 03, 2015. Finally, after more than a year of waiting Swift is now opensource. Curious and motivated by the idea of ​​discovering this new language, I went to the official swift.org website. Baaaammmm !!! Big rant: all the documentation is in English. No French version in sight...

Somewhat frustrated with the situation, I still managed to get Swift running on my machine. At this precise moment I realized the need to speak or at least understand the language of Shakespeare for a developer.

## Why should the English language be part of the developer's artillery?

Good question but not easy to answer. In a single sentence I would say: “The higher your level of English, the more serene and advantaged you will be”

If I had to classify the English level of a developer, I would say that there are 3 levels:

- level 1: reading only: you know how to read and understand English: this is already a good thing. Almost all the online documentation is in English, it will be a bit complicated for you to implement an API whose doc is entirely in English if you are Anglophobic :)

- level 2: reading and writing only: you know how to interact at least in writing. It's also a big step: you can contribute to opensource projects on github. In case of problem, you can even ask for help on stackoverflow, isn't that good? :)

- level 3: reading, writing, speaking, listening: at this stage you are ready to conquer the world. Negotiating with an English-speaking client? it's up to you. Watch the Apple keynote live? you are part of it.

To the apprentice-developers, or to those who are already, you are already code warriors, I have no doubt about it. You master good practices and everything that goes with it, I'm sure. Just always try to improve in English, it will help you in the future.
"Design of Multimodel and Complex Types"_Apache Doris Summit 2022
Tags: opensource, databse, bigdata, java
Published: 2023-02-07 12:06:41

The growth of data volume leads to a growing complexity in data structure. And the analysis requirements for semi-structured and unstructured data are growing accordingly. In the latest release, Apache Doris is able to support JSONB and Array. In the future, we will strengthen the capability of Multimodel analysis in order to unify  the storage and analysis of structured, semi-structured and unstructured data in the same database.
In the speech, we will introduce the progress in multi-modal data analysis and the follow-up plans for JSON Native, text analysis, and complex data types such as Array, Map, and Struct. 

Relying on parallel processing and high-performance operators, Apache Doris can provide a sub-second level query on massive datasets. Users today began to build data storage architecture based on features of data lake. In this lecture, you will get the basic idea of how to build a data lake with Apache Doris.(Contact US: support@selectdb.com)

Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris. (Contact US: support@selectdb.com)

Follow us:
https://linktr.ee/apachedoris
Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
"New Unique Key Design & Storage Model Optimization"_Apache Doris Summit 2022
Tags: database, opensource, sql, datascience
Published: 2023-02-07 12:04:20

In this speech,  you will learn the design and details of the new Unique Key, such as Merge-on Write and real-time update. At the same time, optimizations in the new version and our future plan will be first revealed.

Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris. (Contact US: support@selectdb.com)

Follow us:
https://linktr.ee/apachedoris

Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
PLNT System
Tags: webdev, ux, dashboard, diagram
Published: 2023-02-07 11:48:41

We take production sphere projects very considerably. Working with them can be beneficial especially if you are interested in viewing inner production processes. Just think about it - employees face industrial technology design on a daily basis. Such design has influence on working habits, day schedules, productivity and the lack of routine - that’s why it’s important to approach its development with all liability. We’ve tried and succeed! Therefore let us introduce you our built up analytic system interface for large production company. 
*The project contains five key sections:*
⚙️ Overall equipment  efficiency section in which specialists from different departments can prepare reports. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ljdrihtxetp5vbbzclt.png)
⚙️ Production planning section allows you to control problems on every stage of production. Fox example, you can look at the processes for a specific machine and find out if everything is going according to plan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b99jhfegzhjyklfr9of5.png)
⚙️ Mobile version that you can work comfortably with at any production room. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpcfysop8wqjqr1seqc0.png)
⚙️ Recipe control section which allows you to control what type of machine works with specific recipe and how it corresponds to plan. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hkg41tyt1kc678k05v9n.png)
⚙️ Downtime analysis section where you can see how frequently and for what reasons machines remain idle. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4abgx2natfh3m4gx6oh.png)
You can look at how does projects look like now on slides and learn more about it [on Behance](https://www.behance.net/gallery/159045717/PLNT-System?fbclid=IwAR0Nfhcs93R8F57IMH81CzWd6DuQ1ReUKEMjdoHRa1oNAY0CcvZiU4i5ssk)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6zojm72u2p4c8r813p3l.png)
Resolvendo problemas no HackerRank: Quebrando Recordes
Tags: javascript, beginners
Published: 2023-02-07 11:58:58

Saudações. Hoje enfrentaremos mais um problema,veremos como fazer uma análise de pontuação com base nas temporadas, e retornar quantas vezes o record foi ultrapassado e quantas vezes, houve menor pontuação. No exercício nos é passado algumas regras a serem seguidas para que sua conclusão seja correta, vejamos:


**Breaking Records -**

- Lista de pontos
- Manter uma contagem de valor Max e Min
- return quantidade de vezes que o recorde for quebrado, seja maior pontuação ou menor pontuação

Sabendo assim todas as regras do exercício, temos que saber agora sobre um molde. Com o que se foi passado antes, o exercício nos pede o seguinte resultado:

```
10
3 4 21 36 10 28 35 5 24 42
//contagem de maior e menor recorde: 4 0
```



Com todas as exigências postas,façamos o que se pede:


function breakingRecords(scores) {
    // Write your code here
    let firstScore = scores[0];
    let maxScore = [firstScore], minScore = [firstScore];
    
    for(let i = 1; i < scores.length; i++){
      if (scores[i] > Math.max(...maxScore)) maxScore.push(scores[i]);
      if (scores[i] < Math.min(...minScore)) minScore.push(scores[i]);
    }
    return [maxScore.length - 1, minScore.length - 1];
}
```

Nesta função comparamos cada elemento da matriz de "scores" (pontuações) guardado nos parâmetros, com os elementos anteriores e armazena os recordes máximos e mínimos. A variável "firstScore" é inicializada com o primeiro elemento da matriz e as variáveis "maxScore" e "minScore" são inicializadas com o valor de "firstScore". 

A iteração começa no segundo elemento da matriz e verifica se cada elemento é maior ou menor que o dado anteriormente armazenado, caso seja, o elemento é armazenado na variável "maxScore" ou "minScore", dependendo do caso.

Ao final da iteração, são retornados os tamanhos das variáveis "maxScore" e "minScore", que correspondem às vezes que os recordes foram quebrados.

O resultado de todo esse procedimento será:

```
10
3 4 21 36 10 28 35 5 24 42
4 0
```

**Soluções Alternativas -**

```
function breakingRecords(scores) {
    let high=scores[0],low=scores[0],highCount=0,lowCount=0
    scores.map(function(element){
        if(element > high){
            high = element
            highCount++
        }
        if(element < low){
            low = element
            lowCount++
        }
    })
    return [highCount,lowCount]
}
```
No caso acima, ao invés de utilizar `for` ele utiliza a função `.map` que irá percorrer a operação e adicionar um novo valor alterado no que estava antes.

Com isso,finalizamos mais um desafio. Te aguardo no próximo Resolvendo problemas no HackerRank!!
If it hurts, stop doing it: the wrong process
Tags: leadership, agile, development, frustrating
Published: 2023-02-07 12:16:07

---
title: If it hurts, stop doing it: the wrong process
published: true
date: 2023-02-07 11:57:00 UTC
tags: leadership,agile,development,frustrating
canonical_url: https://craignicol.wordpress.com/2023/02/07/if-it-hurts-stop-doing-it-the-wrong-process/
cover_image: https://craignicol.files.wordpress.com/2020/03/wp-1583529281536.jpg?w=1200
series: if-it-hurts
---

If something is painful, should you do more of it? [Not if it’s painful because you have the wrong tool.](https://dev.to/craignicol/if-it-hurts-stop-doing-it-the-wrong-tool-16fl)

Sometimes though, [it doesn’t matter what the tool is, there’s something more fundamental at play](https://dev.to/craignicol/processes-upon-processes-the-jira-trap-37l8). A process that exists only because one thing went slightly wrong years ago. And rather than[implementing a process to correct mistakes](https://dev.to/craignicol/how-to-make-mistakes-1k5e), somebody tried to prevent them.

Just like technical debt, [this process debt adds pain](https://craignicol.wordpress.com/2015/06/23/agile-papercuts/) to every feature, every bug fix, or every release. That pain can be removed by [removing the process](https://dev.to/craignicol/work-hard-to-make-things-simple-303n).

## It’s painful because you shouldn’t be doing it

Does your test plan or your requirements sheet still specify IE as a supported browser? If Microsoft doesn’t support it why should you?

Are you spending all your time monitoring your staff, making sure they’re working when they’re not in the office? Do you struggle getting the right reports? Do you feel resentment from your staff even though it’s in their best interest? Or have you tried trusting them?

Is every release delayed because the database team and the security team have to review all code, and they’re already overstretched? Have you asked them how to provide confidence with less manual intervention? How to minimise the impact any change could make? How to add automation for common areas? How to train the developers to fix common issues upstream before it gets to the frontline teams?

Have you ever thought about deleting a process that isn’t adding anything? About making things simpler?  
  
[`The Untapped science of less : Inquiring Minds podcast’](https://www.podchaser.com/podcasts/inquiring-minds-159754/episodes/the-untapped-science-of-less-w-93221690)
Paracetamol.ts💊| #06: Explica este código TypeScript
Tags: typescript, spanish, programming, webdev
Published: 2023-02-07 11:51:56

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

```ts
type Fruta = "pera" | "limon" | "naranja";
let fruta: Fruta;
fruta = "zandia"; // A
fruta = "limon"; // B
```

- A. `Ambos son validos`
- B. `A invalido, B valido`
- C. `B invalido, A valido`
- D. `Ninguna de las anteriores`

Respuesta en el primer comentario.

---
O que é Security by Design?
Tags: veracode, beginners, tutorial, security
Published: 2023-02-07 11:50:00

"Security by Design" é uma abordagem de desenvolvimento de software que incorpora práticas de segurança desde o início do processo de desenvolvimento. A ideia é que, ao integrar a segurança no projeto e na implementação do software, é possível criar soluções mais seguras, de alta qualidade e menos propensas a vulnerabilidades e ameaças de segurança.

A abordagem "Security by Design" requer que os desenvolvedores de software trabalhem em estreita colaboração com especialistas em segurança para identificar e tratar questões de segurança desde o início do processo de desenvolvimento. Isso inclui considerar questões de segurança em todas as etapas do ciclo de vida do software, desde a concepção, passando pela codificação, testes, implantação e manutenção.

A implementação pode ajudar a prevenir vulnerabilidades conhecidas, aumentar a qualidade do software, aumentar a confiança dos clientes e evitar interrupções do negócio. Além disso, cria uma cultura de segurança na empresa, com todos os membros da equipe trabalhando juntos para garantir a segurança do software.

Para saber como a Veracode e a M3Corp podem lhe ajudar em seu programa de segurança, entre em [contato](https://www.m3corp.com.br/contato/).
No Ethernet Port Laptops: Wireless Connection is the New Wave
Tags: ethernetport, laptops, internet, wifi
Published: 2023-02-07 11:43:21

## _Definition and Importance of the Ethernet Port?_
"The RJ-45 port" or " The Ethernet Port" the renowned term applied by most computer users today is an access port used to connect your laptop to the internet from another network device like a router by plugging in an Ethernet Cable. 

Ethernet ports are usually located either on the left or right-hand side of your laptop. This component of a laptop provides instant connection from the cable to the port without the need of a password. 

## _The current state of internet in the world_
With the world now moving in the direction of Wi-Fi thanks to improved wireless connections and more compatible devices the need for ethernet ports is reducing day by day. However, places like hospitals, government parastatals, school offices and other big companies use both Ethernet and Wi-Fi just in case one of two becomes disconnected for a period of time.

In an office or library type setting Wi-Fi can introduce security issues and even connection issues for a large number of users. Wi-Fi networks can be more easily hacked into than Ethernet cables. When many users are connected to one Wi-Fi network at the same time it can lead to high network latency on laptops and other mobile devices during simple web browsing on Google Chrome, watching videos on YouTube or downloading files from the internet. 

## _Solution to the Problem_
The newest version of laptops these days now require their users to purchase Ethernet Extenders to connect to Ethernet. This Ethernet Extender has a USB cable on one end for connecting to your laptop and an Ethernet Port for Ethernet Cable. 

## _Conclusion_
Although the removal of Ethernet Ports is big loss, it's not end of the world. Throughout time we have adopted new ways to connect laptops to the internet such as Wi-Fi Tethering, Personal Hotspot, USB Tethering and more. 

Thank you for taking the time to read this article, I hope you have enjoyed it. See you next time.
Function scope vs Block scope
Tags: javascript
Published: 2023-02-07 11:33:24

#### Function Scope
> When declare a variable inside a function, it only can be used inside this function, and can not be used outside this function.

#### Block Scope
> When declare a variable inside a {}, it can not be used outside the block.
> keyword `let` and `const` was introduced since ES6, and provide **Block Scope** fro JavaScript.


##### Example

```
if ( 5 > 4 ) {
	var secrete = '123'
}
console.log(secrete) // 123, as js do not have block scope

function a () {
	var aSecrete = '123'
}
console.log(aSecrete) // Reference error
```

```
function loop(){
	for(var i = 0; i < 5; i++){
		console.log(i)
	}
	console.log('final', i) // i got hoisted
}
loop() // 0, 1, 2, 3, 4, 5
```

```
function loop(){
	for(let i = 0; i < 5; i++){
		console.log(i)
	}
	console.log('final', i)
}
loop() // Reference Error, i is not defined
```