SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Web Debugging
Proxies
O elo perdido entre o front e o back-end
mas antes...
Quem sou eu
Leonardo Quixadá
Sobre front-end
•	

 Respiro há 15 anos
•	

 Trabalho há 11 anos
•	

 Trabalhei 4 na Globo.com
•	

 E agora há 5 dias na Sieve
@lquixada
Quem sou eu
Leonardo Quixadá
• Apaixonado por
tecnologia em todas as
suas vertentes
• Assiste Game of Thrones
e The Big Bang Theory
• Gosta de dançar forró nas
horas vagas
@lquixada
de volta a nossa
programação normal...
Web Debugging
Proxies
Web Debuggers
Problema!
Deu erro no javascript
em produção
no Internet Explorer!
Paranóia
• É cache?
• Alguém subiu arquivo antigo?
• Faltou arquivo no minified ou erro de
compressão?
• Não testamos direito?
Como resolver?
Como resolver?
1. Tenta reproduzir o erro na sua máquina
• Levanta o servidor
• Insere dados parecidos com prod
• Faz testes manuais
• Codifica
Como resolver?
2. Faz deploy para alguns ambientes (dev,
staging, homog, whatever...)
• Testa nos ambientes
3. Faz deploy pra prod
• Testa em prod
Problemas de prod
• Dados não são Lorem Ipsum (CSS errado)
• Domínio (flash, postmessage...)
• Casos não testados (principalmente no IE)
• Javascript de terceiros lento ou com erro
• Dado inserido erradamente no Admin
• Deploy de arquivos antigos
E se você pudesse testar
direto em prod?
(sem deploy)
alguns anos atrás...
http://www.yuiblog.com/blog/2008/06/27/fiddler/
Como funciona?
Sem Web Debugger
Requisição HTTP
Resposta HTTP
Com Web Debugger
Web
Debugger
Requisição HTTP
Resposta HTTP Resposta HTTP
Requisição HTTP
Web Debuggers
São aplicações que:
• Monitoram as conexões HTTP e HTTPS que
trafegam entre a sua máquina e a rede.
• Atuam como proxies reversos respondendo
pelo servidor
• Debugam conexões alterando dados e/ou
setando breakpoints
Web Debuggers
Port Forwarding
MétricasBlack List
Exportação de HAR
Throttling
Map Local
Map RemoteRequest Creation
Profiling
Importação de HAR
No Cookies
No Caching
Web Debuggers
Map Local
CharlesWeb Debugging Proxy
FiddlerWeb Debugging Proxy
Web Debuggers
Charles Fiddler
Sistema Operacional Win, Mac, Linux Win
Interface Ótima Péssima
Independente de Browser Sim Sim
Plugins Não Sim
Preço U$50,00 Gratuito
Web Debuggers
CharlesWeb Debugging Proxy
FiddlerWeb Debugging Proxy
Web Debuggers
Map Local
Hora do Demo!
Web Debuggers
Port Forwarding
MétricasBlack List
Exportação de HAR
Throttling
Map Local
Map RemoteRequest Creation
Profiling
Importação de HAR
No Cookies
No Caching
Não só javascript
• Vale para qualquer tipo de request,
dinâmicos ou estáticos:
• Stylesheets
• Imagens
• XML via Flash
• JSON via AJAX
• Tudo puder ser linkado em uma página
Não só browsers
• API no server (consulta ao facebook)
• Extensões de navegadores
• Linha de comando
• Qualquer aplicação que faça conexões
HTTP
Alternativas?
• Wireshark
• Chrome Dev Tools
• alguma outra?
Perguntas?
Obrigado! ;)
@lquixada

Contenu connexe

Tendances

DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...Gleicon Moraes
 
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"Pricila Reis Franz
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
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
 
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
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenterPaulino Michelazzo
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensagarux
 
Otimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de DesempenhoOtimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de DesempenhoDouglas Soares de Andrade
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Felipe Klerk Signorini
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorFellyph Cintra
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktopelliando dias
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPEr Galvão Abbott
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comAlexandre Saboia Fuziyama
 

Tendances (20)

DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"
“E agora, qual a extensão do meu problema? O tradutor e as ferramentas"
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Minicurso Web. Front-end e HTML5 (parte 1)
Minicurso Web. Front-end e HTML5 (parte 1)Minicurso Web. Front-end e HTML5 (parte 1)
Minicurso Web. Front-end e HTML5 (parte 1)
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
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...
 
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
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
 
Otimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de DesempenhoOtimizando Portais Plone: Dicas de Desempenho
Otimizando Portais Plone: Dicas de Desempenho
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktop
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHP
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.com
 

Similaire à Web debugging proxies

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTiago Matos
 
Ideais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverStefan Teixeira
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosScrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Mozart Diniz
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3Loiane Groner
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosQConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosStefan Teixeira
 
Adoção do Plone no TRT da Paraíba
Adoção do Plone no TRT da ParaíbaAdoção do Plone no TRT da Paraíba
Adoção do Plone no TRT da ParaíbaThiago Curvelo
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 

Similaire à Web debugging proxies (20)

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Turbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHPTurbinando seu workflow com cakePHP
Turbinando seu workflow com cakePHP
 
Ideais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriver
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosScrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes AutomatizadosQConRio 2014 - Uso de Headless Browsers em Testes Automatizados
QConRio 2014 - Uso de Headless Browsers em Testes Automatizados
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Produtividade
ProdutividadeProdutividade
Produtividade
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Adoção do Plone no TRT da Paraíba
Adoção do Plone no TRT da ParaíbaAdoção do Plone no TRT da Paraíba
Adoção do Plone no TRT da Paraíba
 
Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 

Web debugging proxies