- Codebase - One codebase tracked in revision control, many deploys
- Dependencies - Explicitly declare and isolate dependencies
- Config - Store config in the environment
- Backing Services - Treat backing services as attached resources
- Build, release, run - Strictly separate build and run stages
- Processes - Execute the app as one or more stateless processes
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
#!/usr/bin/env ruby | |
require 'benchmark' | |
REGEXPS = [ | |
/^no such file to load -- (.+)$/i, | |
/^Missing \w+ (?:file\s*)?([^\s]+.rb)$/i, | |
/^Missing API definition file in (.+)$/i, | |
/^cannot load such file -- (.+)$/i, | |
] |
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
dynamo_db_config = { | |
api_version: '2012-08-10', | |
access_key_id: ENV['AWS_ACCESS_KEY_ID'], | |
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], | |
} | |
dynamo_db_config.merge!( | |
use_ssl: false, | |
dynamo_db_endpoint: 'localhost', | |
dynamo_db_port: 8000 | |
) |
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
# Goal: put a non-Rails-aware Ruby library using normal `require`s in | |
# lib/mything. Have it transparently reloaded between requests like Rails app | |
# code is. | |
# | |
# The code here goes inside of your configure block in | |
# config/environments/development.rb. There are two parts, commented inline. | |
# Disable reload_classes_only_on_change. This makes Rails invoke the reloader | |
# even if no source files are changed. This is necessary because the autoloader | |
# and reloader don't know about our library, so they won't know to trigger a |
Personal notes on Michael Feather's talk about testability and good design.
The Deep Synergy Between Testability and Good Design (http://vimeo.com/15007792)
My personal notes on David Anderson's talk about Kanban
David J. Anderson - Kanban's 3 Agendas (http://www.youtube.com/watch?v=YpyXJCsTpqg)