SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Ruby on Rails como
deve ser utilizada e
onde!
Julio Cartier Maia Gomes
e-mail: juliocartier@gmail.com
Apresentação
Nome: Julio Cartier Maia Gomes
Bacharelado: Sistemas de Informação
Universidade: Universidade Federal Rural do Semi-Arido
Campus Angicos
Idade: 23 anos
2
Apresentação
Experiência: Iniciação Científica pelo CNPq e PIVIC pela
UFERSA.
Monitor de Programação Web na UFERSA
Secretário do programa PIBID
Freelancer: Desenvolvedor Mobile com aplicações Android
e Web.
3
Passos para à apresentação
1. O que é o Orientação à Objeto?
2. O que é Ruby e Rails?
3. O que é arquitetura MVC?
4. Ruby é uma linguagem incrível, porém nem tudo é
perfeito.
5. Como deve ser utilizada e onde.
4
O que é Orientação à Objeto
Sem O.O., a
situação ao lado é
complicada de
implementar em
software.
5
6
7
O que é ruby e o que é rails?
8
O que é ruby e o que é rails?
- No Ruby, Yukihiro “Matz” Matsumoto uniu partes das suas linguagens
favoritas Python, Perl, Smalltalk, Eiffel, Ada, Lisp.
“O Ruby é simples na
aparência, mas muito
complexo no interior,
tal como o corpo
humano.”
9
O que é ruby e o que é rails?
- Linguagem de programação orientada a objetos
- Criada em 1995
- Ganhou fama em 2006 (twitter?)
- Sintaxe menos verborrágica que Java ou C:
10
Arquitetura MVC
● Separar dados ou lógica de negócios (Model) da interface
do usuário (View) e do fluxo da aplicação (Control)
● A idéia é permitir que uma mesma lógica de negócios
possa ser acessada e visualizada através de várias
interfaces.
● Na arquitetura MVC, à lógica de negócios (chamaremos
de Modelo) não sabe de quantas nem quais interfaces
com o usuário estão exibindo seu estado.
● Com as diversas possibilidades de interfaces que
conhecemos hoje à MVC é uma ferramenta indispensável
para desenvolvermos sistemas.
11
Arquitetura MVC
12
Arquitetura MVC
À aplicação é dividida em três partes:
● Modelo (Model): Camada Lógica de Negócios;
● Visão (VIEW): Camada de interface com o usuário. Nesta camada o
usuário vê o estado do modelo e pode manipular à interface, para
ativar à lógica do negócio;
● Controlador (CONTROLLER): Transforma eventos gerados pela
interface em ações de negócios, alterando o modelo.
13
Arquitetura MVC
À aplicação é dividida em três partes:
● Modelo (Model): Camada Lógica de Negócios;
● Visão (VIEW): Camada de interface com o usuário. Nesta camada o
usuário vê o estado do modelo e pode manipular à interface, para
ativar à lógica do negócio;
● Controlador (CONTROLLER): Transforma eventos gerados pela
interface em ações de negócios, alterando o modelo.
14
Arquitetura MVC
Alguns problemas que o MVC pode causar:
● Se tivermos muitas visões e o modelo for atualizado com muita
frequência, à performance do sistema pode ser abalada.
● Se o padrão não for implementado com cuidado, podemos ter casos
como o envio de atualizações para visões que estão minimizadas ou
fora do campo de visão do usuário;
● Ineficiência: uma visão pode ter que fazer inúmeras chamadas ao
modelo, dependendo de sua interface.
15
Arquitetura MVC em Rails
16
Ruby on Rails é incrível, porém
tem os seus defeitos.
17
Como deve ser utilizada e onde.
● Agilidade: Quase todo o tempo investido no seu projeto
em Rails terá como foco o sistema em si, como layout,
modelagem e testes, usabilidade, Uma vez que o
framework segue muito bem o conceito de
desenvolvimento Agile.
● Comunidade ativa: Ruby On Rails é open-source, isso
quer dizer que sempre alguém já passou pelo problema
que você está passando neste momento e poderá lhe
ajudar. Existem muitas comunidades no Brasil e outras
estão surgindo constantemente, o que facilita muito na
hora de procurar dicas e informações.
18
Como deve ser utilizada e onde.
● Ruby On Rails em tudo: Segue algumas das aplicações
mais famosas do mundo que usam este framework:
Twitter, Shopify, GitHub, Groupon, Airbnb, SoundCloud,
Zendesk e muitas outras.
● Simplicidade: Diferente de Java, C++ ou PHP, Ruby
possui uma sintaxe simples e muitos métodos que
facilitam muito a vida do desenvolvedor. Com isso,
muitas startups estão adotando em alguns dos seus
projetos.
19
Como deve ser utilizada e onde.
20
Como deve ser utilizada e onde.
rails generate scaffold telefone nome numero
comando o quê recurso atributos
21
Como deve ser utilizada e onde.
22
23
24
25
26
27
28
29
30
31
E-mail: juliocartier@gmail.com
Facebook: Julio Cartier
Githug || Gitlab: Julio Cartier || juliocartier
32
Dúvidas?
33

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
 
