Skip to content

Instantly share code, notes, and snippets.

@matflores
Created November 23, 2011 12:56
Show Gist options
  • Save matflores/1388602 to your computer and use it in GitHub Desktop.
Save matflores/1388602 to your computer and use it in GitHub Desktop.
SR Performance ToDo
- 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
@inkel
Copy link

inkel commented Nov 29, 2011

Going to a project view and then going back duplicates the last project in the sidebar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment