Programming Highlight - 1
Tweetuma compilação dos melhores links que li na semana.
- Lightning talk sensacional feita pelo Gary Bernhardt no CodeMash 2012 falando sobre as bizarrices das linguagens ruby e javascript:
https://www.destroyallsoftware.com/talks/wat
- O twitter lançou a versao 2.0 do seu bootstrap. Aqui tem uma palestra explicando as principais mudanças.
http://speakerdeck.com/u/mdo/p/bootstrap-2
- O “Hacker Way” do Facebook, segundo o Mark Zuckerberg. Vale a leitura! Documento original
http://www.startuplessonslearned.com/2012/02/hacker-way.html
- Tem duvida do que é REST, RESTful e tudo isso? Leia essa thread do stackoverflow.
http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming
- Teste quais features de css3 seu browser suporta.
Testes em Javascript - Jasmine
TweetTestes automatizados emergiram como uma das boas praticas da engenharia de software, e seus resultados sao comprovadamente eficazes.
Eu utilizo bastante essas tecnicas quando programo em python/django com ferramentas como o splinter, unittest entre outras. Porem quando programava em javacript, eu sempre senti falta desses testes automatizados.
E o Jasmine?
tl;dr - Jasmine is a behavior-driven development framework for testing your JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.
Em setembro do ano passado (2011), comecei a trabalhar no projeto de cobertura de eventos na globo.com. E tinhamos como desafio principal, atualizar uma pagina em tempo real via streaming com fotos, videos e textos. Pra isso os componentes da pagina teriam que interagir muito, recebendo e tratando os dados enviados do streaming. Usamos muito js com o framework mootools, e pra testar usamos o jasmine, o que nos proporcionou uma segurança e qualidade de codigo excelentes!
Agora chega de falar!
Show me the code
Pra começar, vc descreve um cenario que vai testar.
Como exemplo, vamos fazer um fizzbuzz
describe("Fizz Buzz", function(){
it("numero igual a tres deve retornar fizz", function(){
expect(fizzbuzz(3)).toEqual("fizz");
});
});
Depois de escrever o teste, a gente escreve um codigo pra passar:
var fizzbuzz = function(numero) {
return "fizz";
}
Agora mais um cenario:
it("numero igual a cinco, deve retornar buzz",function() {
expect(fizzbuzz(5)).toEqual("buzz");
});
mais um pouco de codigo:
var fizzbuzz = function(numero) {
if (numero === 3) {
return "fizz";
}
return "buzz";
};
Bom ai vcs podem continuar a brincar e terminar o codigo.
E pra rodar?
Bom vc pode carregar os scripts(download aqui) do jasmine numa pagina html estatica e por ultimo carregar o seu teste. Um exemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jasmine Test Runner</title>
<link rel="stylesheet" type="text/css" href="lib/jasmine-1.0.2/jasmine.css">
<script type="text/javascript" src="lib/jasmine-1.1.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.1.0/jasmine-html.js"></script>
<!-- include source files here... -->
<script type="text/javascript" src="aquivo/que/voce/quer/testar.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="arquivo/de/teste.js"></script>
</head>
<body>
<script type="text/javascript">
jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
jasmine.getEnv().execute();
</script>
</body>
</html>
Se vc tem um projeto em ruby com rails, vc pode usar uma gem pra rodar os testes.
Se vc tem um projeto em python, pode usar o jasmine-test-runner, feito pelo cobrateam.
Se vc tem um projeto em outra linguagem, veja aqui como rodar o jasmine.
Entao é isso!
Até a proxima, []’s
Palestra ministrada no FISL 12 em 2011 sobre TDD, Refactoring e boas praticas de programação!
Feedbacks sao bem vindos!
Até mais!
Aprenda Vim Progressivamente
TweetSou usuario do vim a algum tempo e sempre estou procurando aprender mais e mais sobre esse excelente editor.
Recentemente encontrei um otimo post no blog do Yann Esposito para iniciantes aprenderem vim rapidamente e tambem para veteranos querendo aprender algumas magicas desse otimo edito de texto.
Gostei tanto do post que resolvi traduzi-lo para divulgar o vim e mostrar como voar com ele.
Então vamos ao post!
TL;DR: Quer aprender vim (o melhor editor conhecido pela humanidade) da forma mais rapida possivel. Eu sugiro um caminho. Comece aprendendo o basico pra sobreviver, entao integre todos os truques devagar
FISL 12 - A segunda vez é ainda melhor
TweetNa ultima semana rolou em Porto Alegre mais um FISL na PUC. Foram 4 dias conhecendo e conversando com muita gente, revendo amigos, comendo muito churrasco e sentindo muito frio!
Esse foi meu segundo FISL, e como dizem: a segunda vez é ainda melhor!
Fiquei grande parte do tempo no stand da globo.com, conversando com pessoas da comunidade python, conhecendo gente de todo brasil e fazendo novas amizades. Tive contato com muitos alunos e futuros programadores, uns mais interessados e outros só querendo brindes xD
No stand da globo.com apresentei uma lightning talk sobre Coding Dojo e convidei a galera para participar de um dojo no sabado a tarde!

