Top Banner
RUBY ON RAILS Porque programar deve ser Divertido ;)
51

Rails: Porque programar deve ser divertido

Apr 13, 2017

Download

Technology

luiz carvalho
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rails: Porque programar deve ser divertido

RUBY ON RAILSPorque programar deve ser Divertido ;)

Page 2: 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

Page 3: Rails: Porque programar deve ser divertido
Page 4: Rails: Porque programar deve ser divertido
Page 5: Rails: Porque programar deve ser divertido
Page 6: Rails: Porque programar deve ser divertido
Page 7: Rails: Porque programar deve ser divertido
Page 8: Rails: Porque programar deve ser divertido

600K+(http://builtwith.com)

Page 9: Rails: Porque programar deve ser divertido

O que é Ruby on Rails?

Page 10: Rails: Porque programar deve ser divertido
Page 11: Rails: Porque programar deve ser divertido

Rails 4.1 Ruby 2.1

Page 12: Rails: Porque programar deve ser divertido

ÁGIL

DRY

Convetion over Configuration

Page 13: Rails: Porque programar deve ser divertido

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)

Page 14: Rails: Porque programar deve ser divertido

● Nginx● Unicorn (Rack web)● NodeJS● Testes● Integração contínua● SEO (urls amigáveis)

Agile + Rails =

Page 15: Rails: Porque programar deve ser divertido
Page 16: Rails: Porque programar deve ser divertido

Font-end

Page 17: Rails: Porque programar deve ser divertido

Front-end

Page 18: Rails: Porque programar deve ser divertido

Front-end

Page 19: Rails: Porque programar deve ser divertido

Font-end

Page 20: Rails: Porque programar deve ser divertido

Comunidade nova, sem vinculo com outros sistemas de versionamento

Page 21: Rails: Porque programar deve ser divertido
Page 22: Rails: Porque programar deve ser divertido
Page 23: Rails: Porque programar deve ser divertido
Page 24: Rails: Porque programar deve ser divertido
Page 26: Rails: Porque programar deve ser divertido

Redhat

Page 27: Rails: Porque programar deve ser divertido

VM Ware

Page 28: Rails: Porque programar deve ser divertido

2006-2007 - TwitterEscalabilidadeCriação de estruturas e popularizadão

Page 29: Rails: Porque programar deve ser divertido
Page 30: Rails: Porque programar deve ser divertido
Page 31: Rails: Porque programar deve ser divertido
Page 32: Rails: Porque programar deve ser divertido
Page 33: Rails: Porque programar deve ser divertido
Page 34: Rails: Porque programar deve ser divertido

●Grupos: g1,g2,g3,g4●Usuários: u1,u2,u3,u4

u1 = Usuario.new(...)

g1 = Grupo.new(...)

Page 35: Rails: Porque programar deve ser divertido

g1.usuarios = [u1,u2,u3]

u2.grupos = [g1,g3]

Page 36: Rails: Porque programar deve ser divertido

Banco de Dados

● Postgres● Mysql● Sqlite● MongoDB● (...)

Page 37: Rails: Porque programar deve ser divertido

REST

ful

Page 38: Rails: Porque programar deve ser divertido

Index

Page 39: Rails: Porque programar deve ser divertido

Show

Page 40: Rails: Porque programar deve ser divertido

Edit/Update

Page 41: Rails: Porque programar deve ser divertido

New/Create

Page 42: Rails: Porque programar deve ser divertido

Admin?gem 'activeadmin', github: 'gregbell/active_admin'rails generate active_admin:install

rake db:migraterails generate active_admin:resource usuario

[email protected]

Page 43: Rails: Porque programar deve ser divertido

Debug (pry)

Page 44: Rails: Porque programar deve ser divertido

Debug (better_errors, binding_of_caller)

Page 45: Rails: Porque programar deve ser divertido

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)

Page 46: Rails: Porque programar deve ser divertido

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

Page 47: Rails: Porque programar deve ser divertido

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)

Page 48: Rails: Porque programar deve ser divertido

Gestor de Dependências (Bundle)

> bundle install

Page 49: Rails: Porque programar deve ser divertido

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

Page 50: Rails: Porque programar deve ser divertido

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,