RSS

Você ainda usa Rails no Windows? Veja aqui seu guia definitivo para migrar para o Ubuntu.

January 27th, 2008 by Eduardo Fiorezi

Update 04/04/2008: Se encontrar algum problema ao instalar o primeiro script, retire o pacote openssl-ruby1.8.

Quem já se desligou da Microsoft seja para usar Mac ou qualquer outra distribuição Linux, sabe como é melhor estar em um ambiente livre.

Se você programa com TDD e seus testes demoram 15 segundos para serem executados, no linux eles vão demorar de 2 a 3 segundos. Alguém ainda tem tempo para perder?

Hoje eu uso o Mac osx mas não gosto de ver meus amigos usando o sistema do tio bill.

Vamos partir do princípio que você tem um HD novo e quer instalar Windows e Ubuntu. Eu gosto de fazer 3 partições. Uma para Windows, uma para o Ubuntu e outra para guardar os arquivos independente do sistema operacional.

Já gravou seu cd do Ubuntu? Você vai precisar, entre no http://www.ubuntu.com/getubuntu pegue a ultima versão e queime.

  1. Instale o windows na primeira partição.
  2. De um boot com o cd do Ubuntu na máquina e divirta-se enquanto ele faz todo trabalho para você, se você não sabe, durante a instalação sua conexão com a internet estará disponível, abuse do Firefox e vá ler seus feeds.
  3. Você deverá formatar a terceira partição com o formato que quiser. Essa discussão é muito grande, então decida se irá usar FAT, NTFS, EXT3. Se você usar a EXT 3 seu windows não irá enxergar essa partição. Mas quem precisa de windows?

Feito isso você deverá ter os 2 sistemas operacionais bootando na sua máquina.

Vamos agora configurar seu ambiente ruby/rails. Para isso na Inovare desenvolvemos alguns scripts para ajudar neste ambiente inicial.

Abra seu terminal no Ubuntu.

Utilize o comando sudo passwd para definir uma senha de super usuário.

Entre em modo super usuário digitando su e apertando enter.

Agora você pode aplicar os scripts que estão no endereço http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/

Vamos utilizar apenas os 3 primeiros scripts(eles já salvaram muita dor de cabeça).

Vamos baixá-los e executar. Faça um comando de cada vez.

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/01_install_packages
bash 01_install_packages

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/02_install_rubygems
bash 02_install_rubygems

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/03_install_all_gems
ruby 03_install_all_gems

Esse processo deve demorar um pouco, mas depois seu ambiente já estará 100%, com mongrel, RedCloth, sqlite3-ruby, ZenTest, rails, capistrano, termios, mocha, rmagick.

Espero que isso seja útil e se ocorrer algum erro no caminho ou quer dar alguma sugestão para melhorar esse processo, por favor deixe seu comentário. Não uso mais o Ubuntu mas à alguns dias precisei refazer uma instalação e usei este mesmo processo.

__________________ conteúdo dos arquivos:
01_install_packages

apt-get update

apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 -y --force-yes

ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby
ln -s /usr/bin/ri1.8 /usr/local/bin/ri
ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc
ln -s /usr/bin/irb1.8 /usr/local/bin/irb

apt-get install mysql-server libmysql-ruby1.8 build-essential libopenssl-ruby1.8 subversion gparted unrar gnochm sqlite3 libsqlite3-dev libmagick9-dev -y --force-yes


02_install_rubygems

wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz -c

tar -xzvf rubygems-1.0.1.tgz

cd rubygems-1.0.1

ruby setup.rb

cd ..

ln -s /usr/bin/gem1.8 /usr/local/bin/gem

03_install_all_gems

#!/usr/local/bin/ruby

if `whoami` == "rootn"
  %w(mongrel RedCloth sqlite3-ruby ZenTest rails capistrano termios mocha rmagick postgres-pr).each do |gem_name|
    puts "nnInstalling gem: #{gem_name}..."
    `gem install #{gem_name}`
  end
else
  puts 'Login as ROOT to install all gems'
