28 Jul 2016
Reading time ~2 minutes
What I Did
- Paired with Eli to discuss testing, image uploads, and my personal website considerations.
- Shadowed Ben and Eli as they discussed the potential for “These Numbers Matter” on HTTP/2 and a Digital Ocean server opposed to where it currently lives on Heroku.
- Spent the rest of the day debugging issues on the production app for “These Numbers Matter” including images not persisting to the database.
What I Learned
- Middleman is fine for most personal websites, except for the potential for added functionality, RoR is the way to go.
- HTTP2 is a replacement for how HTTP is expressed “on the wire”. It specifically focuses on the performance of the protocol including end-user perceived latency and network and server resource usage. Ideally, this would allow for the use of a single connection from browsers to a Web site.
- Heroku does not allow for writing to its servers’ file systems, which explains why the images I was uploading to the production app were simply vanishing. Eli got me set up with a gem specifically to work with Amazon S3 and Dragonfly in order to store our images externally on S3 instead of directly within Heroku.
- View specs, are not generally written in and of themselves. Rather, feature specs for whatever feature one wishes to test is normally the way to go.
- Rev = remove
- Glob = global
- The inclusion of
data-turbolinks-trackis meant to make following links in a web application faster. Rather than letting the browser recompile the JS and CSS between each page change, it keeps the current page instance alive and only replaces the body and title in the head.
- Perhaps the original motivation for loading all styles at a time was to allow for the browser to cache said files, but HTTP2 shifts the focus to only loading styles as the components within your page requires them.
- Redis is a common dependency for Rails app that functions as a side database. One can install it on a digital ocean server or Heroku using the redis addon.
- Server provisioning is a set of actions to prepare a server with appropriate systems, data and software, and make it ready for network operation.
What I’d Like to Learn