Bom, links da semana do dia 22/01! Esta semana não teve post de conteúdo por motivos de correria.

  • Dear GitHub: Um conjunto de grandes contribuidores de projetos open source se reuniram neste repositório para assinarem uma carta aberta à equipe do GitHub perguntando quando é que seus pedidos de soluções de bugs e implementação de features será antendido, dado que o que esse próprio conjunto de pessoas se importa tanto com o feedback dos usuários de suas próprias ferramentas. Vale a pena acompanhar!
  • feature.js: O Feature.js é uma biblioteca de detecção de feature para saber do que você deve ou não fazer polyfill, e inclusive auxilia na hora de usar o approach graceful degradation.
  • Danger of using async/await in ES7: O título é sensacionalista, mas vale a pena ler este post sobre os perigos as coisas que você deve levar em conta quando usar async/await no JavaScript!
  • ChakraCore GitHub repository is now open: A Microsoft está dando o que falar ultimamente! Além de já ter aberto o código do VS Code, esta semana eles abriram o código do CrakraCore, o motor JavaScript que roda no Microsoft Edge, o novo navegador da Microsoft que substitui o Internet Explorer. O que no leva ao próximo item.
  • NodeJS + Chakra: Não bastando abrir o código do Chakra, a Microsoft ainda abriu um PR no repositório do Node para que seja possível buildar o Node usando o Chakra como motor, ao invés do V8!
  • React Native in an existing iOS app: Se você também se encantou com o React Native, deve ter ficado se perguntando: mas e se eu já tenho um aplicativo? Vou ter que reescrevê-lo?! Bom, aprenda neste link como introduzir o React Native à um aplicativo iOS já existente.
  • Why We Use Om, and Why We’re Excited for Om Next: Um post do pessoal do CircleCI falando o porque de eles usarem o Om, um wrapper do React para ClojureScript, e porque eles estão animados com a chegada do Om Next.

Até mais!

Vamos à mais um links da semana!

  • Slackcat: o Slackcat é uma ferramenta bem legal que te permite fazer o piping da saída de comandos e upload de arquivos diretamente do seu terminal para o Slack!
  • Stephen Diehl: Se você é o tipo de pessoa que gosta bastante de programação funcional e Haskell, com certeza vai gostar do site deste cara. Apesar de poucos posts, o blog dele tem um conteúdo muito bom!
  • Debug script calls: Já precisou debugar um npm-script? Veja como fazer isso usando o ironNode.
  • The whole future declared in a var: Mais um link sobre programação funcional, agora tratando de código declarativo usando RxJS!
  • Polyfill.io: Polyfills são sempre uma coisa chata de adicionar no build do seu projeto. Com o Polyfill.io você tem polyfill as a service!
  • 10th Anniversary of jQuery: Ontem o jQuery fez 10 anos! É incrível pensar na dimensão que uma lib chegou tão longe e continua tão usada em uma comunidade onde tudo passa tão rápido.
  • The Sad State of Entitled Web Developers: Esta semana um post bastante “agressivo” chamado The Sad State of Web Wevelopment surgiu na comunidade JavaScript. Além de fazer várias afirmações errôneas (sobre origem do React, por exemplo), o autor atacou de maneira pessoal um projeto open source, e isso é algo extremamente errada. Foi justamente por isso que a Una escreveu o post The Sad State of Entitled Web Developers, falando sobre como devemos respeitar projetos open source. A minha opinião sobre o post “bravinho” original é refletida neste tweet do Ryan Florence:

Até mais!

Você já parou pra pensar o quão importante é ter pessoas no seu projeto criticando e revisando seu código? Te apontando possíveis problemas e melhoras que talvez você não tenha conseguido ver quando escreveu? Já xingou o código de um projeto legado sem pensar que talvez uma maneira de melhorá-lo seja aumentar o code review?

Acontecimentos recentes me fizeram ficar pensando neste fato, com coisas que aconteceram comigo mesmo, e então resolvi fazer este post como uma reflexão sobre o assunto: a importância de críticas e code reviews, além de saber lidar com as críticas e não levar para o lado pessoal.

Continue lendo »

