SlideShare uma empresa Scribd logo
Ruby e Rails
Introdução e estudo de caso
“Sistema de Inscrições Ultramacho”
JOHN CARNEIRO
john@sizy.com.br
@johnwmcarneiro
www.sizy.com.br
Quem sou eu?
Meu nome é John, sou...
• Fundador da Sizy (www.sizy.com.br)
• Empreendedor e administrador por formação
• Programador por curiosidade
• Sonhador
• Botafoguense, vai fogo!
• Já trabalhei com ASP Clássico ¬¬
• PHP até ZF1, depois cansei
• Estudei um pouco de Java Web, hoje o livro serve ajudar na altura do monitor
• Estudei Python, respeito, mas algumas coisas me incomodam
• Encontrei o Ruby <3
Rails e Rails, introdução e estudo de caso
puts “Olá DevMT”
O que é o Ruby?
Ruby é uma linguagem de programação dinâmica, open source com foco na simplicidade e na
produtividade.
Criada por Yukihiro “Matz” Matsumoto em 1995 para ser mais poderosa do que Perl e mais
orientada a objetos que Python.
Algumas características:
Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte
de uma classe), mas a classe pode ser alterada dinamicamente.
Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre
outros) são classes. Através do RubyGems, é possível instalar e atualizar bibliotecas com uma
linha de comando, de maneira similar ao APT do Debian Linux.
Code blocks (blocos de código) passados como parâmetros para métodos; permite a criação
de clausuras.
Mixins, uma forma de emular a herança múltipla.
Métodos de geração de código em tempo real, como os "attribute accessors”.
Hoje é uma das 10 linguagens mais usadas.
Tipagem dinâmica e forte
Tudo é objeto
Exemplo de “Code Blocks”
Exemplo de “Code Blocks”
Mixins (Herança múltipla)
Mixins
included é um callback da classe Module,
que é acionado sempre o módulo é incluído
em outro módulo ou classe.
Metaprogramação
Ruby permite adicionar
outros métodos e operações
aos objetos em tempo de
execução
“Código que gera código”
Rails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de caso
O que é o Ruby on Rails?
É um meta-framework open source para criação de
aplicações web no padrão MVC.
Criado por David Heinemeier Hansson “DHH”, ele foi
extraído do seu projeto Basecamp, um sistema para
gerenciar projetos, hoje com mais de 2,5 milhões de
contas.
Rails e produtividade
O Rails segue dois conceitos que visam aumentar a
produtividade do desenvolvedor: DRY e COC.
Don’t Repeat Yourself: Não se repita!
Convention Over Configuration: Deve-se assumir
valores padrão onde existe uma convenção.
Principais bibliotecas
ActiveRecord e ActiveModel (M)
ActionPack (VC e API)
ActionMailer
ActiveJob (Jobs in the background)
ActionCable (Websocket)
ActiveStorage
Algumas características
Migrations
Assets (CoffeeScript, Sass, Imagens, Fonts) Concatena, “minifica” ou comprimi JavasScript e CSS.
Validations, Associations, Query Interface...
Helpers
Internacionalização
Rotas
Ambiente (Produção, Desenvolvimento e teste)
Views em formatos diversos (HTML, HAML, JS, XML, Json e etc)
Jobs (Atraso de tarefas...)
Command line (rails new, rake db:create rails g migration ...)
ActionCable (websocket, incorporar funções para uso em tempo real)
Teste (Por padrão o Minitest)
Cache (Memcached, Memory, File System,...)
Debug (Controller, views,....) e Logs
E muito mais...
Aplicações feitas em Rails
Basecamp
GitHub
Shopify
Airbnb
Soundclound
Zendesk
Square
Highrise
E muito mais...
Algumas gems....
Devise - Autenticação, Cadastro, Resetar senha, confirmação de cadastro e bloqueio de
usuário.
SimpleForm
CanCanCan - Autorização de usuário
CarrierWave - Upload de arquivos
Capistrano - Automação de deploy
Cocoon - Nested Form
Rspec, Shoulda Matchers, FactoryGirl e FFaker. - Testes
PgSearch - Full Text Search com PostgreSQL
Pry - Permiti interagir com um ponto do código
Griddler - Receba e-mails na sua aplicação
Whenever - Cron
Backup
DelayedJob, Resque e sidekiq - Tarefas em background
RailsAdmin - Painel Administrativo
Estudo de caso
Obrigado!
John Carneiro
(65) 9 8455-8787
(65) 9 8468-2368 (WhatsApp)
john@sizy.com.br
www.sizy.com.br
https://www.facebook.com/JohnWMCarneiro
https://twitter.com/johnwmcarneiro
https://www.linkedin.com/in/johnwmcarneiro/
“O homem é do tamanho do seu sonho.”
Fernando Pessoa

