29/05/2009 às 8:52 · Postado em Rails · Tags: fixtures, guest-post, machinist
Nota: Este guest post foi escrito por Elomar França.
Quem usa muito fixtures sabe que elas costumam dar bastante dor de cabeça: a separação entre os dados do teste (nas fixtures) e o teste em si fazem com que você tenha que absorver dois contextos pra entender o que está acontecendo, nomeação das fixtures geralmente não ajuda, e o pior de tudo é que seus testes ficam mais difíceis de manter e quebradiços, e muita coisa pode quebrar quando você altera uma fixture. Fixtures suck, and you were lied to.
Pra substituir fixtures e sanar esses problemas surgiram várias bibliotecas que te ajudam a criar, nos seus testes, modelos ActiveRecord com dados pré-definidos de forma simples e prática.
Entre as várias opções, se destacam Factory Girl e Machinist. Factory Girl é feita por ninguém menos que Thoughtbot. Machinist é mais simples e tem uma sintaxe mais elegante, e é sobre ela que eu vou falar um pouco.
[Continue lendo]
25/11/2008 às 13:04 · Postado em Eventos
Bom, acho que “boicote” não é a palavra certa, mas é um bom título, não? Vamos à história… :P
Antes de tudo, acho bom contar um pouco da história do BlogCamp aqui no Brasil. Ninguém me contou, e eu nem fiquei sabendo na época, então fiz uma pequena pesquisa. Em 2007, Manoel Netto (ele mesmo, que trabalha na WebCo) teve a idéia de fazer um BarCamp sobre blogs aqui no Brasil. Ele se juntou com algumas pessoas e juntos organizaram o primeiro ainda naquele ano, em São Paulo. Criaram então um site, em formato blog, para centralizar notícias e informações sobre os BlogCamps nacionais e regionais. Ainda naquele ano houveram alguns BlogCamps regionais, como o do RJ e PR.
Esse ano, algumas pessoas (que até então eu nem conhecia) fundaram o BlogsBA, para reunir os blogueiros baianos. Criaram uma lista para isso. Eles então tiveram a idéia de fazer um BlogCamp aqui na Bahia. O Manoel Netto, que também é baiano, veio até a lista dar algumas opiniões sobre o evento. No final, o BlogCampBA foi ignorado (pelo menos por enquanto) pelo BlogCampBR. Mas no meio existem algumas pequenas historinhas…
[Continue lendo]
25/11/2008 às 11:39 · Postado em Eventos
No último fim de semana aconteceu o BlogCampBA. O cadastramento e a abertura aconteceram na sexta-feira, dia 21. Na abertura, o Roberto Camara falou um pouco sobre como seria o evento, pra quem não sabe como é um BlogCamp ou BarCamp. Depois, Yuri Almeida fez um mapeamento da blogosfera baiana, mostrando algumas estatísticas que eles coletaram com certo esforço.
No sábado, dia 22, eu acordei e já fiquei chateado depois que olhei pro relógio. Eram quase 10 da manhã, e o evento estava marcado pra começar às 9. Bom, cheguei lá 10:30, mas o “carinha do CPD” demorou um pouco pra configurar o proxy no meu MacBook. Seria mais fácil ele ter me dado os dados. Mas tudo bem, erro meu. Normalmente as pessoas nem sabem o que é proxy (e ele provavelmente não sabia que era um evento de blogs). Bom, quando acabou já era quase 11 horas. Já tinha perdido mais de uma hora de desconferência, além da oficina de podcast de Ernesto Belote. Fiquei um pouco em uma das salas de desconferência e depois fui ver a oficina de Wordpress de Hilder Santos. Na verdade, só vi o final. Pelo visto foi boa, tinha muita gente e houveram algumas perguntas interessantes. Como Yuri já tinha mostrado, a imensa maioria (na Bahia pelo menos) ainda usa serviços como Blogger e Wordpress.com para fazer seus blogs. Mas eles pareceram interessados, tomara mesmo que comecem a usar algo como Wordpress.
[Continue lendo]
03/11/2008 às 1:53 · Postado em Rails, Sem categoria
Bom, todo mundo fica dizendo que os plugins são a melhor parte de rails, que a comunidade participa muito, bla bla bla. Decidi então mostrar como fazer um plugin. Aliás, decidi aprender. Não tem muito material sobre isso, principalmente em português. Esse post foi escrito depois de ter lido:
Como é um assunto meio grande, decidi dividir em algumas partes. Nessa primeira, vou mostrar como estender uma classe de Ruby, criar um generator pra gerar migrations e adicionar um acts_as nos models, para adicionar métodos e outras coisas. Como exemplo, vou criar um plugin que adicionará algumas funcionalidades simples de loja à aplicação, chamado little_store. Para isso, ele precisa de um resource Product. Não vou utilizar testes, para que o post não fique muito grande. Talvez eu fale sobre testar plugins em outra oportunidade. É importante notar que algumas coisas que vou mostrar não são as melhores formas de se fazer, como estender BigDecimal pra criar um método que gere uma saída formatada em Real. Já existem helpers prontos que fazem isso. Os exemplos são só pra ilustrar o que estou dizendo, esse plugin não é útil :)
[Continue lendo]
23/10/2008 às 9:51 · Postado em Rails
Bom, eu decidi votar no Rails Rumble. Então, comecei a olhar algumas aplicações. Acho que nesse link tem todas ou a grande maioria. Não usei nenhuma, só dei uma olhada pra ver qual era a idéia. Mais tarde, quando abrir a votação, eu uso pra ver como são realmente. Essas foram as que eu mais gostei:
[Continue lendo]
17/10/2008 às 19:11 · Postado em Eventos, Rails
No segundo dia, eu já cheguei na hora da palestra da Phusion. Muito legal a palestra, brincaram bastante com Star Wars, Scarlett Johansson e Megaman. O conteúdo da palestra foi muito interessante, ensinaram alguns conceitos de deployment, e como fazer sua aplicação escalar. Eu já sabia algo nesse sentido, na camada dos web servers, mas nada na camada do banco de dados, nem na parte de caching, então foi muito instrutiva. Depois eles falaram brevemente sobre uma aplicação que eles fizeram, chamada Yuumi. Tem uma integração com Twitter, SMS, um sistema de votação parecida com Digg. Eles também embutiram comentários num blog, com o plugin yuumius_comments.
Logo após, teve um Coffee Break e a palestra de Charles Nutter e Thomas Enebo, que eu não assisti. Fiquei uma hora no sofá, esperando a palestra de Jay Fields, sobre imaturidade dos testes. Basicamente, ele falou mal de todos os frameworks que existem pra fazer testes. Não disse que você não deve usar nenhum, mas que, obviamente, todos eles possuem desvantagens e você deve estar atento a isso. É que as pessoas estão muito empolgadas com testes, e achando que são perfeitos e não falham. Foi engraçado ver ele falando mal do RSpec com David Chelimsky assistindo.
Depois fui assitir a palestra de Manoel Lemos, que também teve a participação de Ronaldo Ferraz e Nando Vieira. Eles falaram sobre a história da WebCo e como ela está atualmente. Lemos contou a história do BlogBlogs e os problemas que teve por falta de conhecimento em deploy de rails. Mostrou como superou esses problemas e fez a empresa crescer. Ronaldo falou sobre search engines, e como eles criaram uma abstração para que possam utilizar qualquer solução, por meio de drivers. E Nando contou como eles aplicam Scrum na empresa. Gostei do que ouvi, e pude conhecer mais como a WebCo trabalha. Até então era só uma empresa com um monte de gente boa em Rails, e que diziam ser maravilhosa. Acho que agora também posso dizer que parece ser mesmo bom trabalhar lá :)
[Continue lendo]
17/10/2008 às 17:21 · Postado em Eventos, Rails
Logo quando cheguei no evento fiz o credenciamento e encontrei Elomar e William, da aprendendo-rails. Ficamos conversando, e depois fomos assistir a palestra de abertura, com Gilberto Mautner, fundador da Locaweb, e Akita. A parte de Mautner foi melhor do que eu esperava, ele contou como começou a empresa e as aventuras dele com ASP, e como a Locaweb está incentivando todos seus desenvolvedores a aprender Rails. Akita falou de como foi seu começo na comunidade Rails e sua vontade de fazer um evento como esse, que se concretizou depois que ele foi pra Locaweb.
Depois da abertura teve o primeiro Coffee Break, onde encontrei o restante dos membros da aprendendo-rails que estavam no evento. De lá, fui pra palestra de Chad Fowler. Tomei um susto com a aparência dele (se não me dissessem que era ele, nunca saberia), mais magro e com menos barba e cabelo. David Heinemeier Hansson teve algum problema e teve que apresentar antes, então colocaram a palestra de Chad no lugar da dele. Ele falou muita coisa que já tinha falado antes, talvez as perguntas não tenham ajudado. Ele disse que o Rails será thread-safe por causa de pressões externas (como JRuby), já que pra MRI não tem muita diferença. Esquivou-se da pergunta sobre a data de lançamento do Rails 2.2, e disse que o Core Team não liga pra ActiveRecord com conexões com bancos diferentes.
Logo depois aconteceu a palestra de Chad, que foi muito boa. A palestra girou em cima da perspectiva de que cada desenvolvedor é um produto. E, como um produto, o desenvolvedor tem que criar sua marca e se promover. E a melhor maneira de fazer isso é “sendo memorável”. Pra ilustrar, deu exemplos de produtos que mudaram seus mercados sendo memoráveis, como o iPod e o próprio Rails. Ele também mostrou, com dados estatísticos (inventados por ele), como existem mais oportunidades em Rails do que em Java ou PHP e que você ganhará muito dinheiro se for um expert, já que a imensa maioria dos programadores são apenas iniciantes. No geral, eu já tinha visto e lido o conteúdo da palestra dele muitas vezes, mas o jeito como ele apresenta que é sensacional, usando muito gráficos e vídeos, principalmente de video games.
[Continue lendo]
16/10/2008 às 11:05 · Postado em Sem categoria
Finalmente estou lançando meu blog. Estava tentando fazer um sistema próprio, mas vi que para ficar como eu gostaria ainda iria demorar algumas semanas, e eu já estava angustiado pra ter um blog. Então decidi fazer com Mephisto, e uma semana depois estou escrevendo esse post. Falarei principalmente sobre Ruby on Rails, mas devo falar de alguns outros assuntos também. Leiam o Sobre para ver mais detalhes. Lá também tem outras informações úteis e inúteis :)
O legal é que estou lançando o blog de dentro da Rails Summit, portanto meu próximo post será sobre isso, o que achei das palestras, das pessoas, do evento em geral. Bom, bem vindos e espero que gostem :D