{"version":1,"pages":[{"id":"-LFJ1N_JhH13DwKYzeO3","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_s8MZu","description":"Introduction to finding problems on your website or JavaScript back-end and some ways to fix them."},{"id":"-LFJU_VIiSaQA9_zm14A","title":"Do we need to care about performance issues?","pathname":"/why-do-we-care-about-performance-issue","siteSpaceId":"sitesp_s8MZu","description":"Why should we care about performance issues when technology is always giving us something new."},{"id":"-LFO2P6KtMV6PQV3UGID","title":"Deciding What To Optimize","pathname":"/fix-it-or-leave-it","siteSpaceId":"sitesp_s8MZu","description":"When do we put the time into optimizing code versus going with it as is?"},{"id":"-LFT3Yf3atHe0IYnqqns","title":"Why Data?","pathname":"/fix-it-or-leave-it/why-data","siteSpaceId":"sitesp_s8MZu","description":"Data drives most of the interactions on an application. So it makes sense that it should drive how we write the code behind the interactions.","breadcrumbs":[{"label":"Deciding What To Optimize"}]},{"id":"-LFYPDSWNuk0yCqCyC2W","title":"What Types of Data Do I Need?","pathname":"/fix-it-or-leave-it/what-data-do-i-need","siteSpaceId":"sitesp_s8MZu","description":"If we accept that our optimization decisions should be made based on data then what kind of data will we use?","breadcrumbs":[{"label":"Deciding What To Optimize"}]},{"id":"-LFYXNjxyTfV36WzoCDk","title":"User Analytics","pathname":"/fix-it-or-leave-it/user-analytics","siteSpaceId":"sitesp_s8MZu","description":"What user analytics do we want to use to help with determining where to improve application performance?","breadcrumbs":[{"label":"Deciding What To Optimize"}]},{"id":"-LFrlDWIMiKd8rG0Lkjw","title":"The Browser - Loading","pathname":"/fix-it-or-leave-it/untitled","siteSpaceId":"sitesp_s8MZu","description":"Modern browsers have built-in features that provide many resources for finding useful performance data.","breadcrumbs":[{"label":"Deciding What To Optimize"}]},{"id":"-LFxKSjTpZmL2CPk67z4","title":"The Browser - Profiling on the Processing Tab","pathname":"/fix-it-or-leave-it/untitled/the-browser-processing","siteSpaceId":"sitesp_s8MZu","description":"Once everything has been loaded your browser still has to figure out what to do with it all.","breadcrumbs":[{"label":"Deciding What To Optimize"},{"label":"The Browser - Loading"}]},{"id":"-LFy0OYqRtHf4RlxA7kb","title":"The Browser - Throttling","pathname":"/fix-it-or-leave-it/untitled/the-browser-throttling","siteSpaceId":"sitesp_s8MZu","description":"Throttling is useful for finding general performance issues.","breadcrumbs":[{"label":"Deciding What To Optimize"},{"label":"The Browser - Loading"}]},{"id":"-LFy0LO5JGS7YEz7JWJ3","title":"The Browser - Memory Usage","pathname":"/fix-it-or-leave-it/untitled/the-browser-memory-usage","siteSpaceId":"sitesp_s8MZu","description":"How does memory usage affect performance?","breadcrumbs":[{"label":"Deciding What To Optimize"},{"label":"The Browser - Loading"}]},{"id":"-LGWBzGYGMwEnF4YyRSO","title":"The Server","pathname":"/fix-it-or-leave-it/profiling-the-server","siteSpaceId":"sitesp_s8MZu","description":"How is the server performing?","breadcrumbs":[{"label":"Deciding What To Optimize"}]},{"id":"-LGWTMI8xg9RS3P_XCKZ","title":"Profiling Your Code On The Server","pathname":"/fix-it-or-leave-it/profiling-the-server/profiling-your-code-on-the-server","siteSpaceId":"sitesp_s8MZu","description":"Finding bottlenecks in your JavaScript code run in NodeJS.","breadcrumbs":[{"label":"Deciding What To Optimize"},{"label":"The Server"}]},{"id":"-LH496K2wxtAL2VHH1wD","title":"Using Profiling Data - NodeJS","pathname":"/fix-it-or-leave-it/profiling-the-server/using-profiling-data-nodejs","siteSpaceId":"sitesp_s8MZu","description":"Now that you have data you have to start using it.","breadcrumbs":[{"label":"Deciding What To Optimize"},{"label":"The Server"}]},{"id":"-LH91nKFzM8r1c7jEDdT","title":"Optimization Concepts","pathname":"/untitled-1","siteSpaceId":"sitesp_s8MZu","description":"How to optimize your application using specific optimization concepts or techniques."},{"id":"-LH9BPWgv7kF_9qAe8NO","title":"Overall Application Structure (or Communication)","pathname":"/untitled-1/overall-application-structure-or-communication","siteSpaceId":"sitesp_s8MZu","description":"Solutions for systemic problems","breadcrumbs":[{"label":"Optimization Concepts"}]},{"id":"-LH9BTRCRmZv3BRWhyKC","title":"Structures and Algorithms","pathname":"/untitled-1/structures-and-algorithms","siteSpaceId":"sitesp_s8MZu","description":"Basic computer science concepts.","breadcrumbs":[{"label":"Optimization Concepts"}]},{"id":"-LH9BVLvZ8H9vpOqG1SZ","title":"JavaScript","pathname":"/untitled-1/javascript","siteSpaceId":"sitesp_s8MZu","description":"JavaScript specific performance techniques.","breadcrumbs":[{"label":"Optimization Concepts"}]},{"id":"-LH9BaHHxd5uz3QYwxgQ","title":"Browsers","pathname":"/untitled-1/browsers","siteSpaceId":"sitesp_s8MZu","description":"Browsers create unique optimization challenges.","breadcrumbs":[{"label":"Optimization Concepts"}]}]}