You are currently browsing the archives for the rails category


A Rails Rumble foi demais!

Se eu tivesse que descrever a minha impressão sobre a Rails Rumble em uma frase apenas, certamente, eu usaria o título deste post, porque pra mim, a Rails Rumble foi demais mesmo.

Não ganhamos a competição, mas ganhamos muito participando da competição. Aprendemos muita coisa, fizemos amigos, nos divertimos bastante e fizemos umas das coisas que mais gostamos de fazer: programamos pra caramba! – dormi aproximadamente 5 horas durante as 48 horas de competição.

Meus sinceros agradecimentos à galera do meu time: Anderson Leite (com quem pareei bastante), Rafael (que foi quem teve a brilhante idéia do projeto) e Douglas (o melhor sysadmin que eu conheço). Foi muito bom fazer parte do time com vocês.

Nosso projeto

Bem, o resultado final do nosso projeto é este: whatannoysus.com. Não é tudo que nós gostaríamos que fosse, mas com certeza, já é um ótimo começo – e vamos dar continuidade.

Nós o construímos em menos de 48 horas, usando Ruby on Rails, Cucumber e MySQL; e o botamos para rodar num Ubuntu Server com Phusion Passenger e Nginx.

Patrocínio

Vida longa à Gonow! :)

A Gonow nos tratou muito bem, com tudo do bom e do melhor. Comida, camiseta Rails Rumble, hotel (que eu nem fui lá conhecer) e uma infra-estrutura de primeira.

Muito obrigado mesmo, a todos da Gonow e, se precisarem de alguma coisa, é nóiz!

Poder aos pares!

Tenho que concordar com o Yoshima, parear traz um ganho incrível no desenvolvimento. Ainda tem muita gente que acha que parear é reduzir o trabalho pela metada, afinal, são dois em um computador. Mas a real é que boa parte do nosso trabalho como programadores é pensar e conceber soluções que, em última instância, codificamos. E é aí que entra o ganho da programação em parte: duas cabeças pensam melhor do que uma – e quatro olhos acham bugs mais rápido também.

Outros relatos?

É isso que eu [resumidamente] tinha a dizer. Se você quiser saber um pouco mais, conhecer outros relatos, veja os posts do Anderson Leite e do Rodrigo Yoshima. E se houver algo que eu não mencionei e que você gostariam de saber, sinta-se à vontade para deixar um comentário.

Vou ficando por aqui e espero poder rever toda a galera – que foi muito legal conhecer – na Rails Summit.

Abraço!

Rails Rumble 2009: aqui vou eu!

http://www.gonow.com.br/rumble

Daqui a poucos minutos sairei aqui do meu trabalho em direção à Gonow para dar início à minha participação na Rails Rumble 2009, junto com meus camaradas @qmx, @r4f4el e @anderson_leite. A emoção está a mil, pode ter certeza!

Serão 48 horas de programação frenética, muita risada, descontração… e mais programação frenética — até o último git push.

Desde de já, quero agradecer demais a Gonow por todo apoio, que até camiseta e hotsite fez para todos fiquem realmente no clima da competição. Diego, valeu!

Torçam por nós!

@codezone
the_annoyers

Quer saber onde será seu próximo trabalho?

Então não deixe de visitar…

O site é recém-nascido, mas já tem uns recursos bem legais, como sistema de pesquisa por palavras-chave, núvem de tags e entre outros. Vale a pena conferir e acompanhar sua evolução – e oportunidades de bons trabalhos.

Mais uma iniciativa bem interessante da Caelum. :)

Ruby + Rails no mundo Real 2009: Como foi?

Ontem aconteceu aqui em São Paulo o primeiro evento do GURU-SP, com co-participação da Tempo Real Eventos. Eu estive por lá e vou dizer - sob a minha ótica, claro - como é que foi.

Preço

O preço foi bem razoável para quem comprou antecipadamente, R$ 69,00; mas um pouco carinho para quem comprou na hora, R$ 129,00.

Local

O local, em geral, foi bom. Perto do metrô, pra quem foi de condução; estacionamento a R$ 10,00, pra quem foi de carro; opções de almoço perto não faltaram; o auditório acomodou todo mundo; o ar condicionado estava na medida certa; e o coffe-break, apesar de bem simples, também atendeu. No entanto não havia WI-FI. Isso foi realmente decepcionante, porque evento de programação, sem WI-FI pra galera que levou note, é russo.

Palestras

As palestras, sinceramente, me decepcionaram um pouco. Achei que foram muito introdutórias, muito superficiais. O que salvou o dia dos mais experiêntes foi a palestra do Fábio Kung e a do Caffo. Mas, sei lá, talvez tenha sido a estratégia do evento.

O track foi o seguinte:

1. Vinícius Baggio Fuentes: Criando um Instant Messenger usando Rails

