SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Desenvolvendo sua
primeira aplicação
Web com Rails 5
Lorena Caldas #GDGSSA Tech Tour
Quem sou eu
● Analista de Testes
● Formada pelo IFBA
● Inquieta
Objetivo
● Falar sobre a experiência de desenvolver meu
primeiro projeto Ruby on Rails
Motivos
1) Conceito DRY
2) Conceito CoC
3) Comunidade
4) Agilidade
5) Negócio
6) Entrega
7) Simplicidade
8) Exemplos
1) Conceito DRY - inibe repetições
2) Conceito CoC - mínimo esforço
3) Comunidade - suporte
4) Agilidade - qualidade
5) Negócio - foco no uso
6) Entrega - inovação
7) Simplicidade - economia
8) Exemplos
Bases para estudo
Bases para estudo
Estrutura
Aspectos
➔ Model-View-Controller
➔ 3 Ambientes
Desenvolvimento, Teste e Produção
➔ BDD
Desenvolvimento orientado ao
comportamento
Arquivos
Configuração
➔ Gemfile
Repositório de libs
➔ db/schema
Esquema do banco de dados
Migrations
➔ config/routes
Configuração de rotas do app
Instalação
Como configurar seu
ambiente Ruby on Rails?
Tip
Usei Ubuntu
sudo apt-get install ruby
sudo apt-get update
sudo apt-get update
sudo apt-get install -y build-essential autoconf bison
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev
libncurses5-dev libffi-dev libgdbm-dev
apt-get rvm
wget/curl rvm
rvm install 2.3.1
rvm install 2.3.1
gem install rails
(gem install bundler)
Tip
Nokogiri
Como criar um projeto?
rails new projeto
rails new projeto
apt-get install postgresql
rails new projeto -d
postgresql
Como criar as
funcionalidades?
rails generate
rails generate
(rails generate model User)
(rails generate view User)
(rails generate controller User) Tip
Scaffold
class UsersController < ApplicationController
def index
@users = User.all
end
def new
@user = User.new
end
def destroy
@user.destroy
end
end
Como criar as tabelas de
banco de dados?
bundle exec rake db:migrate
Como executar o projeto?
rails server
Exemplo de App Web
Testes?
gem install rspec-rails
gem install rspec-rails
rails generate rspec:model

gem install rspec-rails
rails generate rspec:model
rspec app/spec/
Retrospectiva
O que aprendemos
● Como criar um projeto Web em 5 minutos
● Como ser mais produtivo
● Compo pôr foco na entrega e no negócio
● Como fica mais divertido programar
Agradecida!
lorenaccaldas
ciclosw.wordpress.com
GTS-BA
Desenvolvendo sua
primeira aplicação
Web com Rails 5
Lorena Caldas #GDGSSA Tech Tour

Mais conteúdo relacionado

Mais procurados

Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 
Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHPRafael Cichini
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkJosemar Davi Luedke
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017Renato Groff
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerAécio Pires
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Renato Groff
 

Mais procurados (12)

Introdução ao Framework CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Introdução ao Framework CakePHP
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 
MVC & Zend Framework
MVC & Zend FrameworkMVC & Zend Framework
MVC & Zend Framework
 
Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHP
 
Lab
LabLab
Lab
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o Zeanwork
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres Docker
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
 

Semelhante a Desenvolvendo sua primeira aplicação Web com Rails 5

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015Daniel Costa Gimenes
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Renato Groff
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...iMasters
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Renato Groff
 
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Taller Negócio Digitais
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Douglas Fischer
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumMaximiliano Alves
 

Semelhante a Desenvolvendo sua primeira aplicação Web com Rails 5 (20)

TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - FloripaTDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - Floripa
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 

Mais de GTS Bahia

