SlideShare uma empresa Scribd logo
1 de 117
Baixar para ler offline
Otimizando o Front-End
Thales Carvalho, Course Manager
Udacity Brasil
Antes de começar
Pré-requisitos:
Disposição pra me ouvir falar (falo muito)
HTML, CSS, JavaScript
Saber o que é DOM
HTTP requests (vai-e-volta, GET)
Entender um pouco de
estruturas de dados (árvores e afins)
Um pouquinho de compiladores
Antes de começar
Pré-requisitos:
Um pouquinho de algoritmos e análise de
complexidade
Quase nada de SO (falarei de threads)
Conteúdo
Workshop baseado nos seguintes cursos da Udacity:
Otimização de Performance de Website
Otimização de Renderização no Browser
Alguém já fez esses cursos da Udacity?
Conteúdo
O que é o CRP e como isso funciona
Otimizações simples para economizar requisições e
evitar bloqueio do CRP
Ciclo de vida de aplicativos (RAIL)
Garantindo o bom e velho 60FPS
Otimizações em Animações, Estilos, Layout
Web Workers
“Para desenvolver um ótimo site, é necessário
entender os usuários e o que eles querem alcançar,
mas também como o browser funciona para
criarmos uma experiência rápida e positiva.”
Ilya Grigorik - Google Developer Advocate & Web Performance Engineer
Primeiro, meça. Depois, se necessário, otimize.
Ilya Grigorik - Google Developer Advocate & Web Performance Engineer
DOM
Caminho de Renderização Crítica
CSSOM
Render Tree
Layout
Paint
JavaScript
Critical
Rendering
Path
<html>
<head>
<meta name="viewport" content="width=device-width">
<link href="style.css" rel="stylesheet">
</head>
<body>
<p>
Hello <span>web performance</span> students!
</p>
<div><img src="awesome-photo.jpg"></div>
</body>
</html>
http://udacity-crp.herokuapp.com/cssom.html
Conversão de HTML para DOM
Caracteres
Tokens
Nodes
DOM
<html><head><meta name=”viewport”
content=”width=device-width”><link href=”style.css” ...
Conversão de HTML para DOM
Caracteres
Tokens
Nodes
DOM
<html><head><meta name=”viewport”
content=”width=device-width”><link href=”style.css” ...
StartTag: html StartTag: head Tag: meta EndTag: head
Conversão de HTML para DOM
Caracteres
Tokens
Nodes
DOM
<html><head><meta name=”viewport”
content=”width=device-width”><link href=”style.css” ...
StartTag: html StartTag: head Tag: meta EndTag: head
Conversão de HTML para DOM
Caracteres
Tokens
Nodes
DOM
<html><head><meta name=”viewport”
content=”width=device-width”><link href=”style.css” ...
StartTag: html StartTag: head Tag: meta EndTag: head
DOM
Caminho de Renderização Crítica
CSSOM
Render Tree
Layout
Paint
JavaScript
Critical
Rendering
Path
Conversão de CSS para CSSOM
Caracteres
Tokens
Nodes
CSSOM
body {font-size: 16px} p {font-weight: bold} span
{color: red} p span {display: none} img {float: right}
Conversão de CSS para CSSOM
Caracteres
Tokens
Nodes
CSSOM
body {font-size: 16px} p {font-weight: bold} span
{color: red} p span {display: none} img {float: right}
Conversão de CSS para CSSOM
Caracteres
Tokens
Nodes
CSSOM
body {font-size: 16px} p {font-weight: bold} span
{color: red} p span {display: none} img {float: right}
Conversão de CSS para CSSOM
Caracteres
Tokens
Nodes
CSSOM
body {font-size: 16px} p {font-weight: bold} span
{color: red} p span {display: none} img {float: right}
HTML e CSS são bloqueadores de renderização
Ou seja, nenhum objeto será renderizado enquanto o DOM e CSSOM
não estiverem completamente construídos
DOM
CSSOM
Render Tree
Layout
Paint
JavaScript
Critical
Rendering
Path
Caminho de Renderização Crítica
A Árvore de Renderização
CSSOM
DOM
A Árvore de Renderização
RENDER TREECSSOM
DOM
CSSOM
Render Tree
Layout
Paint
JavaScript
Critical
Rendering
Path
Caminho de Renderização Crítica
Layout
Cálculo da posição e dimensões
dos elementos de uma página
Layout
Modificando elementos de uma
página, o estilo ou redimensionando
janelas geram novos eventos de
layout
DOM
A Árvore de Renderização
CSSOM
Render Tree
Layout
Paint
JavaScript
Critical
Rendering
Path
Quiz: Quais dos elementos é mais rápido para pintar?
Quiz: Quais dos elementos é mais rápido para pintar?
Até agora, quais otimizações posso realizar?
Minificar HTML & CSS & JavaScript
Automatizando, claro! Use task runners: gulp, grunt, etc
Tornar CSS crítico inline(link)
Compactar (link)
HTTP Caching (link)
Quanto antes o browser receber o HTML e construir o DOM?
Quanto antes o browser receber o CSS e construir o CSSOM?
Quiz: Quando o browser irá renderizar a página?
Quanto antes o browser receber o HTML e construir o DOM?
Quanto antes o browser receber o CSS e construir o CSSOM?
Quiz: Quando o browser irá renderizar a página?
Desbloqueio de CSS com Media Queries
Desbloqueio de CSS com Media Queries
<link rel=”stylesheet” href=”style.css”>
<link rel=”stylesheet” href=”style-print.css” media=”print”>
Quiz: Quais folhas de estilo serão bloqueadoras de renderização?
Utilizando um smartphone com orientação vertical
Quiz: Quais folhas de estilo serão bloqueadoras de renderização?
Utilizando um smartphone com orientação vertical
Desbloqueio de JS com Async
Desbloqueio de JS com Async
Desbloqueio de JS com Async
Desbloqueio de JS com Async
Desbloqueio de JS com Async
Desbloqueio de JS com Async
1. Não bloqueia a
construção do DOM
2. Não é bloqueado
pelo CSSOM
Desbloqueio de JS com Async
Quiz: script “bloqueador”, “inline” ou “async”?
Quiz: script “bloqueador”, “inline” ou “async”?
async inline bloqueador
Até agora, quais otimizações posso realizar?
Minificar, Compactar, Cache
HTML, CSS, JavaScript
Minimizar uso de recursos que bloqueiam a renderização
1. Uso de media queries em <link> para desbloquear renderização
2. Inline CSS
Minimizar uso de recursos que bloqueiam o parser
1. Postergar execução de JavaScript com defer
2. Usar atributo async no <script>
Diagramas de CRP com CSS Externo
Quiz: Calcular a métrica de CRP com CSS externo
Analise o caminho de renderização crítica
Número de recursos críticos
KB críticos totais
Comprimento de caminhos críticos mínimos (GET->response)
Analise o caminho de renderização crítica
2
9
2
Número de recursos críticos
KB críticos totais
Comprimento de caminhos críticos mínimos (GET->response)
Quiz: Calcular a métrica de CRP com CSS externo
Diagramas de CRP com CSS e JS Externo
Quiz: Calcular a métrica de CRP com CSS e JS externo
Analise o caminho de renderização crítica
Número de recursos críticos
KB críticos totais
Comprimento de caminhos críticos mínimos (GET->response)
Quiz: Calcular a métrica de CRP com CSS e JS externo
Analise o caminho de renderização crítica
Número de recursos críticos
KB críticos totais
Comprimento de caminhos críticos mínimos (GET->response)
3
11
2
Quiz: Quais estratégias de otimização você utilizaria?
O scanner de pré-carga
O scanner de pré-carga
O scanner de pré-carga
?
O scanner de pré-carga
Como garantir uma página livre de engasgos?
60fps
16.666 ms
por frame
O que contém um
quadro?
DOM
Requisição HTTP
CSSOM
Render Tree
Layout
Paint
JavaScript
1 frame
(pior caso) Caminho
comum de
páginas
estáticas
Para páginas dinâmicas, JS e CSS estão constantemente
trabalhando e com isso impactando o CRP.
Consequentemente, afetando o FPS.
ou
Animações de CSS
API de Animações
Web
Ex: width
1
2
Ex: background
3
csstriggers.com
Ciclo de vida de aplicativos
Response
Animate
Idle
Loading
Ciclo de vida de aplicativos
Response………….
Animate…………...
Idle…………………...
Loading…………….
100ms
16ms
50ms
1 segundo
Usuário clica
Animação
inicia
Animação
termina
Usuário percebe
que a animação
terminou
Usuário clica
Animação
inicia
Animação
termina
Usuário percebe
que a animação
terminou
Animation
Pré-carregamento
de animações
complexas para
garantir 60fps
Pós-carregamento
de animações complexas
Usuário clica
Animação
inicia
Animação
termina
Usuário percebe
que a animação
terminou
Response Idle
Loading (1s)
Animation
Usuário clica
Animação
inicia
Animação
termina
Usuário percebe
que a animação
terminou
Usuário clica
Animação
inicia
Animação
termina
Usuário percebe
que a animação
terminou
Quiz: Quais tipos de interações requer animação em
60FPS?
Quiz: Quais tipos de interações requer animação em
60FPS?
X
X
X
X
X
X
X
Quando então carregar o ? Animation?
Quiz
Quando então carregar o ? Animation?
Quiz
Quando então carregar o ? Response?
Quiz
Quando então carregar o ? Response?
Quiz
Quando então carregar o ? Loading da página?
Quiz
Quiz: Na fase Idle, quais tarefas podemos executar?
1. Carregar imagens do conteúdo principal
2. Pós-carregamento de animações
3. Iniciar requisições assíncronas de conteúdos não
mostrados na tela
4. Carregar imagens de conteúdos não mostrados logo que
carrega a página
Quiz: Na fase Idle, quais tarefas podemos executar?
1. Carregar imagens do conteúdo principal
2. Pós-carregamento de animações
3. Iniciar requisições assíncronas de conteúdos não
mostrados na tela
4. Carregar imagens de conteúdos não mostrados logo que
carrega a página
Fonte: https://speakerdeck.com/paullewis/making-a-silky-smooth-web
Relembrando…
Primeiro, meça. Depois, se necessário, otimize.
Ilya Grigorik - Google Developer Advocate & Web Performance Engineer
Análise de performance - DESAFIO 1
Dicas:
● Feche todos os apps
● Entre em Incognito
● Foque nas causas dos gargalos, não em
sintomas
● Meça primeiro, depois otimize
Análise de performance - DESAFIO 1
Qual função é a causadora de gargalos?
1. Inicie a gravação da timeline
2. Clique em “Switch Layout”
https://goo.gl/kq3iwA
Análise de performance - DESAFIO 1
Qual função é a causadora de gargalos?
1. Inicie a gravação da timeline
2. Clique em “Switch Layout”
Resp: onSwitchLayoutClick
Qual função é a causadora de gargalos?
1. Inicie a gravação da timeline
2. Clique em “Switch Layout”
https://goo.gl/cjmH9j
Análise de performance - DESAFIO 2
Análise de performance - DESAFIO 2
Qual função é a causadora de gargalos?
1. Inicie a gravação da timeline
2. Clique em “Switch Layout”
Resp: totesLayingOutYo
Otimizando o JavaScript
Primeira regra:
Micro-otimizações raramente fará alguma
diferença.
Otimizando o JavaScript
for (var i=0; i<len; i++)
ou
while (++i < len)
Otimizando o JavaScript
for (var i=0; i<len; i++)
ou
while (++i < len)
Otimizando o JavaScript
Seu código JavaScript é compilado com
múltiplas otimizações por meio do compilador
JIT (Just In Time)
Otimizando o JavaScript para Animações
Você tem 10ms para gerar cada frame. Como
você se certifica que o JS está atrapalhando o
menos possível?
1. Otimiza o JS em nanossegundos
2. Executa o JS a cada 16ms agendado
3. Adia a execução do JS sempre para o finalmente do frame
4. Executa o JS o mais cedo possível em cada frame
Otimizando o JavaScript para Animações
Você tem 10ms para gerar cada frame. Como
você se certifica que o JS está atrapalhando o
menos possível?
1. Otimiza o JS em nanossegundos
2. Executa o JS a cada 16ms agendado
3. Adia a execução do JS sempre para o finalmente do frame
4. Executa o JS o mais cedo possível em cada frame
Otimizando o JavaScript para Animações
Função
requestAnimationFrame
Otimizando o JavaScript para Animações
Qual função leva mais tempo para carregar?
1. onSortOne
2. onSortTwo
https://goo.gl/5vzBLp
Análise de performance - DESAFIO 3
Qual função leva mais tempo para carregar?
1. onSortOne
2. onSortTwo
Resp: onSortOne
Análise de performance - DESAFIO 3
Otimizando o JavaScript
E se fosse possível “paralelizar” a
execução de JavaScript?
Otimizando o JavaScript
Web Workers
Otimizando o JavaScript
Otimizando o Layout e Estilos
Obs: com JavaScript
Problema mais comum de
desempenho do Layout:
Layout Forçado Síncrono (FSL)
Otimizando o Layout e Estilos
Obs: com JavaScript
Onde está a jaguncisse?
Otimizando o Layout e Estilos
Obs: com JavaScript
Onde está a jaguncisse?
Quiz: Quais dos três não causa o layout chato síncrono
Quiz: Quais dos três não causa o layout chato síncrono
Otimizando o Layout e Estilos
Obs: com JavaScript
Problema mais comum de
desempenho do Layout:
Layout Forçado Síncrono (FSL)
Tony Gentilcore: Como (não) disparar um layout no Webkit
Programas Nanodegree de Web
Lançamento!
Em parceria com especialistas
do React Training
Dominam o mercado de treinamento
do ecossistema React.
Inscrições até 27 de junho!
Por enquanto apenas em inglês
Oportunidade pra vocês
Revisor de Projetos
Udacity
Precisamos de revisores de
projetos para o Nanodegree
de React!
Revisor de Projetos
Udacity
Trabalho remoto e flexível
Recebe em dólar. Dindin do bom.
Oportunidade de aprendizado
Aguenta? thales.carvalho@udacity.com
Revisor de Projetos
Udacity
Trabalho remoto e flexível
Recebe em dólar. Dindin do bom.
Oportunidade de aprendizado
Conhece alguém? thales.carvalho@udacity.com
Obrigado!

