Aprenda como mensurar e executar testes de performance no Javascript.
Quais são as boas práticas para performance no javascript e como escrever código para ter aplicações mais velozes no client-side?
Algumas dicas para mensurar, exemplos sobre reflow e repaint e testes de performance de operações básicas, iterações, arrays, regex, seletores e também da biblioteca jQuery.
The document discusses the vision and values of TCL, a global software testing company. TCL was founded in 2000 to provide innovative and strategic approaches to software testing. Their goal is to become a world-class center of testing excellence globally by 2020. Their values focus on being truthful, independent, good-willed, energetic, and realistic. Their purpose is to develop and deliver world-class, innovative, structured, and professional software testing solutions.
ASIJ Elementary School Counseling and Guidance Back to School 2014Naho Kikuchi
This document provides information about school counselors and guidance lessons for the upcoming school year. It introduces the two counselors, Naho Kikuchi and Ellen Thomas, and provides their contact information and office locations. It also lists the counselor's roles and responsibilities, and highlights upcoming guidance lessons that will be provided to students, including digital citizenship, skills for learning, empathy, emotion management, problem solving, personal safety, lunch procedures, partnering with parents, and community resources. Students can direct additional questions to the counselor Twitter account, @asijescounselor.
Tonle Sap Lake in Cambodia has 6 provinces around it known for their attractive sites, rich cultures, and satisfying experiences. The area is home to many ethnic communities living in floating villages and is an ecological hot spot. Some of the major attractions near the lake include the temples of Siem Reap like Angkor Wat, Bakong, Banteay Samre, and Banteay Srei, which provide glimpses into Cambodia's ancient Khmer Empire. Visitors can enjoy the scenery and cultures while helping support the local livelihoods.
This document discusses using technology tools to develop literacy skills. It provides examples of blogs, wikis, and podcasts that teachers have used in the classroom. The presentation explores setting up blogs and wikis, and provides sample student work. It also discusses many digital tools for developing literacy, such as Glogster, Khan Academy, StoryBird and more. Hands-on learning and tips for getting started with these tools to support writing instruction are shared.
The document provides an analysis of Libya's cyber capabilities and vulnerabilities based on open source intelligence. It finds that while Libya lags in offensive cyber abilities, its critical infrastructure faces significant risks. Internet connectivity in Libya was shut off during periods of unrest, likely to conceal events from civilians and the world. Libya relies heavily on international partners for its limited cyber defenses. The country presents opportunities for malicious actors and foreign meddling if these gaps are not addressed properly in Libya's development.
This document provides resources and advice for conducting academic research and literature reviews for projects and dissertations. It discusses searching databases and other information sources, developing effective search strategies, organizing search results, keeping current by setting up alerts and RSS feeds, and seeking assistance from library staff. The goal is to help students navigate the large amount of available information and conduct thorough yet selective literature reviews.
The document discusses the vision and values of TCL, a global software testing company. TCL was founded in 2000 to provide innovative and strategic approaches to software testing. Their goal is to become a world-class center of testing excellence globally by 2020. Their values focus on being truthful, independent, good-willed, energetic, and realistic. Their purpose is to develop and deliver world-class, innovative, structured, and professional software testing solutions.
ASIJ Elementary School Counseling and Guidance Back to School 2014Naho Kikuchi
This document provides information about school counselors and guidance lessons for the upcoming school year. It introduces the two counselors, Naho Kikuchi and Ellen Thomas, and provides their contact information and office locations. It also lists the counselor's roles and responsibilities, and highlights upcoming guidance lessons that will be provided to students, including digital citizenship, skills for learning, empathy, emotion management, problem solving, personal safety, lunch procedures, partnering with parents, and community resources. Students can direct additional questions to the counselor Twitter account, @asijescounselor.
Tonle Sap Lake in Cambodia has 6 provinces around it known for their attractive sites, rich cultures, and satisfying experiences. The area is home to many ethnic communities living in floating villages and is an ecological hot spot. Some of the major attractions near the lake include the temples of Siem Reap like Angkor Wat, Bakong, Banteay Samre, and Banteay Srei, which provide glimpses into Cambodia's ancient Khmer Empire. Visitors can enjoy the scenery and cultures while helping support the local livelihoods.
This document discusses using technology tools to develop literacy skills. It provides examples of blogs, wikis, and podcasts that teachers have used in the classroom. The presentation explores setting up blogs and wikis, and provides sample student work. It also discusses many digital tools for developing literacy, such as Glogster, Khan Academy, StoryBird and more. Hands-on learning and tips for getting started with these tools to support writing instruction are shared.
The document provides an analysis of Libya's cyber capabilities and vulnerabilities based on open source intelligence. It finds that while Libya lags in offensive cyber abilities, its critical infrastructure faces significant risks. Internet connectivity in Libya was shut off during periods of unrest, likely to conceal events from civilians and the world. Libya relies heavily on international partners for its limited cyber defenses. The country presents opportunities for malicious actors and foreign meddling if these gaps are not addressed properly in Libya's development.
This document provides resources and advice for conducting academic research and literature reviews for projects and dissertations. It discusses searching databases and other information sources, developing effective search strategies, organizing search results, keeping current by setting up alerts and RSS feeds, and seeking assistance from library staff. The goal is to help students navigate the large amount of available information and conduct thorough yet selective literature reviews.
The document discusses using Python for application development on Linux systems like the EeePC. It provides an overview of Python programming basics like data types, functions, modules and libraries. It also introduces the Gtkmozembed library for embedding Mozilla-based content like Firefox in PyGTK applications and using Flash with Gtkmozembed. Examples are given for common tasks like file handling, networking and using various Python libraries and modules.
PITZ Bakeware is an online store selling baking tools and accessories. It is currently in the startup stage of its lifecycle. The report discusses the business description, goals, products, customers and competition. A SWOT analysis and Porter's Five Forces analysis are included. The website was developed using WordPress and WooCommerce with plugins like Dynamic Gallery and Product Slider. Future plans include expanding the product selection and improving SEO through optimizing meta titles and descriptions. Challenges in the startup stage like managing cash flow and establishing a customer base are also addressed.
O documento discute o comportamento de consumo infanto-juvenil na internet e estratégias para lojas virtuais de moda infantil. Crianças de 2 a 11 anos já representam 14% dos usuários da internet no Brasil e visitam sites de comércio eletrônico. Para ter sucesso, lojas devem se especializar em nichos, oferecer diversas formas de pagamento e cumprir regras como entrega rápida e política de trocas claras.
Responsive design is a hot topic in the world of web. Yet, will it ever realise to bring business benefits?
My insight at the AtBusiness.com Breakfast Seminar, June 14, 2012.
For a responsive site example, have a look at www.frantic.com and scale it down, please! :)
Taylor Gaskins gave a senior speech about his experience building a tool chest for his truck as his senior project. He chose William Gleason as his project facilitator due to his experience in construction and civil engineering. Some challenges he faced included fitting the tool chest around the gas tank and attaching the chain to secure the lid. Through problem solving these issues, he realized he prefers mechanical engineering over civil engineering and plans to study that field at Southern Polytechnic State University and Georgia Tech, then join the Air Force as an aircraft crew chief.
The document provides details of a planned 8-day trip to Cambodia, including weather, maps, flight and hotel bookings, places to visit, transportation and food options, itinerary, and total estimated expenses. The itinerary includes visiting museums, markets, pagodas, temples, and lakes in and around Phnom Penh, with a full day trip to see Angkor Wat temple. Total expenses for the trip are estimated to be Rs. 47,475.61.
The document contains links to various radio stations from around the world organized by genre. There are sections dedicated to stations playing popular Romanian music, jazz music, relaxing music, and video streams of music channels. A variety of stations from Romania are listed, including national stations and regional stations from different cities. Links are provided to access the streams via HTTP, RTMP, and MMS protocols. Images are also included related to some of the radio stations.
This document outlines a training program plan for new finance advisors in the military division of the University of Phoenix. The training program aims to provide advisors with knowledge about military students, branches, documentation, tuition rates, finance options, VA benefits, and federal regulations. A gap analysis will be conducted to identify strengths and weaknesses compared to new required practices. The training will use questionnaires, observation, and group sessions and include both e-learning and in-person instruction. A budget is proposed that allocates funding for training from savings due to enrollment and employee cuts, leverages existing tuition benefits and technology, and estimates costs for personnel, materials, travel and more.
The document discusses American English vowel sounds and pronunciation rules. It provides:
1) A chart listing American vowel sounds represented by different letter combinations and examples words.
2) Explanations of concepts like open and closed syllables, diphthongs, and the neutral schwa sound.
3) Breakdowns of specific vowel sounds like the "long i" sound, different sounds of a, and diphthongs like "oy" and "ou".
4) Links to additional online resources about vowels, blends, consonants and common words.
The document discusses how people spend a significant amount of time managing emails over their career, and includes examples of common types of emails received such as jokes, chain messages, updates on work, and messages with inappropriate or meaningless subjects. It suggests that email wastes people's time.
Matérias sobre turismo da revista Dia (supermercados). A revista é gratuita e a cada edição traz um destino turístico brasileiro. Neste arquivo encontram-se: Serra Fluminense, Florianópolis, Vale dos Vinhedos, Parques Nacionais, Minas em 3 atos.
Jens Brinck, adm. direktør i Gorm Larsen Nordic - Tættere på salgets hellige gral.
Optagelsen er fra IBM Smarter Business 2011.
Se mere på: http://www.smarterbusiness.dk
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
This document summarizes a presentation on the future of the web. It discusses the evolution from Web 1.0 to Web 2.0 to the emerging Web 3.0. Web 3.0 is described as the Semantic Web that will allow computers to understand user requests. The presentation also covers topics like social media usage statistics, user generated content, collaborative innovation platforms, Google products, search engine optimization, and new forms of advertising. Emerging technologies like 3D printing are also mentioned.
This document discusses how to quickly build web applications using the Django framework. It covers installing Django, creating models and templates, and building a basic job listing application. The goal is to demonstrate how Django allows for rapid development through features like automatic administration interfaces, URL routing, and object relational mapping.
Modelando aplicação em documento - MongoDBThiago Avelino
O documento resume as principais características e funcionalidades do banco de dados MongoDB. Ele descreve como o MongoDB é um banco de dados não relacional orientado a documentos, de alto desempenho, escalável e com esquema aberto. Também lista alguns usuários notáveis e casos de uso comuns.
The document discusses using Python for application development on Linux systems like the EeePC. It provides an overview of Python programming basics like data types, functions, modules and libraries. It also introduces the Gtkmozembed library for embedding Mozilla-based content like Firefox in PyGTK applications and using Flash with Gtkmozembed. Examples are given for common tasks like file handling, networking and using various Python libraries and modules.
PITZ Bakeware is an online store selling baking tools and accessories. It is currently in the startup stage of its lifecycle. The report discusses the business description, goals, products, customers and competition. A SWOT analysis and Porter's Five Forces analysis are included. The website was developed using WordPress and WooCommerce with plugins like Dynamic Gallery and Product Slider. Future plans include expanding the product selection and improving SEO through optimizing meta titles and descriptions. Challenges in the startup stage like managing cash flow and establishing a customer base are also addressed.
O documento discute o comportamento de consumo infanto-juvenil na internet e estratégias para lojas virtuais de moda infantil. Crianças de 2 a 11 anos já representam 14% dos usuários da internet no Brasil e visitam sites de comércio eletrônico. Para ter sucesso, lojas devem se especializar em nichos, oferecer diversas formas de pagamento e cumprir regras como entrega rápida e política de trocas claras.
Responsive design is a hot topic in the world of web. Yet, will it ever realise to bring business benefits?
My insight at the AtBusiness.com Breakfast Seminar, June 14, 2012.
For a responsive site example, have a look at www.frantic.com and scale it down, please! :)
Taylor Gaskins gave a senior speech about his experience building a tool chest for his truck as his senior project. He chose William Gleason as his project facilitator due to his experience in construction and civil engineering. Some challenges he faced included fitting the tool chest around the gas tank and attaching the chain to secure the lid. Through problem solving these issues, he realized he prefers mechanical engineering over civil engineering and plans to study that field at Southern Polytechnic State University and Georgia Tech, then join the Air Force as an aircraft crew chief.
The document provides details of a planned 8-day trip to Cambodia, including weather, maps, flight and hotel bookings, places to visit, transportation and food options, itinerary, and total estimated expenses. The itinerary includes visiting museums, markets, pagodas, temples, and lakes in and around Phnom Penh, with a full day trip to see Angkor Wat temple. Total expenses for the trip are estimated to be Rs. 47,475.61.
The document contains links to various radio stations from around the world organized by genre. There are sections dedicated to stations playing popular Romanian music, jazz music, relaxing music, and video streams of music channels. A variety of stations from Romania are listed, including national stations and regional stations from different cities. Links are provided to access the streams via HTTP, RTMP, and MMS protocols. Images are also included related to some of the radio stations.
This document outlines a training program plan for new finance advisors in the military division of the University of Phoenix. The training program aims to provide advisors with knowledge about military students, branches, documentation, tuition rates, finance options, VA benefits, and federal regulations. A gap analysis will be conducted to identify strengths and weaknesses compared to new required practices. The training will use questionnaires, observation, and group sessions and include both e-learning and in-person instruction. A budget is proposed that allocates funding for training from savings due to enrollment and employee cuts, leverages existing tuition benefits and technology, and estimates costs for personnel, materials, travel and more.
The document discusses American English vowel sounds and pronunciation rules. It provides:
1) A chart listing American vowel sounds represented by different letter combinations and examples words.
2) Explanations of concepts like open and closed syllables, diphthongs, and the neutral schwa sound.
3) Breakdowns of specific vowel sounds like the "long i" sound, different sounds of a, and diphthongs like "oy" and "ou".
4) Links to additional online resources about vowels, blends, consonants and common words.
The document discusses how people spend a significant amount of time managing emails over their career, and includes examples of common types of emails received such as jokes, chain messages, updates on work, and messages with inappropriate or meaningless subjects. It suggests that email wastes people's time.
Matérias sobre turismo da revista Dia (supermercados). A revista é gratuita e a cada edição traz um destino turístico brasileiro. Neste arquivo encontram-se: Serra Fluminense, Florianópolis, Vale dos Vinhedos, Parques Nacionais, Minas em 3 atos.
Jens Brinck, adm. direktør i Gorm Larsen Nordic - Tættere på salgets hellige gral.
Optagelsen er fra IBM Smarter Business 2011.
Se mere på: http://www.smarterbusiness.dk
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
This document summarizes a presentation on the future of the web. It discusses the evolution from Web 1.0 to Web 2.0 to the emerging Web 3.0. Web 3.0 is described as the Semantic Web that will allow computers to understand user requests. The presentation also covers topics like social media usage statistics, user generated content, collaborative innovation platforms, Google products, search engine optimization, and new forms of advertising. Emerging technologies like 3D printing are also mentioned.
This document discusses how to quickly build web applications using the Django framework. It covers installing Django, creating models and templates, and building a basic job listing application. The goal is to demonstrate how Django allows for rapid development through features like automatic administration interfaces, URL routing, and object relational mapping.
Modelando aplicação em documento - MongoDBThiago Avelino
O documento resume as principais características e funcionalidades do banco de dados MongoDB. Ele descreve como o MongoDB é um banco de dados não relacional orientado a documentos, de alto desempenho, escalável e com esquema aberto. Também lista alguns usuários notáveis e casos de uso comuns.
O documento apresenta o framework Zend Framework. Aborda o que são frameworks, quem usa o Zend Framework e por que usá-lo. Explica alguns de seus componentes e como utilizá-lo, contribuir e se certificar.
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...Ezequiel Bertti
Este documento apresenta o framework Javascript MIRA para construção de interfaces adaptativas em aplicações REST. Ele descreve como o MIRA utiliza regras e modelos de dados para selecionar e adaptar interfaces abstratas em interfaces concretas utilizando widgets. Exemplos demonstram como o MIRA pode ser usado para interfaces baseadas na API do GitHub.
O documento discute a evolução do HTML para a versão 5, propondo simplificar a estrutura e sintaxe do código. Ele apresenta exemplos de como estruturar páginas web usando novos elementos semânticos no HTML5 como section, nav e article. O documento também mostra como incorporar vídeos, áudio e estilos CSS3 nas páginas.
Interfaces ricas com Rails e React.JS @ Rubyconf 2015Rodrigo Urubatan
O documento descreve uma aplicação web criada com Ruby on Rails no backend e React.js no frontend. A aplicação é um blog simples onde os usuários podem criar, editar e visualizar posts. Componentes React são usados para construir as interfaces do usuário enquanto Backbone.js facilita a comunicação entre o cliente e o servidor. O objetivo é demonstrar como criar uma Single Page Application usando essas tecnologias.
Evento Front End SP - Arquitetura de FrontMichel Ribeiro
O documento discute arquitetura de front-end em aplicações de larga escala. É destacado que tais aplicações requerem organização, modularização e otimização de código. O HTML, CSS e JavaScript devem ser estruturados em módulos independentes para facilitar a manutenção.
Aplicações rápidas para a Web com DjangoFreedom DayMS
1) The document discusses how to build quick web applications using the Django framework.
2) It covers topics like presenting Django, the importance of documentation, the job market, installing Django on Linux, and creating a simple application.
3) The presentation includes creating models, views, templates, and administering the application using Django's automatic admin interface.
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
O documento discute a evolução de um framework PHP chamado Adianti Framework ao longo dos anos. Ele aborda desafios como aderir a padrões da comunidade, acrescentar novos componentes, melhorar a estrutura de diretórios e substituir tecnologias incorporadas.
O documento discute técnicas para melhorar o desempenho de front-end de sites, destacando a importância de otimizar o front-end, onde a maior parte do tempo de resposta é gasto, e como pequenas melhorias podem gerar grandes economias e aumento de receita. Algumas dicas incluem comprimir arquivos, usar sprites de imagem, habilitar caches e gzip no servidor.
O que todos os developers devem saber sobre seointrofini
Este documento fornece informações sobre otimização de sites (SEO) em 3 frases:
1) SEO refere-se a estratégias para melhorar o posicionamento de sites nos resultados de pesquisa, como otimizar o conteúdo e links;
2) Fatores importantes incluem otimização interna da página, estrutura do site, links externos e métricas sociais e de tráfego;
3) Ferramentas como Drupal facilitam o SEO ao fornecer recursos como URLs amigáveis e tags semânticas
- O HTML5 trará diversas melhorias na usabilidade e experiência do usuário através de novas tags e funcionalidades para mídia.
- Essas novas funcionalidades como microdados e marcação semântica podem ajudar os mecanismos de busca a entenderem melhor o conteúdo das páginas da web.
- À medida que o HTML5 se torne mais adotado, é possível que motores de busca passem a usar essas informações para melhorar os resultados de busca.
A partir de um arquivo em branco é possível escrever algumas linhas de código e criar uma loja virtual completa. Com 500 linhas de código em PHP foi desenvolvido um e-commerce com gateway de pagamento em menos de um dia.
O documento introduz jQuery e AJAX. Resume os principais pontos sobre jQuery: (1) é uma biblioteca JavaScript que facilita a manipulação do DOM e eventos; (2) permite códigos mais sucintos e independentes de navegador; (3) inclui recursos como AJAX e animações.
Vue.js é uma biblioteca JavaScript reativa para construção de interfaces web, que permite criar aplicações baseadas em componentes de forma simples. Ela oferece data binding, diretivas e opções como computed properties e methods para manipulação de dados de forma reativa. A versão 2.0 trará melhorias como virtual DOM e server-side rendering, mantendo a API simples e leve da biblioteca.
Este documento discute a abordagem "mobile first" para o desenvolvimento de sites e aplicativos. Ele explica que começar com o mobile em mente força o foco no conteúdo essencial e na funcionalidade básica, e que os aprimoramentos podem ser feitos progressivamente para telas maiores. O documento também ressalta a importância da performance em dispositivos móveis.
Este documento fornece instruções passo-a-passo para criar uma lista de tarefas usando HTML5, CSS3 e armazenamento local. Ele explica como adicionar campos de formulário, armazenar dados localmente, exibir itens armazenados e implementar funcionalidades de arrastar e soltar.
O documento discute como o trabalho do time de front-end pode impactar os resultados financeiros de uma empresa através da melhoria da performance, produtividade e testes A/B. Algumas otimizações como redução do tempo de carregamento das páginas e melhorias na experiência do usuário podem levar a aumentos significativos no tráfego e conversões. É importante medir os KPIs relevantes para orientar as melhorias com base em dados.
O documento discute empreendedorismo e apresenta as experiências de dois empreendedores brasileiros, Guilherme Serrano e Bianca Brancaleone. Aborda tópicos como o que define um empreendedor, tipos de empreendedorismo, motivação, erros, aprendizados, desafios do dia a dia, entre outros.
Componetização de CSS com o Compass (Front in Sampa 2013)Guilherme Serrano
O documento discute a utilização do framework Compass e Sass para componentização de CSS, permitindo maior produtividade, manutenção e customização de códigos CSS. Compass permite variáveis, imports, mixins e outras funcionalidades que tornam o CSS mais modular e reutilizável através da criação de componentes CSS encapsulados e independentes. Isso resulta em códigos CSS menores, mais organizados e fáceis de manter.
O documento discute o conceito de design responsivo, como criar sites responsivos sem JavaScript ou frameworks, e boas práticas para desenvolvimento responsivo, como focar na experiência do usuário em diferentes dispositivos e resolver problemas de manutenção de código.
Metodologia de aplicação da análise heurística, critérios heurísticos e apresentação do objeto de estudo.
Esta apresentação faz parte do material apresentado aos avaliadores convidados para participar do Trabalho de Conclusão de Curso do acadêmico Guilherme B. Serrano, para formação como Bacharel em Design pela ULBRA Carazinho, RS.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
14. We should forget about small
efficiencies, say about 97% of the time:
premature optimization is the root of all
evil
"
Tony Hoare ~1975
Nós devemos desconsiderar ajustes para pequenas performance, digamos
que em 97% do tempo a otimização prematura é a raiz de todo o mal
17. Qual o custo da otimização?
- Aumento de tempo de desenvolvimento inicial
- Pode prejudicar a leitura do código:
- Mais difícil fazer novas implementações
- Mais difícil dar manutenção no código
(principalmente em equipe)
21. Abandono de página = prejuízo
https://blog.kissmetrics.com/loading-time/?wide=1
22. Ganhos reais
- Experiência do usuário
- + felicidade
- + vendas
- + ROI
- + pageviews
- - abandono de página / ação
- Outros "menos importantes"
- Economia de banda, redução de custo com servidor...
32. Repaint
O repaint acontece quando mudanças são feitas em elementos que alteram a visualização mas não
afetam o layout.
- Outline
- Visibility
- Background color
- etc
* A Opera diz que o repaint é custoso pois a visibilidade de todos os elementos da árvore do DOM.
DOM
33. Reflow
DOM
O reflow acontece quando existem mudanças no layout da página (largura, padding, posicionamento)
e a alteração de um elemento se extende aos childs e aos parents.
34. a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos childs e aos parents -
a alteração de um elemento se extende aos childs e aos parents - a alteração de um elemento se extende aos
childs e aos parents - a alteração de um elemento se extende aos childs e aos parents - a alteração de um
elemento se
35. O que causa um reflow?
Resize da janela
Alteração de fonte
Adicionar ou remover uma stylesheet
Alteração de conteúdos (como o usuário escrever em um input…)
Ativação de pseudoclass como :hover
Manipulação do atributo classe
Manipulação do DOM
Calcular offsetWidth ou offsetHeight
Definir um atributo de uma propriedade de estilo
Praticamente tudo que é legal fazer com JS.
DOM
36. <body>
<div class=”error”>
<h4>My Module</h4>
<p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol>
</div>
</body>
DOM
37. <body>
<div class=”error”>
<h4>My Module</h4>
<p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol>
</div>
</body>
DOM
reflow
38. <body>
<div class=”error”>
<h4>My Module</h4> <p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol>
</div>
</body>
DOM
reflow -> child
39. <body><div class=”error”>
<h4>My Module</h4>
<p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol></div>
</body>
DOM
reflow -> parent
40. <body><div class=”error”> <h4>My Module</h4>
<p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol></div>
</body>
DOM
reflow -> child
41. <body><div class=”error”> <h4>My Module</h4>
<p><strong>Error:</strong>Description of the error…</p>
<h5>Corrective action required:</h5>
<ol>
<li>Step one</li>
<li>Step two</li>
</ol></div>
</body>
DOM
reflow -> child
46. Evitando manipulação do DOM
for (var i = 0; i < 100; i++) {
document.getElementById("teste").innerHTML += "<span>" + i + "</span>";
}
// Manipula o DOM a cada iteração :(
DOM
47. Evitando manipulação do DOM
var myList = "";
for (var i = 0; i < 100; i++) {
myList += "<span>" + i + "</span>";
}
document.getElementById("teste").innerHTML = myList;
// Concatena uma string e manipula o DOM apenas uma vez :)
DOM
48. Evitando cálculo de offset
var div = document.getElementById("to-measure"),
lis = document.getElementsByTagName('li'),
i, len;
for (i = 0, len = lis.length; i < len; i++) {
lis[i].style.width = div.offsetWidth + 'px';
}
DOM
http://jsbin.com/aqavin/2/quiet
49. Evitando cálculo de offset
var div = document.getElementById("to-measure"),
lis = document.getElementsByTagName('li'),
i, len;for (i = 0, len = lis.length; i < len; i++) {
lis[i].style.width = div.offsetWidth + 'px';
}
DOM
http://jsbin.com/aqavin/2/quiet
reflow, reflow, reflow...
50. Evitando cálculo de offset
var div = document.getElementById("to-measure"),
lis = document.getElementsByTagName('li'),
widthToSet = div.offsetWidth,
i, len;
for (i = 0, len = lis.length; i < len; i++) {
lis[i].style.width = widthToSet + 'px';
}
DOM
http://jsbin.com/aqavin/2/quiet
51. Evitando cálculo de offset
var div = document.getElementById("to-measure"),
lis = document.getElementsByTagName('li'),
widthToSet = div.offsetWidth,
i, len;
for (i = 0, len = lis.length; i < len; i++) {
lis[i].style.width = widthToSet + 'px';
}
DOM
http://jsbin.com/aqavin/2/quiet
cache do offsetWidth
sem reflow :)
72. Iterações
for (i = 0; i < arr.length; i++) {
// calcula o length a cada iteração
}
// bad, bad, no donut for you! :(
Array
73. Iterações com cache
for (i = 0; i < arr.length; i++) {
// calcula o length a cada iteração
}
// bad, bad, no donut for you! :(
for (i = 0, len = arr.length; i < len; i++) {
// calcula o length uma vez e cacheia
// a variável "len"
}
// :D
Array