Primeiro Links da semana de 2016! Já começo dizendo que o post de hoje está cheio de JavaScript e NodeJS! Vamos lá?

  • How to Become a Better Node.js Developer in 2016: Um post do pessoal da RisingStack (uma empresa de desenvolvimento e consultoria em Node. Você definitivamente deveria acompanhar o blog deles) com dicas sobre como se tornar um desenvolvedor Node melhor este ano!
  • ~2015 in review: Um post do Medium do Sebastian McKenzie, criador do Babel, fazendo uma análise sobre seu ano de 2015.
  • Native Code Is Bad For You: Artigo do pessoal da Telerik sobre porque código mobile nativo é ruim pra você. Não sei você, mas achei o post meio biased, você vai entender o porque, mas não deixa de ser interessante.
  • Angular 2 versus React - There will be blood: Comparaçãoes entre Angular e React surgem na internet com a mesma frequência que surge um novo framework MVC ou implementação do Flux para JavaScript, mas este é um raro caso de comparação bem feita, levando pontos realmente relevantes, nada de “o meu é mais rápido que o seu”, porém desta vez comparando o Angular 2 ao React!
  • Nodal.js: Esta semana pudemos ver o surgimento do Nodal! Ele é um framework Rails/Laravel-like para Node, seguindo realmente o mesmo estilo, talvez um grande competidor do Sails, porém melhor implementado, aparentemente.
  • OCamlScript: E, por fim, se você, se você lembra do meu post JavaScript: adicione açúcar a gosto e pare de reclamar você deve se lembrar que em uma das partes do post eu dou várias alternativas para usar JavaScript sem usar a sintaxe do JavaScript. Recentemente surgiu mais um candidato à uma linguagem deste tipo, o OCamlScript! A diferença dele para soluções como o Js_of_ocaml, por exemplo, é que a saída em JavaScript dele é bem mais legível!

Até a próxima, pessoal!

Primeiramente, caso você esteja lendo este post no começo de 2016: feliz ano novo!

Alguns dias atrasado, mas não podia deixar de fazer um post com objetivos para este ano, pensar um pouco sobre como foi o ano passado, pensar o que deve continuar como é, o que deve ser melhorado, quase que uma retrospectiva starfish.

Continue lendo »

Depois de duas semanas sem postar os Links da semana por problemas com o meu computador e correrias de fim de ano, vou postar hoje o último Links da semana do ano, incluindo os links que eu teria postado nas últimas semanas!

O Angular, como diz a própria documentação, é um framework para criação de aplicações dinâmicas que aposta em código declarativo, dado que código assim é melhor para a programação de interfaces web.

O problema é que ainda assim as pessoas costumam esquecer a importância de usar código declarativo e o código da sua aplicação acaba perdendo um pouco da sua expressividade. Quer um exemplo? O excessivo uso da função link quando cria-se uma diretiva!

Neste post da série Angular por um desenvolvedor React vou discutir um pouco sobre como acho que devam ser usados os eventos dentro do Angular dado meu background com desenvolvimento com o React.

Continue lendo »

No post passado da série Angular por um desenvolvedor React introduzi o conceito de componentes a serem usados no Angular bastante semelhante com os padrões usados em aplicações desenvolvidas com React.

Neste segundo post vou falar um pouco sobre o fluxo de dados, o modo como a mudança do estado da aplicação pode ser propagada para todos os componentes e um pouco da minha opinião sobre o two-way data binding e como ele deve ser usado.

Continue lendo »

Vamos aos links da semana do dia 11/12!

  • Microsoft Edge’s JavaScript engine to go open-source: Mais um anúncio gigante para a comunidade JavaScript, a Microsoft vai tornar opensource o Chackra, motor JavaScript do novo navegador da empresa, o Edge, e concorrente do NodeJS! Mais um plus sobre a empresa, a Microsoft também anunciou esta semana que vai tornar o Open Live Writer opensource também!
  • Git Cheat Sheet: Um cheat sheet com vários comandos do git correspondentes a tarefas que você queira fazer.
  • Advent of Code: Uma árvore de natal com contagem para o natal com uma mensagem sobre programação em cada nível dela que já passamos até o natal, vale a pena dar uma lida!
  • 12 good, bad and ugly web design trends for 2016: Veja algumas tendências do webdesign para 2016.
  • 5 Questions Every Unit Test Must Answer: Ainda está em dúvida sobre como escrever bons testes? Veja aqui 5 perguntas que todo teste unitário deve responder! (Em breve também um post falando da importância de testar :D)

Até mais!

Quando se trata de desenvolvimento, o lado humano é sempre o elo mais fraco. Isso se aplica tanto à segurança da informação quando à confiança que se pode ter no código da aplicação. A possibilidade de um programador inserir um bug no código é bem maior do que a do compilador gerar um código com problemas.

Dado que máquinas tendem a errar menos, o que podemos fazer é passar responsabilidade de algumas tarefas para o computador, ou seja, automatizá-las. Automatizar suas tarefas não só fará com que você crie aplicações mais confiáveis, como também terá um fluxo de desenvolvimento mais rápido. Isto pode ser feito pelo que chamamos no mundo do desenvolvimento de tooling.

Neste post vou discutir a importância de usar este tipo de ferramenta, que é importante inclusive para o seu aprofundamento na linguagem.

Continue lendo »