terça-feira, 28 de dezembro de 2010

Meu ambiente de trabalho em 7 itens

A missão de fazer esse post foi sugerida pelo Bruno Codeman que é da comunidade SouDev e está incentivando os desenvolvedores falarem de seus ambientes de trabalho.

1 - Ubuntu 10.10

Comecei na área de programação desde setembro de 2009 programando em Ruby on Rails. Antes disso programava em PHP alguns dos meus trabalhos de faculdade e o SO era um Windows XP. A maior diferença que vi foi a velocidade e a facilidade que um Linux me dá na hora de um desenvolvimento, como a comunidade Linux é gigantesca, todos os problemas que tive com a adaptação foram sanados rapidamente com o auxilio dos participantes. Não sou nenhum especialista em Linux, mas aprendi muito com ele até hoje, e vejo que hoje em dia sei um pouco sobre SO, coisa que pensava que sabia mexer em Windows.

2 - GEdit

Não utilizo nenhuma IDE para programar já que é bem fácil utilizar
Ruby on Rails. Faço todos os meus códigos no GEdit por ser uma
ferramenta que me dá a agilidade que preciso no desenvolvimento.
Instalo nele o GMate, que traz uma quantidade de plugins enormes que,
configurados da forma correta, me dá a agilidade necessária.

3 - Phpmyadmin

Utilizo por enquanto o MySQL como banco de dados e, para facilitar a
visualização das tabelas, utilizo o Phpmyadmin, que me facilita
bastante. Como eu já o utilizava na época que fazia alguns scripts de
PHP, não precisei de adaptação e sim aprofundamento na ferramenta.

4 - Chrome

Hoje em dia estou utilizando o Chrome para desenvolvimento e estou
gostando. Ele tem uma ferramenta parecida com o Firebug do Firefox  já
integrada. Acho ele bem rápido, mas como estou há pouco tempo
utilizando-o, não tenho muitas coisas para falar.

5 - Rails Brain, Rails Guides e Github

São os meus companheiros inseparáveis. Neles tem toda a documentação
necessária para Rails que eu preciso. O Rails Brain é uma API de Rails
bem rápida feita em Ajax e o Rails Guides vem com toda a documentação
necessária para eu tirar minhas dúvidas maiores. O Github é onde eu
encontro alguns plugins que me ajudam no desenvolvimento dos sites que
faço, nele também tem documentações e aplicativos de testes bem úteis. 

6 - Google

Se tenho uma dúvida grande o guru Google me ajuda a resolver da forma
mais rápida e correta possível.

7 - Música

Rock o dia inteiro nos fones, é a melhor forma que eu encontrei de me
concentrar. Toca desde Coldplay a Demon Hunter, passando por todos os
estilos de Rock e de vez em quando um Rap.

Já que a ideia é passar o bastão para outros, eu gostaria que o Luciano Sousa, Raphael Almeida, Fernando Kosh e o Rui Andrada compartilhem seus ambientes de trabalho.

segunda-feira, 27 de dezembro de 2010

Não sabe um caminho para seguir na programação? tente este aqui, parte 4/6

Por que fazer teste ?
 
Depois de um tempo sumido sem postar estou voltando, parte foi culpa da
faculdade, outra parte foi um pouco de preguiça, mas vamos ao que interessa
que é teste.
Eu já dei um exemplo de teste no post que faço o exercício do fizzbuzz. No mundo
Ruby existem várias ferramentas que o auxiliam em um desenvolvimento com
teste, que é muito forte na comunidade Ruby, e com toda essa força acaba
influenciando no framework mais utilizado que é o Rails, ele vem com um
ambiente de teste unitário integrado, eu conheço duas técnicas utilizadas em
teste, uma é TDD e a outra é BDD, o exemplo fizzbuzz que mencionei acima utiliza TDD.

TDD => testa método, você vai verificar se o seu método está retornando o valor
certo utilizando o teste, é útil por que você não vai ficar precisando cadastrar um
monte de clientes de formas diferentes, simulando erros por exemplo.

BDD => testa comportamento, é se a ação que seu cliente efetuou tem o comportamento esperado.

Não importa qual técnica você gosta mais de usar, o importante é que use, por
exemplo, eu estou gostando de usar BDD acho mais útil, mas isso é gosto e posso
mudar de opnião a qualquer momento sobre isso, se achar que BDD não
atende o que preciso.
Atualmente utilizo o RSpec para fazer alguma coisa com teste, ainda estou
estudando, lendo documentações, posts e vendo algumas vídeo aulas sobre o
assunto, acho muito interessante ele ser aplicado no desenvolvimento por ajudar
na documentação e na verificação de erros em lugares que você achava que seu
código não iria quebrar, não é fácil se acostumar a fazer teste antes de
programar, mas com o tempo você acostuma, e se acha que sua missão vai ser
difícil, não tem muita ideia do que fazer nela, utilize o IRB antes, de uma
clareada na mente e depois volte aos testes.
Na empresa que trabalho estamos fazendo um grupo de estudos chamado Forkin
Cidadelas, onde qualquer pessoa pode ir participar, ou pode participar
remotamente(em testes ainda) estamos vendo Rails3 e fazendo as aplicações com
teste, está no começo, e até meio bagunçado mas já é um começo, entre na lista
do rubyonrio para saber mais informações.
Então pesquise um pouco sobre testes, é interessante e cada vez mais está sendo
pedido em CVs de empresas de software, não fique para trás nessa, e teste não é
exclusividade de Ruby, a maioria das linguagens deve ter, eu conheço várias que
tem, então não perca tempo e vá estudar. Depois que eu conseguir acabar a saga
irei fazer sempre exercícios com testes, irei falar mais sobre o assunto.
O próximo post da saga é "O que é NoSQL", até a próxima.