SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
RUBY ON RAILS
Porque programar deve ser Divertido ;)
LUIZ CARVALHO
Criador do Droido Mensagens
Pós Graduado em Telemática - IFTO
Bacharel em Ciência da Computação - UFT
Redesat
6 anos de Rails
Defensoria Pública do Tocantins
600K+(http://builtwith.com)
O que é Ruby on Rails?
Rails 4.1 Ruby 2.1
ÁGIL
DRY
Convetion over Configuration
O que é Ruby on Rails?
● Criado em 2003 por David Heinemeier
Hansson
● Mantido pelo Rails Core Team
● e mais de 3,400 contribuidores.
● Código Aberto (Github)
● Nginx
● Unicorn (Rack web)
● NodeJS
● Testes
● Integração contínua
● SEO (urls amigáveis)
Agile + Rails =
Font-end
Front-end
Front-end
Font-end
Comunidade nova, sem vinculo com outros sistemas de versionamento
Ruby
Java
Node.js
Python
Clojure
Scala
Grátis - $34.50 - $86,362.50
Redhat
VM Ware
2006-2007 - Twitter
Escalabilidade
Criação de estruturas e popularizadão
●Grupos: g1,g2,g3,g4
●Usuários: u1,u2,u3,u4
u1 = Usuario.new
(...)
g1 = Grupo.new
(...)
g1.usuarios =
[u1,u2,u3]
u2.grupos = [g1,
g3]
Banco de Dados
● Postgres
● Mysql
● Sqlite
● MongoDB
● (...)
R
E
S
T
ful
Index
Show
Edit/Update
New/Create
Admin?
gem 'activeadmin', github: 'gregbell/active_admin'
rails generate active_admin:install
rake db:migrate
rails generate active_admin:resource usuario
admin@example.com
password
Debug (pry)
Debug (better_errors, binding_of_caller)
Testes
Unitários (Rspec, minitest, test-unit, Bacon)
Browser(selenium-webrowser, Capybara, Webrat)
Contínuos (Guard, guard-rspec, ZenTest)
A/B (Vanity, Split, Seven Minutes ABs)
Distribuidos (Spork, Parallel test, Zeus)
Aceitação (Cucumber, Steak, Turnip)
Deploy(capistrano)
● Configura seu ambiente de desenvolvimento
○ cria links simbolicos para arquivos temporários e de configuração
○ copia seu código do servidor de versionamento
○ roda migrações de base de dados
○ baixa e instala dependências
○ faz backup e banco de dados
○ roda os testes
○ compila seus arquivos css e js
○ reinicia outros serviços
○ reinicia seu servidor
○ limpa arquivos desnecessários
Autenticação (devise)
○ Basic
○ Oauth
○ Registro de usuários
○ Confirmação via e-mail
○ Recuperação de senha
○ Rastreamento de usuários
○ Controle de tempo de sessão
○ Validação de e-mail e senha
○ Bloqueio de usuários por tentativas de acesso restrito
○ Permissão (cancan)
Gestor de Dependências (Bundle)
> bundle install
Mais e mais
● Sistema de busca, paginação e ordenação
Processos em background
● Qualidade de código
● E-mail
● Engines (blogs, e-commerce, redes sociais)
● CSS e JS
● Benchmarks
● Geração de PDF
● Pagamentos Online
● Gráficos
O que ganhamos?
● Precompiladores de CSS
● Precompiladores de JS
○ javascript não obstrisivo
○ turbolinks
○
● Sistema de busca, paginação e ordenação
● Segurança
○ XSS,
Perguntas?
www.RedRails.com.br
http://linkedin.com/in/luizcarvalhodev
https://github.com/LuizCarvalho/
http://www.facebook.com/LuizCarvalho.br
https://plus.google.com/+LuizCarvalhoDev
http://twitter.com/luizcarvalho

Más contenido relacionado

La actualidad más candente

TDC2016SP - Trilha .NET
TDC2016SP - Trilha .NETTDC2016SP - Trilha .NET
TDC2016SP - Trilha .NETtdc-globalcode
 
Conhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetConhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetJhonathan de Souza Soares
 
Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Luiz Duarte
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBRenato Groff
 
S3 - Simple storage service
S3 - Simple storage serviceS3 - Simple storage service
S3 - Simple storage serviceRicardoKutscher
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Pablo Souza
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
 

La actualidad más candente (20)

TDC2016SP - Trilha .NET
TDC2016SP - Trilha .NETTDC2016SP - Trilha .NET
TDC2016SP - Trilha .NET
 
Conhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetConhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSet
 
Spring boot
Spring bootSpring boot
Spring boot
 
#3 Instalação MongoDB
#3   Instalação MongoDB  #3   Instalação MongoDB
#3 Instalação MongoDB
 
CloudFlare
CloudFlareCloudFlare
CloudFlare
 
Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
#4 Primeiros comandos no MongoDB
#4   Primeiros comandos no MongoDB#4   Primeiros comandos no MongoDB
#4 Primeiros comandos no MongoDB
 
Redis
RedisRedis
Redis
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Mongo
MongoMongo
Mongo
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDB
 
S3 - Simple storage service
S3 - Simple storage serviceS3 - Simple storage service
S3 - Simple storage service
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São Paulo
 

Similar a Rails para iniciantes

JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TImarioaxavier7
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoRicardo Longa
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaSensedia
 
Site estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfSite estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfDanilo Pinotti
 
REST Web Services com Java
REST Web Services com JavaREST Web Services com Java
REST Web Services com JavaJugVale
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTLoiane Groner
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Renato Groff
 

Similar a Rails para iniciantes (20)

JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TI
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenho
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha Básica
 
Site estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfSite estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdf
 
REST Web Services com Java
REST Web Services com JavaREST Web Services com Java
REST Web Services com Java
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWT
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
What's New On Azure IaaS
What's New On Azure IaaSWhat's New On Azure IaaS
What's New On Azure IaaS
 
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
Linux e Docker: novas possibilidades com tecnologias Microsoft - 2o. Stone Te...
 

Más de Luiz Carvalho

Palestra Online: Quanto custa um app para sua empresa?
Palestra Online: Quanto custa um app para sua empresa?Palestra Online: Quanto custa um app para sua empresa?
Palestra Online: Quanto custa um app para sua empresa?Luiz Carvalho
 
Comunidade Startup Tocantins 2019
Comunidade Startup Tocantins 2019 Comunidade Startup Tocantins 2019
Comunidade Startup Tocantins 2019 Luiz Carvalho
 
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CIT
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CITChatbots e a nova era das aplicações móveis - Congresso Internacional de CIT
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CITLuiz Carvalho
 
Chatbots e a revolução digital
Chatbots e a revolução digitalChatbots e a revolução digital
Chatbots e a revolução digitalLuiz Carvalho
 
Movimento startup Tocantins [Araguaína]
Movimento startup Tocantins [Araguaína]Movimento startup Tocantins [Araguaína]
Movimento startup Tocantins [Araguaína]Luiz Carvalho
 
Apresentação Parlo Startup Day 2017 Palmas
Apresentação Parlo Startup Day 2017 PalmasApresentação Parlo Startup Day 2017 Palmas
Apresentação Parlo Startup Day 2017 PalmasLuiz Carvalho
 
Chatbots: A nova era das aplicações móveis
Chatbots:  A nova era das aplicações móveis Chatbots:  A nova era das aplicações móveis
Chatbots: A nova era das aplicações móveis Luiz Carvalho
 
Minicurso: Como criar chatbots
Minicurso: Como criar chatbotsMinicurso: Como criar chatbots
Minicurso: Como criar chatbotsLuiz Carvalho
 
Chatbot - A nova era das aplicações móveis
Chatbot  - A nova era das aplicações móveisChatbot  - A nova era das aplicações móveis
Chatbot - A nova era das aplicações móveisLuiz Carvalho
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoLuiz Carvalho
 
Palestra: Movimento Startup Tocantins
Palestra: Movimento Startup TocantinsPalestra: Movimento Startup Tocantins
Palestra: Movimento Startup TocantinsLuiz Carvalho
 
Minicurso: Desenvolvimento na velocidade da luz com Ruby on Rails
Minicurso: Desenvolvimento na velocidade da luz com Ruby on RailsMinicurso: Desenvolvimento na velocidade da luz com Ruby on Rails
Minicurso: Desenvolvimento na velocidade da luz com Ruby on RailsLuiz Carvalho
 
Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Luiz Carvalho
 

Más de Luiz Carvalho (15)

Palestra Online: Quanto custa um app para sua empresa?
Palestra Online: Quanto custa um app para sua empresa?Palestra Online: Quanto custa um app para sua empresa?
Palestra Online: Quanto custa um app para sua empresa?
 
Comunidade Startup Tocantins 2019
Comunidade Startup Tocantins 2019 Comunidade Startup Tocantins 2019
Comunidade Startup Tocantins 2019
 
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CIT
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CITChatbots e a nova era das aplicações móveis - Congresso Internacional de CIT
Chatbots e a nova era das aplicações móveis - Congresso Internacional de CIT
 
Chatbots e a revolução digital
Chatbots e a revolução digitalChatbots e a revolução digital
Chatbots e a revolução digital
 
Movimento startup Tocantins [Araguaína]
Movimento startup Tocantins [Araguaína]Movimento startup Tocantins [Araguaína]
Movimento startup Tocantins [Araguaína]
 
Apresentação Parlo Startup Day 2017 Palmas
Apresentação Parlo Startup Day 2017 PalmasApresentação Parlo Startup Day 2017 Palmas
Apresentação Parlo Startup Day 2017 Palmas
 
Chatbots: A nova era das aplicações móveis
Chatbots:  A nova era das aplicações móveis Chatbots:  A nova era das aplicações móveis
Chatbots: A nova era das aplicações móveis
 
Minicurso: Como criar chatbots
Minicurso: Como criar chatbotsMinicurso: Como criar chatbots
Minicurso: Como criar chatbots
 
Chatbot - A nova era das aplicações móveis
Chatbot  - A nova era das aplicações móveisChatbot  - A nova era das aplicações móveis
Chatbot - A nova era das aplicações móveis
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
 
Palestra: Movimento Startup Tocantins
Palestra: Movimento Startup TocantinsPalestra: Movimento Startup Tocantins
Palestra: Movimento Startup Tocantins
 
Minicurso: Desenvolvimento na velocidade da luz com Ruby on Rails
Minicurso: Desenvolvimento na velocidade da luz com Ruby on RailsMinicurso: Desenvolvimento na velocidade da luz com Ruby on Rails
Minicurso: Desenvolvimento na velocidade da luz com Ruby on Rails
 
Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?
 
Droido - imprensa
Droido - imprensaDroido - imprensa
Droido - imprensa
 
Droido
DroidoDroido
Droido
 

Rails para iniciantes