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
Redesa...
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 cont...
● 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 genera...
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...
Deploy(capistrano)
● Configura seu ambiente de desenvolvimento
○ cria links simbolicos para arquivos temporários e de conf...
Autenticação (devise)
○ Basic
○ Oauth
○ Registro de usuários
○ Confirmação via e-mail
○ Recuperação de senha
○ Rastreament...
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 (bl...
O que ganhamos?
● Precompiladores de CSS
● Precompiladores de JS
○ javascript não obstrisivo
○ turbolinks
○
● Sistema de b...
Perguntas?
www.RedRails.com.br
http://linkedin.com/in/luizcarvalhodev
https://github.com/LuizCarvalho/
http://www.facebook...
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
Próximos SlideShares
Carregando em…5
×

Rails: Porque programar deve ser divertido

416 visualizações

Publicada em

Apresentação realizada no FLISOL 2014 em Palmas-TO

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Rails: Porque programar deve ser divertido

  1. 1. RUBY ON RAILS Porque programar deve ser Divertido ;)
  2. 2. 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
  3. 3. 600K+(http://builtwith.com)
  4. 4. O que é Ruby on Rails?
  5. 5. Rails 4.1 Ruby 2.1
  6. 6. ÁGIL DRY Convetion over Configuration
  7. 7. 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)
  8. 8. ● Nginx ● Unicorn (Rack web) ● NodeJS ● Testes ● Integração contínua ● SEO (urls amigáveis) Agile + Rails =
  9. 9. Font-end
  10. 10. Front-end
  11. 11. Front-end
  12. 12. Font-end
  13. 13. Comunidade nova, sem vinculo com outros sistemas de versionamento
  14. 14. Ruby Java Node.js Python Clojure Scala Grátis - $34.50 - $86,362.50
  15. 15. Redhat
  16. 16. VM Ware
  17. 17. 2006-2007 - Twitter Escalabilidade Criação de estruturas e popularizadão
  18. 18. ●Grupos: g1,g2,g3,g4 ●Usuários: u1,u2,u3,u4 u1 = Usuario.new (...) g1 = Grupo.new (...)
  19. 19. g1.usuarios = [u1,u2,u3] u2.grupos = [g1, g3]
  20. 20. Banco de Dados ● Postgres ● Mysql ● Sqlite ● MongoDB ● (...)
  21. 21. R E S T ful
  22. 22. Index
  23. 23. Show
  24. 24. Edit/Update
  25. 25. New/Create
  26. 26. 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
  27. 27. Debug (pry)
  28. 28. Debug (better_errors, binding_of_caller)
  29. 29. 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)
  30. 30. 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
  31. 31. 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)
  32. 32. Gestor de Dependências (Bundle) > bundle install
  33. 33. 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
  34. 34. 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,
  35. 35. 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

×