Created
November 23, 2011 12:56
-
-
Save matflores/1388602 to your computer and use it in GitHub Desktop.
SR Performance ToDo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Extract FiltersManager and other filter-related modules from filters.js | |
- Extract search modules from search.js | |
- Extract modules from sidebar.js | |
- Define the three main interfaces (visitor, user & admin) | |
- Define specific routers in visitor, user & admin (and then remove app/routes.js) | |
- Extract common routes from visitor.js and user.js (about, contact, etc) | |
- Define main.js module (will be required by the three main modules) | |
- Require helpers.js from main.js and extend the main sr object | |
- Move initialization code from app.js and common.js to main.js | |
- Define a config.js module that will be generated dynamically (contains the SHA, the timestamp and it's the only non-cacheable module, which will be responsible of expiring the rest) | |
- Require config.js from main.js | |
- Move Typekit initialization to its own module | |
- Leave only one <script> tag in layout.haml | |
- Implement :sha/js/:file route handlers and a similar solution for haml templates | |
- Identify non-cacheable templates and move them to app/views/templates/no-cache | |
- Define helper method that prepends the current SHA to any js file (to fix issues like html5.js not being cached) | |
- Define Loader module | |
- Use Google CDN for serving jquery | |
- Use Rack::Static with cache_control for all /images | |
- Use helper method to prepend SHAs to images and use it in all haml files | |
- Review & configure ETag, LastModified and max-age options in S3 | |
- Test & bug fixing |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Going to a project view and then going back duplicates the last project in the sidebar