Muito obrigado por assinar e espero que você goste do conteúdo! Não esqueça de preencher o feedback no final da newsletter para eu saber o que você quer ver por aqui nas próximas edições!


Vamos falar sobre Deno

Estaria o Node finalmente morrendo depois de 10 anos? Bora descobrir o que o mais novo/velho runtime criado pelo mesmo criador do Node pode oferecer para a gente e se ele vai mesmo ser uma boa alternativa ao nosso tão amado Node.

Vamos falar sobre o Deno
O Node.js está finalmente morrendo? Seria esse o momento de migrarmos para o Deno? Bora entender tudo sobre ele nesse artigo!

Proposal: Js Module Blocks

E se o JavaScript fosse tão bom em mais de um thread como se ele se comporta hoje com uma só? Vamos entender as sobre Block Expressions!

O que são Module Expressions no JavaScript
E se o JavaScript fosse tão bom em mais de uma thread como se ele se comporta hoje com uma só? Vamos entender as sobre Block Expressions!

Entendendo criptografia construindo sua própria máquina

E se eu te falasse que a gente pode recriar uma das máquinas mais importantes da história usando somente JavaScript? E com isso a gente vai apresenta vários conceitos de criptografia e entender um pouco mais sobre como podemos manter a segurança nos nossos apps.


Links do mês

Entendendo Redis no nível arquitetural

Esse é um daqueles artigos que você vai usar uma vez na vida, mas que são extremamente interessantes de se ler e entender.

Aqui o autor está explicando como funciona o Redis desde o básico até o nível mais arquitetural possível. O Redis é um serviço de banco de dados open source que usa o paradigma de armazenamento de dados de chave-valor em memória, ou seja, ele é EXTREMAMENTE rápido.

Hoje o Redis está presente em quase todas as aplicações web por conta de como ele consegue lidar muito bem com caches e por ter uma funcionalidade de TTL (time to live) nativa, o que torna ele perfeito para armazenamento de dados locais por um curto periodo de tempo.

Como one-time-passwords funcionam

Um artigo super breve (até demais) explicando como funcionam os tokens de autenticação única, os famosos TOTPS ou Time-based One-Time-Passwords que a gente usa em autenticação de dois fatores.

A ideia básica é que você tem um contador que seja um valor comum entre o cliente e o servidor, geralmente é o tempo (contado desde 1970) dividido por um número de segundos que é a duração da chave, por padrão, 30s.

A chave em si é uma cifra HMAC que usa uma chave acordada entre o cliente e o servidor para encodar o contador, ou seja, a mensagem criptografada é, na verdade, o contador de tempo, isso que faz com que ela seja de uso único.

Depois temos algumas leituras de bits (que estão mais especificadas no artigo) e podemos obter a nossa chave final

Conheça o RaDash, sucessor do LoDash

Como se o LoDash já não fosse ruim o suficiente, agora a gente tem uma versão funcional do que é provavelmente a biblioteca mais desnecessária que todo mundo continua usando.

Nesse artigo, o próprio autor do projeto mostra alguns dos muitos problemas que o LoDash tem até hoje e também é sensato em dizer que ele foi criado para uma época onde o JavaScript era mais simples, porém muito mais confuso, o que é justo.

Depois ele mostra a solução para esse problema e, pasmem, é criar outra biblioteca. Dessa vez misturando conceitos funcionais do RamdaJS com as funções que o LoDash já tinha, a ideia final ficou bastante interessante como uma prova de conceito, mas ainda não me convenceu.

Usando Rust para escrever módulos do Node.js

Esse é um artigo super interessante porque mostra que o Rust tem ferramentas nativas que podem criar código JS válido que pode ser importado pelo Node.js

Nesse exemplo, o autor pega uma API do express e faz o mesmo teste usando Rust, mas não só para criar uma função externa, ele cria um módulo completo e compila usando um pacote nativo do Rust chamado nj-cli criando um módulo que pode ser importado diretamente.

7 funções essenciais do JavaScript

Um artigo muito massa sobre as principais funções que todo dev deveria saber que existem na Web e deveriam saber implementar caso necessário, as funções cobertas aqui são:

  • Debounce: Reduzir a quantidade de chamadas consecutivas para uma função específica
  • Poll: Checagem de estado em intervalos específicos
  • Once: Executa uma função uma única vez
  • getAbsoluteUrl: Obtém a URL absoluta de uma variável
  • isNative: Descobrir se a função é nativa ou não

Foque em atividades importantes

Esse é um dos artigos mais importantes que eu já li, o foco em uma atividade que traz mais ganhos do que tempo investido é essencial. Nesse artigo o Addy Osmani mostra um cálculo que pode mudar a vida de quem tem muitas atividades para fazer, foque somente naquelas que dão o maior ganho.

Por que o Twitter não quebrou

Essa é uma história real e interessante contada por um engenheiro de SRE do Twitter que, depois dos layoffs massivos na empresa, diz que o Twitter se mantem vivo por conta dos sistemas de cache implementados. Pode não parecer, mas a maioria dos tweets e coisas que vemos no site não são em tempo real, a maioria delas é cacheada constantemente e servida em milissegundos.

Como investir em documentação interna

Esse é um artigo super interessante que mostra em 4 passos o que você precisa para começar a fazer sua empresa ou time começar a investir em documentação:

  1. Comece com uma mudança de cultura
  2. Pague seus débitos técnicos com uma ideia de MVP
  3. Organize sua documentação existente
  4. Traga a documentação para o processo de desenvolvimento

Repositórios interessantes

GitHub - agenda/agenda: Lightweight job scheduling for Node.js
Lightweight job scheduling for Node.js. Contribute to agenda/agenda development by creating an account on GitHub.
GitHub - patriksimek/vm2: Advanced vm/sandbox for Node.js
Advanced vm/sandbox for Node.js. Contribute to patriksimek/vm2 development by creating an account on GitHub.
GitHub - atulmy/gql-query-builder: 🔧 Simple GraphQL Query Builder
🔧 Simple GraphQL Query Builder. Contribute to atulmy/gql-query-builder development by creating an account on GitHub.
GitHub - nektos/act: Run your GitHub Actions locally 🚀
Run your GitHub Actions locally 🚀. Contribute to nektos/act development by creating an account on GitHub.
Gostou dessa newsletter? Dê seu feedback neste link