SlideShare uma empresa Scribd logo
1 de 37
Prazer, Ruby on Rails
Quem? ,[object Object],[object Object],[object Object]
O que? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Antes de mais nada ....
Linguagem  Programação Framework on
 
O Criador Yukihiro “Matz” Matsumoto - Lançada em 1995 - Linguagem de script - Código aberto e sem restrições - Simples e elegante
“ Para mim o propósito da vida é parcialmente em ter prazer. Programadores as vezes sentem prazer quando podem se concentrar  na parte criativa da programação. Então Ruby  foi projetado para fazer programadores  felizes.” Matz
Linguagens que influenciaram ,[object Object],[object Object],[object Object],[object Object],[object Object]
Características ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TUDO é OBJETO
array[x]=y array.[]=(x,y) x+y x.+(y)
Duck Typing “ Se anda como um pato e fala como um pato, então é um pato!”
Classes não são tipos!  Tipos são definidos com base no  que um objeto pode fazer.
Gems
RubyGems
Implementações  ,[object Object],[object Object],[object Object],[object Object]
 
Extraído a partir de um problema real!
MVC
ActiveRecord ActionPack ActionMailer ActiveSupport Meta-Framework
Convenção  ao invés de Configuração O que torna Rails ágil?
class Post < ActiveRecord::Base  has_many :comments belongs_to :author  end class Comment < ActiveRecord::Base  belongs_to :post  end class Author < ActiveRecord::Base  has_many :posts  end
Testes Automatizados
BEHAVIOR DRIVEN DEVELOPMENT TEST DRIVEN DEVELOPMENT TDD BDD X
Testes Unitário Funcional Integração
Construindo um  e-commerce Hands-on
História 1
História 2
História 3
Ferramentas Mac OS X Windows Linux TextMate emacs emacs RadRails + Aptana Netbeans Netbeans Netbeans e outras ....
Rails e o Mercado
Empresas utilizando
Empresas utilizando
Sem Brigas, por favor Java Ruby Rails .NET C C++ C# Perl Pyton Django Merb JSF Struts ...
Dúvidas?
Obrigado!

Mais conteúdo relacionado

Mais procurados

Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercadoelliando dias
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o MercadoJulio Monteiro
 
Rails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoRails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoJohn Carneiro
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Glaucia Lemos
 
Utilize Groovy nos seus futuros projetos
Utilize Groovy nos seus futuros projetosUtilize Groovy nos seus futuros projetos
Utilize Groovy nos seus futuros projetosmarciowferreira
 
Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visagejesuinoPower
 
Java ME simples e fácil com J2ME Polish
Java ME simples e fácil com J2ME PolishJava ME simples e fácil com J2ME Polish
Java ME simples e fácil com J2ME PolishMaurício Linhares
 
Apresentação Integração ROS e JADE
Apresentação Integração ROS e JADEApresentação Integração ROS e JADE
Apresentação Integração ROS e JADEPedro Nakibar
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosjpaulolins
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on railsCOTIC-PROEG (UFPA)
 
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....tdc-globalcode
 

Mais procurados (20)

Java aula 1
Java   aula 1Java   aula 1
Java aula 1
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Ruby
RubyRuby
Ruby
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Node js
Node jsNode js
Node js
 
Rails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoRails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de caso
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x
 
Utilize Groovy nos seus futuros projetos
Utilize Groovy nos seus futuros projetosUtilize Groovy nos seus futuros projetos
Utilize Groovy nos seus futuros projetos
 
Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visage
 
Java ME simples e fácil com J2ME Polish
Java ME simples e fácil com J2ME PolishJava ME simples e fácil com J2ME Polish
Java ME simples e fácil com J2ME Polish
 
Apresentando Groovy e Grails
Apresentando Groovy e GrailsApresentando Groovy e Grails
Apresentando Groovy e Grails
 
Apresentação Integração ROS e JADE
Apresentação Integração ROS e JADEApresentação Integração ROS e JADE
Apresentação Integração ROS e JADE
 
Jclouds jug vale
Jclouds jug valeJclouds jug vale
Jclouds jug vale
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhos
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on rails
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
 

Destaque

Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Marcio Sfalsin
 
QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyCharles Nutter
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a rubyWende Mendes
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRubyFrevo on Rails
 
JRuby - Explorando um mundo de possibilidades
JRuby - Explorando um mundo de possibilidadesJRuby - Explorando um mundo de possibilidades
JRuby - Explorando um mundo de possibilidadesPaulo Igor Alves Godinho
 

Destaque (8)

Apresentação sobre JRuby
Apresentação sobre JRubyApresentação sobre JRuby
Apresentação sobre JRuby
 
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
 
QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRuby
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRuby
 
JRuby - Explorando um mundo de possibilidades
JRuby - Explorando um mundo de possibilidadesJRuby - Explorando um mundo de possibilidades
JRuby - Explorando um mundo de possibilidades
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
 

Semelhante a Prazer,Ruby On Rails

Ruby, Rails e Diversão
Ruby, Rails e DiversãoRuby, Rails e Diversão
Ruby, Rails e DiversãoJulio Monteiro
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Andre Bernardes
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaGabriel Molter
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsLucas Caton
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Joao Lucas Santana
 
Slides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRailsSlides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRailsTiago Godinho
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorDickson S. Guedes
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Zarathon Maia
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Julio Monteiro
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaWomen Techmakers João Pessoa
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 

Semelhante a Prazer,Ruby On Rails (20)

Ruby, Rails e Diversão
Ruby, Rails e DiversãoRuby, Rails e Diversão
Ruby, Rails e Diversão
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Ruby and Rails
Ruby and RailsRuby and Rails
Ruby and Rails
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e Prática
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 
O mundo visto de dentro do Ruby
O mundo visto de dentro do RubyO mundo visto de dentro do Ruby
O mundo visto de dentro do Ruby
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)
 
Rubyon rails
Rubyon railsRubyon rails
Rubyon rails
 
Ruby on rails porque usar rails?!
Ruby on rails   porque usar rails?!Ruby on rails   porque usar rails?!
Ruby on rails porque usar rails?!
 
Slides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRailsSlides do curso Programação web com RubyOnRails
Slides do curso Programação web com RubyOnRails
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Desenvolvimento agil ifc
Desenvolvimento agil ifcDesenvolvimento agil ifc
Desenvolvimento agil ifc
 

Mais de Alberto Leal

Designing the APIs for an internal set of services
Designing the APIs for an internal set of servicesDesigning the APIs for an internal set of services
Designing the APIs for an internal set of servicesAlberto Leal
 
Testing Services Effectively
Testing Services Effectively Testing Services Effectively
Testing Services Effectively Alberto Leal
 
Contribuindo com a comunidade Open Source
Contribuindo com a comunidade Open SourceContribuindo com a comunidade Open Source
Contribuindo com a comunidade Open SourceAlberto Leal
 
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?Caipira Ágil - Afinal, testes atrasam o desenvolvimento?
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?Alberto Leal
 
Guru-Campinas - Continuous integration
Guru-Campinas - Continuous integrationGuru-Campinas - Continuous integration
Guru-Campinas - Continuous integrationAlberto Leal
 
IBM - Apresentando jQuery
IBM - Apresentando jQueryIBM - Apresentando jQuery
IBM - Apresentando jQueryAlberto Leal
 
Utilizando Git em Projetos Com Repositório Centralizado
Utilizando Git em Projetos Com Repositório CentralizadoUtilizando Git em Projetos Com Repositório Centralizado
Utilizando Git em Projetos Com Repositório CentralizadoAlberto Leal
 
Git - O Rebase Pode Te Assustar
Git - O Rebase Pode Te AssustarGit - O Rebase Pode Te Assustar
Git - O Rebase Pode Te AssustarAlberto Leal
 

Mais de Alberto Leal (10)

Designing the APIs for an internal set of services
Designing the APIs for an internal set of servicesDesigning the APIs for an internal set of services
Designing the APIs for an internal set of services
 
Testing Services Effectively
Testing Services Effectively Testing Services Effectively
Testing Services Effectively
 
Contribuindo com a comunidade Open Source
Contribuindo com a comunidade Open SourceContribuindo com a comunidade Open Source
Contribuindo com a comunidade Open Source
 
O que é dojo
O que é dojoO que é dojo
O que é dojo
 
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?Caipira Ágil - Afinal, testes atrasam o desenvolvimento?
Caipira Ágil - Afinal, testes atrasam o desenvolvimento?
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
Guru-Campinas - Continuous integration
Guru-Campinas - Continuous integrationGuru-Campinas - Continuous integration
Guru-Campinas - Continuous integration
 
IBM - Apresentando jQuery
IBM - Apresentando jQueryIBM - Apresentando jQuery
IBM - Apresentando jQuery
 
Utilizando Git em Projetos Com Repositório Centralizado
Utilizando Git em Projetos Com Repositório CentralizadoUtilizando Git em Projetos Com Repositório Centralizado
Utilizando Git em Projetos Com Repositório Centralizado
 
Git - O Rebase Pode Te Assustar
Git - O Rebase Pode Te AssustarGit - O Rebase Pode Te Assustar
Git - O Rebase Pode Te Assustar
 

Prazer,Ruby On Rails