BrazilJS 2014
- O Tumblr é uma maneira de se expressar
- você pode fazer blogs, sites, o que quiser para expressar sua opinião, seus gostos etc.
- Tres maneiras de entrar em contato com seu conteúdo: Dashbaord. Search. BLog Network.
- O Blog é seu espaço. Você pode fazer seu próprio design, código e até javascript.
- Front-end Stack: Backbone (+iodash, underscore), SASS (+boubon), Jquey, Gulp, VelocityJS
- Back-end Stack: PHP, Serviços especificos em Scala, C, etc. MySQL, Redis, memcache, HDFS
- O Tumblr tem mais de 1000 servidores.
- Deploy várias vezes ao dia. (Coisa linda.)
- Times pequenos.
- 2 Code reviews OKs para estar ok e subir um PULL REQUEST.
- Testes de features funcionam quando se segregam usuários para features específicas
- Eles controlam quem e quando cada usuário poderá ver uma determinada feature.
- O teste A/B deles também é interessante, porque o importante é saber ONDE colocar um determinado botão, por exemplo? Logo eles colocam um detemrinado botão em diversas posições para vários usuários e medem qual está trazendo mais resultados. Se a posição 2 traz mais resultados que a posição 5, ela fica e a outra sai.
- Novas features do dashboard são deploiadas para os admins "staff" primeiro, depois para 1% dos usuários, depois 5%, 10%, 25% e assim por diante.
- Suba com cuidado features que dependem de outras features e misturam as suas experiências.
- Novas features tem bugs, normalmente... Erros Server-side são simples de identificar, mas o problema são os erros no client-side.
- Na verdade erros client-side são fáceis de achar, mas tem muitas variantes, browsers, dispositivos, sistemas operacionais etc...
- Eles construíram um exceptions.js, que usa o window.onerror, que avisa toda vez quando uma página quebra.
- Este exceptions.js precisa ser livre de dependencias, logo, sem JQuery.