Carlos Brando do blog Nome do Jogo em sua palestra “Yet Another Ruby Framework – Como o Rails funciona por dentro” apresentou um pouco sobre a sua experiência no desenvolvimento de um framework em ruby para criação de aplicativos sociais baseados na plataforma open social, o sociably.
Depois de tentar adaptar o rails para atender a essa necessidade e chegar a conclusão que essa não era a melhor opção, Brando e sua equipe enfrentaram o desafio de desenvolver o framework que será disponibilizado, segundo ele, em código livre no futuro. Foram apresentados alguns conceitos que devem ser pensados antes de se construir um framework web como arquiteturas push-based e pull-based . Brando ressaltou ainda a importância de se considerar o projeto rack, ORM para banco de dados e geradores de código.
Veja os slides de Brando no SlideShare:
Depois da palestra de Chad Fowler, Gregg Pollack do scaling rails series apresentou “On The Edge Of Rails Performance“. Gregg falou sobre diversas estratégias e ferramentas que podem ajudar a tornar um aplicativo rails mais performático. A seguir veja os principais tópicos e soluções apresentados.
Gregg abordou caching em diversos níveis, tais como page caching, fragment caching, object caching, memcache e client-side caching (etags & last-modified), falou também sobre a importância de saber a hora certa de otimizar e não otimizar prematuramente.
Em se falando banco de dados, é inevitável que este tenha grandes chances de se tornar um gargalo, por isso, não abuse dele. Para ajudá-lo a melhor utilizar seu banco de dados, Gregg sugere as seguintes ferramentas:
De acordo com a Wikipedia, Code Bloat é a produção de código que desnecessariamente longo, lento e/ou desperdice recursos. Para prevenção de bloat, Gregg apresentou as seguintes ferramentas:
Assista a palestra na integra que foi gentilmente filmada e disponibilizada por Hugo Borges:
Fique ligado, informações sobre as outras palestras serão disponibilizadas em breve!
Depois de ter me impressionado com a qualidade do evento Rails Summit 2008 e a força da comunidade Ruby, não poderia de forma alguma deixar de marcar presença novamente este ano. O evento foi realizado nos dias 13 e 14 de outubro na cidade de São Paulo no auditório Elis Regina do Anhembi, e com uma organização novamente fantástica, contando com excelentes palestrantes, e uma audiência que sem dúvida está acima da média, o evento foi mais uma vez um sucesso total. Parabéns Akita e equipe Locaweb!
Nesta série de posts que começa com este, quero registrar os pontos mais importantes e minhas principais impressões sobre a edição 2009 do evento.
Chad Fowler deu largada com a apresentação do keynote “Insurgência Ruby on Rails” em que explorou estratégias para insurgências de Ruby on Rails em ambientes pouco amigáveis. Logo no inicio da palestra Chad digiriu-se aos desenvolvedores dizendo “parem de fazer coisas que vocês sabem que estão erradas“, sabemos que todos os dias, muitos de nós desenvolvedores realizamos nosso trabalho de forma burocrática e pouco produtiva, nem sempre utilizamos as melhores práticas e nem sempre temos coragem suficiente para transformar essa realidade.
Segundo Chad, ao se tentar introduzir desenvolvimento ágil, ruby, rails e novas tecnologias nas organizações geralmente nos deparamos com monstros guardiões que tentam proteger suas empresas de mudanças a todo o custo, e eles o fazem por causa do fenômeno FUD (Fear, uncertainty and doubt – medo, incerteza e dúvida), por alguma razão eles tem medo, medo de sair da zona de conforto, medo de lutar contra a inércia, medo perder suas posições, medo de errar, e é então que buscam todo tipo de argumento estúpido para tentar evitar algo novo seja feito.
Esse é o caso da velha conversa mole de que rails não escala, isso graças aos problemas que o twitter, um famoso case de rails, enfrentou no passado, “o twitter não escalava por causa de sua arquitetura” disse Chad. A lista de desculpas dos tais guardiões não pára por aí, eles dizem que ruby é lento, “mas é claro que é, e quem se importa? O ruby é responsável por em torno de apenas 6% do tempo de request de uma aplicação web tradicional” afirma Chad. Eles perguntarão “mas dá pra fazer isso? e aquilo?” e não vão parar até que finalmente encontrem alguma coisas que lhes sirva de desculpa. Mas afinal de contas quem são esses caras? Será que você tem sido um deles?
Para ajudá-lo na batalha contra os guardiões, Chad recomendou a leitura do artigo “beating the averages” de Paul Graham e acrescentou procure fazer as coisas de forma gradual, se você tentar fazer uma mudança massiva, provavelmente vai acabar fazendo uma bagunça. Você pode até mesmo começar a usar rails como uma ferramenta case, é possível fazer algo parecido com o que propõe o naked objects com java. Use também Ruby para criar scripts. Use Ruby para testar java, .net, c++. Use Ruby para gerar código. Use Ruby como template engine. Automatize o seu deployment com capistrano. Use Ruby para construir protótipos de UI. Crie metas mensuráveis, meça e apresente resultados!
Um outro ponto importante é que para introduzir Rails você não precisa necessariamente jogar fora o seu investimento anterior, IronRuby, JRuby e etc estão aí para entre outras coisas, te ajudar com isso, mas tome cuidado para não acabar escrevendo código Ruby da mesma forma que você escreve código Java ou C#, entenda que os paradigmas são diferentes e não tente abrir a casa nova com a chave da velha.
Chad recomendou ainda a leitura de sua série de artigos “The Big Rewrite” e enfatizou conserve a paixão pelo seu trabalho.
Assista a palestra na integra gentilmente gravada e disponibilizada por Hugo Borges:
Em breve publicarei sobre mais palestras, assine o feed e acompanhe!
Nos dias 15 e 16 de outubro participei do Rails Summit Latin America 2008. O evento recebeu grandes nomes do desenvolvimento de software e da comunidade Ruby On Rails, o nível técnico foi inquestionável. Os palestrantes apresentaram temas como testes, qualidade, empreendedorismo, desenvolvimento ágil, open source, REST, Git, Escalabidade, e claro, Ruby e Rails.
Auditório Principal
Como o Alexandre Gomes falou “a impressão que me deu é que a grande bandeira desta comunidade não é a tecnologia em si, mas os princípios em que acreditam.” Assino em baixo.
Não entrarei em grandes detalhes sobre as palestras porque tem gente que já falou muito bem, mas registrarei as principais lições que aprendi nestes dois dias de evento.
O Dr. Nic Williams e o Chris Wanstrath falaram bastante sobre a importância de contribuir com projetos Open Source, ser ativo na comunidade e gastar menos tempo com coisas que podem não ser assim tão importantes. Os grandes conselhos foram:
Jay Fields, Danilo Sato e David Chelimsky falaram sobre Testes. Licões aprendidas:
Pra fechar com chave de ouro, Obie Fernandez apresentou um pouco do dia-a-dia da Hashrocket (empresa fundada por ele) e como eles aplicam os quatro princípios do manifesto ágil. Sem sombra de dúvidas, essa foi a palestra que eu mais gostei, por isso comentarei um pouco sobre ela.
Para aplicar o primeiro princípio “Indivíduos e Iterações são mais importantes do que processo e ferramentas” eles fazem o seguinte:
Para aplicar o segundo princípio “Indivíduos e Iterações são mais importantes do que processos e ferramentas“:
Para aplicar o terceiro princípio “Colaboração do Cliente é mais importante do que negociação contratual”:
Para aplicar o terceiro princípio “Responder as mudanças é mais importante do que seguir um plano”:
Para concluir sua apresentação Obie apresenta o princípio mais importante que é o grande segredo do sucesso: “Divirtam-se Juntos“, e mostrou algumas fotos de situações (participando em reuniões de grupos de usuários, passeando de barco, tocando instrumentos musicais, jogando vídeo games, indo à praia, bebendo, pulando na piscina, etc) em que ele e sua equipe estavam se divertindo.
Para maiores informações, visite o site do Obie, o site da Hashrocket, o blog do Obie, e sua galeria do Flickr.
Palestrantes Reunidos no final do Evento
Hugo, Akita, Ricardo e Eu
E como todo bom evento, é claro, tivemos um Happy Hour, dessa vez em um restaurante japonês na Liberdade.

Happy Hour no final do Evento
Meus agradecimentos ao Fábio Akita e à toda a equipe da Locaweb pela realização do evento.
Um grande abraço a todo os bons amigos que participaram do evento!
Quinta e Sexta estaremos no “Falando em Agile 2008“. Espero encontrar você lá!