Performance is the most important attribute for success of any commercial and Enterprise Software. In a client server environment, developers focus a lot on optimizing the Data and Logical Tiers. Optimization of Presentation Tier which is responsible for more than 30 % of performance is usually ignored.
The document is developed with the intension to teach the technical staff on Optimizing the Presentation Tier which significantly improves the performance of the Client Server applications.
Internet applications (IAs) are web applications that have features of desktop apps and run in web browsers. IAs transfer most processing to the client but keep data on application servers. IAs can run locally in web browsers without installation and can connect intermittently. While more responsive than traditional web apps, IAs have some limitations like restricted access to system resources and potential loss of integrity if client modifies structure.
This document provides an overview of server-side scripting and how it enables dynamic web pages. Static web pages contain fixed HTML content, while dynamic pages have content that can change. Server-side scripts allow generating HTML on the fly by accessing databases and other sources of dynamic data. Popular scripting languages include PHP, ASP, and Ruby on Rails. Scripts run on the web server, build HTML responses using content from databases or other sources, and send the completed pages to clients without revealing the underlying scripting.
Mobile applications Development - Lecture 8
Anatomy of an HTML 5 mobile web app
PhoneGap
This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Monitoring web application response times, a new approachMark Friedman
An approach to capturing and integrating web client Real User Measurements from the Navigation object with server-side network and HttpServer diagnostic events.
The document discusses implementing online workflow in PeopleSoft. It describes the advantages of workflow as automating business processes and routing information to the right people. It outlines prerequisites like configuring SMTP servers. Key objects in workflow are described like business processes, activities, steps, events, and worklist notifications. The steps to develop a workflow application are provided, such as designing processes, creating maps and roles, and defining triggers. Configuration and testing steps are also included.
HTML5 and the dawn of rich mobile web applicationsJames Pearce
HTML5 and its related technologies are enabling new ways to build beautiful sites and applications for contemporary mobile devices. Native mobile developers can now use web technologies to surmount cross-platform headaches, and desktop web developers can reach mobile users in familiar, app-like ways. This session explores the state of the art in HTML5-based mobile web frameworks, and demonstrates the practical possibilities that this powerful and standards-based approach can bring.
Here are the slides from my talk at @media in London two weeks ago titled "Professional Frontend Engineering." I had four goals for the talk.
Put a stake in the ground.
Reiterate our values.
Advocate the discipline.
Nurture a healthy Web.
The goals were threaded throughout the four sections of the talk::
Historical Perspective
Our Beliefs & Principles
Knowledge Areas & Best Practices
Why It All Matters
The professionalization of frontend engineering is a topic I'm passionate about. I think it is critical to the advancement of the Internet.
Presented May 30th, 2008, in London at the @media conference in the plenary opening day two.
Scaling asp.net websites to millions of usersoazabir
This document discusses various techniques for optimizing ASP.NET applications to scale from thousands to millions of users. It covers topics such as preventing denial of service attacks, optimizing the ASP.NET process model and pipeline, reducing the size of ASP.NET cookies on static content, improving System.net settings, optimizing queries to ASP.NET membership providers, issues with LINQ to SQL, using transaction isolation levels to prevent deadlocks, and employing a content delivery network. The overall message is that ASP.NET requires various "hacks" at the code, database, and configuration levels to scale to support millions of hits.
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...ZendCon
Extend the market reach of your PHP application while creating additional revenue for your Company! Parallels a worldwide leader in virtualization and automation software that optimizes computing across all major hardware, operating systems, and virtualization platforms has the ideal platform for your PHP Application.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
Not surprisingly, there’s no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want — both from your end user’s perspective and ultimately from your organization’s perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. You’ll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
This document discusses how to scale PHP applications to meet high demand. It begins by noting that large companies like Facebook and Wikipedia use PHP. It then outlines several techniques for scaling PHP, including: using opcode caches to improve performance; storing sessions in a database rather than disk; leveraging in-memory data caches like Memcached and Redis; doing blocking work in background tasks via queues; and utilizing HTTP caching with a reverse proxy cache. The document emphasizes that performance is important for user experience and business results, and that these techniques can help PHP applications handle high traffic loads.
Content delivery Plone Symposium East 2010alan runyan
ContentMirror allows Plone content to be delivered out-of-band by synchronizing content from the Plone database into a relational database management system (RDBMS). This decouples content delivery from Plone, allowing other applications and frameworks to serve the content dynamically or statically. ContentMirror provides a simple, extensible, and fast way to mirror Plone content and has been used successfully in several large projects. While atypical for Plone, out-of-band content delivery can help overcome constraints for content management when organizational structures or technical requirements differ from Plone's default approach.
Frequently asked MuleSoft Interview Questions and Answers from TechlightningArul ChristhuRaj Alphonse
MuleSoft Interview Questions and answers from youtube channel Techlightning
https://www.youtube.com/watch?v=JqBgT2t6cCQ&list=PLfEAetjBY9s4YdBie3VSpufxNcnC3wJvK
This document contains top 50 MuleSoft Interview questions for the MuleSoft software development job aspirants. Also, this helps, who are taking MCD API Design Associate exam.
Rational Host Access Transformation Services (HATS) transforms traditional text-based interfaces into web, portlet, rich client or mobile device interfaces. It allows extending existing 3270, 5250, and VT applications as standard web services. HATS can easily convert host application screens to user-friendly GUIs. It uses macros to extract and prompt for data, which can then be used to generate Integration Objects and create RESTful or SOAP web services from them. This allows extending the reach of legacy applications to new users and integrating them with other systems.
This document discusses load balancing of web requests to make web applications highly available. It describes several approaches to load balancing, including using multiple web servers with a hardware load balancer to distribute requests, load balancing between application servers behind web servers, and using an external cache server to store session data. The document concludes that current solutions have a limitation in that load balancers may continue sending requests to overloaded or underperforming backend servers, and recommends checking server performance parameters regularly to route requests only to available servers.
The document discusses three developer tricks for CQ5/WEM: 1) front-end optimization techniques like concatenating, minifying, and gzipping client-side libraries, 2) mobile detection using the Wireless Universal Resource File to determine device capabilities and serve tailored content, and 3) mobile content synchronization to keep mobile versions of content in sync with their desktop counterparts.
Engage - Expanding XPages with Bootstrap Plugins for ultimate usabilityJohnny Oldenburger
Develop highly user friendly responsive web (XPages) applications by making use of Bootstrap and JQuery Plugins as Select2, DateTimePickers, Multiselect, Confirmation, Modals, Popovers and Notifications for ultimate usability based on the latest versions of these plugins, including solutions for the AMD problem. Expect more of XPages Applications and go beyond the basics and create applications that nobody ever thought possible using XPages. Comprehensive demos of several plugins are shown within an XPages application.
This is a presentation I made at my local Northern Virginia Ruby Users Group. It discusses the install, setup and use of a few useful Ruby on Rails plugins.
In the 2011 book “Physics of the Future”, author Michio Kaku predicted that Moore’s Law will end and this would turn Silicon Valley into rust if an alternative and suitable replacement for silicon was not found. For the last 4 decades, Moore’s Law came about to represent unstoppable technological progress. At its heart was the observation that the number of transistors fabricated onto a chip would double every two years and that the cost would also fall off at a similar rate. It is very important to note that this law is an observation and not an actual physical or natural law. However, as of 2010 the update to the International Technology Roadmap for Semiconductors has shown growth slowing by 2013 after which densities are going to double only every three years. We are hitting the limits of the number of electrons that can be fit in a given area.
One option to overcome this limitation is to create quantum computers that will take advantage of the quantum character of molecules to perform the processing tasks of a conventional computer. Quantum computers could very possibly one day be able to replace silicon chips, just as the transistor replaced vacuum tube.
Integrated ALM using Microsoft technologies improves the overall development efficiency by up to 30%.
All in One Solution provides the best overall value and utility versus point solutions because start-up and recurring costs are normally less, features are better integrated, and reporting is much more seamless and robust.
The document discusses optimization of the presentation tier of web applications. It notes that the presentation tier is often overlooked despite being responsible for over 30% of client/server performance. Some key optimizations discussed include reducing HTTP requests, optimizing response objects by reducing size and load pattern, JavaScript minification and placement, image sprites, caching, and ensuring valid HTML markup.
The document compares Java bytecode and the Common Intermediate Language (CIL) used in .NET. Both Java and .NET compile source code to an intermediate bytecode - Java bytecode and CIL respectively. These bytecodes are then executed by their virtual machines - the Java Virtual Machine (JVM) for Java bytecode and the Common Language Runtime (CLR) for CIL. The document provides details on the structure and purpose of bytecode, CIL, the JVM, and CLR.
The document compares several major programming platforms: C++, Java, C#, and PHP. It provides pros and cons for each platform, discussing performance, cross-platform capabilities, trends, and other factors. It focuses on differences between C++, Java, C# on .NET, C# on Mono, and web development platforms like PHP that are commonly used with LAMP stacks.
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
How can we take UX and Data Storytelling out of the tech context and use them to change the way government behaves?
Showcasing the truth is the highest goal of data storytelling. Because the design of a chart can affect the interpretation of data in a major way, one must wield visual tools with care and deliberation. Using quantitative facts to evoke an emotional response is best achieved with the combination of UX and data storytelling.
This document summarizes a study of CEO succession events among the largest 100 U.S. corporations between 2005-2015. The study analyzed executives who were passed over for the CEO role ("succession losers") and their subsequent careers. It found that 74% of passed over executives left their companies, with 30% eventually becoming CEOs elsewhere. However, companies led by succession losers saw average stock price declines of 13% over 3 years, compared to gains for companies whose CEO selections remained unchanged. The findings suggest that boards generally identify the most qualified CEO candidates, though differences between internal and external hires complicate comparisons.
The document provides an overview of the key components that go into making a PHP and MySQL based web application. It discusses the use of HTML, CSS, JavaScript, jQuery, client-side and server-side scripting, AJAX, PHP, MySQL, code editors, tools for wireframing, image editing and more. It also covers aspects like hosting, version management, software deployment, traditional and agile development methodologies, and software documentation.
Todays web front-end applications architecture. All resources shared at the end of presentation.
Full sources on:
https://lnkd.in/gyQuFKK
https://lnkd.in/gZK8Sp3
Web Application Development using PHP and MySQLGanesh Kamath
1. The document discusses the development of a Python script generator web application using PHP and MySQL. It covers the concepts, requirements, architecture, features and benefits of the application.
2. The application aims to help validation engineers generate Python scripts for test automation without needing expertise in Python. It allows auto-population and updating of scripts based on test cases, libraries and functions selected.
3. In conclusion, the Python script generator reduced validation cycle times by eliminating syntax errors and the need for Python training, while providing a centralized repository for standardized test scripts.
Full Stack Web Development: Vision, Challenges and Future ScopeIRJET Journal
This document discusses full stack web development, including its vision, challenges, and future scope. Full stack developers work on both the front-end and back-end of websites and applications. They must have skills in technologies like HTML, CSS, JavaScript for front-end development as well as skills in back-end languages like PHP, Node.js, and databases. While full stack developers can handle entire projects themselves, their work also faces challenges like constantly learning new technologies, debugging complex systems, and ensuring high performance across different components. However, the field of full stack development is growing due to demand for such full-spectrum skills, and it provides advantages like versatility, experience, and ability to troubleshoot issues.
Sandip Mohod has over 10 years of experience as a Java developer working primarily with J2EE technologies. He has worked on projects in banking, e-commerce, and other domains. His technical skills include Java, Spring, Hibernate, RESTful web services, SQL, and various frameworks, tools, and technologies. He currently works as a Senior Java Developer at Macy's.com on their recommendation and product optimization system.
7 secrets of performance oriented front end development servicesKaty Slemon
Why a good front-end is the primary necessity of any digital solution and how can you, as a web/mobile designer or app owner, can be built a performance-optimized front-end for its users.
To optimize an ASP.Net application for performance, the document recommends optimizing both the front-end UI code and back-end database. It provides tips for performance optimization including using stored procedures, writing efficient queries, disabling ViewState where possible, avoiding unnecessary use of SSL, adding script references at the bottom of pages, and validating form entries using client-side JavaScript.
Demystifying web performance tooling and metricsAnna Migas
Web performance has been one of the most talked about web development topics in the recent years. Yet if you try to start your journey with the speed optimisations, you might find yourself in a pickle. With the tooling, you might feel overwhelmed—it looks complex and hard to comprehend. With the metrics: at first glance all of them seem similar, not to mention that they change over time and you cannot figure out which of them to take into account.
The document provides an introduction to the .NET framework. It discusses that .NET is a software platform and runtime that supports multiple programming languages and allows development of web and Windows applications. It describes key aspects of .NET including the Common Language Runtime (CLR), Windows Forms, ASP.NET, ADO.NET, and Visual Studio.NET development tools. It also provides comparisons between .NET and Java platforms and architectures.
The document provides an overview and agenda for an AJAX team meeting. It discusses what AJAX is, the benefits of using an AJAX approach, and proposes a testing strategy for an e-docket application that includes AJAX. The testing strategy involves functional, performance, usability, installation/compatibility, security, scalability, and reliability testing. Specific test ideas are also outlined.
This document summarizes an advanced web design workshop that teaches skills for utilizing Microsoft FrontPage 98 and other technologies. The workshop covers FrontPage features, JavaScript for client-side scripting, Active Server Pages for server-side scripting, connecting to databases using ODBC, and using the FrontPage SDK and Visual InterDev. The workshop runs over two days and includes hands-on exercises for participants to gain practical experience.
Whitepaper: Volume Testing Thick Clients and DatabasesRTTS
Even in the current age of cloud computing there are still endless benefits of developing thick client software: non-dependency on browser version, offline support, low hosting fees, and utilizing existing end user hardware, to name a few.
It's more than likely that your organization is utilizing at least a few thick client applications. Now consider this: as your user base grows, does your think client's back-end server need to grow as well? How quickly? How do you ensure that you provide the correct amount of additional capacity without overstepping and unnecessarily eating into your profits? The answer is volume testing.
Read how RTTS does this with IBM Rational Performance Tester.
In the realm of real-time applications, Large Language Models (LLMs) have long dominated language-centric tasks, while tools like OpenCV have excelled in the visual domain. However, the future (maybe) lies in the fusion of LLMs and deep learning, giving birth to the revolutionary concept of Large Action Models (LAMs).
Imagine a world where AI not only comprehends language but mimics human actions on technology interfaces. For example, the Rabbit r1 device presented at CES 2024, driven by an AI operating system and LAM, brings this vision to life. It executes complex commands, leveraging GUIs with unprecedented ease.
In this presentation, join me on a journey as a software engineer tinkering with WebRTC, Janus, and LLM/LAMs. Together, we’ll evaluate the current state of these AI technologies, unraveling the potential they hold for shaping the future of real-time applications.
- Vinay Mittal is an IT professional with over 10 years of experience in C++ development. He currently works as a Computer Scientist at Adobe India.
- His skills include C/C++, Perl, Unix shell scripting, Javascript, AWS services, SQL databases, version control systems, and UNIX/Linux systems.
- Previous experience includes developing multi-threaded C++ applications at RBS and security applications at CA. At Amazon he worked on product ads and billing systems.
- Education includes a Masters in Computer Science from IIT Roorkee with honors.
The document discusses Web 2.0 and how it relates to service-oriented architecture (SOA). It defines Web 2.0 as a participatory web platform where users can socialize, communicate, publish, and share information. It also discusses how enterprises can use Web 2.0 tools to improve collaboration and knowledge sharing among employees. Additionally, the document explores how web mashups and rich internet applications (RIAs) are playing a role in the evolution of Web 2.0 and its integration with SOA.
The document provides guidance on developing reliable load test scripts and scenarios. It discusses test data requirements, parameterizing dynamic values, proper use of HTTP protocol versus GUI-level scripting, handling asynchronous requests, implementing think time and pacing, validating scripts, and best practices for load scenario configuration. The goal is to explore main points around scripting best practices, validating load scripts thoroughly, and configuration best practices to build effective performance tests.
This document discusses a visit made to the website of ACME Car Rental, a leading travel services company in Malaysia. It provides details about ACME's history and services. The document also answers questions about how the website is developed and maintained. Key tools used include WebMatrix, ASP.NET, CSS, JavaScript, and Microsoft SQL Server. Security features implemented on the server include regular patching and password protection for changes. The website content is kept up-to-date through regular updates, response to feedback, and checking email regularly.
Did you know that 80% to 90% of the user's page-load time comes from components outside the firewall? Optimizing performance on the front end (e.g. from the client side) can enhance the user experience by reducing the response times of your web pages and making them load and render much faster.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Choose our Linux Web Hosting for a seamless and successful online presencerajancomputerfbd
Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently.
Visit- https://onliveserver.com/linux-web-hosting/
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
Best Practices for Effectively Running dbt in Airflow.pdfTatiana Al-Chueyr
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Presemtation Tier Optimizations
1. TECHNOLOGY UPDATE
Presentation Tier Optimizations:
A.k.a. Optimization of Web UI Layer
Introduction
Performance is the most important attribute for success of any commercial and Enterprise Software. In
a client server environment, developers focus a lot on optimizing the Data and Logical Tiers.
Optimization of Presentation Tier which is responsible for more than 30 % of performance is usually
ignored.
The document is developed with the intension to teach the technical staff on Optimizing the
Presentation Tier which significantly improves the performance of the Client Server applications.
Why is speed important?
Google found that the page with 10 results took 0.4 seconds to generate. The page with 30 results took
0.9 seconds. Half a second delay caused a 20% drop in traffic. Half a second delay killed user
satisfaction.
In A/B tests, Amazon tried delaying the page in increments of 100 milliseconds and found that even
very small delays would result in substantial and costly drops in revenue.
Reference: http://www.codinghorror.com/blog/2011/06/performance-is-a-feature.html
There's plenty of experimental data proving that the slower your Client-Server Application /Website
loads and displays, the less people will use it.
The converse is also true. That is, if the Client-Server Application/Website is fast, then more people
will use it. This follows logically if you think like an information omnivore: the faster you can load the
page, the faster you can tell whether that page contains what you want. The user's proximity to your
web server has an impact on response times.
Where should you start?
Any typical Client-Server Application can be divided into 3:
1. Data Tier (also known as Persistence Tier)
2. Application Tier (also known as Processing Tier or Logical Tier)
3. Presentation Tier
Data Tier or Persistence Tier is responsible for storing data. It comprises of DMBS, RDBMS, Flat files
etc…
Application Tier is the tier where the server code like PHP, C# (Asp.NET), Java (JSP) are compiled and
executed. It also comprises of the HTTP application server and server processing libraries.
Presentation Tier acts as the User Interface. It mainly comprises of HTML, CSS, Client Side Scripts
etc…
Anup Hariharan Nair Page 1 of 21
April 16, 2011
http://www.HiFiCoding.com/
2. Following diagram illustrates the relevance of each Tier.
Organizations primarily focus on optimization of Data Tier and Application Tier
Presentation Tier is usually ignored. Presentation Tier is responsible for more than 30% of
Client/Server application performance.
Anup Hariharan Nair Page 2 of 21
April 16, 2011
http://www.HiFiCoding.com/
3. So the main question is, if the Presentation Tier optimization was so important why is it ignored?
Who is to be blamed?
Well, in early days, there were no articles on patterns or engineering practices to optimize the
Presentation Tier.
You still required specialists to
1. Understand the loading pattern of HTTP-Response objects.
2. Optimize the Load pattern of HTTP-Response objects.
Consider the above figure. Whenever user enters a URL, the request is sent from the browser to the
server in the form of HTTP request objects. The request is processed by the server and the response is
sent back to the client in the form of HTTP response objects. The HTTP response objects include HTML,
CSS, Client Side Scripts etc…
Most of the response time is spent downloading all the components in the page: Flash, Images, CSS,
Client Side scripts, etc... So rather than starting with the difficult task of reengineering your
application architecture, it's better to first understand your HTTP content.
One of the most important aspects of optimizing the presentation Tier are
1. Reduce HTTP Requests
Reducing the total number of HTTP Requests made to the server by the Clients
browser.
2. Reduce HTTP Response
Reduce the total HTTP Response objects sent from server to client.
3. Optimize HTTP Response Objects
Reduce the size of response objects.
Re-Engineer the load pattern for response objects.
Anup Hariharan Nair Page 3 of 21
April 16, 2011
http://www.HiFiCoding.com/
4. What are primarily considered for optimization?
Total size of data to be loaded on HTTP calls. (Minify Html, CSS and JavaScript to reduce size
of response objects)
Time it takes for the browser to read (Parse) the markup language, and client side scripts.
(W3C compliant markup is rendered quickly by the Web-Browser.)
Number and size of the multimedia contents like video, photo, and flash.
HTTP server caching of repeated object requests.
Number of Content Delivery Networks (CDN) available from the point of HTTP request.
How do we practically optimize the Presentation Tier?
Let’s look at some of the optimization techniques which can be performed on any Client Server
application, regardless of its platform (LAMP/JAVA EE/.NET).
These include:
1. JavaScript Development Patterns.
2. Load media on Demand.
3. CSS Sprites
4. ETAG HTTP cache
5. CDN – Content Delivery Networks
6. Runtime Compressions
7. W3C compliance
Now let’s look into each in details.
Anup Hariharan Nair Page 4 of 21
April 16, 2011
http://www.HiFiCoding.com/
5. 1. JavaScript Development Patterns
JavaScript is used in billions of Web pages to add functionality, validate forms, communicate with the
server, and much more. Almost every Client Side Technologies like DOM, AJAX, jQuery, Moo Tools, E4X
etc… are one way or the other a derivative of JavaScript. Thus it is very important to follow certain
development patters while working with JavaScript.
Some of most important JavaScript Development Patterns include:
1. Load JavaScript On-Demand.
2. Compress Your JavaScript (minify files)
3. Place JavaScript at end of Markup.
1. Load JavaScript On-Demand.
<script type='text/javascript' src='snip.js'></script>
Vs.
If(event ==“true”)
{
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'snip.js'; /*Only import the Library on the occurrence of
an event.*/
document.getElementsByTagName('head')[0].appendChild(script);
}
/*import with a random query parameter to avoid caching*/
function $importNoCache(src){
var ms = new Date().getTime().toString();
var seed = "?" + ms;
$import(src + seed);
}
In the above piece of code, the fist line of code imports a JavaScript file “snip.js” into an HTML
document. Now the next 7 lines of code which follow the first line, also imports the “snip.js” into
an HTML document, but there is a difference. In the second version, we can apply a
condition/event and only when the condition/event is true, is when we actually import the
JavaScript file. This is useful pattern as we delay the load of heavy JavaScript libraries until they
are actually needed.
Note:
The remaining line of code towards the end is optional. They are useful when you want to avoid
the caching of the JavaScript files while making request. This is accomplished by adding seed
variable while making the request. In the above sample, time acts as the seed variable.
Anup Hariharan Nair Page 5 of 21
April 16, 2011
http://www.HiFiCoding.com/
6. 2. Minify JavaScript
Run JSLint (online or downloadable version) to analyze your code and make sure it is well-
formatted.
1. Use Rhino to compress your JavaScript.
2. Rhino will remove spaces, comments and shorten variable names where appropriate.
Using Rhino, we should pack the original JavaScript and deploy the packed version to my
website.
------------------------------------------------------------------------------------- -------------------------------
Before Minifying:
function todaydate()
{
/*Variable declaration*/
var today_date= new Date();
var myyear=today_date.getYear();
var mymonth=today_date.getMonth()+1 /*No semicolon, but will work */
var mytoday=today_date.getDate();
/*Action*/
document.write(myyear+"/"+mymonth+"/"+mytoday)
}
------------------------------------------------------------------------------------- -------------------------------
After Minifying:
function todaydate(){var today_date= new Date(); var
myyear=today_date.getYear();var mymonth =today_date.getMonth()+1; var
mytoday=today_date.getDate();document.write(myyear+"/"+mymonth+"/"+myto
day)}
------------------------------------------------------------------------------------------------ -----------------
If you compare the before Minifying and after Minifying, you will realize that that all the white
space is removed, the comments are deleted and the code is well formatted. The minified
JavaScript code will be smaller is size.
Developers should also remember the naming convention. Standard Naming Convention is
adding “.min” in file name. Usually a prefix just before the extension.
Sample:
When you try to download the latest version of jQuery library, it always provides you with 2
options. One is the Source version and other is the Minified version.
jquery-1.x.x.js (Source version or Developer version)
jquery-1.x.x.min.js (Minified version or Deployment Version)
Reason is that, the source version is the one that is understood by the developer as it contains
comments and is properly spaced and formatted. The Minified version is intended for
consumption/deployment purposes only.
Anup Hariharan Nair Page 6 of 21
April 16, 2011
http://www.HiFiCoding.com/
7. 3. Place your JavaScript at the end of your HTML.
Notice how Google analytics and other statistics tracking software want its code to be placed
right before the closing </body> tag. This allows the majority of page content (like images,
tables, text) to be loaded and rendered first by the Parser. The user sees content loading, so
the page looks responsive. At this point, the heavy JavaScript can begin loading near the end.
This is also useful for SEO (Search Engine Optimization) as Google/MSN/Yahoo AI crawling Bots
also prefer this pattern. Search Engine Crawlers usually only index Markup. They do not index
Client Side Scripts. Hence they prefer this pattern.
Sample
<html><head></head><body>
<!--Some Body Code-->
<button type="button" onclick="displayDate()">Display
Date</button>
<!--Some Body Code-->
<script type="text/javascript">
function displayDate()
{document.getElementById("demo").innerHTML=Date();}
</script>
<script src="myjs.js"></script>
</body></html>
In the above code the inline JavaScript and the external JavaScript import code are placed just
before the end of the body tag.
Anup Hariharan Nair Page 7 of 21
April 16, 2011
http://www.HiFiCoding.com/
8. 2. Load Media On-Demand
Yahoo.com loads images when they are in browsers viewable zone.
jQuery-Images-OnDemand is a very useful jQuery Library which allows you to achieve the same.
It loads images only when they are brought in the viewable zone of the browser.
URL to download this library: http://code.google.com/p/jquery-images-ondemand/
All that is needed is to append an additional CSS Class ”img-ondemand" to the “img” object as
follows:
<img class="class1 img-ondemand" longdesc="my_pic.jpg" src=
pix.gif" />
This is a very simple script to load images On-Demand. Using this you avoid to load all page images and
get a faster web page.
Note on HTML5:
With HTML5, Multimedia objects can also be extracted using jQuery or DOM, as they can be specified
by Tags instead of embedding using an OBJECT Tag. This will be very useful as it will allow us to delay
the load of video and audio much similar to images.
Anup Hariharan Nair Page 8 of 21
April 16, 2011
http://www.HiFiCoding.com/
9. 3. CSS Sprites
CSS sprites are a way to reduce the number of HTTP requests made for image resources referenced by
your site. Images are combined into one larger image at defined X and Y coordinates. Having assigned
this generated image to relevant page elements the background-position CSS property can then be used
to shift the visible area to the required component image.
Consider the following image:
Before Sprite
CSS Code:
/* Five different images.*/
#item1 a:hover{background: url('img_1.gif')}
#item2 a:hover{background: url('img_2.gif')}
#item3 a:hover{background: url('img_3.gif')}
#item4 a:hover{background: url('img_4.gif')}
#item5 a:hover{background: url('img_5.gif')}
HTML/XHTML Code:
<div id="item1"></div> <!—This will show the first image-->
<div id="item2"></div> <!—This will show the second image-->
<div id="item3"></div> <!—This will show the third image-->
<div id="item4"></div> <!—This will show the fourth image-->
<div id="item5"></div> <!—This will show the fifth image-->
In the above, depending on the number of images the number is HTTP requests increases.
Using CSS Sprite, we can reduce the number of HTTP request.
Anup Hariharan Nair Page 9 of 21
April 16, 2011
http://www.HiFiCoding.com/
10. Consider the following sample which makes use of CSS Sprite to load images.
After Sprite
CSS Code:
/* One image. Parts of the image are referenced. */
#item1 a:hover{background: url('merged_image.gif') 0 -45px;}
#item2 a:hover{background: url('merged_image.gif') -46px -45px;}
#item3 a:hover{background: url('merged_image.gif') -92px -45px;}
#item4 a:hover{background: url('merged_image.gif') -137px -45px;}
#item5 a:hover{background: url('merged_image.gif') -183px -45px;}
HTML/XHTML Code:
<div id="item1"> </div> <!—This will show the first image-->
<div id="item2"> </div> <!—This will show the second image-->
<div id="item3"> </div> <!—This will show the third image-->
<div id="item4"> </div> <!—This will show the fourth image-->
<div id="item5"> </div> <!—This will show the fifth image-->
You combine an unlimited number of images into one and then only display parts of that image using
CSS.
The origin of the term "sprites" comes from old school computer graphics and the video game industry.
The idea was that the computer could fetch a graphic into memory, and then only display parts of that
image at a time, which was faster than having to continually fetch new images.
The sprite was the big combined graphic. CSS Sprites is pretty much the exact same theory: get the
image once, shift it around and only display parts of it, saves the overhead of having to fetch multiple
images.
Anup Hariharan Nair Page 10 of 21
April 16, 2011
http://www.HiFiCoding.com/
11. CSS Sprites – Image Merge Pattern
Anup Hariharan Nair Page 11 of 21
April 16, 2011
http://www.HiFiCoding.com/
12. 4. HTTP Cache
The following illustrates the normal time based Caching.
Comparing versions with the modification time generally works, but could lead to problems.
What if the server’s clock was originally wrong and then got fixed?
What if daylight savings time comes early and the server isn’t updated?
The caches could be inaccurate. ETags to the rescue.
Caching – ETag (Entity tags)
An ETag is a unique identifier given to every file. It’s like a hash or fingerprint: every file gets a unique
fingerprint, and if you change the file (even by one byte), the fingerprint changes as well. Instead of
sending back the modification time, the server can send back the ETag (fingerprint):
ETag: ead145f
File Contents (could be an image, HTML, CSS, Javascript...)
The ETag can be any string which uniquely identifies the file. The next time the browser needs
logo.png, it can have a conversation like this:
Anup Hariharan Nair Page 12 of 21
April 16, 2011
http://www.HiFiCoding.com/
13. 5. CDN
A content delivery network or content distribution network (CDN) is a system of computers containing
copies of data, placed at various points in a network so as to maximize bandwidth for access to the
data from clients throughout the network.
A client accesses a copy of the data near to the client, as opposed to all clients accessing the same
central server, so as to avoid bottlenecks near that server.
Content types include web objects, downloadable objects (media files, software, and documents),
applications, real time media streams, and other components of internet delivery (DNS, routes, and
database queries).
An important point to note here is that they are not Replicated Servers.
Notable Commercial CDN providers include
Akamai Technologies
Amazon CloudFront
AT&T
Bitgravity
CDNetworks
Chinacache
Cotendo
EdgeCast Networks
Highwinds Network Group
Internap
Level 3 Communications
Limelight Networks
Microsoft Windows Azure CDN
Mirror Image Internet
NetDNA
Anup Hariharan Nair Page 13 of 21
April 16, 2011
http://www.HiFiCoding.com/
14. 6. Runtime – Compressions
HTTP compression, otherwise known as content encoding, is a publicly defined way to compress textual
content transferred from web servers to browsers. HTTP compression uses public domain compression
algorithms, like gzip and compress, to compress XHTML, JavaScript, CSS, and other text files at the
server. This standards-based method of delivering compressed content is built into HTTP 1.1, and most
modern browsers that support HTTP 1.1 support ZLIB inflation of deflated documents. In other words,
they can decompress compressed files automatically, which saves time and bandwidth.
The following diagram illustrates HTTP compression.
This is an obvious and effective optimization which is applied at both Application Tier and
Presentation Tier.
Configuring HTTP Compression in IIS 7:
http://technet.microsoft.com/en-us/library/cc771003%28WS.10%29.aspx
Note: It is not enabled by default.
Configuring HTTP GZIP Compression in APACHE
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
Note: Need to install GZIP modules and configure with Apache.
Anup Hariharan Nair Page 14 of 21
April 16, 2011
http://www.HiFiCoding.com/
15. 7. Valid W3C compliant pages
http://validator.w3.org/
W3C Compliance helps insure that your website is accessible from a number of devices; from different
browsers to the growing number of surfers using PDA's and cellular phones. So the question is how it is
relevant to performance. The reason is that W3C compliant documents can be quickly read and
rendered by the browser, without it getting confused.
This helps in avoiding a delay in rendering and as we stated in the beginning, every millisecond counts.
Now let’s look at the sample below:
<html><head></head><body>
<!--Some Body Code-->
<button type="button" onclick="displayDate()">Display Date</button>
<!--Some Body Code-->
<script type="text/javascript">
function displayDate()
{document.getElementById("demo").innerHTML=Date();}
</script>
<script src="myjs.js"><!--Forgot to close </script> tag….Not a W3C compliant
document-->
</body><!--Ensure Page W3C compliance to avoid delay in rendering by web-
browser-->
</html>
In the above code the developer forgot to close the </script> tag. This makes the document non W3C
compliant. However the page would still be rendered properly in most of the modern browsers. Though
the page is rendered, it takes time for the browser to render the page. Developers should remember
that more W3C compliant the page, faster the page rending speed.
Anup Hariharan Nair Page 15 of 21
April 16, 2011
http://www.HiFiCoding.com/
16. How do we test HTTP Response of our application?
There are two types of test which you can perform on your application.
1. Online Test - WebPageTest.ORG from AOL.
2. Offline Testing - YSlow plug-in for Firebug in Firefox
1. Online Testing
WebPagetest.ORG is an AOL sponsored website which provides testing the performance of web
pages from multiple locations/configurations and consuming the results in a friendly web
interface.
URL is http://www.webpagetest.org
When you enter the URL the following Screen appears:
Here you enter the URL which you want to test and press “Start Test”.
The site performs testing and provides the following 2 types of information:
1. Optimization Checklist.
2. Waterfall Load Pattern.
Now let’s look at both in details.
Anup Hariharan Nair Page 16 of 21
April 16, 2011
http://www.HiFiCoding.com/
17. 1. Optimization Checklist
As the name points out, it provides a list of things which needs to be optimized by the developer.
The Checklist includes
1. First Byte Time
Applicable Objects: Time to First Byte for the page (back-end processing + redirects)
What is checked: The target time is the time needed for the DNS, socket and SSL
negotiations + 100ms. A single letter grade will be deducted for every 100ms beyond the
target.
2. Keep-Alive
Applicable Objects: All objects that are from a domain that serves more than one object
for the page (i.e. if only a single object is served from a given domain it will not be
checked)
What is checked: The response header contains a "keep-alive" directive or the same socket
was used for more than one object from the given host.
3. GZIP Text
Anup Hariharan Nair Page 17 of 21
April 16, 2011
http://www.HiFiCoding.com/
18. Applicable Objects: All objects with a mime type of "text/*" or "*javascript*"
What is checked: Transfer-encoding is checked to see if it is gzip. If it is not then the file is
compressed and the percentage of compression is the result (so a page that can save 30% of
the size of its text by compressing would yield a 70% test result)
4. Compress Images
Applicable Objects: Any object with a mime type of "image/*"
What is checked: GIF - All pass
PNG - Must be 8 bit or lower (no 24-bit PNGs will pass)
JPEG - Within 10% of a photoshop quality 50 will pass, up to 50% larger will warn and
anything larger than that will fail.
The overall score is the percentage of image bytes that can be saved by re-compressing the
images.
5. Cache Static
Applicable Objects: Any non-html object with a mime type of "text/*", "*javascript*" or
"image/*" that does not explicitly have an Expires header of 0 or -1, a cache-control header
of "private", "no-store" or "no-cache" or a pragma header of "no-cache"
What is checked: An "Expires" header is present (and is not 0 or -1) or a "cache-control:
max-age" directive is present and set for an hour or greater. If the expiration is set for less
than 30 days you will get a warning (only applies to max-age currently).
6. Combine CSS/JS
Applicable Objects: All css and javascript objects
What is checked: If multiple files of the same type are served then each additional css file
beyond 1 will subtract 5 percent and each Javascript file beyond the first wil subtract 10
percent
7. Use A CDN
Applicable Objects: All static non-html content (css, js and images)
What is checked: Checked to see if it is hosted on a known CDN (CNAME mapped to a
known CDN network). The known CDN's are Akamai, Amazon CloudFront, Coral Cache,
Edgecast, Google, Highwinds, Internap, Limelight, Mirror Image, Panther and Yahoo
8. Minify JS
Applicable Objects: All html, javascript and json responses
What is checked: Javascript will be run through jsmin. If the original content was gzip
encoded, the minified version will also be gzipped for comparison. If > 5KB or 10% is saved
then it will fail. If > 1KB is saved, it will warn, otherwise it will pass.
9. Cookies
Applicable Objects: All requests
What is checked: Any request for a static object that sends up a cookie will fail. All other
requests that send up cookies will warn.
Anup Hariharan Nair Page 18 of 21
April 16, 2011
http://www.HiFiCoding.com/
19. 2. Waterfall Load Pattern
Calculating the load and load pattern is probably the trickiest issue in conducting website performance
tests.
WebPageTest.org provides HTTP Response Object Load Pattern.
It also provides information on the time at which the HTTP response objects were loaded.
The following screen displays how the data is displayed.
Anup Hariharan Nair Page 19 of 21
April 16, 2011
http://www.HiFiCoding.com/
20. 2. Offline testing
If your site is not hosted and your want to test your application during the development
process, then you can make use of YSlow. YSlow is a plug-in for Firebug in Firefox, from Yahoo
Developer Network.
YSlow analyzes web pages and suggests ways to improve their performance based on a set of
rules for high performance web pages. Features:
Grades web page based on one of three predefined rule set or a user-defined rule set;
It offers suggestions for improving the page's performance;
Summarizes the page's components;
Displays statistics about the page;
Provides tools for performance analysis, including Smush.it and JSLint.
URL to download YSlow: http://developer.yahoo.com/yslow/
YSlow plug-in for Firebug in Firefox
Anup Hariharan Nair Page 20 of 21
April 16, 2011
http://www.HiFiCoding.com/
21. References / Sources for further Reading
Yahoo Client-Server Developer Reference :
http://developer.yahoo.com/performance/rules.html
Google Client/Server Developer reference:
http://code.google.com/speed/page-speed/docs/rules_intro.html
W3C standards compliant Web sites
http://www.w3.org/QA/2002/07/WebAgency-Requirements
http://technet.microsoft.com/en-us/library/cc771003%28WS.10%29.aspx
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
http://code.google.com/p/jquery-images-ondemand/
http://www.codinghorror.com/blog/2011/06/performance-is-a-feature.html
http://www.webpagetest.org
Anup Hariharan Nair Page 21 of 21
April 16, 2011
http://www.HiFiCoding.com/