Roger Melo JS Profile picture
Ajudo aspirantes a programador e programadores a construírem aplicações web com JavaScript puro.
wyyy Profile picture 1 subscribed
Dec 2, 2019 82 tweets 13 min read
Nessa thread, você aprenderá:

✅ Por que o Redux existe;
✅ Quais problemas ele resolve;
✅ Quais são as vantagens em utilizá-lo em uma aplicação;

Vem comigo! 👇 Ultimamente, tenho visto como algumas pessoas utilizam o redux em algumas aplicações e penso que um entendimento mais profundo sobre "por que o redux existe" traria ainda mais benefícios à esses projetos.
Nov 27, 2019 76 tweets 16 min read
👇 Uma thread com as threads que já publiquei sobre JavaScript.

Espero que ajude você =D
Nov 24, 2019 42 tweets 10 min read
Nessa thread, você aprenderá:

✅ O que é Blackboxing;
✅ Como utilizar breakpoints de listeners de eventos;
✅ Como utilizar a palavra-chave "debugger";
✅ E muito mais.

Vem debugar comigo! 👇 Investigar erros e debugar uma aplicação é uma habilidade a ser masterizada.

E essa habilidade está ligada ao seu modo de pensar. Ao seu processo resolver um problema inesperado no código.
Nov 17, 2019 47 tweets 10 min read
Nessa thread, você aprenderá:

✅ Como pegar bugs antes de executar seu código;
✅ As 3 principais verificações que um linter executa;
✅ Como utilizar um linter em um projeto;

Vem comigo! 👇 🔥 O que é um linter?

Um linter é uma ferramenta responsável por analisar, de forma automatizada, o código fonte de uma aplicação e indicar bugs existentes nela.
Nov 11, 2019 55 tweets 11 min read
Nessa thread, você aprenderá:

✅ O que é Abstração;
✅ O que é Composição;
✅ Quais são as vantagens em abstrair e escrever código componível.

Vem comigo! 👇 A abstração é um conceito subestimado. Não costumamos pensar muito sobre abstrações enquanto programamos.

Considerando isso, vamos voltar ao básico por um momento e começar a pensar nos fundamentos desse conceito.
Nov 9, 2019 26 tweets 7 min read
Nessa thread, você aprenderá:

✅ O que é o bind();
✅ Qual é a relação dele com o this;
✅ Como ele pode ser útil para você.

Vem comigo! 👇 Na thread passada (link nos últimos tweets), você aprendeu que o `this`:

1️⃣ Por default, referencia o objeto global do ambiente em que é executado;
Nov 7, 2019 42 tweets 11 min read
Nessa thread, você aprenderá:

✅ O que é o this;
✅ Como evitá-lo;
✅ Como ele se comporta na invocação de funções, métodos, classes e eventos.

Vem comigo! 👇 Recentemente, fiz uma enquete para saber o que mais confunde as pessoas em JavaScript.

Eis o resultado:
Oct 30, 2019 46 tweets 11 min read
Nessa thread, você aprenderá:

✅ O que são classes e por que elas são utilizadas
✅ Como resolver os problemas de Acoplamento e Dependência que as classes geram
✅ Se existe a possibilidade de criar propriedades privadas
✅ Como fazer Herança com classes

Vem comigo! 👇 🔥 Por que classes são utilizadas?

Classes são uma das formas de criar vários objetos parecidos.

Elas evitam que você digite manualmente as propriedades e métodos que cada objeto deve possuir.
Oct 3, 2019 31 tweets 7 min read
Nesse TDD Challenge você aprenderá:

✅ O que é e como descobrir o fatorial de um número;
✅ Como escrever testes para implementações que ainda não existem;
✅ Como fazer os testes passarem, escrevendo o mínimo de código possível.

Vem comigo! 👇 Nesse post, seguiremos os 3 ciclos fundamentais do TDD, passo-a-passo, para codarmos uma função que retornará o fatorial de um número =D

Se você quiser me acompanhar, o boilerplate inicial é o tdd-playground, que terminei de configurar em posts passados.
Sep 24, 2019 25 tweets 6 min read
Nessa thread, você aprenderá:

✅ O que é Currying
✅ As diferenças entre Currying e Partial Applications
✅ A grande vantagem em utilizar Curried Functions

Vem comigo! 👇 🔥 O que é Currying?

Uma "curried function" é uma função que recebe múltiplos argumentos, 👉um de cada vez👈.
Sep 23, 2019 27 tweets 6 min read
Nessa thread, você aprenderá como configurar o Jest para:

✅ Fazê-lo compilar JavaScript moderno;
✅ Automatizar a execução dos testes;
✅ Utilizar code coverage;

Vem comigo! 👇 O ponto de partida desse post é o final da thread mais recente que escrevi sobre o Jest: "Por que o Jest existe?"

O link está nos últimos tweets =)
Sep 21, 2019 18 tweets 3 min read
Vamos falar sobre asserções?

Nessa mini-thread, você aprenderá:

️✅ O que é e como funciona o método assert()
️✅ O que é uma asserção
️✅ Quando dar preferência ao assert() ao invés de usar libs robustas de testes