Mais conteúdo relacionado

Semelhante a Otimizando o Front-End para Experiências Rápidas

Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosiMasters
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...iMasters
 
Speed up! Critical css to the rescue
Speed up! Critical css to the rescueSpeed up! Critical css to the rescue
Speed up! Critical css to the rescuemelidevelopers
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render PathDOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render PathDiego Eis
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do frameworkAlexandre Cardoso
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPFlávio Lisboa
 
SMX São Paulo 2008 - CSS, Ajax e Web 2.0
SMX São Paulo 2008 - CSS, Ajax e Web 2.0SMX São Paulo 2008 - CSS, Ajax e Web 2.0
SMX São Paulo 2008 - CSS, Ajax e Web 2.0Willie Taminato
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Guga Alves
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...Cleber Dantas
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Julian Cesar
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoJosé Correia
 
API's do HTML5 - Davidson Alencar - WebBR2013
API's do HTML5 - Davidson Alencar - WebBR2013API's do HTML5 - Davidson Alencar - WebBR2013
API's do HTML5 - Davidson Alencar - WebBR2013Davidson Alencar
 

Semelhante a Otimizando o Front-End para Experiências Rápidas (20)

Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza Bastos
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
 
Speed up! Critical css to the rescue
Speed up! Critical css to the rescueSpeed up! Critical css to the rescue
Speed up! Critical css to the rescue
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
Desempenho web
Desempenho webDesempenho web
Desempenho web
 
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render PathDOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do framework
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHP
 
SMX São Paulo 2008 - CSS, Ajax e Web 2.0
SMX São Paulo 2008 - CSS, Ajax e Web 2.0SMX São Paulo 2008 - CSS, Ajax e Web 2.0
SMX São Paulo 2008 - CSS, Ajax e Web 2.0
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Browsers como vivem o que fazem
Browsers como vivem o que fazemBrowsers como vivem o que fazem
Browsers como vivem o que fazem
 
QArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio AraújoQArentena 21: BDD - com Fábio Araújo
QArentena 21: BDD - com Fábio Araújo
 
API's do HTML5 - Davidson Alencar - WebBR2013
API's do HTML5 - Davidson Alencar - WebBR2013API's do HTML5 - Davidson Alencar - WebBR2013
API's do HTML5 - Davidson Alencar - WebBR2013
 

Mais de iMasters

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesiMasters
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisiMasters
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoiMasters
 

Mais de iMasters (20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen Moraes
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
 

Otimizando o Front-End para Experiências Rápidas