Em algum momento da sua vida, alguém deve ter dito pra você (ou talvez tenha lido em algum artigo/livro): “Aprenda algo novo todos os dias”.
Essa é uma frase muito bonita e motivadora. No entanto, bastante complicada de ser cumprida na prática, afinal, todos nós temos nossos próprios compromissos (estudos, trabalho, etc) que ocupam a maior parte do tempo útil do dia.
Ao final dele, é difícil encontrar disposição para estudar alguma coisa nova (isso quando não perdemos ainda mais tempo para escolher o que estudar).
Para ajudar nesta missão de aprendizado, hoje veremos como funciona o projeto 30 Seconds of Code (30 segundos de código).
A ideia central é que todo dia possamos acessar o site do projeto e aprender algo novo por meio de pequenos trechos de códigos. Este aprendizado tem o objetivo de durar não mais do que 30 segundos.
Achou curioso? Então reserve mais alguns segundos para ler o restante do artigo.
Trinta segundos por dia
O projeto 30 Seconds of Code é de código aberto (patrocinado pela Digital Ocean) e está disponível no GitHub por meio da licença Creative Commons Zero v1.0 Universal. A ideia é tão bacana que o repositório oficial já tem mais de 33 mil estrelas e não para de crescer.
Como citado anteriormente, a ideia toda é que possamos aprender algo novo em menos de 30 segundos. Logo na página inicial, vemos que existem diversos pequenos trechos de código – cada um com um título, uma descrição, sintaxe, uma cor e um (ou mais) exemplo(s) de uso.
Vejamos o primeiro exemplo. Notamos que é sobre montar a função all() usando o Array.prototype.every no JavaScript. Logo após o título, temos a seguinte explicação:
“O método retorna o valor true se a função de critério também retornar true para todos os elementos da coleção; caso contrário, ele retornará false. Use o Array.prototype.every para testar se todos os elementos na coleção retornam true com base em fn. Omita o segundo argumento, fn, para usar o Boolean como padrão.” (tradução livre).
Logo em seguida temos um exemplo de como utilizá-la.
all([4, 2, 3], x => x > 1); // true
all([1, 2, 3]); // true
Podemos testar esse código no próprio devtools do navegador, em um projeto web, ou usando o repl.it. Vamos optar pela última opção. Basta usar o botão de copiar disponível e então copiar o código na plataforma.
Aqui, vou somente encapsular o resultado em um console.log para que possamos ver o que ele nos devolve.
Bem bacana, não é? O site está recheado com dicas como esta. A ideia é que você visite-o diariamente e aprenda uma pequena dica como essa.
No repositório do projeto, conseguimos ver de forma mais clara a divisão entre os tópicos das dicas, que vão desde métodos para Array, até Data, Node, String, utilitários e afins.
E se você achou que isso era somente para o JavaScript, está muito enganado.
O mesmo projeto possui alguns derivados bem legais, como o 30 Seconds of CSS, 30 Seconds of Interviews e 30 Seconds of React. Além disso, existem outros dois “não oficiais”: o 30 Seconds of Python e o 30 Seconds of PHP.
Todos possuem uma estrutura muito semelhante e compartilham o mesmo objetivo: te fazer aprender coisas novas todos os dias em menos de 30 segundos.
E aí? Aceita o desafio?