Mais conteúdo relacionado

PPT
Desenvolvimento Ágil com Ruby on Rails
PDF
Palestra ror edted
PPT
Prazer,Ruby On Rails
PDF
Palestra Ruby on Rails SETA 2008/01
PDF
JavaScript
PDF
Desenvolvendo uma Aplicação Javascript Fulll
PDF
Desmistificando o JavaScript
PPT
Ruby on rails
Desenvolvimento Ágil com Ruby on Rails
Palestra ror edted
Prazer,Ruby On Rails
Palestra Ruby on Rails SETA 2008/01
JavaScript
Desenvolvendo uma Aplicação Javascript Fulll
Desmistificando o JavaScript
Ruby on rails

Semelhante a Rails e Rails, introdução e estudo de caso (20)

PPT
Mini-curso RoR - Aula 01
ODP
Ruby on Rails - Filosofia e Prática
PPT
Ruby on Rails e o Mercado
PDF
Conhecendo o Ruby on Rails
ODP
Ruby on Rails Colocando a web nos trilhos
PPT
ruby on rails e o mercado
PPTX
Ruby e Rails
PPT
Introdução ao Ruby on Rails (SOCIESC)
PPT
Rails asservice
ODP
PPT
XPT Framework
ODP
Introdução ao Ruby on Rails (InstallFest 2006)
PDF
Desenvolvimento web ágil e descomplicado usando ruby on rails
PPTX
Como Rails e DHH revolucionaram a engenharia de software
PDF
Ruby on rails porque usar rails?!
PPTX
Introdução ao php
ODP
Palestra Faculdade Lourenço Filho
PDF
Abordagem geral - Ruby on rails
PDF
Desenvolvimento ágil de software com Ruby on Rails
PPTX
NodeJS - Tutorial de forma simples e pratica.
Mini-curso RoR - Aula 01
Ruby on Rails - Filosofia e Prática
Ruby on Rails e o Mercado
Conhecendo o Ruby on Rails
Ruby on Rails Colocando a web nos trilhos
ruby on rails e o mercado
Ruby e Rails
Introdução ao Ruby on Rails (SOCIESC)
Rails asservice
XPT Framework
Introdução ao Ruby on Rails (InstallFest 2006)
Desenvolvimento web ágil e descomplicado usando ruby on rails
Como Rails e DHH revolucionaram a engenharia de software
Ruby on rails porque usar rails?!
Introdução ao php
Palestra Faculdade Lourenço Filho
Abordagem geral - Ruby on rails
Desenvolvimento ágil de software com Ruby on Rails
NodeJS - Tutorial de forma simples e pratica.
Anúncio

Último (19)

PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Apple Pippin Uma breve introdução. - David Glotz
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula04-Academia Heri- Tecnologia Geral 2025
Anúncio