Javafx
JavafxJavafx
Javafx
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01
 
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013Iniciando com .NET no Visual studio 2013
Iniciando com .NET no Visual studio 2013
 
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD....NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-endO que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Minicurso sobre testes de interfaces com Selenium
Minicurso sobre testes de interfaces com SeleniumMinicurso sobre testes de interfaces com Selenium
Minicurso sobre testes de interfaces com Selenium
 

Similar a Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes

Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
Leandro Silva
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
Rodrigo Kono
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
elliando dias
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
elliando dias
 

Similar a Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes (20)

Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - Introdução
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on rails
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
I BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRailsI BootCamp SMO - RubyOnRails
I BootCamp SMO - RubyOnRails
 

Más de PotiLivre Sobrenome

Más de PotiLivre Sobrenome (20)

Gestão de ativos com o GPLI
Gestão de ativos com o GPLIGestão de ativos com o GPLI
Gestão de ativos com o GPLI
 
O poder do software livre
O poder do software livreO poder do software livre
O poder do software livre
 
Criando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software LivreCriando seus próprios LIVROS DIGITAIS usando Software Livre
Criando seus próprios LIVROS DIGITAIS usando Software Livre
 
Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!Crackear o pacote Adobe é crime e você sabe disso!
Crackear o pacote Adobe é crime e você sabe disso!
 
Você é espionado todos os dias: Saiba como se defender | TOR project
 Você é espionado todos os dias: Saiba como se defender | TOR project Você é espionado todos os dias: Saiba como se defender | TOR project
Você é espionado todos os dias: Saiba como se defender | TOR project
 
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Moraislternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
lternativas livres para mapas e rotas com OSM e OSRM - Sedir Morais
 
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
Facilitando o uso de RegEx em Python através de um pacote de código aberto - ...
 
Thayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web ServicesThayron Arrais - AWS Amazon Web Services
Thayron Arrais - AWS Amazon Web Services
 
João Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big DataJoão Marcos Araújo do Valle - Big Data
João Marcos Araújo do Valle - Big Data
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Security updates por que voce deveria aceitar os updates da sua distro leo...
Security updates  por que voce deveria aceitar os updates da sua distro   leo...Security updates  por que voce deveria aceitar os updates da sua distro   leo...
Security updates por que voce deveria aceitar os updates da sua distro leo...
 
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
Como ganhar dinheiro com Software Livre Matheus Oliveira Flisol Natal 2018
 
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
Mudando para o Software Livre sem complicacao - Diogenes Dantas - FLISOL Nata...
 
LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018LibreFlix-org - FLISOL Natal 2018
LibreFlix-org - FLISOL Natal 2018
 
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
O que e Software Livre, Comunidade PotiLivre e FLISOL - FLISOL Natal 2018
 
O desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do NorteO desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
O desafio de levar a filosofia do Software Livre para o Rio Grande do Norte
 
Softwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para MatematicaSoftwares Educativos Livres e Recursos Educacionais abertos para Matematica
Softwares Educativos Livres e Recursos Educacionais abertos para Matematica
 
Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016Softwares Educativos Livres - PotiCon 2016
Softwares Educativos Livres - PotiCon 2016
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
 