end

Posted in Linux, Ruby, Rails, Geral | 1 Comment »

Syntax Highlight nas suas views do Rails 2.0

December 6th, 2007 by Eduardo Fiorezi

A comunidade está esperando apenas o último suspiro para a chegada do Rails 2.0.

Nos próximos dias será anunciada a versão oficial e como parece que foi tudo muito rápido. Tenho a impressão que foi ontem que comecei a aprender Ruby e Ruby on Rails.

Vamos ao que interessa. Seu textmate não está reconhecendo as views com o formato action.html.erb? Achei uma thread no grupo rubyonrails-talk que explica como habilitar o sintax highlight na suas novas views.


No textmate entre no menu Bundle editor depois Edit Languages.
Escolha Ruby on Rails depois HTML(rails)
Mude fileTypes = ( ‘rhtml’ ); para fileTypes = ( ‘rhtml’, ‘html.erb’ );

*Dica do Frederick Cheung

Vocês também perceberam que o Rails 2.0 está mais limpo e rápido?

Posted in Rails 2.0, Geral | 1 Comment »

Podcasts!!!!… Carlos Eduardo Brando… Façam suas perguntas.

December 1st, 2007 by Eduardo Fiorezi

Infelizmente não consegui levar para a Reject Conf SP`07 um gravador de voz que tinha em mente para gravar o podcast.

Convidei o Carlos Eduardo Brando do blog Nome do Jogo e dono do site carreiraTI para o próximo podcast.

Vamos conversar sobre seus projetos, saber como ele começou com Ruby/Rails e assuntos referentes ao mercado de trabalho hoje.

Deixe sua pergunta até o dia 04/12, ela é muito bem vinda.

Posted in Ruby, Rails, PodCast, Geral | 2 Comments »

Final da RejectConf SP’07 e keynote

November 19th, 2007 by Eduardo Fiorezi

Acabou a RejectConf SP’07 e sobram elogios para todos participantes e organizadores, o ambiente estava muito colaborativos e com um ar underground como é o estilo Ruby.

Corri bastante com a minha apresentação mas espero ter passado a importância de manter um código saudável e de conhecer a estrutura do Rails para se manter DRY.

Coloquei explicações no meu keynote, você pode baixar e deixar seu feedback.

Pena que não consegui entrar em contato com todas as pessoas/blogueiros. Foi bom conhecer Carlos Brando, Arthur Geek, Danilo Sato, George Guimarães, Akita, o time da Improve It que eu só conhecia on-line e o pessoal que esqueci o nome(deixem um comentário com o blog aqui para mim não esquecer).

Fiquei muito surpreso com a apresentação do Fabio Kung sobre o Jruby e como ele pode ser usado com Java, realmente está muito fácil.

Impressionante saber através do Carlos Villela como é o ambiente da thoughtworks e sua estrutura enorme em cima do Ruby.

Todas palestras foram ótimas e valeu a pena ir e voltar no mesmo dia para Sampa.

Que venha a RailsConf Brasil’ 08, o que acham?

Posted in Eventos, Rails, Geral | 6 Comments »

Próximo Podcast será no ritmo da Reject Conf SP’07

November 11th, 2007 by Eduardo Fiorezi

Mic

Olá pessoal, estou meio sumido da produção de podcasts devido aos projetos rails que estou fazendo. Mas em alguns dias teremos a Reject Conf SP’07 que vai estar bombando com os grandes nomes da comunidade brasileira de Ruby e Ruby on Rails.

Estou buscando um aparelho portátil para poder fazer uma entrevista com toda essa galera, fazendo algumas perguntas em cima da hora e naquele papo de barzinho.

O que vocês gostariam de perguntar e para quem?

Acho que vai ser uma experiência muito interessante e vai me dar um pique novo para os próximos podcasts.

ps. Carlos copiei seu estilo de post. Depois passa a conta do paypal.

Posted in PodCast, Geral | 4 Comments »

Extraindo um padrão para seus forms no Rails

November 11th, 2007 by Eduardo Fiorezi

Imagine que você tenha um padrão para seus forms, como o gerado pelo scaffold_resources:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put }) do |f| %>
 
  <p>
    <b>Title</b><br />
    <%= f.text_field :title %>
  </p>
 
  <p>
    <b>Created by</b><br />
    <%= f.text_field :created_by %>
  </p>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

Você deve criar uma nova classe que extende de ActionView::Helpers::FormBuilder, sobrescrevendo os campos que você quer, segue logo abaixo uma implementação para todos os campos, exceto o hidden_field:

class DefaultFormBuilder < ActionView::Helpers::FormBuilder
  (field_helpers - %w(hidden_field)).each do |selector|
    src = <<-END_SRC
      def #{selector}(field, options = {})
        @template.content_tag("p" ,
        @template.content_tag("b" , field.to_s.humanize) + "<br />" + super)
      end
    END_SRC
    class_eval src, __FILE__, __LINE__
  end
end

A aplicação é muito simples, veja:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put },
                   :builder => DefaultFormBuilder) do |f| %>
 
    <%= f.text_field :title %>
    <%= f.text_field :created_by %>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

O código fica mais limpo e padronizado.

Mas agora eu quero mudar o título que aparece entre a tag bold, posso então inventar uma nova propriedade para o text_field:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put },
                   :builder => DefaultFormBuilder) do |f| %>
 
    <%= f.text_field :title,     :label => "Título" %>
    <%= f.text_field :created_by, :label => "Criado por" %>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

A modificação é simples:

class DefaultFormBuilder < ActionView::Helpers::FormBuilder
  (field_helpers - %w(hidden_field)).each do |selector|
    src = <<-END_SRC
      def #{selector}(field, options = {})
        @template.content_tag("p" ,
        @template.content_tag("b" ,(options[:label] || field.to_s.humanize)) + "<br />" + super)
      end
    END_SRC
    class_eval src, __FILE__, __LINE__
  end
end

Pensamento interior: “Como é bom apagar código. ;)”

Posted in Ruby, Refactoring, Rails | 2 Comments »

Mais um usuário Mac … Primeiras impressões e dúvidas.

November 11th, 2007 by Eduardo Fiorezi

Faz uma semana que adquiri meu macbook e minha satisfação foi maior do que esperava. Realmente tenho a impressão que a Apple procura fazer os melhores produtos a que se propõe.

Fiquei muito tempo com o Windows e os ultimos 10 meses com o Ubuntu. Mas utilizar o MacOsX é uma experiência diferente. Quando liguei o notebook pela primeira vez eu mal sabia o que fazer. Felizmente o dock e algo bem chamativo e te guia para a primeira experiência. É todo o poder de um unix por baixo e a simplicidade e elegância por cima.

Logo nos primeiros dias não pude preparar meu ambiente de trabalho, Rails, SVN, MySql e tudo mais. Então fiquei estudando os aplicativos iPhoto, iMovie, Finder, Preview e etc. Posso dizer que nunca encontrei nada tão intuitivo e fácil. (Puts acho que já sou mais um viciado nos produtos Apple)

Mas o primeiro grande problema que encontrei foi olhar para aqueles símbolos estranhos e utilizar o teclado da maneira correta. Então segue a imagem para quem pretende entrar nesse mundo.

Mac Symbols

Por enquanto estou muito contente, falta ficar fera nas manhas do TextMate e descobrir que aplicativo posso usar para assistir vídeos. Alguma sugestão?

Posted in Mac, Geral | 5 Comments »

Rails for kids 2007

October 29th, 2007 by Eduardo Fiorezi

Fico feliz em ver que a comunidade Rails do Brasil está cada vez mais engajada em promover encontros interessantes para que outros desenvolvedores possam conhecer Ruby e Rails.

Agora o Carlos Eduardo da e-Genial está promovendo um encontro beneficente através do treina tom sobre Rails, para ajudar a instituição Cotolengo MS que cuida de portadores de necessidades especiais, será cobrado uma pequena taxa no valor de R$ 25,00.

Em breve estará no ar um site sobre o evento, mas você você pode encontrar maiores informações no blog da e-genial.

O evento contará com os seguintes palestrantes:

  • Carl Younblood - Surgeworks LLC (EUA)
  • Demetrius Nunes
  • Eduardo Fiorezi
  • Fabio Akita
  • Rodrigo Urubatan
  • Ronaldo Ferraz
  • Shairon Toledo
  • Vinicius Manhães Teles

O encontro será no dia 15 de Dezembro a partir das 9 horas.

Mãos a obra.

Posted in Eventos, Rails, Geral | No Comments »

RejectConf SP’07 - Refactoring on Rails

October 24th, 2007 by Eduardo Fiorezi

O Akita publicou a lista de palestras confirmadas até o momento. O Brasil possui cerca de 250 railers cadastrados no working with rails e já estava na hora de acontecer um evento voltado para os desenvolvedores, onde a própria comunidade pudesse mostrar suas experiências.

Pretendo falar sobre refactoring, sua importância e como ele é fundamental em qualquer projeto de desenvolvimento de software, inclusive em projetos ruby/ruby on rails. Já estou com algumas idéias interessantes para não deixar ninguém dormir na cadeira.

Espero poder conversar pessoalmente com todos blogueiros que assino e aqueles que entrevistei nos meus podcasts.

Deixando a dica aqui de vários outros encontros que vão acontecer no Brasil: Rio on Rails, RS, MG, SC, PE, online pelo treinatom e Brasilia.

Posted in Refactoring, Rails, Geral | No Comments »

Extreme Programming, Rails e uma parede branca.

October 10th, 2007 by Eduardo Fiorezi

Hoje no brasil, já existem alguns cases importantes unindo eXtreme Programming e Ruby on Rails. O mais divulgado é o do grupo Santa Isabel em parceria com a Improve It.

Cerca de 4 meses atrás, fui convidado por um amigo para entrar na empresa Inovare, com o objetivo de trabalhar com muita qualidade e dentro do contexto do desenvolvimento ágil. Comecei trazendo toda cultura ágil e o desenvolvimento web com Ruby on Rails.

Depois de ajeitar o novo espaço da empresa, os computadores e a sintonia com as práticas de XP, precisávamos ainda do nosso quadro branco, sem ele nosso planejamento ficava um pouco perdido. O Felipe a troca do quadro branco por um vidro na parede branca, o resultado foi excelente.

Geral do quadro na paredeNossa parede branca :)

Projeto GabaritoPlanejamento do projeto Gabarito.

Projeto Gabarito - Iteração atualNossa iteração atual do projeto Gabarito.

Projeto Gabarito - Iterações RealizadasForam realizadas duas iterações até este momento, a primeira de 8 dias com a velocidade de 2 bolinhas por dia, na segunda 2 bolinhas e meia por dia. O tamanho da primeira iteração ficou maior porque uma parte da equipe estava começando com Rails e precisava entrar no clima de XP.

Projeto Gabarito - Todo listAqui está um detalhamento de um cartão em desenvolvimento na iteração corrente. Dividimos em 12 passos uma funcionalidade.

Projeto CMSPlanejamento do nosso CMS(www.inovare.net).

Inovare - MascoteAqui estão as 4 palavras que regem todos nossos projetos e o meu desenho do mascote da empresa. :)

Inovare - Cartões
Aqui chegamos a um padrão das cores que utilizamos nos cartões, repare que tem até o cartão de firúla.

Inovare - Pair ProgrammingAqui está uma dupla trabalhando, eu de amarelo e o Danilo. Trabalhem com 2 monitores, facilita muito.

Estamos trabalhando atualmente no projeto gabarito. Que deve durar mais 4 ou 5 iterações de uma semana.

Em breve vamos publicar algumas facilidades que surgiram com nossos projetos em Rails.

Posted in Rails, Geral | 4 Comments »

« Previous Entries