XMPP é uma de minha áreas de interesse, então, estava realmente interessado nessa palestra.

O conteúdo estava legal, eu gostei do formato como a palestra foi estruturada, no entanto, acho que o Vinícius estava um pouco inseguro; e isso acabou atrapalhou um pouco em alguns momentos.

2. Hugo Lima Borges: Ruby, Rails e empreendedorismo

Esse é um assunto que tem sido muito recorrente em eventos de Ruby on Rails,  o que, com toda certeza, é um ponto muito positivo. Eu não me lembro de ter visto este tema rolar em eventos de Java, por exemplo. Mas a palestra, em si, achei meio frustrante pela superficialidade como o assunto foi abordado.

(Aliás, Hugo, você já empreendeu seu próprio negócio? Se sim, queria trocar umas figurinhas com você.)

3. Marcelo Castellani: Ruby no desktop

Não era para ser “Integrando Ruby e Java para facilitar a vida”?

Achei legal os comparativos e as dicas de quais toolkits funcionam melhor em cada SO, mas acho que faltou uma porção caprichada de código ao vivo. Código só no slide é um pouco chato. O legal é ver o código no slide, mas rodando no terminal também. Fica a dica.

4. Rodrigo Franco: Outsorcing, ou como trabalhar para empresas gringas

Para quem não sabe, esse cara é o Caffo, fundador da lista Rails-BR, que além de ser veiaco de Rails, também é muito experiente no que se propos a palestrar. Ele trabalhar com outsourcing, se não estou enganado, desde 2004.

Sua palestra foi muito, muito, interessante e todo mundo ficou muito intere$$ado mesmo. :)

A grande dia foi: Quer ser um pinguim com colar de ouro? oDesk.

Mas para isso, antes de mais nada, tenha uma conta ativa no GitHub; um blog que apenas copia notícias de outras fontes, mas que fala do que você pensa e sabe; uma página de portifólio e depoimentos também vai muito bem (segundo o Caffo, é indisponsável).

5. Mauricio Leal: GlassFish on Rails: Escalabilidade e Confiabilidade

Tema interessantíssimo para mim, uma palestra que eu estava realmente ansioso para ver. Acho que foi a que mais me decepcionou.

O Mauricio tem uma boa desenvolvura como palestrante, domina a oratória, mas sua palestra foi mais marketing - a Sun apoia Ruby, Rails e Open Source! - do que uma palestra técnica sobre o GlassFish. Como o próprio Fábio Kung, convidado pelo Mauricio, disse: O GlassFish é muito bom, mas o modo que a Sun tem o vendido à comunidade Ruby tem sido bem desadequada.

6. Carlos Brando: Só imaturos não testam

O Carlos é um cara que fala bem, sabe se expressar e sua palestra foi legal. Foi mais voltada a iniciantes em testes, mas bem legal. Na minha opinião, da próxima vez ele poderia abordar tópicos mais avançados de testes, cenários mais elaborados, etc.

Mas no geral, a palestra foi boa. Rolou até um marketzinho do Remarkable.

7. Willian Molinari: O que é e como funciona o RubyLearning

O RubyLearning é um site bem legal mesmo, ótimo não só pra quem está começando, mas para quem já tem algum conhecimento. Mas uma mini palestra para falar dele, não sei, não achei muito legal não. Acho que um post do tipo FAQ no RubyInside e no GURU-SP seria um apoio muito mais eficiente ao ótimo trabalho que o pessoal do RubyLearning tem feito.

Não posso deixar de dizer que o Willian, apesar de parecer bem jovem, soube conduzir muito bem a apresentação.

8. Fábio Kung: Ruby, muito mais do que reflexivo!

Palestra excepcional. O Kung realmente é um ótimo palestrante - instrutor da Caelum, não podia ser diferente.

A palestra dele abordou temas high level de metaprogramação com Ruby. ParseTree, Flog, roodi, Heckle e Ruby2Ruby foram alguns dos mandraques que ele nos apresentou. Foi o momento hacker do dia.

Ah! Além das ferramentas apresentadas, como o Carlos Brando, ele também fez marketing do seu projeto Rfactor.

Conclusão

Valeu a pena participar do evento, trocar idéia com os camaradas e tudo mais. Apesar dos pontos negativos, o resultado final é que o evento foi legal; e os pontos negativos ficam como um toque, para que o próximo evento seja ainda melhor.

Nos vemos no próximo evento!

De 0 a 100 com JRuby on GlassFish

O objetivo deste post é guiar você em sua primeira viagem com JRuby on GlassFish, partindo do zero e terminando com uma pequena aplicação JRuby on Rails rodando num servidor de aplicações GlassFish.

