“People are fairly good at short-term design, and usually awful at long-term design. Most don’t think they need to design past the current release.” Problem Sunday, November 18, 12
“But what distinguishes the worst architect from the best of bees is this, that the architect raises his structure in imagination before he erects it in reality.” Karl Marx Sunday, November 18, 12
Coupling - Demeter describe Foo do it “fetches data” do bar = Bar.new bar.stub(:qux => stub(:fetch_data => “data”) ) expect(Foo.new(bar).process).to eq(“data”) end end Sunday, November 18, 12
Coupling - Demeter describe Foo do it “fetches data” do bar = Bar.new bar.stub(:qux => stub(:fetch_data => “data”) ) expect(Foo.new(bar).process).to eq(“data”) end end Sunday, November 18, 12
GET /profile HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Content-Length: 438 Content-Type: text/plain This server emits "microblogging JSON." ## Keys You can expect the following keys: statuses, template, links ## Link Relations You can expect a "collection" relation. GETing the URI will fetch the list of all statuses. POSTing a template to this URI will create a new status. Sunday, November 18, 12
Deleuze’s Materialism Intensive Property: does not depend on the amount of substance (density) Extensive Property: does depend on amount of substance (mass) Sunday, November 18, 12
Pagination The pagination info is included in the Link header. It is important to follow these Link header values instead of constructing your own URLs. In some instances, such as in the Commits API, pagination is based on SHA1 and not on page number. Link: page=3&per_page=100>; rel="next", page=50&per_page=100>; rel="last" Sunday, November 18, 12