Feeds:
Posts
Comentários

Meteor.js

Comecei a dar uma olhada no framework JavaScript Meteor para verificar o que ele oferece e por que está começando a fazer barulho no mundo open-source. Fiz uma pequena POC baseada no exemplo existente do site e coloquei no github para poder fazer incrementos graduais nessa POC.

Minhas primeiras impressões com esse framework foram boas, achei ele bem prático de ser usado. Esse framework roda tanto no servidor quanto no client (claro!) e uma das funcionalidades que gostei bastante foi o fato dele ser integrado ao MongoDB. Isso facilitou muito a criação do projeto de uma maneira rápida e sem grandes complicações.

Em termos de integração, dei uma olhada no que o pessoal anda fazendo e verifiquei que ele já possui alguns pacotes interessantes como bootstrap, less, backbone, d3, etc. Tenho quase certeza que muitos outros virão por ai. Até porque lendo no blog deles, vi que em julho de 2012 eles conseguiram um investimento de US$11.2 mi para poder avançar o projeto. Se souberem investir bem esse dinheiro, vai dar para fazer muita coisa no projeto.

Não sei ainda o quanto ele é eficaz para projetos de médio/grande porte, mas tenho certeza que para projetos pequenos, esse é um framework que até o momento estou recomendando!

Anúncios

Koans

Uma boa forma de aprender uma nova linguagem é através de Koans; que funciona da seguinte forma: basicamente existe uma bateria de testes com diversos níveis, todos que não funcionam (red), e você deve fazer com que esses testes passem (green). Quando mais você avança, mais você se aprofunda na linguagem que está aprendendo.

Segue alguns Koans para você aprender, rever ou entender melhor alguns conceitos da linguagem:

Existem Koans de várias outras linguagens, basta procurar na net pela que você deseja. Bons estudos! 😉

“Weekly News” é uma das maneiras que uso para me manter atualizado quanto as tecnologias que uso ou que estou de olho. Acho intessante esse modelo, pois é uma maneira de obter rapidamente um resumo das novidades. Segue abaixo a lista dos que estou assinando e que encontrei até agora e achei interessante:

 

Aprovo a idéia de utilisar uma meta-linguagem sobre CSS. Se bem utilisada, como tudo no mundo da informática, facilita bastante a reutilisação de trechos do seu código. Estou usando Sass, pois esse já vem no Rails e sinceramente não vejo grande diferença entra Sass e Less para optar entre um e outro. Se tivesse usando Twitter bootstrap por exemplo, estaria usando Less.
As duas principais funcionalidades no Sass que mais gosto são: a possibilidade de criar variáveis, e os mixins. Nesting é uma funcionalidade bacana também, porém tomo muito cuidado para não entrar em mais de 1 nível de identação, mesmo vendo que poderia ir além disso.
Assisti esses dias um vídeo que mostrava o Bourbon no RailsCasts e achei bem interessante. Instalei na aplicação que estou desenvolvendo, fiz alguns testes (nada muito sofisticado) e a princípio gostei do que vi. Porém quando comecei a ler a documentação mais a fundo, vi que ele suporta somente IE 9+; ou seja, ainda hoje em dia mais ou menos 40% dos IEs que rodam no mundo são IE 8 e 12% IE 7. Achei que é uma parcela muito grande a ser considerada, então acabei removendo do meu projeto.
Penso eu que alguém vai acabar fazendo um fork desse projeto e enviando patchs para melhor suportar essas versões mais antigas de IE (menos IE 6 é claro!), até lá vou ficar somente com Sass que já me ajuda bastante no desenvolvimento. 😉

Na empresa em que trabalho atualmente, temos muitos processos/scripts feitos em bash. Até pouco tempo atrás não nos preocupavamos muito com testes unitários e de integração feitos em bash; bem diferente de outras liguagens que utilizamos, como: Java e JavaScript, onde a parte de testes unitários e a automatização estão em níveis satisfatórios e ficando cada vez mais rigorosos com o passar do tempo.

De alguns sprints para cá (adotamos há muito tempo scrum), começamos a dar mais atenção à parte de integração contínua dos processos dos nossos sitemas, passando a escrever testes para os scripts bash. Escolhemos aleatóriamente o Bats como framework de testes. Esse é desenvolvido por Sam Stephenson, um cara conhecido da comunidade Ruby; o código está no github, possibilitando assim o fork facilmente. Por enquanto estamos gostando do Bats e não temos previsão de abandoná-lo.

Um exemplo de teste bem simples que está na própria página do github é:


#!/usr/bin/env bats

@test "addition using bc" {
  result="$(echo 2+2 | bc)"
  [ "$result" -eq 4 ]
}

@test "addition using dc" {
  result="$(echo 2 2+p | dc)"
  [ "$result" -eq 4 ]
}

E para rodar o teste, basta executar o comando: $ bats nome_do_arquivo.bats. Como usamos Jenkins + Maven 3, colocamos esses scripts para rodar a partir desses dois utilitários. A integração deles funciona muito bem e é bem simples!
Como podem ver, não existe mais desculpa para não fazer testes e automatizar os scripts da sua empresa também. 😉

No trabalho, estamos repensando a forma de autenticação/autorização dos nossos sistemas para expor APIs publicas e privadas. Como conselho de um amigo, uma das soluções que começamos a analisar foi o CAS, desenvolvido pela Universidade de Yale.

Meu conhecimento não é grande nessa área, porém achei bem fácil a instalação/configuração dele rodando em um tomcat. Em pouco tempo já estava fazendo testes de autenticação, single sign-on, etc. Fazer também a integração do CAS com um cliente java foi bem fácil. No próprio site dele, existem links para o github com vários exemplos; basta baixar, entender e adaptar à sua necessidade.

Até o momento não decidimos o que vamos usar ainda, mas realmente achamos CAS uma ótima solução.

Decidi ir para OSCON (Portland – OR) esse ano, pois é um dos maiores eventos de programadores do mundo, ao menos em termos de quantidade de pessoas! 🙂 Uma coisa interessante desse evento é que ele é composto de 5 dias, sendo os dois primeiros dias de workshops. Mesmo sendo a empresa que estava pagando, por questões financeiras, decidi ir somente nas apresentações (quarta, quinta e metade da sexta).
Como todos os eventos, havia apresentações muito boas e apresentações mais ou menos. Um dos pontos que enviei ao evento como “à melhorar” foi a de colocar o nível técnico da palestra, pois acho que isso ajuda bastante na hora de decidir de assistir ou não uma apresentação. No geral achei o nível técnico das apresentações bom, infelizmente faltou um pouco de tópicos avançados.
Uma coisa bacana é que Portland fica super perto da California, então tinha boas palestras/casos de usos do pessoal que trabalha no Google, Facebook, etc. Interessante que as palestras que mais me chamaram atenção foram as que falavam de comunidade open source, com as do pessoal da ASF (Apache). Eles devem estatísticas e visões que eu não havia parado para pensar.
Gostei bastante da experiência de ter ido à OSCON, assistir boas apresentações e encontrar amigos/pessoas do Brasil; porém como aqui em Montreal todo ano tem a Confoo com bastante palestras diversificadas e interessantes, esse foi o primeiro e último ano que decidi ir para a OSCON, pois minha decisão para o ano que vem foi de ir à Confoo que sai bem mais barato para mim tanto em logística quanto em preço do evento, e ir aos eventos mais focados em uma tecnologia/assunto (JavaScript, Java, noSQL, etc) nos EUA/Europa, que vai sai mais caro mas que espero assistir palestras com mais tópicos avançados.