[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil
[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil
[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgilGTS Bahia
 
[GTS-BA] Tech-Talk: Testes em ruby
[GTS-BA] Tech-Talk: Testes em ruby[GTS-BA] Tech-Talk: Testes em ruby
[GTS-BA] Tech-Talk: Testes em rubyGTS Bahia
 
[GTS-BA] Bate papo: QA no Homeoffice
[GTS-BA] Bate papo: QA no Homeoffice[GTS-BA] Bate papo: QA no Homeoffice
[GTS-BA] Bate papo: QA no HomeofficeGTS Bahia
 
[GTS-BA] Bate papo: Saindo da Bahia
[GTS-BA]  Bate papo: Saindo  da Bahia[GTS-BA]  Bate papo: Saindo  da Bahia
[GTS-BA] Bate papo: Saindo da BahiaGTS Bahia
 
[GTS-BA] Agile testers 2017
[GTS-BA] Agile testers   2017[GTS-BA] Agile testers   2017
[GTS-BA] Agile testers 2017GTS Bahia
 
[GTS-BA] O papel do QA na cultura Ágil
[GTS-BA] O papel do QA na cultura Ágil[GTS-BA] O papel do QA na cultura Ágil
[GTS-BA] O papel do QA na cultura ÁgilGTS Bahia
 
[GTS-BA] Desvendando testes de software
[GTS-BA] Desvendando testes de software[GTS-BA] Desvendando testes de software
[GTS-BA] Desvendando testes de softwareGTS Bahia
 
[GTS Bahia] - Retrospectiva 2020
[GTS Bahia] - Retrospectiva 2020[GTS Bahia] - Retrospectiva 2020
[GTS Bahia] - Retrospectiva 2020GTS Bahia
 
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen GTS Bahia
 
GTS Bahia - Teste de Usabilidade: Boas Práticas e Padrões
GTS Bahia - Teste de Usabilidade: Boas Práticas e PadrõesGTS Bahia - Teste de Usabilidade: Boas Práticas e Padrões
GTS Bahia - Teste de Usabilidade: Boas Práticas e PadrõesGTS Bahia
 

Mais de GTS Bahia (10)

[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil
[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil
[GTS-BA] Testes exploratórios guiados à sessão - LinguÁgil
 
[GTS-BA] Tech-Talk: Testes em ruby
[GTS-BA] Tech-Talk: Testes em ruby[GTS-BA] Tech-Talk: Testes em ruby
[GTS-BA] Tech-Talk: Testes em ruby
 
[GTS-BA] Bate papo: QA no Homeoffice
[GTS-BA] Bate papo: QA no Homeoffice[GTS-BA] Bate papo: QA no Homeoffice
[GTS-BA] Bate papo: QA no Homeoffice
 
[GTS-BA] Bate papo: Saindo da Bahia
[GTS-BA]  Bate papo: Saindo  da Bahia[GTS-BA]  Bate papo: Saindo  da Bahia
[GTS-BA] Bate papo: Saindo da Bahia
 
[GTS-BA] Agile testers 2017
[GTS-BA] Agile testers   2017[GTS-BA] Agile testers   2017
[GTS-BA] Agile testers 2017
 
[GTS-BA] O papel do QA na cultura Ágil
[GTS-BA] O papel do QA na cultura Ágil[GTS-BA] O papel do QA na cultura Ágil
[GTS-BA] O papel do QA na cultura Ágil
 
[GTS-BA] Desvendando testes de software
[GTS-BA] Desvendando testes de software[GTS-BA] Desvendando testes de software
[GTS-BA] Desvendando testes de software
 
[GTS Bahia] - Retrospectiva 2020
[GTS Bahia] - Retrospectiva 2020[GTS Bahia] - Retrospectiva 2020
[GTS Bahia] - Retrospectiva 2020
 
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen
GTS Bahia - Teste de Usabilidade: Heurísticas de Nielsen
 
GTS Bahia - Teste de Usabilidade: Boas Práticas e Padrões
GTS Bahia - Teste de Usabilidade: Boas Práticas e PadrõesGTS Bahia - Teste de Usabilidade: Boas Práticas e Padrões
GTS Bahia - Teste de Usabilidade: Boas Práticas e Padrões
 

Desenvolvendo sua primeira aplicação Web com Rails 5