A idéia aqui não é explanar muito profundamente os produtos e assuntos relacionados, mas proporcionar um começo rápido e deixar fontes de pesquisa onde você poderá se aprofundar à medida que desejar.

Por que trabalhar com essa combinação?

A maioria das pessoas que trabalham com desenvolvimento sério de aplicações corporativas, grandes portais e sistemas complexos, que precisam de integração eficiente com sistemas em alta ou baixa plataforma, sabem que a Plataforma Java é excelente para isso.

A linguagem Java, por sua vez, todos nós também sabemos que é um tanto verbosa, isto é verdade, mas ainda assim é muito poderosa; e a combinação desse poder somado à excelência da plataforma e às inumeras API’s, frameworks e ferramentas,  tem se mostrado ser uma ótima opção para implementar outras linguagens. E é aqui que começa a nossa história com JRuby on GlassFish.

  • JRuby é a combinação da beleza e pragmatismo incontestável da linguagem Ruby, com a robustez e credibilidade da consolidada plataforma Java.
  • GlassFish é um reconhecido servidor de aplicações Java EE, parrudão e totalmente compliant com a especificação Java EE 5.

Usar essa a combinação para prover aplicações Rails é sinônimo de:

  • Ambiente de produção maduro e parrudo
  • Deployment facilitado
  • Ferramentas de monitoramento e gerenciamento de aplicação
  • Transação, mensageria, segurança
  • Integração completamente transparente com qualquer código Java
  • … e muito mais!!!

E ai, está motivado a continuar com esse tutorial?

É fato que JRuby é uma implementação de Ruby muito poderosa, rápida, confiável, thread-safe, etc, etc, etc. Mas não acho que faça muito sentido usar JRuby se você não precisa de integração com código Java, seja de um software legado ou mesmo uma API xyz específica. Se este não é o seu caso, aconselho dar uma olhada na combinação Ruby Enterprise Edition + Passenger (a.k.a. mod_rails) da Phusion.

Mãos à obra!

Antes da primeira coisa a fazer, você precisa se certificar de que possui o requisito mínimo necessário para esse tutorial: Um Java SDK instalado em sua máquina. No meu caso, estou com a versão 1.6.0_07. O ideal é que você tenha ao menos a versão 1.5.0. Caso não tenha, você pode fazer o donwload da versão apropriada ao seu SO e instalar conforme as instruções do produto, ou usar seu gerenciador de pacotes favorito. Você decide!

A primeira coisa a fazer: Instalar o JRuby

1- Baixe aqui a versão do JRuby mais atual (eu estou com a 1.2.0RC2);

2- Descompacte ele no diretório onde você deseja manter sua instalação;

3- Defina as variáveis de ambiênte conforme o exemplo a seguir:

# JRUBY-HOME, CLASSPATH and PATH to JRuby 1.2.0RC2
JRUBY_HOME=/home/leandro/ruby/tools/jruby-1.2.0RC2
CLASSPATH=$JRUBY_HOME/lib/jruby.jar:$CLASSPATH
PATH=$JRUBY_HOME/bin:$PATH
export JRUBY_HOME CLASSPATH PATH

4- Veja se está tudo funcionando, digitando no terminal:

$ jruby --version

A saída deve ser algo mais ou menos assim:

jruby 1.2.0RC2 (ruby 1.8.6 patchlevel 287) (2009-03-06 rev 9369) [i386-java]

Se você teve uma saída semelhante a essa, ótimo, tudo parece estar funcionando perfeitamente. Hora de ir para o próximo passo.

A segunda coisa a fazer: Instalar as gem necessárias

Instalar as gems pode demorar um pouquinho, dependendo de o quaão boa é sua conexão de internet. Tenha paciência! :)

Bem, vamos lá. No terminal…

1- Instale a gem jruby-openssl:

$ jruby -S gem install jruby-openssl

Isso se faz necessário porque o JRuby não suporta o openssl padrão do Ruby. Um pequeno detalhe. :)

-S, pra que isso?

O parâmetro -S serve para dizer ao JRuby que você quer que ele use prioritariamente os scripts que estão em seu diretório bin; ou, em segundo caso, no PATH do sistema.

2- Instale o Rails:

$ jruby -S gem install rails --include-dependencies

Esse comando instalará a versão mais atual do Rails, que no caso deste tutorial é a 2.3.2.

3- Instale o adaptador JDBC:

$ jruby -S gem install activerecord-jdbc-adapter

Este adaptador é genérico e possibilita conectar qualquer banco de dados que suporte JDBC. No entanto, ele faz necessário que você configure uma ou duas coisinhas a mais. Mas como no nosso caso vamos tratalhar com MySQL, vamos instalar também o adaptador JDBC especifico para MySQL. (Aliás, assegure-se de ter MySQL 5 instalado.)

$ jruby -S gem install activerecord-jdbcmysql-adapter