O que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivreO que e joomla - Jose Roberto - Encontro PotiLivre
O que e joomla - Jose Roberto - Encontro PotiLivre
 

Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes

  • 1. Ruby on Rails como deve ser utilizada e onde! Julio Cartier Maia Gomes e-mail: juliocartier@gmail.com
  • 2. Apresentação Nome: Julio Cartier Maia Gomes Bacharelado: Sistemas de Informação Universidade: Universidade Federal Rural do Semi-Arido Campus Angicos Idade: 23 anos 2
  • 3. Apresentação Experiência: Iniciação Científica pelo CNPq e PIVIC pela UFERSA. Monitor de Programação Web na UFERSA Secretário do programa PIBID Freelancer: Desenvolvedor Mobile com aplicações Android e Web. 3
  • 4. Passos para à apresentação 1. O que é o Orientação à Objeto? 2. O que é Ruby e Rails? 3. O que é arquitetura MVC? 4. Ruby é uma linguagem incrível, porém nem tudo é perfeito. 5. Como deve ser utilizada e onde. 4
  • 5. O que é Orientação à Objeto Sem O.O., a situação ao lado é complicada de implementar em software. 5
  • 6. 6
  • 7. 7
  • 8. O que é ruby e o que é rails? 8
  • 9. O que é ruby e o que é rails? - No Ruby, Yukihiro “Matz” Matsumoto uniu partes das suas linguagens favoritas Python, Perl, Smalltalk, Eiffel, Ada, Lisp. “O Ruby é simples na aparência, mas muito complexo no interior, tal como o corpo humano.” 9
  • 10. O que é ruby e o que é rails? - Linguagem de programação orientada a objetos - Criada em 1995 - Ganhou fama em 2006 (twitter?) - Sintaxe menos verborrágica que Java ou C: 10
  • 11. Arquitetura MVC ● Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) ● A idéia é permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces. ● Na arquitetura MVC, à lógica de negócios (chamaremos de Modelo) não sabe de quantas nem quais interfaces com o usuário estão exibindo seu estado. ● Com as diversas possibilidades de interfaces que conhecemos hoje à MVC é uma ferramenta indispensável para desenvolvermos sistemas. 11
  • 13. Arquitetura MVC À aplicação é dividida em três partes: ● Modelo (Model): Camada Lógica de Negócios; ● Visão (VIEW): Camada de interface com o usuário. Nesta camada o usuário vê o estado do modelo e pode manipular à interface, para ativar à lógica do negócio; ● Controlador (CONTROLLER): Transforma eventos gerados pela interface em ações de negócios, alterando o modelo. 13
  • 14. Arquitetura MVC À aplicação é dividida em três partes: ● Modelo (Model): Camada Lógica de Negócios; ● Visão (VIEW): Camada de interface com o usuário. Nesta camada o usuário vê o estado do modelo e pode manipular à interface, para ativar à lógica do negócio; ● Controlador (CONTROLLER): Transforma eventos gerados pela interface em ações de negócios, alterando o modelo. 14
  • 15. Arquitetura MVC Alguns problemas que o MVC pode causar: ● Se tivermos muitas visões e o modelo for atualizado com muita frequência, à performance do sistema pode ser abalada. ● Se o padrão não for implementado com cuidado, podemos ter casos como o envio de atualizações para visões que estão minimizadas ou fora do campo de visão do usuário; ● Ineficiência: uma visão pode ter que fazer inúmeras chamadas ao modelo, dependendo de sua interface. 15
  • 16. Arquitetura MVC em Rails 16
  • 17. Ruby on Rails é incrível, porém tem os seus defeitos. 17
  • 18. Como deve ser utilizada e onde. ● Agilidade: Quase todo o tempo investido no seu projeto em Rails terá como foco o sistema em si, como layout, modelagem e testes, usabilidade, Uma vez que o framework segue muito bem o conceito de desenvolvimento Agile. ● Comunidade ativa: Ruby On Rails é open-source, isso quer dizer que sempre alguém já passou pelo problema que você está passando neste momento e poderá lhe ajudar. Existem muitas comunidades no Brasil e outras estão surgindo constantemente, o que facilita muito na hora de procurar dicas e informações. 18
  • 19. Como deve ser utilizada e onde. ● Ruby On Rails em tudo: Segue algumas das aplicações mais famosas do mundo que usam este framework: Twitter, Shopify, GitHub, Groupon, Airbnb, SoundCloud, Zendesk e muitas outras. ● Simplicidade: Diferente de Java, C++ ou PHP, Ruby possui uma sintaxe simples e muitos métodos que facilitam muito a vida do desenvolvedor. Com isso, muitas startups estão adotando em alguns dos seus projetos. 19
  • 20. Como deve ser utilizada e onde. 20
  • 21. Como deve ser utilizada e onde. rails generate scaffold telefone nome numero comando o quê recurso atributos 21
  • 22. Como deve ser utilizada e onde. 22
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. 27
  • 28. 28
  • 29. 29
  • 30. 30
  • 31. 31
  • 32. E-mail: juliocartier@gmail.com Facebook: Julio Cartier Githug || Gitlab: Julio Cartier || juliocartier 32