Archive for the ‘dicas’ Category

Meu ambiente de desenvolvimento

December 28th, 2010

Esta rolando uma série de posts, onde devemos contar mais sobre o nosso ambiente de desenvolvimento e eu fui convidado pelo @cassiomarques (post) e @lucascaton (post) para falar um pouco do meu.

Então, vamos lá :D

Sistema operacional

  • Mac OS X. Faz 8 meses que comprei um MacBook de 13″ e venho usando ele em 100% do tempo que estou desenvolvendo. Continuo usando o Ubuntu, mas somente em servidores onde configuramos os projetos.

Editor

  • MacVim. Nunca sequer instalei o Textmate. Já usava o vim no linux e sempre me atendeu muito bem. Para servidor então, é perfeito. Agradeço ao @cassiomarques pela influência em usar este editor =)

Alguns softwares

  • Git – Todos os projetos são versionados, inclusive o deploy é feito puxando as alterações do repositório git.
  • Terminal – Não abre automaticamente como li em alguns posts hehehe, mas é um dos primeiros a abrir quando o sistema operacional carrega.
  • Adium – Ele atende bem o que preciso, Gtalk e MSN. Estou me acostumando a usar mais o skype, mas ainda bem pouco.
Git – Todos os projetos são versionados, inclusive o deploy é feito puxando as alterações do repositório git.
Terminal – Não abre automaticamente como li em alguns posts hehehe, mas é um dos primeiros a abrir quando o sistema operacional carrega.
Adium – Ele atende bem o que preciso, Gtalk e MSN. Estou me acostumando a usar mais o skype, mas ainda bem pouco.

Browser

  • Google Chrome – Sempre usei o Firefox, mas ele consome muita memória e por isso procurei outras alternativas. O @edercosta fez alguns testes e por indicação dele, adotei o Chrome como padrão.

Ambiente/Música

  • MacBook 13″ ligado a um monitor 21″ junto com o teclado e mouse bluetooth.
  • iPad para dar uma “escapada” e relaxar um pouco lendo ou jogando.
  • iTunes sempre ligado, dispensa comentários. Comecei a usar o last.fm para fazer scrobbling das músicas e gostei muito, pois ajuda a conhecer novas bandas e pessoas.

Fontes/Estudos

Estudar sempre! Eu não vejo melhor maneira que lendo e pesquisando o quê e como estão fazendo, então:

  • Github – Se aprende muito lendo código, o github é perfeito para isso. Além de poder contribuir, criar novos projetos e participar da fantástica comunidade open source.
  • APIdock – Melhor local para pesquisar documentação sobre Ruby e Ruby on Rails
  • RubyDoc.info – Documentação sobre plugins e gems.
  • Google/Google Reader:P

Água e café

  • Sempre na minha mesa

É isso, agora passo a bola para @willian, @vinibaggio e @PotHix

Populando banco de dados usando a gem Populator

June 13th, 2009

É preciso demonstrar uma funcionalidade da aplicação para o cliente, mas para isso é necessário realizar diversos cadastros e gerar informações na base de dados. Dependendo da quantidade de registros, fazer isso manualmente acaba ficando muito chato além de consumir um longo tempo.

Procurando uma maneira de automatizar esse processo, encontrei a gem Populator que facilita e muito esse trabalho.

Como Usar:

Primeiro instale a gem

sudo gem install populator

Após instalar, no console já podemos fazer algo como:

>> require 'populator'
=> []
>> Category.count
=> 0
>> Category.populate(10) { |category| category.name = Populator.words(1..3).titleize }
=> {}
>> Category.count
=> 10
>> Category.first
=> #<Category id: 1, name: "Fuga Debitis Temporibus", created_at: "2009-06-13 14:17:24", updated_at: "2009-06-13 14:17:24">
>>

Existem alguns metodos que podemos usar para gerar alguns dados como:

Populator.words(5) # gera 5 palavras aleatoriamente e insere um espaço entre elas
Populator.words(1..3) # gera entre uma e três palavras aleatoriamente
Populator.sentences(3) # gera 3 frases
Populator.paragraphs(2) # gera 2 paragrafos

Mas dependendo to tamanho de nosso model, ficar digitando tudo isso pelo console acaba dando muito trabalho também. Vamos melhorar isso!

Crie um novo arquivo em lib/tasks/populate.rake e crie a seguinte tarefa:

namespace :db do
  desc "Popula base de dados"
  task :populate => :environment do
 
    require 'populator'
 
    Category.populate 30 do |category|
      category.name = Populator.words(1..3).titleize
    end
 
  end
end

Agora dentro do diretório da aplicação, basta rodar a tarefa:

 rake db:populate 

Bem melhor :)

Podemos melhorar ainda mais este processo e deixar ele mais completo utilizando a gem Faker que gera dados como nome, telefone, endereço, e-mail e pode ser usada junto com a Populator.

Vale a pena assistir a este Railscast onde é demonstrado como utilizar as duas gems.

É isso ai! :D

AnnotateModels

June 12th, 2009

Precisa saber de forma rápida quais atributos um determinado model tem?

A gem AnnotateModels facilita este trabalho, adicionando em forma de comentários dentro do model, todos os seus atributos.

Como usar:

Primeiro instale a gem. No terminal digite:

sudo gem install annotate

Em seguida, acesse o diretório da aplicação e execute:

annotate

Veja como ficou nosso model:

# == Schema Information
#
# Table name: categories
#
# id :integer(4) not null, primary key
# name :string(255)
# description :text
# created_at :datetime
# updated_at :datetime
#
 
class Category < ActiveRecord::Base
  validates_presence_of :name
  validates_presence_of :description
end

Simples e bastante útil.