Rails e Rails, introdução e estudo de caso

  • 1. Ruby e Rails Introdução e estudo de caso “Sistema de Inscrições Ultramacho” JOHN CARNEIRO john@sizy.com.br @johnwmcarneiro www.sizy.com.br
  • 2. Quem sou eu? Meu nome é John, sou... • Fundador da Sizy (www.sizy.com.br) • Empreendedor e administrador por formação • Programador por curiosidade • Sonhador • Botafoguense, vai fogo! • Já trabalhei com ASP Clássico ¬¬ • PHP até ZF1, depois cansei • Estudei um pouco de Java Web, hoje o livro serve ajudar na altura do monitor • Estudei Python, respeito, mas algumas coisas me incomodam • Encontrei o Ruby <3
  • 5. O que é o Ruby? Ruby é uma linguagem de programação dinâmica, open source com foco na simplicidade e na produtividade. Criada por Yukihiro “Matz” Matsumoto em 1995 para ser mais poderosa do que Perl e mais orientada a objetos que Python. Algumas características: Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente. Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre outros) são classes. Através do RubyGems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do Debian Linux. Code blocks (blocos de código) passados como parâmetros para métodos; permite a criação de clausuras. Mixins, uma forma de emular a herança múltipla. Métodos de geração de código em tempo real, como os "attribute accessors”. Hoje é uma das 10 linguagens mais usadas.
  • 8. Exemplo de “Code Blocks”
  • 9. Exemplo de “Code Blocks”
  • 11. Mixins included é um callback da classe Module, que é acionado sempre o módulo é incluído em outro módulo ou classe.
  • 12. Metaprogramação Ruby permite adicionar outros métodos e operações aos objetos em tempo de execução “Código que gera código”
  • 15. O que é o Ruby on Rails? É um meta-framework open source para criação de aplicações web no padrão MVC. Criado por David Heinemeier Hansson “DHH”, ele foi extraído do seu projeto Basecamp, um sistema para gerenciar projetos, hoje com mais de 2,5 milhões de contas.
  • 16. Rails e produtividade O Rails segue dois conceitos que visam aumentar a produtividade do desenvolvedor: DRY e COC. Don’t Repeat Yourself: Não se repita! Convention Over Configuration: Deve-se assumir valores padrão onde existe uma convenção.
  • 17. Principais bibliotecas ActiveRecord e ActiveModel (M) ActionPack (VC e API) ActionMailer ActiveJob (Jobs in the background) ActionCable (Websocket) ActiveStorage
  • 18. Algumas características Migrations Assets (CoffeeScript, Sass, Imagens, Fonts) Concatena, “minifica” ou comprimi JavasScript e CSS. Validations, Associations, Query Interface... Helpers Internacionalização Rotas Ambiente (Produção, Desenvolvimento e teste) Views em formatos diversos (HTML, HAML, JS, XML, Json e etc) Jobs (Atraso de tarefas...) Command line (rails new, rake db:create rails g migration ...) ActionCable (websocket, incorporar funções para uso em tempo real) Teste (Por padrão o Minitest) Cache (Memcached, Memory, File System,...) Debug (Controller, views,....) e Logs E muito mais...
  • 19. Aplicações feitas em Rails Basecamp GitHub Shopify Airbnb Soundclound Zendesk Square Highrise E muito mais...
  • 20. Algumas gems.... Devise - Autenticação, Cadastro, Resetar senha, confirmação de cadastro e bloqueio de usuário. SimpleForm CanCanCan - Autorização de usuário CarrierWave - Upload de arquivos Capistrano - Automação de deploy Cocoon - Nested Form Rspec, Shoulda Matchers, FactoryGirl e FFaker. - Testes PgSearch - Full Text Search com PostgreSQL Pry - Permiti interagir com um ponto do código Griddler - Receba e-mails na sua aplicação Whenever - Cron Backup DelayedJob, Resque e sidekiq - Tarefas em background RailsAdmin - Painel Administrativo
  • 22. Obrigado! John Carneiro (65) 9 8455-8787 (65) 9 8468-2368 (WhatsApp) john@sizy.com.br www.sizy.com.br https://www.facebook.com/JohnWMCarneiro https://twitter.com/johnwmcarneiro https://www.linkedin.com/in/johnwmcarneiro/ “O homem é do tamanho do seu sonho.” Fernando Pessoa