4- Instale o GlassFish v3 GEM:

$ jruby -S gem install glassfish

Pronto! Todas as ferramentas necessárias já estão instaladas. Vamos para o próximo [e mais interessante passo].

A terceira coisa a fazer: Criar uma aplicação

Em seu diretório de trabalho, faça o seguinte:

1- Crie uma aplicação Rails:

$ jruby -S rails jogapp

Como somos todos aficcionados por siglas, mandamos uma aqui: jogapp – JRuby on GlassFish Application. :)

Atenção!

A partir daqui, entre no diretório da aplicação jogapp e execute todos os script neste diretório.

2- Configure o banco de dados development no arquivo config/database.yml:

adapter: jdbcmysql
database: jogapp_development
username: root
password: senhadoroot
hostname: localhost

Lembre-se: Estamos usando uma instalação de MySQL 5 local.

3- Crie um cadastro bizarrão básicão:

$ jruby -S script/generate scaffold contato nome:string telefone:string

4- No terminal do MySQL, criar o banco de dados de desenvolvimento:

mysql> create database jogapp_development;

5- Migrar o esquema de banco de dados [para o banco de desenvolvimento]:

$ jruby -S rake db:migrate

Excelente! Tudo está criado e devidamente configurado. Agora…

A quarta coisa a fazer: Rodar a aplicação

Essa é a parte mais dificil. Prepare-se!

$ jruby -S glassfish_rails

É isso. Aqui na minha máquina, que nem é tão parruda assim, em 1 segundo, o GlassFish está de pé.

Agora você já pode abri seu browser preferido – que certamente não é o IE – apontar para a URL http://localhost:3000 para ver sua aplicação rodando no JRuby on GlassFish.

Dificil, não? :)

Pra finalizar, a quinta e última coisa a fazer: Se divertir!

Basta acessar http://localhost:3000/contatos e mandar bala! :)

Espero que você tenha se divertido até aqui, porque eu tenho me divertido bastante mesmo com essa combinação explosiva.

Como você pôde ver nesse tutorial, não há segredo. É muito trivial colocar uma aplicação para todar no GlassFish. É claro que eu também não mostrei nada de mais, além de usar um adaptado JDBC para tirar proveito dessa  ferramenta lapidadíssima e largamente usada no mercado. Vamos ver se logo, logo, eu escrevo um outro artigo mostrando um truque ou dois bem legal de integração com aplicações Java legadas (EJB, por exemplo).

É isso ai. Comentários são bem-vindos!

Rails Summit, o melhor evento que já participei!

A Rails Summit Latin America foi o melhor evento de tecnologia que já participei até hoje. Simplesmente, excelente!

O meu destaque fica para as apresentações de Chad Fowler e Obie Fernandez.

Quem estiver interessado, aqui tem uma trilha legal do evento.

Se você perdeu esse ano, pel’amor, não perca ano que vem não!

Parabéns ao Akita e à Locaweb…

Sírius Software em peso na Rails Summit

Ontem fizemos as inscrições dos consultores da Sírius Software para a Rails Summit Latim America 2008.

E você, vai? A gente se vê por lá…

Rails Summit Latin America: Já foi dada a largada!

Finalmente foi dada a largada para o maior evento de Rails da América Latina.

O Akita postou novidades em seu blog. Clique aqui para saber.

Locawebcast on Rails

Acabei de assistir ao primeiro webcast do Fábio Akita na Locawebcast, dando uma breve introdução a Ruby on Rails àqueles que estão interessados em ter uma primeira impressão ou mesmo tirar dúvidas iniciais. Achei que ficou bem legal.

Se você está interessando em conhecer Ruby on Rails, acho que vale a pena você também assistir.

Rails Summit Brazil 2008!

Esta foi a melhor notícia que recebi nos últimos tempos: Uma master conferência de Rails Brasuquíssima! OmG! Era tudo que eu queria!

Segundo o Akita:

Confirmei as presenças do próprio David Hansson (somente ele será via video online, ele estará na Europa nesse dia, os outros serão presenciais); o grande Chad Fowler ; os mantenedores do JRuby, Charles Nutter e Thomas Enebo ; diretamente da Holanda, da Phusion teremos Ninh Bui e Hongli Lai ; o mantenedor do RSpec, David Chelimsky ; o criador do Github, Chris Wanstrath ; ninguém menos que Dr. Nic Williams ; o escritor do livro The Rails Way, Obie Fernandez ; também Jay Fields, da ThoughtWorks.

E também muitos grandes Railers brasileiros como Manoel Lemos, da Brasigo ; Carlos Eduardo, da e-Genial ; Fabio Kung, nosso JRuby-man, da Caelum ; o grande Vinicius Teles da Improve it ; George Guimarães do Pagestacker.

A notícia completa está aqui.