Estava produzindo uma super aula do meu curso de Node.js Streams (em inglês), ensinando sobre como paralelizar o processamento de arquivos usando Node.js
A ideia é subir um processo para cada arquivo, e cada processo filtra os usuários que possuem o email em dominio gmail
/2
Só que eu automatizei a validação para verificar que todos os itens foram processados e enviados para um arquivo de saida
Então primeiro fui lá e usei o `grep` para filtrar o texto do arquivo e o `wc -l`, para obter a quantidade de linhas.
/3
Em outras palavras, eu armazenei em cada variável a quantidade de usuários que tinham gmail no texto.
Eu poderia fazer o mesmo processo via Node.js, mas como tenho o custume de rodar comandos bash direto do terminal, eu só copiei e colei o que ja funcionava
/4
E aí, com o que eu tinha de bash usei JavaScript para somar os arquivos e verificar qual é o total de linhas que espero e imprimir na tela um feedback sobre o processo
/5
Isso abre um mundo de possilidades para você que roda comandos direto no terminal e faz tarefas de validação, algo que as vezes é executado apenas uma vez e depois joga fora
/6
Um grande exemplo é para quando você quer usar a sintaxe JavaScript para iterar em itens, fazer calculos, substituir textos, o céu é o limite!
/7
Me conta aí, você usa bash/shell no dia a dia? Já misturou JavaScript ou outras linguagens de programação com ela? Me conta a experiencia aqui nos comentários
/8
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I've been creating videos on my youtube channel that you rarely will see in another place on the internet 🤩
You'll find there subjects like Recreating @nodejs from scratch, Web APIs and recreating web protocols such as the Web Socket using JS with no frameworks, etc
/2
And others, which are amazing experiments, such as recreating a code coverage tool from scratch and how to process terabytes of data using JavaScript
If you search about those subjects you'd reach out to my videos but why not have them as blog posts as well?
/3
The secret for processing anything using JavaScript is to handle data on demand.
Imagine data you wanna migrate data from a SQL database to a NoSQL DB. You would need to apply some business rules, clean up fields, filter data and then output them to the final output.
/2
You might know that you can block the Node.js (and the data source you're consuming) if you handle too much data at once in memory
The best practice then is to limit results, send individual data to a stream pipeline, and then ask for more data until you've consumed it all.
/3
Nem imagino como era programar nos anos 2000 ou mesmo antes de 2015, ano onde a especificação ECMAScript deu um salto gigantesco, que colocou o JavaScript no mapa das linguagens mais usadas no mundo inteiro.
/2
O que vejo até hoje é que, mesmo com o crescimento absurdo da popularidade e infinidades de casos de uso, pouca gente se concentra nos fundamentos da linguagem.
/3
A materia saiu no portal @clientesa e lá eles contam um resumo sobre como encontrei o problema, de onde vim e os frutos que este trabalho tem me dado.
/2
"O trabalho de Erick neste caso o levou como destaque para eventos de importância mundial para desenvolvedores, incluindo o Open JS World 2022 em Austin nos Estados Unidos, o Node.TLV em Israel e o JSConf Korea na Coreia do Sul em Setembro em Seul."
/3
Hoje, dia 22/11 às 19hrs vou fazer uma super live lá no canal para contar sobre lições importantes do @nodejs que você pode também usar no navegador (ou em qualquer outro lugar que roda JS)
/2
Eu recebo frequentemente dúvidas sobre alguns conteúdos do meu canal e treinamentos, algo como "ah, mas sou frontend, seu conteúdo de @nodejs é para backend"
A verdade, é a JS é uma só, tudo que tem na JS do navegador, tem no JavaScript do Node.js, #Bun e @deno_land
/3