
Explore the world of web performance and learn why pages load seamlessly or stall, and how to tackle performance challenges for both seasoned developers and newbies.
Follow a real-life story of diagnosing a 40-second loading time in an Angular app and learn key lessons for improving web performance and avoiding poor loading times.
Meet Raja, a freelance senior software engineer and software architect, a Google developer expert in Angular and Women Techmakers ambassador, sharing web performance optimization insights and foundations for modern architectures.
Explore the three pillars of web performance: load performance, runtime performance, and random performance, and learn how they together deliver faster, more responsive web experiences.
Master rendering by turning HTML, CSS, and JavaScript into visible interactive experiences through parsing, constructing the DOM, calculating layout, and painting pixels.
Visualize the browser rendering a page in Mozilla Firefox, from dom nodes to render objects, and track metrics like first contentful paint and time to interactive.
Explore server side rendering and client side rendering, weighing performance, seo, and interactivity, and learn a hybrid approach that blends SSR and CSR for initial load and navigation.
Identify poor rendering by examining layout shifts and sluggish interactivity on the order confirmation page, then measure layout shifts using Chrome DevTools performance panel, memory select box, and garbage collection.
Identify factors behind render-blocking resources, including inefficient JavaScript, CSS, large DOM blocks, and numerous HTTP requests, and how caching, server performance, excessive web forms, and optimized images mitigate rendering delays.
Optimize web performance by reducing JavaScript execution time and optimizing CSS and images, and minimize layout thrashing from frequent DOM writes; use progressive rendering and lazy loading for perceived performance.
Offers a real world case study of a log management app, diagnosing rendering bottlenecks with devtools, and evaluates native controls, virtual scrolling, and rxjs lazy rendering as fixes.
Implement spec-driven development to ensure clean code over spaghetti code by providing precise constraints for AI, such as 80-line functions and at most three parameters, while investing in observability.
Discover how a persistence-driven web performance journey—from memory leaks and lighthouse audits to rendering improvements and real-world case studies—grew a vibrant community to over 30k students on Udemy.
Identify memory leaks as incorrect management of resource allocations that cause performance degradation when a program doesn't release memory it no longer needs and continues to consume more memory.
Identify and fix memory leaks in web apps by diagnosing root causes, tracking leaks, and recognizing patterns in source code, while optimizing end-user device resources.
Trace the web performance history from the flash era to single-page applications, and examine how JavaScript memory leaks and memory management affect mobile and browser performance.
Identify two types of web performance problems, including one-time performance and memory leaks. Apply fixes like splitting components and JavaScript files, removing unused code, and using the Whip Bundle Analyzer.
recognize memory leaks in web apps by watching for production slowdowns after long sessions, as the UI becomes sluggish and memory usage rises with increasing node size and listeners.
Identify memory leaks with Chrome DevTools using the performance timeline to detect memory bloat and frequent garbage collection; enable memory checks, collect garbage, and run interactions to analyze blue line.
Explore heap snapshots in Chrome DevTools to measure memory allocation and compare snapshots across JavaScript objects, primitives, sync functions, and DOM nodes.
Use the heap profile in the profiler to visualize memory allocations, identify leaks, and inspect specific memory lines and objects for details.
Use the performance monitor to visualize cpu usage, gas heap size, dom nodes, and event listeners. Activate metrics you want to analyze and observe changes as you interact with app.
Open the task manager to access resource details, then use desk manager to identify which assets, especially JavaScript, drive the largest memory usage.
Master five coding patterns that leak memory in JavaScript, including global variables and stores, unbounded data caches, lingering event listeners, and closures that retain lexical scope.
Explore how collections affect memory: shallow size in arrays and streams, how forgotten references cause leaks, and strategies like clearing arrays or resetting lists to avoid lingering objects.
Explore infinite scrolling with virtualization to manage a growing DOM and maintain performance. See how detached DOM elements escape garbage collection after removal and how scoping fixes this.
Explore two strategies for fetching API data from a form array with an autocomplete in angular, comparing value changes versus option selected handling to boost performance and reduce unnecessary requests.
Case study reveals a web app using a TensorFlow hand-gesture model, showing a memory leak from repeated loading that slows performance and inflates memory.
This case study analyzes a to-do app with event listeners and subscriptions, showing how leaks and garbage collection slow interactivity and how onPush and onDestroy with unsubscribe fix it.
Build an accessible, high-performance Angular 19 and Tailwind-based registration form with a live password strength meter, featuring ARIA labels, focus management, color contrast, and debounced validation.
The difference between myMethod() {} and myMethod = () => {} might seem trivial, but it taps into fundamental JavaScript behavior with significant consequences for application stability and maintainability.
What could begin as a simple code cleanup exercise might become a potent reminder: never underestimate the power — and potential pitfalls — of this.
Mastering web performance in the era of the dark factory, this lecture exposes the five levels of AI coding and a three-layer defense to ship fast with safety.
Assess how AI coding tools impact productivity, using METR's study to reveal that 20% feel faster while tasks take 19% longer due to reviewing and steering output.
Explore the five levels of AI coding skills framework, from spicy auto-complete to full automation, detailing how AI shifts from assistive tools to autonomous software development.
Compare two real-world stories from StrongDM, one success and one cautionary, and show how digital twin universes test AI-generated code with human intent.
Learn to distinguish behavioral tests from implementation tests, focusing on outcomes over internals, and apply this in real-world scenarios like multi-pod deployments, race conditions, and user-facing behavior.
An examination of Amazon's ai-driven code failures reveals outages and lost orders, prompting senior sign-off on ai-generated changes to curb fragility and speed without understanding.
Uncover dark code, where functional yet incomprehensible code accumulates and debugging becomes archaeology. Apply behavioral testing to elevate safeguards and move up the levels without burning down the house.
Explore the three-layer defense in the software lifecycle: spec-first development, self-describing code with documentation and observability, and the comprehension gate before shipping.
Differentiate requirements from specifications by defining what humans want versus what is provided to AI; craft precise specification with edge cases and institutional knowledge to prevent mismatched results.
Contrast the dark factory mindset with clean code, emphasizing observability and AI constraints, such as max 80 lines per function and at most three parameters, to enforce loosely coupled code.
The new engineering paradigm emphasizes organizational design and disciplined ai-assisted development, starting from a spec, generating in-code docs, passing a comprehension gate, and requiring senior sign-off.
Tackle fragmented observability that erodes developer productivity by correlating data across tools and embracing full-stack session recording with AI-powered insights using multiply.
Automate bug fixes with multiplayer full stack session recording and the MCP server, enabling AI-powered, context-rich diagnoses linked to code, reducing debugging time and improving collaboration.
Explore the 2024 state of software security by Veracode, examining security debt in software, especially in the public sector, with focus on third-party dependencies, remediation timelines, and prioritizing critical flaws.
Master secure programming by validating and sanitizing input, using parameterized queries, escaping output, hashing passwords, protecting secrets with environment variables, and having a plan for incidents.
Hunting web performance issues is a complex problem with fiendish edge cases, and debugging them can be a daunting task. To avoid such a problem in your app, you need awareness about it and constant vigilance.
JavaScript memory leaks are sneaky and could be challenging to localize because they can go unnoticed for some time. And even if your performance gets progressively worse, you will not see a thrown error on the browser while running the leaking app. Because it’s not an invalid code that causes such issues, but a logical flaw in it.
In this course, we’ll see how to effectively track web performance down and learn what causes them. You’ll get insights on how to respect more the end-user device’s resources. You’ll also avoid situations where you pull your hair out trying to understand what’s going on with your performance.
I designed this course to suit newcomers as well as advanced developers, and I will walk you through the topic step by step until you get your hands dirty.
At the end of the course, you’ll be able to identify, diagnose, and fix web performance issues in web apps even if you’re not the one who implemented them. You’ll be also able to catch patterns in your source code that cause them.