O documento discute vários tópicos relacionados ao desenvolvimento web com Ruby on Rails, incluindo: ferramentas de email marketing, relacionamentos de modelo, escopos de modelo, testes unitários e de integração utilizando ferramentas como Cucumber, RSpec e WebRat.
Trabalhando com posts e campos personalizados #CPBR9Rafael Funchal
Workshop feito na Campus Party Brasil 9 (http://brasil.campus-party.org/).
Saiba o que o WordPress é capaz de fazer e como utilizar posts e campos personalizados.
http://campuse.ro/events/campus-party-brasil-2016/workshop/trabalhando-com-posts-e-campos-personalizados/
O documento descreve como integrar pagamentos online com a MoIP, intermediador de pagamentos que recebe os pagamentos e os repassa ao vendedor. São descritas as opções de integração HTML e API, com a API sendo mais segura e funcional, permitindo comunicação servidor-servidor sem o cliente ver detalhes da transação. Também são explicados os passos de enviar instruções de pagamento via XML, receber resposta e redirecionar o cliente.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Este documento compara as linguagens PHP e Ruby, descrevendo suas histórias, paradigmas, tipagem, orientação a objetos dinâmica e comunidades. Ruby foi criada para ser mais poderosa que PHP e mais orientada a objetos que Python.
Ruby was created by Yukihiro Matsumoto in 1993 with the goal of creating a powerful scripting language with good object-oriented capabilities. It has a procedural style with fully object-oriented classes like Smalltalk and supports functional programming with blocks. Ruby is dynamically typed and treats all operations like method calls for high flexibility. It has a large community that shares code and libraries through sites like RubyGems and GitHub.
Este documento compara PHP e Ruby, destacando:
1) Ruby foi criada para ser mais poderosa que PHP e orientada a objetos que Python;
2) As variáveis em Ruby são objetos e tudo é chamado via métodos;
3) Ruby tem tipagem dinâmica e forte ao contrário da tipagem fraca de PHP.
The document discusses several key concepts for frontend development including patterns over frameworks, skills over tools, and unidirectional data flow. It provides examples of implementing toggling behavior using different approaches like jQuery, Angular, and React. The takeaway is not to move to React specifically, but rather to adopt underlying principles like automatic DOM mutation, stateless DOM, UI as a function of state, unidirectional data flow, purity, and immutability that apply beyond any single framework.
Trabalhando com posts e campos personalizados #CPBR9Rafael Funchal
Workshop feito na Campus Party Brasil 9 (http://brasil.campus-party.org/).
Saiba o que o WordPress é capaz de fazer e como utilizar posts e campos personalizados.
http://campuse.ro/events/campus-party-brasil-2016/workshop/trabalhando-com-posts-e-campos-personalizados/
O documento descreve como integrar pagamentos online com a MoIP, intermediador de pagamentos que recebe os pagamentos e os repassa ao vendedor. São descritas as opções de integração HTML e API, com a API sendo mais segura e funcional, permitindo comunicação servidor-servidor sem o cliente ver detalhes da transação. Também são explicados os passos de enviar instruções de pagamento via XML, receber resposta e redirecionar o cliente.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Este documento compara as linguagens PHP e Ruby, descrevendo suas histórias, paradigmas, tipagem, orientação a objetos dinâmica e comunidades. Ruby foi criada para ser mais poderosa que PHP e mais orientada a objetos que Python.
Ruby was created by Yukihiro Matsumoto in 1993 with the goal of creating a powerful scripting language with good object-oriented capabilities. It has a procedural style with fully object-oriented classes like Smalltalk and supports functional programming with blocks. Ruby is dynamically typed and treats all operations like method calls for high flexibility. It has a large community that shares code and libraries through sites like RubyGems and GitHub.
Este documento compara PHP e Ruby, destacando:
1) Ruby foi criada para ser mais poderosa que PHP e orientada a objetos que Python;
2) As variáveis em Ruby são objetos e tudo é chamado via métodos;
3) Ruby tem tipagem dinâmica e forte ao contrário da tipagem fraca de PHP.
The document discusses several key concepts for frontend development including patterns over frameworks, skills over tools, and unidirectional data flow. It provides examples of implementing toggling behavior using different approaches like jQuery, Angular, and React. The takeaway is not to move to React specifically, but rather to adopt underlying principles like automatic DOM mutation, stateless DOM, UI as a function of state, unidirectional data flow, purity, and immutability that apply beyond any single framework.
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
Slides que utilizei para ministrar uma palestra sobre Desenvolvimento WEB com Ruby on Rails no IV Congresso de Iniciação Científica da Faculdade Redentor de Itaperuna / RJ.
Versão PDF aqui: https://www.dropbox.com/s/2fkwksu00chm7nu/presentation.pdf
O documento descreve como integrar aplicações Flex com PHP usando AMFPHP, permitindo chamadas remota entre os dois lados através da serialização AMF. O AMFPHP permite realizar chamadas a serviços PHP diretamente do Flex de forma simples e rápida.
Desenvolvendo aplicações web com python e web2pyGilson Filho
Gilson Filho e Bruno Barbosa apresentam sobre desenvolvimento web com Python e o framework web2Py. Eles descrevem suas experiências com programação e o framework, incluindo uma introdução básica à linguagem Python e como o web2Py funciona.
1) O documento descreve o que é JavaScript, suas principais características e como incorporá-lo em páginas HTML.
2) Apresenta estruturas de programação como condicionais if/else, switch, loops for/while e funções.
3) Explica o Document Object Model (DOM) e como manipular elementos HTML via JavaScript.
O documento descreve o Puppet, uma ferramenta de gerenciamento de configuração de infraestrutura. Ele explica como o Puppet funciona, seus principais componentes como manifests, classes e resource types, e como ele pode ser usado para automatizar e padronizar a configuração de servidores. Além disso, descreve como a Terra usa o Puppet para gerenciar e automatizar sua infraestrutura de datacenter.
This document provides an introduction to Ruby on Rails, covering its history, key concepts like MVC, the Ruby programming language, ActiveRecord and how it handles models, views, controllers and principles like DRY and convention over configuration.
This document discusses experiences with Test Driven Development (TDD) in a corporate environment. It describes challenges with current development practices that lead to bugs and difficulties, benefits of TDD like secure development and reduced bugs, and a case study of successful TDD adoption on a large project. Common myths about TDD are also addressed.
O documento apresenta uma introdução sobre PHP, incluindo sua história, sintaxe básica, variáveis, arrays, estruturas de controle, formulários, métodos GET e POST, includes, cookies, sessões e envio de email. É apresentado um exemplo completo de um sistema de login utilizando sessões em PHP.
Mini-curso realizado no CESOL 2009 em Fortaleza na UFC campos do PICI, ministrado por mim Targino Silveira.
Nesse mini-curso viso preparar as pessoas para iniciarem a fazer pequenas aplicações e ao terminarem o mini-curso já sabendo com incluir, editar, excluir, pesquisar registros; alterar templates, trabalhar com migrations e uma outra serie de procedimentos.
O documento discute os principais aspectos de desenvolvimento de sites, incluindo escolha de ferramentas, linguagens de programação, bancos de dados, estrutura, padrões web, acessibilidade e testes.
Apps Web em Wicket e Scala no GlassFish Java EE 6Bruno Borges
O documento discute o desenvolvimento web usando as tecnologias Apache Wicket, Scala e Java EE 6 no servidor GlassFish. Ele aborda como Wicket permite separar as camadas de interface do usuário e lógica de negócios, e como Scala pode ser usado com Wicket para melhorar a produtividade. Também menciona como recursos do Java EE 6 como CDI e Bean Validation podem ser integrados a aplicações Wicket.
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
O documento resume as principais características e funcionalidades do framework CakePHP para desenvolvimento web, incluindo sua arquitetura MVC, o uso de modelos, views e controllers, helpers, components e formulários.
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
O documento resume as principais informações sobre JavaScript e jQuery para melhorar a experiência do usuário. Apresenta o que é JavaScript, suas aplicações além de páginas HTML, motiva o uso de efeitos e interações, e introduz conceitos básicos como variáveis, vetores, operadores, estruturas de controle e manipulação do DOM. Em seguida, explica o que é jQuery, como simplifica o JavaScript, e demonstra exemplos de seletores, manipulação e eventos.
Este documento fornece instruções sobre como adicionar diversos recursos em blogs, como: inserir música, texto animado, menu suspenso, contador de visitas, recadinhos, barra de status e chat. Também explica o que é um flog e onde criá-lo, e fornece dicas de sites para templates e acessórios para blogs.
O documento discute o framework CakePHP para desenvolvimento web em PHP. Apresenta as principais características do framework como arquitetura MVC, validações, paginação, layouts e histórico de sua criação.
Este documento fornece uma visão geral de um curso de desenvolvimento web e apresenta os principais tópicos a serem abordados, incluindo HTML, CSS, JavaScript, frameworks e conceitos como protocolo HTTP e servidores web.
[1] ASP.NET MVC é um framework para desenvolvimento web que implementa o padrão MVC, fornecendo mais controle sobre o código gerado em comparação ao ASP.NET Web Forms. [2] A apresentação discute conceitos como Razor, model binding, validação, filtros e autenticação no ASP.NET MVC. [3] Exemplos práticos demonstram como criar controllers, views e aplicar conceitos como layout, passagem de dados e formulários.
Este documento apresenta uma introdução sobre como construir APIs RESTful com Spring. A agenda inclui tópicos como URI, recursos, verbos HTTP, códigos de status, tipos de mídia, filtros e paginação, cache, versionamento, documentação e o modelo de maturidade de Richardson (HATEOAS). O documento fornece exemplos e explicações concisas sobre cada um desses conceitos importantes para o desenvolvimento de APIs RESTful.
Este documento fornece instruções sobre como adicionar diversos recursos em blogs, como música, texto animado, menu suspenso, contador de visitas, recadinhos, barra de status e chat. Também explica o que é um flog e onde pode ser criado, e fornece dicas de sites para encontrar templates e acessórios para blogs.
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
Slides que utilizei para ministrar uma palestra sobre Desenvolvimento WEB com Ruby on Rails no IV Congresso de Iniciação Científica da Faculdade Redentor de Itaperuna / RJ.
Versão PDF aqui: https://www.dropbox.com/s/2fkwksu00chm7nu/presentation.pdf
O documento descreve como integrar aplicações Flex com PHP usando AMFPHP, permitindo chamadas remota entre os dois lados através da serialização AMF. O AMFPHP permite realizar chamadas a serviços PHP diretamente do Flex de forma simples e rápida.
Desenvolvendo aplicações web com python e web2pyGilson Filho
Gilson Filho e Bruno Barbosa apresentam sobre desenvolvimento web com Python e o framework web2Py. Eles descrevem suas experiências com programação e o framework, incluindo uma introdução básica à linguagem Python e como o web2Py funciona.
1) O documento descreve o que é JavaScript, suas principais características e como incorporá-lo em páginas HTML.
2) Apresenta estruturas de programação como condicionais if/else, switch, loops for/while e funções.
3) Explica o Document Object Model (DOM) e como manipular elementos HTML via JavaScript.
O documento descreve o Puppet, uma ferramenta de gerenciamento de configuração de infraestrutura. Ele explica como o Puppet funciona, seus principais componentes como manifests, classes e resource types, e como ele pode ser usado para automatizar e padronizar a configuração de servidores. Além disso, descreve como a Terra usa o Puppet para gerenciar e automatizar sua infraestrutura de datacenter.
This document provides an introduction to Ruby on Rails, covering its history, key concepts like MVC, the Ruby programming language, ActiveRecord and how it handles models, views, controllers and principles like DRY and convention over configuration.
This document discusses experiences with Test Driven Development (TDD) in a corporate environment. It describes challenges with current development practices that lead to bugs and difficulties, benefits of TDD like secure development and reduced bugs, and a case study of successful TDD adoption on a large project. Common myths about TDD are also addressed.
O documento apresenta uma introdução sobre PHP, incluindo sua história, sintaxe básica, variáveis, arrays, estruturas de controle, formulários, métodos GET e POST, includes, cookies, sessões e envio de email. É apresentado um exemplo completo de um sistema de login utilizando sessões em PHP.
Mini-curso realizado no CESOL 2009 em Fortaleza na UFC campos do PICI, ministrado por mim Targino Silveira.
Nesse mini-curso viso preparar as pessoas para iniciarem a fazer pequenas aplicações e ao terminarem o mini-curso já sabendo com incluir, editar, excluir, pesquisar registros; alterar templates, trabalhar com migrations e uma outra serie de procedimentos.
O documento discute os principais aspectos de desenvolvimento de sites, incluindo escolha de ferramentas, linguagens de programação, bancos de dados, estrutura, padrões web, acessibilidade e testes.
Apps Web em Wicket e Scala no GlassFish Java EE 6Bruno Borges
O documento discute o desenvolvimento web usando as tecnologias Apache Wicket, Scala e Java EE 6 no servidor GlassFish. Ele aborda como Wicket permite separar as camadas de interface do usuário e lógica de negócios, e como Scala pode ser usado com Wicket para melhorar a produtividade. Também menciona como recursos do Java EE 6 como CDI e Bean Validation podem ser integrados a aplicações Wicket.
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
O documento resume as principais características e funcionalidades do framework CakePHP para desenvolvimento web, incluindo sua arquitetura MVC, o uso de modelos, views e controllers, helpers, components e formulários.
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
O documento resume as principais informações sobre JavaScript e jQuery para melhorar a experiência do usuário. Apresenta o que é JavaScript, suas aplicações além de páginas HTML, motiva o uso de efeitos e interações, e introduz conceitos básicos como variáveis, vetores, operadores, estruturas de controle e manipulação do DOM. Em seguida, explica o que é jQuery, como simplifica o JavaScript, e demonstra exemplos de seletores, manipulação e eventos.
Este documento fornece instruções sobre como adicionar diversos recursos em blogs, como: inserir música, texto animado, menu suspenso, contador de visitas, recadinhos, barra de status e chat. Também explica o que é um flog e onde criá-lo, e fornece dicas de sites para templates e acessórios para blogs.
O documento discute o framework CakePHP para desenvolvimento web em PHP. Apresenta as principais características do framework como arquitetura MVC, validações, paginação, layouts e histórico de sua criação.
Este documento fornece uma visão geral de um curso de desenvolvimento web e apresenta os principais tópicos a serem abordados, incluindo HTML, CSS, JavaScript, frameworks e conceitos como protocolo HTTP e servidores web.
[1] ASP.NET MVC é um framework para desenvolvimento web que implementa o padrão MVC, fornecendo mais controle sobre o código gerado em comparação ao ASP.NET Web Forms. [2] A apresentação discute conceitos como Razor, model binding, validação, filtros e autenticação no ASP.NET MVC. [3] Exemplos práticos demonstram como criar controllers, views e aplicar conceitos como layout, passagem de dados e formulários.
Este documento apresenta uma introdução sobre como construir APIs RESTful com Spring. A agenda inclui tópicos como URI, recursos, verbos HTTP, códigos de status, tipos de mídia, filtros e paginação, cache, versionamento, documentação e o modelo de maturidade de Richardson (HATEOAS). O documento fornece exemplos e explicações concisas sobre cada um desses conceitos importantes para o desenvolvimento de APIs RESTful.
Este documento fornece instruções sobre como adicionar diversos recursos em blogs, como música, texto animado, menu suspenso, contador de visitas, recadinhos, barra de status e chat. Também explica o que é um flog e onde pode ser criado, e fornece dicas de sites para encontrar templates e acessórios para blogs.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
rails_and_agile
1.
2.
3.
4. Quem? <propaganda> "Encontramos no Mailee o que faltava para nossas necessidades como agência digital. Os padrões de qualidade e usabilidade são incomparáveis e ganham de longe de qualquer outra solução de e-mail marketing que já utilizamos." - Lucas Wendling, GO-GO Internet Para Negócios "O tipo de serviço que o Mailee oferece é, sem duvidas, um dos melhores já vistos. O que mais me chamou a atenção foi o seu design inovador web 2.0. Garanto que muitas pessoas vão se divertir de forma profissional ao usar o Mailee. Fantástico." - Ricardo Aureliano, Grupo Ribeiro Filho "O que eu gostei no Mailee é a simplicidade de usar, atrelada aos recursos. Posso exportar todos meus contatos do e-mail sem nenhum esforço e manipular meu template facilmente. Para usá-lo não precisa nem FAQ, de tão intuitivo." - Leonardo Faria, Auto Simulado "Testei várias ferramentas de email-marketing, mas nenhuma era rápida, precisa e prática de usar. Encontrei estas qualidades no Mailee e estou muito satisfeito. Estou indicando para todos os meus clientes, pois realmente confio no trabalho e na seriedade da equipe do Mailee. " - Edison Marcelo dos Santos, CredInfo </propaganda>
5. Roteiro “ It is impossible not to notice Ruby on Rails. It has had a huge effect both in and outside the Ruby community... Rails has become a standard to which even well-established tools are comparing themselves to.” - Martin Fowler
6. Roteiro Apresentar práticas ágeis e ferramentas Rails que as suportam. Sempre com drops da sabedoria de Martin Fowler.
7. Comunicação “ Remember your code is for a human first and a computer second.” - Martin Fowler, Refactoring
8. Comunicação # Relacionamentos de modelo class Presentation < ActiveRecord::Base belongs_to :conference has_one :speaker has_many :listeners end ra = Presentation .find_by_name( "Rails & Agile" ) ra .speaker.name ==> "Juan Maiz" ra .conference.name ==> "Agile Weekend" ra .listeners.count ==> 3560 (Megalomaniac...)
9. Comunicação # Escopos de modelo class Customer < ActiveRecord::Base named_scope :active , :condition => "active" named_scope :recent , :order => "created_at desc" end Customer . active . recent
10. Comunicação # Comportamento! class Category < ActiveRecord::Base acts_as_tree end Category .find_by_name( "Ruby" ).parent.name => Programming Languages
17. Testes # Mocha Sum .expects( :do ).with( 2 , 2 ).returns( 4 ) assert_equal 4 , Sum .do( 2 , 2 ) # FactoryGirl Factory .define :speaker do | s | s .name 'Juan' s .address 'Mock address' end speaker = Factory .create( :speaker )
18. Testes # Machinist Sham .define do name { Faker :: Name .name } address { Faker :: Lorem .paragraph } end Speaker .blueprint do name email end Speaker .make
20. Testes "With a business-readable DSL, programmers write the code but they show that code frequently to business people who can understand what it means. These customers can then make changes, maybe draft some code..." - Martin Fowler martinfowler.com/bliki/BusinessReadableDSL.html
21.
22. Testes # Cucumber Gherkin Funcionalidade : Cadastrar palestrantes Para ter palestrantes nos eventos Como um usuário administrador Eu quero poder inserir palestrantes Cenário : Cadastrar novo palestrante Dado que estou na página de novo palestrante E o total de palestrantes é 0 Quando preencho "Nome" com "Foo" E preencho "Endereço" com "Bar" E clico em "Criar" Então devo ver "Foo" E devo ver "Bar" E o total de palestrantes deve ser 1
23. Testes # Cucumber + RSpec + WebRat Given /que estou na página de novo palestrante/ do visit '/speakers/new' end Given /o total de palestrantes é 0/ do Speaker .delete_all end # Generalizando! When /^preencho "(.+?)" com "(.+?)"/ do | field , value | fill_in( field , :with => value ) end Then /^I should see "([^amp;quot;]*)"$/ do | text | response .should contain( text ) end Then /o total de palestrantes deve ser (+?)/ do | num | Speaker .count.should == num end
24. Testes # executando... Funcionalidade: Cadastrar palestrantes Para ter palestrantes nos eventos Como um usuário administrador Eu quero poder inserir palestrantes Cenário: Cadastrar novo palestrante Dado que estou na página de novo palestrante E o total de palestrantes é 0 Quando preencho "Nome" com "Foo" E preencho "Endereço" com "Bar" E clico em "Criar" Então devo ver "Foo" E devo ver "Bar" E o total de palestrantes deve ser 1
26. Propriedade coletiva rake db:migrate create_table :speaker do | t | t .string :name t .string :address t .timestamps end
27. Integração contínua Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Martin Fowler martinfowler.com/articles/continuousIntegration.html
30. Integração contínua CriuseControl.rb e semelhantes No "git push" baixa os arquivos, executa os testes e notifica a equipe. Fork no GitHub para Git: github.com/benburkert/cruisecontrolrb jamesshore.com/Blog/Why I Dont Like CruiseControl.html
33. Conclusão "... I'm increasingly positive about using Ruby for serious work where speed, responsiveness, and productivity are important." - Martin Fowler em 10/5/2006 martinfowler.com/bliki/EvaluatingRuby.html