This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Vivaldi is a strategy, digital, and customer-focused consulting firm. They believe that brands drive business strategy and are focused on customer-centricity. Vivaldi uses an unconventional approach including workshops to generate insights and identify opportunities. They have expertise across brand strategy, innovation, customer experience, and organizational transformation. Case studies demonstrate their work developing new strategies and offerings for clients in various industries to unlock growth.
The document provides an overview of the Software Development Life Cycle (SDLC) including its various stages and models. The key points are:
1. SDLC is a process that consists of planning, analysis, design, implementation, testing, deployment, and maintenance phases to develop and maintain software.
2. The stages include planning, requirements analysis, design, development, testing, deployment, and maintenance.
3. Common models include waterfall, iterative, spiral, V-model, and agile. Waterfall is the earliest and most basic sequential model while iterative and agile are more flexible to changing requirements.
The document contains checklists for evaluating change readiness and change management responsibilities. It includes sections to track whether business units have been contacted, training has been planned, IT systems have been prepared, and whether key change management roles have been assigned and are fulfilling their responsibilities. The overall purpose is to provide templates for organizations to plan changes, prepare stakeholders, and ensure all necessary elements are in place for successful implementation.
The maiden flight of the Ariane 5 rocket failed just 37 seconds after launch due to a software error. The inertial reference system software, which was reused from the Ariane 4 without modification, contained an exception that caused program shutdown when a variable overflowed. This failure brought down the whole system as it was not designed to handle single failures. The problem could have been avoided by better testing and review of the reused software to ensure it was suitable for Ariane 5 operations.
The document discusses various data analysis and visualization techniques in Microsoft Excel including filtering, sorting, formulas, functions, pivot tables, charts and conditional formatting. It provides step-by-step instructions on how to use these tools to extract insights from data by filtering to select specific records, using formulas and functions like VLOOKUP to perform calculations, sorting data, creating pivot tables and pivot charts to summarize and visualize data relationships, and applying conditional formatting to highlight important values.
Se (techniques for black box testing ppt)Mani Kanth
This document discusses techniques for black box testing software. It defines black box testing as testing software functionality without knowledge of its internal implementation or code structure. The techniques described are equivalence partitioning, boundary value analysis, state transition testing, graph-based testing, error guessing, and comparison testing. Equivalence partitioning divides inputs into classes based on similar outcomes to reduce test cases. Boundary value analysis focuses on edge cases rather than the full input range. State transition testing checks behavior changes between states with the same inputs. Graph-based testing visualizes the relationships between inputs and outputs. Error guessing leverages the tester's experience to find common mistakes. Comparison testing looks for differences between versions of the same software.
This document discusses requirements prioritization. It explains that prioritization ensures analysis and implementation focus on critical requirements. Several prioritization methods are described, including binary search tree, Kano analysis, numerical assignment, and analytical hierarchical process. The document also discusses advantages of requirements prioritization such as increased understanding and stability. It defines a software product line and notes advantages like higher productivity, quality and faster time-to-market.
Software Testing Foundations Part 6 - Intuitive and Experience-based testingNikita Knysh
Intuitive testing and exploratory testing are techniques that rely on a tester's skills, experience, and knowledge to design test cases. Exploratory testing is useful when documentation is poor or time is limited. It involves exploring the system to determine test cases and allowing results to influence further testing. Checklist-based testing uses lists of items or rules to verify a product. Intuitive, exploratory, and checklist-based testing work best to supplement other techniques when documentation is limited or time is short, and when testers are experienced in the domain or technology.
Black box testing is a software testing technique where the internal structure and implementation of the system is not known. It focuses on validating the functionality of the system based on requirements and specifications. Some key techniques of black box testing include equivalence partitioning, boundary value analysis, and error guessing. Equivalence partitioning divides test cases into equivalence classes based on expected behavior. Boundary value analysis tests values at the boundaries of equivalence classes. Error guessing involves creating test cases based on intuition about potential errors. Black box testing is applied at various levels including unit, integration, system, and non-functional testing.
Software Prototyping in Software Engineering SE8koolkampus
Prototyping involves rapidly developing an initial version of a system to validate requirements and gain user feedback. There are two main approaches - evolutionary prototyping iteratively develops prototypes into the final system, while throw-away prototyping discards the prototype after validating requirements. Rapid prototyping techniques include using high-level languages, database programming, and component reuse to quickly develop prototypes for review before final development. User interface prototyping is especially important as interfaces cannot be fully specified upfront.
O documento discute o Sistema de Informação Executiva (EIS), incluindo seu conceito, por que é importante, como funciona e fatores-chave para seu sucesso.
4+1. describing the architecture of software-intensive systems, based on the use of multiple, concurrent views.
The views are used to describe the system from the viewpoint of different stakeholders,
אמאזון עשויה להיות ״משבשת התעשיות״ הגדולה של העשור האחרון, והיא ממציאה מחדש תעשיות באמצעות מסחר אלקטרוני, תוך שהיא שומרת על מיקוד אסטרטגי בלקוחותיה. דו״ח זה בוחן חלק מהטקטיקות בהן משתמשת אמאזון בתעשיות השונות.
White box testing is a software testing method that tests the internal structure or workings of an application. It requires access to and an understanding of the application's source code. The document describes various white box testing techniques like path testing, statement coverage testing, branch coverage testing, and loop testing. It also covers the advantages of white box testing like checking code standards and optimizing code. The disadvantages include it requiring highly skilled testing and having a high complexity and cost.
Spreadsheet advanced functions ppt (2)Tammy Carter
Advanced functions are used for higher-level operations like conditional equations to compute financial calculations. These include IF statement functions to write conditional formulas, date functions to calculate time periods, lookup functions to match values in arrays, list functions to organize data, and count functions to count the number of cells meeting certain criteria.
Aan introduction to SAS, one of the more frequently used statistical packages in business. With hands-on exercises, explore SAS's many features and learn how to import and manage datasets and and run basic statistical analyses. This is an introductory workshop appropriate for those with little or no experience with SAS.
Complete workshop materials include demo SAS programs available at http://projects.iq.harvard.edu/rtc/sas-intro
This document discusses structural modeling and analysis in software engineering. It defines key concepts like objects, classes, inheritance, encapsulation, and polymorphism. It also covers modeling techniques like UML notation for class diagrams, associations between classes, aggregation, composition, constraints, and domain modeling processes. The overall summary is:
Structural modeling shows how different entities ("things") are related to each other. It involves identifying objects and classes, defining their attributes and operations, and specifying relationships like generalization, aggregation, and associations between classes. UML notation is commonly used to diagram class structures and relationships. The domain modeling process aims to develop class models that describe real-world entities and their interactions within a problem domain.
This document summarizes several winning solutions from Kaggle competitions related to retail sales forecasting. It describes the data and metrics used in the competitions and highlights some common techniques from top solutions, including feature engineering of recent and temporal data, using gradient boosted trees and ensembles of models, and incorporating additional contextual data like weather and promotions.
This document provides a comprehensive analysis comparing the data modeling capabilities of Sybase PowerDesigner 16.0 InformationArchitect and CA ERwin Data Modeler r8.1 Standard Edition. It examines how each tool supports key data modeling activities like creating different types of data models (conceptual, logical, physical), impact analysis across model levels, and model integration. The analysis finds that while both tools allow creating different model types and linking models, PowerDesigner provides more robust, integrated support through dedicated model types and built-in impact/lineage analysis. It concludes PowerDesigner better enables managing relationships across complex data modeling projects.
This is a short introduction course to Stata statistical software version 9. The course still applies to later versions of Stata, too. The course duration was 9 hours. It has been given at the Faculty of Economics and Political Science, Cairo University.
The document discusses different methods of encoding and modulating digital and analog signals for transmission. It covers digital-to-digital encoding techniques like unipolar, polar, Manchester and differential Manchester encoding. It also discusses analog-to-digital conversion techniques like PAM and PCM. Finally, it discusses analog-to-analog modulation techniques like AM, FM and PM and how they modulate parameters of a carrier signal to transmit an analog signal.
An in-depth presentation about International Commercial Terms that helps you understand this trade standard with the aid of intuitive pictures, charts and graphical interpretations.
This document discusses the concept of "big, hairy, audacious goals" or BHAGs as described in the book "Built to Last". [1] BHAGs are highly ambitious goals that engage people and require significant effort to achieve. [2] Examples of successful BHAGs from various companies are provided such as goals to put a man on the moon, build Disneyland, and democratize technology. [3] Setting an effective BHAG requires it to be aligned with an organization's priorities, audacious yet achievable, clearly articulated, and difficult to attain.
This document provides an overview of topics related to critical care nursing, including acute coronary syndromes, heart blocks, heart failure, shock states, respiratory alterations, and gastrointestinal alterations. It lists objectives, definitions, signs and symptoms, and treatments for each topic. The objectives are to understand various cardiovascular and pulmonary conditions, be able to distinguish between different types, recognize signs and symptoms, and identify standard treatments.
The document provides statistics on the global and US perfume industries. Some key details include:
- The annual global perfume industry sales revenue is $27.5 billion, while the US market is $5.2 billion.
- In 2002, there were 756 perfume brands in US department stores.
- Only 1% of celebrity perfume brands are priced over $75, compared to 46% of designer perfume brands.
- 87% of American women use perfume.
- Coty Inc holds 13% of the fragrance market share.
The purpose of the Organisational Sustainability slide show is to present a way organisations, both private and public sector, can :
a) Improve theirs and others sustainability, and in doing so also
b) Show how their progress can be measured in economic, community, and environmental terms .
This document discusses requirements prioritization. It explains that prioritization ensures analysis and implementation focus on critical requirements. Several prioritization methods are described, including binary search tree, Kano analysis, numerical assignment, and analytical hierarchical process. The document also discusses advantages of requirements prioritization such as increased understanding and stability. It defines a software product line and notes advantages like higher productivity, quality and faster time-to-market.
Software Testing Foundations Part 6 - Intuitive and Experience-based testingNikita Knysh
Intuitive testing and exploratory testing are techniques that rely on a tester's skills, experience, and knowledge to design test cases. Exploratory testing is useful when documentation is poor or time is limited. It involves exploring the system to determine test cases and allowing results to influence further testing. Checklist-based testing uses lists of items or rules to verify a product. Intuitive, exploratory, and checklist-based testing work best to supplement other techniques when documentation is limited or time is short, and when testers are experienced in the domain or technology.
Black box testing is a software testing technique where the internal structure and implementation of the system is not known. It focuses on validating the functionality of the system based on requirements and specifications. Some key techniques of black box testing include equivalence partitioning, boundary value analysis, and error guessing. Equivalence partitioning divides test cases into equivalence classes based on expected behavior. Boundary value analysis tests values at the boundaries of equivalence classes. Error guessing involves creating test cases based on intuition about potential errors. Black box testing is applied at various levels including unit, integration, system, and non-functional testing.
Software Prototyping in Software Engineering SE8koolkampus
Prototyping involves rapidly developing an initial version of a system to validate requirements and gain user feedback. There are two main approaches - evolutionary prototyping iteratively develops prototypes into the final system, while throw-away prototyping discards the prototype after validating requirements. Rapid prototyping techniques include using high-level languages, database programming, and component reuse to quickly develop prototypes for review before final development. User interface prototyping is especially important as interfaces cannot be fully specified upfront.
O documento discute o Sistema de Informação Executiva (EIS), incluindo seu conceito, por que é importante, como funciona e fatores-chave para seu sucesso.
4+1. describing the architecture of software-intensive systems, based on the use of multiple, concurrent views.
The views are used to describe the system from the viewpoint of different stakeholders,
אמאזון עשויה להיות ״משבשת התעשיות״ הגדולה של העשור האחרון, והיא ממציאה מחדש תעשיות באמצעות מסחר אלקטרוני, תוך שהיא שומרת על מיקוד אסטרטגי בלקוחותיה. דו״ח זה בוחן חלק מהטקטיקות בהן משתמשת אמאזון בתעשיות השונות.
White box testing is a software testing method that tests the internal structure or workings of an application. It requires access to and an understanding of the application's source code. The document describes various white box testing techniques like path testing, statement coverage testing, branch coverage testing, and loop testing. It also covers the advantages of white box testing like checking code standards and optimizing code. The disadvantages include it requiring highly skilled testing and having a high complexity and cost.
Spreadsheet advanced functions ppt (2)Tammy Carter
Advanced functions are used for higher-level operations like conditional equations to compute financial calculations. These include IF statement functions to write conditional formulas, date functions to calculate time periods, lookup functions to match values in arrays, list functions to organize data, and count functions to count the number of cells meeting certain criteria.
Aan introduction to SAS, one of the more frequently used statistical packages in business. With hands-on exercises, explore SAS's many features and learn how to import and manage datasets and and run basic statistical analyses. This is an introductory workshop appropriate for those with little or no experience with SAS.
Complete workshop materials include demo SAS programs available at http://projects.iq.harvard.edu/rtc/sas-intro
This document discusses structural modeling and analysis in software engineering. It defines key concepts like objects, classes, inheritance, encapsulation, and polymorphism. It also covers modeling techniques like UML notation for class diagrams, associations between classes, aggregation, composition, constraints, and domain modeling processes. The overall summary is:
Structural modeling shows how different entities ("things") are related to each other. It involves identifying objects and classes, defining their attributes and operations, and specifying relationships like generalization, aggregation, and associations between classes. UML notation is commonly used to diagram class structures and relationships. The domain modeling process aims to develop class models that describe real-world entities and their interactions within a problem domain.
This document summarizes several winning solutions from Kaggle competitions related to retail sales forecasting. It describes the data and metrics used in the competitions and highlights some common techniques from top solutions, including feature engineering of recent and temporal data, using gradient boosted trees and ensembles of models, and incorporating additional contextual data like weather and promotions.
This document provides a comprehensive analysis comparing the data modeling capabilities of Sybase PowerDesigner 16.0 InformationArchitect and CA ERwin Data Modeler r8.1 Standard Edition. It examines how each tool supports key data modeling activities like creating different types of data models (conceptual, logical, physical), impact analysis across model levels, and model integration. The analysis finds that while both tools allow creating different model types and linking models, PowerDesigner provides more robust, integrated support through dedicated model types and built-in impact/lineage analysis. It concludes PowerDesigner better enables managing relationships across complex data modeling projects.
This is a short introduction course to Stata statistical software version 9. The course still applies to later versions of Stata, too. The course duration was 9 hours. It has been given at the Faculty of Economics and Political Science, Cairo University.
The document discusses different methods of encoding and modulating digital and analog signals for transmission. It covers digital-to-digital encoding techniques like unipolar, polar, Manchester and differential Manchester encoding. It also discusses analog-to-digital conversion techniques like PAM and PCM. Finally, it discusses analog-to-analog modulation techniques like AM, FM and PM and how they modulate parameters of a carrier signal to transmit an analog signal.
An in-depth presentation about International Commercial Terms that helps you understand this trade standard with the aid of intuitive pictures, charts and graphical interpretations.
This document discusses the concept of "big, hairy, audacious goals" or BHAGs as described in the book "Built to Last". [1] BHAGs are highly ambitious goals that engage people and require significant effort to achieve. [2] Examples of successful BHAGs from various companies are provided such as goals to put a man on the moon, build Disneyland, and democratize technology. [3] Setting an effective BHAG requires it to be aligned with an organization's priorities, audacious yet achievable, clearly articulated, and difficult to attain.
This document provides an overview of topics related to critical care nursing, including acute coronary syndromes, heart blocks, heart failure, shock states, respiratory alterations, and gastrointestinal alterations. It lists objectives, definitions, signs and symptoms, and treatments for each topic. The objectives are to understand various cardiovascular and pulmonary conditions, be able to distinguish between different types, recognize signs and symptoms, and identify standard treatments.
The document provides statistics on the global and US perfume industries. Some key details include:
- The annual global perfume industry sales revenue is $27.5 billion, while the US market is $5.2 billion.
- In 2002, there were 756 perfume brands in US department stores.
- Only 1% of celebrity perfume brands are priced over $75, compared to 46% of designer perfume brands.
- 87% of American women use perfume.
- Coty Inc holds 13% of the fragrance market share.
The purpose of the Organisational Sustainability slide show is to present a way organisations, both private and public sector, can :
a) Improve theirs and others sustainability, and in doing so also
b) Show how their progress can be measured in economic, community, and environmental terms .
This document discusses cell blocks, liquid based cytology, and the Bethesda system for reporting cervical cytology. It defines cell blocks and describes their advantages like allowing histological examination and ancillary tests. It outlines the advantages and disadvantages of liquid based cytology compared to conventional pap smears. Finally, it explains the Bethesda system for standardized reporting of cervical cytology results, including categories for negative, epithelial abnormalities, organisms, and other non-neoplastic findings.
The document provides guidance on conducting an effective literature review. It explains that a literature review (1) develops understanding of a field of study, synthesizes existing work through critical analysis, and must be current; (2) can be part of a larger research study to set context/scope and justify methodology, or a standalone assignment; and (3) is not a simple list of sources but requires making an argument. The review process involves selecting a topic, extensively searching relevant literature, developing arguments addressing what is known and how it relates to research questions, systematically surveying and critiquing the literature to analyze themes and debates, and writing a synthesis that builds on previous work.
162 flashcards covering all of the formulas, concepts and strategies needed for the quantitative section of the GMAT. If, at any time, you need more information or instruction, each flashcard is linked to a video lesson (from GMAT Prep Now’s GMAT course)
The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and ... Note: This page does not list esoteric programming languages. .... Computer programming portal ...
Product Marketing Framework for Product or Service LaunchJanet Jaiswal
A framework to launch a product or a service in either the B2B or B2C space. Shows step-by-step what to do and how to prepare to release a product to the market that's successful from the first day.
Also covers 7 lessons learned in launching online products and services in the past.
Presentation from Denver Open Source Users Group in February 2015. http://www.meetup.com/DOSUG1/events/219099019/
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
This document discusses various congenital abnormalities of the kidney and urinary tract that can occur during fetal development. It covers abnormalities in kidney formation such as renal agenesis, hypoplasia, and dysplasia. It also discusses abnormalities in kidney position and shape including ectopic kidneys, horseshoe kidneys, and crossed fused ectopia. Finally, it summarizes abnormalities of the collecting system like hydronephrosis, bladder extrophy, posterior urethral valves, and patent urachus. For each condition, it provides information on incidence, etiology, clinical manifestations, diagnosis, treatment, and nursing management.
Talk about the future of the web and how Drupal fits in. A video recording is available at https://www.youtube.com/watch?v=gnERPdAiuSo.
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013K.Mohamed Faizal
Come and understand different type of SharePoint Topologies and learn how to design for SharePoint architecture that serve for Intranet, Websites, Office Web Apps Server, App management, wide-area networks, monitoring, newsfeeds, distributed cache, high availability, and disaster recovery.
The document is a report by Techsauce, Thailand's leading tech publication, summarizing Thailand's startup ecosystem and investment trends from 2012-2017. Some key findings include:
- Total funding raised by Thai startups grew from $3.1 million in 2011-2012 to over $86 million in 2016.
- Popular categories of startups receiving investment included e-commerce/marketplaces, fintech, logistics, and payments.
- Major acquisitions of Thai startups have totaled over $108 million, with companies being acquired by firms from Southeast Asia, China, and other regions.
Anatomy of Brain by MRI
In this presentation we will discuss the cross sectional anatomy of brain. Then we will discuss the Most common diseases to be evaluated by brain imaging.
In my opinion this presentation is a road map for beginars.
The document provides a business quiz with 16 multiple choice questions covering topics such as companies that coined economic terms, automobile companies, airlines, technology companies, banks, and consumer brands. It tests knowledge of companies like Goldman Sachs, Tata, Bombay Stock Exchange, HP, Rolls Royce, KFC, and banks like SBI and HDFC. The questions cover industries, products, founding details and other notable business facts.
Voices that matter: High Performance Web SitesStoyan Stefanov
http://webdesign2010.crowdvine.com/talks/10509
No one likes slow pages. Faster sites increase user satisfaction and happiness, help improve business metrics and, since April 2010, rank higher in Google search results. In this session Stoyan shares his research and expertise covering:
- The performance Golden Rule, which helps you cut page loading time in half.
- Speeding up the initial page rendering.
- Writing smarter CSS.
- Image optimizations that shave 10-30% off the file sizes, with no quality loss.
- Improving the perception of speed
- Maintaining the user's "flow" as they move from page to page
Step ahead of your competitors by building faster and more pleasant user experiences following the proven best practices
Progressive downloads and rendering allow content to be delivered and displayed to the user incrementally to improve perceived performance. JavaScript should be placed at the bottom of the page to avoid blocking. CSS can block rendering so should also be delivered non-blocking when possible. Techniques like flushing output, non-blocking scripts, and data URIs can help deliver content progressively. MHTML and preloading can help optimize delivery across multiple HTTP requests. The overall goal is to start displaying content as soon as possible while content continues downloading in the background.
Progressive downloads and rendering (Stoyan Stefanov)Ontico
This document discusses techniques for progressively downloading and rendering web pages to improve performance and user experience. It covers topics like preventing blocking JavaScript and CSS downloads, using techniques like deferred and async scripts, inline CSS, and flushing to start rendering sooner. It also discusses using data URIs to reduce HTTP requests by inlining images and other assets. Formats like MHTML and chunked encoding are presented as ways to progressively deliver content across browsers. The goal is to start outputting content as fast as possible while downloading remaining assets in the background.
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
This document discusses various techniques for improving Rails application performance, including reducing roundtrips through CSS sprites and data URIs, using tools like Firebug and NewRelic to diagnose issues, avoiding N+1 queries, and leveraging caching, monitoring, and scaling. It also briefly mentions plugins like Bullet and tools like RubyProf that can help optimize applications.
I based my presention on the great "HTML5 for Web designers" by Jeremy Keith. Awesome and pragmatic book, the way I like it. Get your copy on: http://books.alistapart.com/products/html5-for-web-designers
Building Lightning Fast Websites (for Twin Cities .NET User Group)strommen
1. A website is loaded by a browser through a multi-step process involving DNS lookups, TCP connections, downloading resources like HTML, CSS, JS, and images. This process can be slow due to the number of individual requests and dependencies between resources.
2. Ways to optimize the loading process include making the server fast, inlining critical resources, gzip compression, an optimized caching strategy, optimizing file delivery through techniques like CDNs and HTTP/2, bundling resources, optimizing images, avoiding unnecessary domains, minimizing web fonts, and JavaScript techniques like PJAX. Minifying assets can also speed up loading.
Progressive Downloads and Rendering - take #2Stoyan Stefanov
HighLoad++ presentation including:
- single stream data URIs and MHTML
- in CSS and <img> tags
- lazy evaluation, lazy JS and lazy HTML experiment
- browser chrome search preload
- Amazon's post-loaded content
- Google instant's chunks
The document discusses improving mobile web performance. It notes that mobile is different than desktop due to limitations in power, memory, battery and connections on mobile devices. Sites are growing larger in size which slows performance, and users strongly prefer faster loading sites. A variety of tools can measure performance, and waterfalls charts show where time is spent loading pages between the server and client. Optimizations discussed include enabling caching, compression, image resizing, lazy loading images, inlining images and scripts where possible, minifying assets, and delivering scripts and styles in a single HTTP request through techniques like application caching.
My Site is slow - Drupal Camp London 2013hernanibf
Drupal is a powerful and flexible tool to create web applications without building everything from scratch. This ability can drive developers to build complex websites without understanding what is Drupal doing behind the scenes.
The majority of Drupal performance talks mostly focus in aspects like infrastructure changes, caching strategies or comparisons between modules and architectures. Unfortunately when performance problems occur, development teams also follow strategies to replace different aspects of the platform looking only to standard aspects like slow queries without understanding and profiling the real problem.
The majority of times it is fundamental to measure and analyze what is the application is actually doing to understand te real problems. Drupal is a platform used by million of websites worlwide and its performance can in most cases be compared after measured.
In Acquia we do dozens of performance assessments per year, and even in most clients we find the same problems, often we find situations that only can be detected when measured and analized when looking to a profiler report.
In this session, I will explain how to detect performance problems looking to simple data, from logs to profiler data and providing some nice targets that can be analyzed to understand what is causing the uncommon bad performance of a site.
As we build richer, more complex web applications it’s easy to forget that speed is the cornerstone of user experience. Bing have found that a 2 second delay reduces revenue by 4%. Google know that half a second delay drops traffic by 20%. AOL have shown that users with a speedy experience stay 50% longer than users who have to wait. The evidence is clear – speed matters.
What’s more, most latency comes from the front-end, not the backend so the fixes are not specific to a particular platform. This session will examine a range of techniques from DOM & CSS tricks to web server and HTTP tweaks that can help improve front-end performance by 25-50%.
Whether you’re looking to save bandwidth, increase your conversion rate, retain visitors, save time or just make your users happy – the speed of your site matters.
This document discusses ways to improve web performance for mobile users. It outlines goals like achieving a speed index between 1,100-2,500 and first meaningful paint within 1-3 seconds. Various techniques are presented for hacking first load times, data transfer, resource loading, images and user experience. These include avoiding redirects, using HTTP/2 and service workers, modern cache controls, responsive images, preloading resources, and ensuring consistent frame rates. The overall message is that mobile performance needs more attention given average load times and high bounce rates on slow mobile sites.
JavaScript performance patterns focuses on optimizing JavaScript loading and execution for better performance. Some key points include reducing the number of script files, leveraging caching, minification and compression. Asynchronous loading helps prevent blocking. DOM operations are expensive so it's important to cache references, batch operations and avoid reflows. Data attributes provide a convenient way to store data on elements. Shims and polyfills should be used judiciously, loading conditionally where native support is limited. Benchmarking is crucial to identify real bottlenecks and measure impact of optimizations.
This document provides practical strategies for improving front-end performance of websites. It discusses specific techniques like making fewer HTTP requests by combining files, leveraging browser caching with far-future expires headers, gzipping components, using CSS sprites, and deploying assets on a content delivery network. It also summarizes key rules from tools like YSlow and PageSpeed for optimizing front-end performance.
Drupal is a powerful and flexible platform to build websites with rich funcionalities without building almost anything from scratch. This flexibility brought by the usage of a powerful framework and the work of a super active community can abstract people to understand what is Drupal doing behind the scenes.
Most of performance talks regarding Drupal focus on aspects like infrastructure changes, caching strategies, and comparison of performance between modules or platforms. Unfortunately when performance problems occur, development teams also follow several strategies to replace several aspects in their platforms, jump directly to look for slow queries before trying really to understand where is the bottleneck.
However, most of the times what really needs to be done is to look to what the application is doing and understanding why is it taking so long to do it. Drupal is a platform used by million of websites worldwide and its performance is easy to measure and compare.
At Acquia we have done dozens of performance assessments, and even if we usually face the same problems, sometimes we found weird situations that are only possible to be detected when measured. Measuring and profiling is the only way to understand performance problems in a site and provide valid fixes.
In this talk I will explain how to detect problems regarding performance in Drupal, using simple modules like devel, profilers like XhProf and looking to logs to understand the impact done on the application.
The document discusses optimizing frontend performance. It recommends reducing HTTP requests by combining CSS files into one file and using sprites and data URIs for images. It also suggests automating minification, compression, and image optimization. Performance should be monitored using tools like WebPagetest, YSlow, and PageSpeed. Frontend optimizations like these can reduce page load times and bandwidth usage.
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
10 Things You Can Do to Speed Up Your Web App TodayChris Love
Web Performance is a serious issues these days. 80% of web performance issues are in the client. Many developers either do not realize what they are leaving on the table and how that affects the success of their application. These are 10 things any web developer can do in about 30-60 minutes to drastically increase page load times and thus increase the application's profitability.
The document discusses various patterns and techniques for improving JavaScript performance, including:
1. Loading scripts asynchronously and deferring execution to improve perceived page load times.
2. Using local variables instead of globals to reduce scope chain lookups and improve minification.
3. Caching expensive operations through memoization and reusing initialization code to avoid redundant work.
4. Avoiding direct DOM access in loops to reduce reflows and repaints, such as building up a string instead of multiple innerHTML assignments.
Slides from BrazilJS 2013. Introducing React - an open-source JavaScript library from Facebook and Instagram for building user interfaces for the web.
Original HTML slides: http://www.phpied.com/files/react/slides.html
Open source project: http://github.com/facebook/react
Slides from San Francisco Web Performance meetup celebrating YSlow's birthday.
This was mostly a demo, so slides are probably not very helpful.
Some pointers:
http://www.phpied.com/yslow-development-getting-started/
http://www.phpied.com/yslow-development-setup/
http://www.phpied.com/yslow-development-custom-rulesets/
The document discusses techniques for optimizing the performance of a Facebook like button, including:
1. Reducing the number of CSS and JavaScript files needed by combining them into single files and hosting on a single CDN.
2. Loading CSS styles inline initially and lazy loading remaining styles. Loading JavaScript asynchronously and lazily.
3. Addressing challenges like IE still downloading images in hidden elements and using CSS techniques like "nubs" for rounded corners.
This document summarizes best practices for optimizing JavaScript performance. It discusses loading JavaScript asynchronously or lazily to avoid blocking page loads. It also recommends minimizing DOM manipulation, batching style changes, and caching references to reduce reflows and repaints. The document emphasizes measuring performance through tools like Benchmark.js and jsperf.com to avoid premature optimization. It cautions against unnecessary shims and polyfills and stresses optimizing for mobile environments.
Social plugins are third-party iframes that allow users to interact with social features like liking or sharing content. They can be plugged in two main ways: 1) by writing the iframe directly or 2) by loading third-party JavaScript that generates the iframe. The third-party JavaScript should be loaded asynchronously to avoid blocking the page load. Once loaded, the social plugin needs to show up quickly with a single request, resize itself if needed, and handle user interactions like likes in a lazy manner by preloading JavaScript but not evaluating it until an interaction occurs.
Slides from OSCON 2011
http://www.oscon.com/oscon2011/public/schedule/detail/18579
JavaScript is the world’s most popular language – it is virtually everywhere. And once you learn it (or you’re already familiar with it from some browser scripting) you can leverage it to accomplish a great deal of programming and automation tasks.
- choose node.js for your next server-side web app
- automate sysadmin tasks with JavaScript shell scripts
- improve your (and your visitor’s) browsing experience with bookmarklets and browser extensions
- automate common PhotoShop tasks
- extend some of your favorite apps (e.g. DreamWeaver)
- create desktop GUI apps that run on Windows, Mac and Linux using XULRunner
- create iPhone and Android apps with Titanium or PhoneGap
JavaScript can be used for many purposes including shell scripting with Windows Script Host (WSH), monitoring and debugging HTTP requests with HTTPWatch, and programmatically interacting with the browser DOM and making HTTP requests with different browsers like Internet Explorer and Firefox. The document demonstrates how to use JavaScript with WSH, HTTPWatch, and the browser DOM to inspect and modify HTTP requests and the DOM structure.
This document provides an overview of JavaScript for PHP developers. It compares the syntax and core concepts between the two languages. Some of the key points covered include: variables and data types are similar, functions are objects in JavaScript, JavaScript uses prototypes instead of classes, and functions provide scope. The document also summarizes the built-in global functions and properties, common methods for objects like Array and String, and emphasizes that constructor functions are often not needed in JavaScript.
"Psychology of performance" slides from Velocity 2010.
http://en.oreilly.com/velocity2010/public/schedule/detail/13019
Running PageSpeed - all checks. YSlow - A. So what's next to do? Well, you can cheat! You know that time is relative - one hour with your mother-in-law feels much longer than one hour on the beach. The same way you can bend the perception of the page loading time and make the page feel faster, even though the RTT is the same.
The document discusses how to register custom rules and rulesets for the YSlow performance analysis tool. It provides code examples for registering a single rule using registerRule and registering a group of rules as a ruleset using registerRuleset. The document also lists some related web performance analysis tools and links to resources for learning more.
The document discusses various techniques for optimizing CSS and images to improve page load performance. It recommends reducing CSS file sizes through minification and reusable rules, minimizing HTTP requests by inlining critical CSS and using sprites, and optimizing image file sizes by converting GIFs to PNGs and running JPEG and PNG files through optimization tools. Analyzing the top 1000 sites revealed opportunities to reduce file sizes through these techniques, saving over 20% for CSS and over 10% for images on average.
The document discusses DOM scripting performance. It begins by showing how accessing the DOM in a loop can be slow, performing thousands of get and set operations. It then discusses how the bridge between the DOM and JavaScript engines causes performance issues. Tools like Dynatrace can be used to analyze performance bottlenecks. The document concludes by providing some recommendations to improve DOM scripting performance, such as caching DOM references, updating DOM elements offline, and minimizing unnecessary reflows and repaints.
Faster website loading speeds directly correlate to increased user satisfaction and business metrics like revenue and traffic. Studies show even small improvements in speed, like reducing load times by 1 second, can increase conversion rates by 2.8-4.3%. Slower sites see 5-9% drops in full page traffic and less repeat visits. Focusing page optimizations on front-end components, which account for most load time, can yield the biggest gains like Shopzilla saw moving from 6 to 1.2 seconds and Netflix reducing outbound traffic 43% with compression.
Slides from Ajax Experience 2009. In this session:
- Object creation patterns
- Code reuse patterns
- Functional patterns
- More on object creation
- Design patterns
Some example patterns: object creation with literals and constructos, prototypes, inheritance and other code reuse patterns, lazy definition, callbacks, singleton, factory, classical and prototypal inheritance, namespaces, chaining, modules, static methods, private and privileged members
For more information, see:
http://jspatterns.com
My column in the JavaScript Magazine (http://jsmag.com)
Blog: http://phpied.com
Click the Notes tab to see what I talked about on each slide. These are slides from my Ignite Velocity talk. "ignite" means 20 slides changing automatically after 15 seconds, total of 5 minutes talk. For slideshare, I've expanded the transitions into slides so the slide count is more than 20.
High Performance Kick Ass Web Apps (JavaScript edition)Stoyan Stefanov
The document discusses techniques for improving the performance of web applications, with a focus on JavaScript. It covers minimizing HTTP requests through techniques like combining files and using data URIs. It also discusses gzipping, minifying, caching strategies, avoiding blocking resources, and JavaScript optimizations. The overall message is that performance matters for user experience and conversion rates, and there are many ways to optimize the critical rendering path and page load times through smart coding practices.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
We’re bringing the TDX energy to our community with 2 power-packed sessions:
🛠️ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
📄 Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
12. On trade-offs
“…everything has its drawbacks,
as the man said when his
mother-in-law died, and they
came upon him for the funeral
expenses”
Jerome K. Jerome
Three man in a boat
13. The Life of Page 2.0
HTML page
request onload settles request
sent
marriage? R.I.P.
conception birth graduation
User perceived
“onload” happens
somewhere here
21. Less HTTP requests
• repeat for CSS:
<link
href="all.css"
rel="stylesheet"
type="text/css”
/>
22. Less HTTP requests
• CSS sprites for background
images
background‐position: ‐22px ‐0px;
width: 12px;
height: 10px;
23. Less HTTP requests
CSS sprites
• Before: 15 requests, 6.8 K
• After: 1 request, 1.4 K
24. Less HTTP requests
• CSS sprites – a pain,
but there are tools
http://csssprites.com
http://spritegen.website‐performance.org/
31. Less HTTP requests
• data: URI scheme
• MHTML for IE < 8
http://www.phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/
http://www.hedgerwow.com/360/dhtml/base64-image/demo.php
32. Less HTTP requests - drawback
• atomic components
• invalidated by small changes
• need to schedule changes
33. Less stuff? Cache
• Cache is less universal than
we think
• You can help
http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
34. “never expire” policy
• Static components with far-
future Expires header
• JS, CSS, img
ExpiresActive On
ExpiresByType image/png "access plus 10 years"
50. Gzip or minification?
• 62,885 bytes - original jQuery (back in
Aug 2007)
• 31,822 - minified with the YUI
Compressor
• 19,758 - original gzipped
• 10,818 - minified and gzipped FTW
http://www.julienlecomte.net/blog/2007/08/13/
57. Images Loss-
1. No GIFs, PNG8 less
2. Crush PNGs
3. run JPEGs through jpegtran
4. Gifsicle for animations
http://yuiblog.com/blog/2008/11/14/imageopt-3/
60. Images – duh!
1. Don’t scale in HTML
2. Generated images should
be crushed PNGs too
61. Images
• It’s only human to forget
• All you need is a process so
you don’t have to
remember
62. 204
• The world’s smallest component?
• 204 No Content
<?php
header("HTTP/1.0 204 No Content");
// .... do your job, e.g. logging
?>
http://www.phpied.com/204-no-content/
68. Non-blocking JavaScript
• Include via DOM
html
js
png
png
var js = document.createElement('script');
js.src = 'myscript.js';
var h = document.getElementsByTagName('head')[0];
h.appendChild(js);
96. Rendering
• CSS on top
• No separate print CSS
• CSS refactoring
• No AlphaImageLoader
• Expensive elements
• No CSS expressions
• Image dimensions
97. CSS early on
• No separate print CSS file
/* screen styles */
#nav {...}
.banner {...}
/* print styles */
@media print {
#nav {display: none}
.banner {display: none;}
}
98. CSS refactoring
• CSS tends to grow
• Find unused selectors –
DustMeSelectors extension
• Cleanup things like:
#header #menu {...}
div#menu {...}
ul li {...}
105. Yahoo! performance rules
1. Make Fewer HTTP Requests 19. Reduce the Number of DOM Elements
2. Use a Content Delivery Network 20. Split Components Across Domains
3. Add an Expires or a Cache-Control 21. Minimize the Number of iframes
Header 22. No 404s
4. Gzip Components 23. Reduce Cookie Size
5. Put Stylesheets at the Top 24. Use Cookie-free Domains for
6. Put Scripts at the Bottom Components
7. Avoid CSS Expressions 25. Minimize DOM Access
8. Make JavaScript and CSS External 26. Develop Smart Event Handlers
9. Reduce DNS Lookups 27. Choose <link> over @import
10. Minify JavaScript and CSS 28. Avoid Filters
11. Avoid Redirects 29. Optimize Images
12. Remove Duplicate JS and CSS 30. Optimize CSS Sprites
13. Configure ETags 31. Don't Scale Images in HTML
14. Make Ajax Cacheable 32. Make favicon.ico Small and
15. Flush the Buffer Early Cacheable
16. Use GET for AJAX Requests 33. Keep Components under 25K
17. Post-load Components 34. Pack Components into a Multipart
Document
18. Preload Components
106. YSlow 1.0. rules
1. Make Fewer HTTP Requests 19. Reduce the Number of DOM Elements
2. Use a Content Delivery Network 20. Split Components Across Domains
3. Add an Expires or a Cache-Control 21. Minimize the Number of iframes
Header 22. No 404s
4. Gzip Components 23. Reduce Cookie Size
5. Put Stylesheets at the Top 24. Use Cookie-free Domains for
6. Put Scripts at the Bottom Components
7. Avoid CSS Expressions 25. Minimize DOM Access
8. Make JavaScript and CSS External 26. Develop Smart Event Handlers
9. Reduce DNS Lookups 27. Choose <link> over @import
10. Minify JavaScript and CSS 28. Avoid Filters
11. Avoid Redirects 29. Optimize Images
12. Remove Duplicate JS and CSS 30. Optimize CSS Sprites
13. Configure ETags 31. Don't Scale Images in HTML
14. Make Ajax Cacheable 32. Make favicon.ico Small and
15. Flush the Buffer Early Cacheable
16. Use GET for AJAX Requests 33. Keep Components under 25K
17. Post-load Components 34. Pack Components into a Multipart
Document
18. Preload Components
107. YSlow 2.0. rules
1. Make Fewer HTTP Requests 19. Reduce the Number of DOM Elements
2. Use a Content Delivery Network 20. Split Components Across Domains
3. Add an Expires or a Cache-Control 21. Minimize the Number of iframes
Header 22. No 404s
4. Gzip Components 23. Reduce Cookie Size
5. Put Stylesheets at the Top 24. Use Cookie-free Domains for
6. Put Scripts at the Bottom Components
7. Avoid CSS Expressions 25. Minimize DOM Access
8. Make JavaScript and CSS External 26. Develop Smart Event Handlers
9. Reduce DNS Lookups 27. Choose <link> over @import
10. Minify JavaScript and CSS 28. Avoid Filters
11. Avoid Redirects 29. Optimize Images
12. Remove Duplicate JS and CSS 30. Optimize CSS Sprites
13. Configure ETags 31. Don't Scale Images in HTML
14. Make Ajax Cacheable 32. Make favicon.ico Small and
15. Flush the Buffer Early Cacheable
16. Use GET for AJAX Requests 33. Keep Components under 25K
17. Post-load Components 34. Pack Components into a Multipart
Document
18. Preload Components
108. YSlow 1.0. rule weights
1. Make Fewer HTTP Requests 8
2. Use a Content Delivery Network 6
3. Add an Expires or a Cache-Control Header 10
4. Gzip Components 8
5. Put Stylesheets at the Top 4
6. Put Scripts at the Bottom 4
7. Avoid CSS Expressions 3
8. Make JavaScript and CSS External 4
9. Reduce DNS Lookups 3
10. Minify JavaScript 4
11. Avoid Redirects 4
12. Remove Duplicate JS 4
13. Configure Etags 2
109. YSlow 2.0. rule weights
1. Make Fewer HTTP Requests 8
2. Use a Content Delivery Network 6
3. Add an Expires or a Cache-Control Header 10
4. Gzip Components 8
5. Put Stylesheets at the Top 4
6. Put Scripts at the Bottom 4
7. Avoid CSS Expressions 3
8. Make JavaScript and CSS External 4
9. Reduce DNS Lookups 3
10. Minify JavaScript and CSS 4
11. Avoid Redirects 4
12. Remove Duplicate JS and CSS 4
13. Configure Etags 2
14. Make Ajax Cacheable 4
16. Use GET for AJAX Requests 3
19. Reduce the Number of DOM Elements 3
22. No 404s 4
23. Reduce Cookie Size 3
24. Use Cookie-free Domains for Components 3
28. Avoid Filters 4
31. Don't Scale Images in HTML 3
32. Make favicon.ico Small and Cacheable 2
110. YSlow score
foreach rule
total += rule score * rule weight
end foreach
score = total / sum of rule weights
114. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External # ok -points
9. Reduce DNS Lookups
10. Minify JavaScript and CSS JS 3 -4/off
11. Avoid Redirects
CSS 2 -4/off
12. Remove Duplicate JS and CSS
13. Configure Etags img 6 -3/off
14. Make Ajax Cacheable
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
115. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects -10 points
12. Remove Duplicate JS and CSS
13. Configure Etags
per
14. Make Ajax Cacheable offending
16. Use GET for AJAX Requests component
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
116. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add Expires Headers
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS If expiration
11. Avoid Redirects is less than
12. Remove Duplicate JS and CSS
13. Configure Etags
2 days
14. Make Ajax Cacheable subtract -11
16. Use GET for AJAX Requests points per
19. Reduce the Number of DOM Elements
component
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
117. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS -11 points
11. Avoid Redirects per
12. Remove Duplicate JS and CSS
13. Configure Etags
offending
14. Make Ajax Cacheable component
16. Use GET for AJAX Requests bigger than
19. Reduce the Number of DOM Elements
500 bytes
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
118. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects -10 points
12. Remove Duplicate JS and CSS
13. Configure Etags
per
14. Make Ajax Cacheable offending
16. Use GET for AJAX Requests component
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
119. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects -5 points
12. Remove Duplicate JS and CSS
13. Configure Etags
per
14. Make Ajax Cacheable offending
16. Use GET for AJAX Requests component
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
120. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS -2 points
13. Configure Etags per
Make Ajax Cacheable
14.
16. Use GET for AJAX Requests
expression
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
121. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JS and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags
14. Make Ajax Cacheable Score is
16. Use GET for AJAX Requests always n/a
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
122. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
4 domains
12. Remove Duplicate JS and CSS ok
13. Configure Etags -5 points
Make Ajax Cacheable
14.
16. Use GET for AJAX Requests
per domain
19. Reduce the Number of DOM Elements otherwise
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
123. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify -10 points
11. Avoid Redirects
12. Remove Duplicate JS and CSS per
13. Configure Etags offender,
Make Ajax Cacheable
14.
16. Use GET for AJAX Requests
including
19. Reduce the Number of DOM Elements inline
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
124. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags
-10 points
14. Make Ajax Cacheable per redirect
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
125. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. No Duplicates -5 points
per
13. Configure Etags
14. Make Ajax Cacheable duplicate
16. Use GET for AJAX Requests JS or CSS
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
126. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
-11 points
13. Configure ETags per
14. Make Ajax Cacheable offending
16. Use GET for AJAX Requests component
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
127. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom -5 points
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
per XHR
9. Reduce DNS Lookups without at
10. Minify JavaScript and CSS least 1 hour
11. Avoid Redirects
expiration
12. Remove Duplicate JS and CSS
13. Configure Etags
14. Make Ajax Cacheable
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
128. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top -5 points
6. Put Scripts at the Bottom per
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
non-GET
9. Reduce DNS Lookups XHR
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags
14. Make Ajax Cacheable
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
129. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top -10 points
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
for every
8. Make JavaScript and CSS External 250
9. Reduce DNS Lookups elements
10. Minify JavaScript and CSS
over 900
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags
14. Make Ajax Cacheable
16. Use GET for AJAX Requests
19. Reduce # of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
130. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags -5 points
14. Make Ajax Cacheable per
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
offending
component
22. No 404s
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
131. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects -10 points
12. Remove Duplicate JS and CSS
per
13. Configure Etags
14. Make Ajax Cacheable
component
16. Use GET for AJAX Requests requested
19. Reduce the Number of DOM Elements with over
No 404s
22.
1000 bytes
23. Reduce Cookie Size of cookies
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
132. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions -5 points
8. Make JavaScript and CSS External per
Reduce DNS Lookups
9.
10. Minify JavaScript and CSS
component
11. Avoid Redirects requested
12. Remove Duplicate JS and CSS with a
13. Configure Etags cookie
14. Make Ajax Cacheable
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
22. No 404s
23. Reduce Cookie Size
24. Cookie-free Domains
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
133. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
-5 points
13. Configure Etags
14. Make Ajax Cacheable
per offense
16. Use GET for AJAX Requests or
19. Reduce the Number of DOM Elements -2 if using
No 404s
22.
23. Reduce Cookie Size
_filter hack
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
134. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
13. Configure Etags -5 points
14. Make Ajax Cacheable per scaled
16. Use GET for AJAX Requests
19. Reduce the Number of DOM Elements
down
22. No 404s image
23. Reduce Cookie Size
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Make favicon.ico Small and Cacheable
135. Rule penalties
1. Make Fewer HTTP Requests
2. Use a Content Delivery Network
3. Add an Expires or a Cache-Control Header
4. Gzip Components
5. Put Stylesheets at the Top
6. Put Scripts at the Bottom
7. Avoid CSS Expressions
8. Make JavaScript and CSS External
9. Reduce DNS Lookups
10. Minify JavaScript and CSS
11. Avoid Redirects
12. Remove Duplicate JS and CSS
-5 points if
13. Configure Etags
14. Make Ajax Cacheable
size is over
16. Use GET for AJAX Requests 2000 bytes
19. Reduce the Number of DOM Elements and -5 if no
No 404s
22.
23. Reduce Cookie Size
expiration
24. Use Cookie-free Domains for Components
28. Avoid Filters
31. Don't Scale Images in HTML
32. Small cacheable favicon
140. It’s a marathon
• Not a sprint
• Measure, monitor, link to
business metrics
• Bugs are expensive as the
time passes, performance
bugs even more so