Vamos aos links da primeira semana do último mês do ano!

  • Concurrently JavaScript: Uma série de 3 posts do Kyle Simpson/@getify sobre concorrência em JavaScript, bastante interessante pra quem quer se aprofundar de verdade na linguagem.
  • Getting Started with Redux: O Dan Abramov, desenvolvedor do Redux, lançou lá esta semana um curso de introdução ao Redux inteiramente grátis, vale a pena conferir!
  • MaximAbramchuck/awesome-interviews: Um awesome sobre perguntas de entrevista de vários escopos, de JavaScript à Lisp.
  • Functional front-end coding: Uma talk bem interessante sobre programação funcional no front-end, sobre assuntos como imutabilidade, Elm, entre outros.
  • PHP 7 new features: O PHP 7 já deu as caras, veja aqui uma lista de novas features da linguagem. Importante também citar a lista de breaking changes deste release.
  • The Ultimate Guide to Personal Productivity Method: Um guia com vários métodos para aumentar sua produtividade!
  • Flexbox Froggy: Ainda não sabe como funciona o flexbox do CSS3? Aprenda de uma forma bem interessante! Este site inclusive me lembrou o CSS Dinner, bastante útil pra quem ainda é iniciante em CSS.
  • Free time: Uma iniciativa brasileira que reúne várias talks para desenvolvedores!
  • Swift: E, por fim, esta semana foi anunciado que a linguagem Swift, da Apple, se tornou open-source. Isso mesmo, depois de Microsoft anunciando o VS Code como open-source, agora a Apple também entrando neste mundo, quem diria!

Bom, foram estes, sinta-se livre para comentar e mandar mais dicas de links interessantes desta semana.

Quando ouvi falar do Angular pela primeira vez achei a ideia genial! Para uma pessoa que já havia mexido com o Backbone, não precisar se preocupar com o DOM diretamente era um paraíso. Com o tempo, lendo reviews de programadores influentes que usaram, acabei mudando de ideia.

Com o React foi exatamente o contrário. A primeira vista achei estranho, simples demais, e JSX me parecia uma maluquice. Porém com o tempo fui notando o potencial que a biblioteca tinha, principalmente com a capacidade de permitir serverside rendering e virei fã.

Hoje, depois de meses mexendo com o React e sem dar muita importância ao Angular, noto que em parte o Angular é mais mal entendido do que ruim. Não, ainda não gosto do framework, e o fato de não permitir serverside rendering influencia nisso (não, coisas como o Prerender ou o EscapedFragment.io não me convencem). Mas depois de ler alguns posts que vou citar ao longo deste primeiro post, resolvi tentar novamente fazer algo em Angular, seguindo algumas coisas que aprendi com o React. E neste primeiro post sobre o assunto vou falar sobre componentização!

Continue lendo »

Bom, links da semana do dia 27/11, a última do mês!

Esta foi uma semana grande para a comunidade do JavaScript e de NodeJS, e você já vai saber porquê. :D

  • Microsoft/vscode: Começando pelo fato de que o Visual Studio Code, o editor da Microsoft feito com TypeScript teve seu código finalmente aberto!
  • How we unit test React components using expect-jsx: Descubra neste post um jeito mais fácil de testar componentes do React usando o expect-jsx, que permite usar o método de teste toEqualJSX.
  • chentsulin/awesome-graphql: No post sobre como se aprofundar em uma linguagem eu já comentei sobre os awesome. Este um awesome focado em conteúdo sobre GraphQL.
  • Flux VS Single State Tree: Uma comparação do funcionamento de modificação e armazenamento de estado em aplicações que usam Flux e Single State Tree, tanto com o Flux tradicional quanto dom o Redux.
  • Dance to Calypso: Eu não disse que essa era uma semana especial para o NodeJS? Pois é, o pessoal da Automattic, empresa que desenvolve o Wordpress.com, anunciou que o sistema será reescrito em JavaScript para ser API-based, inclusive usando React e arquitetura Flux.
  • Web Authentication Methods Explained: Um post do blog de engenharia da RisingStack sobre métodos de autenticação de sistemas web, incluindo técnicas a serem usadas em SPAs.
  • Raspberry Pi Zero: the $5 computer: Um novo Raspbery Pi, o Zero, acaba de ser lançado, e custando apenas $5! Sim, você não leu errado, e não, não é um Raspberry ruim, confira também este vídeo.

Reclamar do JavaScript é um dos atuais hypes na programação, alguns reclamando das novas features que estão surgindo, outros reclamando que deveria estar indo ainda mais rápido, outros ainda reclamando que a linguagem é simplesmente ruim e ponto. Sinceramente, acho que a única resposta que serve para todos esses tipos de reclamação é: adicione açúcar a gosto e pare de reclamar.

