1- Mudar para melhor cultura interna da inGaia.
2- A melhor forma de aprender é ensinando.
3- A melhor forma de criar uma comunidade que aprende é ensinando.
- Clean Code
- Spotify Engeneering Culture
- Agile (de verdade!)
- Computer Science, bitch!
- Qualidade verdadeira de software
- Precisamos compartilhar o conhecimento
- Ensinar te faz realmente se aprofundar no assunto
- Estudar na, nossa área, é obrigatório
- Spotify Engineering Culture (Parte 1 | Parte 2)
- The Agile Manifesto | Agile não é rapidinho
- Uncle Bob
- A internet não é mais descentralizada (80% do trafego é facebook + google)
- Neutralidade de rede
- Efeito "Eu uso porque todo mundo usa"
- Internet totalitária (Monopólios!)
- Fim do anonimato da rede
- A internet atual propencia a centralização
Solução:
- Descentralização (Peer-to-Peer)
- Solução de problemas > Lucro
- Open Source
Algumas ferramentas para a Internet 2.0:
SSB, DAT, Beacker, CJDNS, Etc...
Principal uso: substituir a comunicação HTTP
Fila entre o servidor principal e um "worker"
Problemas com tipos em JS:
1- NAN
2- undefined is not a function
3- cannot read/set any property of undefined
4- silent erros
Como resolver ?
1 - Com checagem de tipo estática(Flow/TypeScript). Analisa o código antes do código rodar com o type checking
E se tiver I/O ?
Usar any ? Não, any é totalmente unsafe. Uma solução é o uso de ELM que cobre todos os casos possiveis de resposta com o tipo RESULT.
Ou
Usar o tcomb que analisa tipo de codigo em runtime. Funciona junto com o flow e portanto você terá type-checking tanto em tempo de compilação e em tempo de execução de código
Immutability
const para tipos primitivos
Object.freeze() para objectos ou arrays(Apenas no primeiro nivel - shallow)
Immutable.JS - immutable collections(deep)