Vem comigo! 👇 🔥 O que é o assert()❓

O `assert()` é um método que possibilita que você escreva asserções de forma nativa, sem a utilização de ferramentas externas.

No fim desse post, explico em quais contextos faz sentido utilizá-lo, ao invés de optar por uma lib robusta de testes =)
Sep 19, 2019 16 tweets 4 min read
Nessa 3ª thread sobre Closures, você aprenderá passo a passo, através de exemplos, que é possível emular dados privados em JavaScript.

Vem comigo! 👇 Essa thread faz parte de uma série sobre Closures.

Se esse conceito ainda é novo pra você, recomendo que antes de ler essa thread você veja/revise e pratique com as anteriores.

Vou deixá-las nos últimos tweets =)
Sep 17, 2019 23 tweets 6 min read
Hoje, continuarei a falar sobre aquele conceito de Programação Funcional que algumas pessoas dizem ser complicado entender, e que eu quero fazer você perceber que não é:

🔥 Closures 🔥

Vem comigo na mini-thread! 👇 Na thread passada explorei passo a passo, com gráficos e exemplos, o Escopo Léxico do JavaScript.

Não há como você entender como closures funcionam sem compreender como o JavaScript lida com escopos.

Se você não viu esse conteúdo, o link está nos últimos tweets =)
Sep 13, 2019 16 tweets 5 min read
Hoje, falarei sobre um conceito de Programação Funcional que algumas pessoas dizem ser complicado, mas você perceberá que não é:

🔥 Closures 🔥

Vem comigo na mini-thread! 👇 Para entender Closures, você precisa entender como funciona o Escopo Léxico do JavaScript.

Vamos aos exemplos =D

Observe o código à seguir:
Aug 28, 2019 28 tweets 8 min read
Nessa mini-thread, você aprenderá técnicas de encadeamento do map(), filter() e reduce() para:

✅ Obter o total de pessoas que viram filmes da Disney, em um contexto
✅ Obter o preço a ser cobrado por horas trabalhadas
✅ Obter a idade de cães em uma escala humana

Vem comigo!👇 Nas threads passadas (links no último tweet), você aprendeu como os métodos map(), filter() e reduce() trabalham, individualmente.

Nessa mini-thread, através de 3 exemplos, exploraremos o poder desses métodos ao trabalharem juntos =)
Aug 22, 2019 25 tweets 4 min read
Nesta thread conceitual sobre o Redux, você aprenderá:

✅ O que é o Estado de uma aplicação
✅ O que é o Redux
✅ 3 Sinais de que você precisa dele
✅ Desvantagens em utilizá-lo
✅ Respostas de 3 dúvidas comuns sobre ele

Vem comigo! 🎉 🔥 Ontem, publiquei uma enquete sobre o Redux. Se você ainda não votou, dê um pulinho lá e volte.

Sua opinião é importante =)

👇

Aug 10, 2019 20 tweets 3 min read
Nessa thread, você aprenderá:

✅ O que é o Storybook JS
✅ Como se torna o fluxo da aplicação ao utiliza-lo
✅ 8 Vantagens + desvantagens em utiliza-lo em seus projetos

Vem comigo aprender a adicionar componentes visuais na aplicação, sem perder a amizade dos Designers! 👇 🔥 O que é o Storybook JS

Já imaginou desenvolver componentes da interface da sua aplicação JavaScript fora dela?

De forma isolada, interativa, e em um ambiente específico para isso?
Aug 6, 2019 11 tweets 3 min read
Rest Parameters é uma feature que você, programador JavaScript, deve dominar.

Nessa mini-thread, você irá aprender:

✅ Como o Rest Parameters funciona
✅ Como utilizá-lo com Objetos e Arrays
✅ Em quais casos ele não funciona

Vem escrever código + eficiente comigo! 👇 🔥 Como o Rest Parameters funciona

O Rest Parameters possui uma funcionalidade oposta ao Spread Operator.

Ele irá representar,
👉em um array👈, argumentos passados para uma função, por exemplo.

Com essa sintaxe:
Aug 6, 2019 19 tweets 5 min read
Spread Operator e Rest Parameters são features do ES6 / ES2018 que todo programador JavaScript deve entender.

Nessa thread, você irá aprender:

✅ O que o Spread Operator faz
✅ Como utilizá-lo com Arrays e Objetos
✅ Como não utilizá-lo
✅ O que é 'shallow copy'

Só vem! 👇 Image 🔥 O que o Spread Operator faz

Spread Operator e Rest Parameters possuem a mesma notação, mas funcionalidades diferentes.

O spread operator é escrito como prefixo do elemento a ser desmembrado.

Ele pega um elemento iterável e o desmembra em elementos individuais.
Jul 8, 2019 14 tweets 4 min read
Nessa mini-thread, vamos explorar conceitos sobre Testes Unitários e #TDD. Vem comigo! 👇 Testes Unitários, de Integração e End-to-End são tipos de testes automatizados que compõem o núcleo do Continuous Delivery, uma metodologia de desenvolvimento que permite que você suba implementações para produção em dias ou horas, ao invés de meses ou anos.