Antes que comece com “ah, mas não dá pra fazer X com JavaScript, minha linguagem tem X no core” eu espero que você leia o post até o fim.

Continue lendo »

Bom, pessoal, depois desta semana corrida, com direito à feriado amanhã pra compensar (pra alguns :P), vamos aos links da semana do dia 19/11!

  • Butterick’s Practical Typography: Este link foi sugestão do Bruno, e possui diversas informações sobre tipografia, muito útil se você é um designer ou quer se aprofundar em design, abrangendo desde composição, até formatação e layout.
  • Misused mobile UX patterns: Este post mostra vários padrões de design/UX usados de maneira errada pelo pessoal de mobile, explicando porque são más práticas e mostrando melhores alternativas.
  • 10 Habits of a Happy Node Hacker (2016): Este post do pessoal da Heroku mostra uma lista de 10 itens que todo desenvolvedor Node deve ter como hábito para desenvolver melhores aplicações.
  • Anatomy of a large Angular application: Aprenda neste post como arquiteturar uma aplicação Angular de grande escala, sem cair nos problemas que o Angular costuma implicar quando o app começa a crescer.
  • Foundation for Emails: Anteriormente chamado de Zurb Ink, o Foundation for Emails é um conjunto de ferramentas que te permite criar layouts responsivos de email que promete ficar bom em qualquer dispositivo ou cliente de email!
  • casualjsf: Implementação de algumas funções do core do Haskell usando ES6, ótima referência pra quem também está na onda da programação funcional.
  • A new look for repositories: Os repositórios do GitHub ganharam uma leve repaginada esta semana, já viu?
  • Desculpas de programador: Este site gera aleatoriamente uma desculpa de programador cada vez que você usa ele, como “Esta versão não é compatível com seu computador”. Pode ser útil qualquer hora :P

Caso tenha algum link interessante a enviar, só mandar ali nos comentários!

Você sabe o que é um decorator? De maneira resumida, decorator é um design pattern que permite que você adicione funcionalidades a um objeto! A Wikipedia tem um artigo sobre o decorator pattern que pode te ajudar a entender o que é o padrão.

E você sabia que o ES7/ES2016 possui decorators em sua especificação? Pois é, já é possível usar decorators no JavaScript a partir de transpilers como o Babel, que podem ser usados, por exemplo, para tornar classes singletons, ou adicionar debounce à métodos.

Mas espera, eu li na descrição dos decorators que eles adicionam funcionalidades à um objeto individual sem alterar os outros da mesma classe, qual é que é essa aí de tornar uma classe um singleton? Isso não faz sentido!

Caso você tenha tido a reação acima, talvez você tenha se esquecido (ou não saiba) que classes/funções em JavaScript são instâncias de Function ;)

Este post não visa ensinar o que são decorators, nem como usá-los no JavaScript, o post do Addy Osmani sobre ES2016 decorators pode fazer isso muito melhor do que eu! O que vim fazer aqui é simplesmente te indicar bons pacotes de decorators para usar com JavaScript/NodeJS.

Continue lendo »

Estes foram os links da semana do dia 12/15, espero que gostem!

Se você é um desenvolvedor Ruby e usa um Mac, há uma grande possibilidade de você já ter usado o Pow. Mas caso você não conheça, o Pow é um servidor Rack para Mac OS X de configuração zero (ou mínima, pelo menos), que permite que você sirva seus apps Rack localmente pela url http://<seu_app>.dev em questão de minutos.

Uma das fraquezas do Pow é o fato de ele ser disponível somente para Mac OS X, e se você tem usuários Linux no seu time e o seu app necessita do Pow no ambiente de desenvolvimento isso pode ser um impedimento. É por isso que post visa justamente oferecer alternativas ao Pow, para você que usa outro sistema operacional!

Continue lendo »

Vamos aos links da semana do dia 05/11! Ao contrário da semana passada, essa semana os links estão menos biased, não tão focados em front como, por coincidência, aconteceu na semana passada.

Que a comunicação é um fator de extrema importância eu sei que você concorda (eu espero), mas você já se perguntou quais aspectos a comunicação (ou a falta dela) afeta mais? Essa é a ideia desse post!

A comunicação pode ser definida como o ato de transmitir uma mensagem e, eventualmente, receber uma mensagem de resposta. Porém frequentemente as pessoas esquecem que transmitir uma mensagem não é simplesmente emiti-la, mas sim fazer com que seu interlocutor entenda a mesma.

Continue lendo »