- Difference?
- Validation: API receives a message and decides if it's valid or not
- Testing: different use cases
- TDD as you build the API
- Test if the API is running (lifecycle/ci)
- Debugging
- API performance testing
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
"there are only two industries calling their customers users" | |
maps of cancer in the us - multivariables/prob 1k data points but not clutter | |
fix the clutter. Clutter is in the presentation, not in the data. | |
tables - espn has 500 numbers | |
have we suddenly got dumber because we got to work? | |
look at financial tables, weather tables, sports.. | |
7 elements on a page? paper: the magic number 7 |
-
Common requirements
- Are they atomic?
- What kind of operations are supported?
-
Existing approaches
- Google storage
- Multipart/mixed content-type
- Google storage
-
POST /batch
-
Idea is to have a DSL/structured file that will describe your API
-
Question: is there a repo where people share their Blueprint schemas so we can see them?
- Not right now. There are definitely plans to make it really open
- Some people are already sharing their blueprints on GH
-
There are no other ways to collaborate on API design
Proposed/ran by Andreas Schmidt, Nokia
Based off his design around the Nokia Places API
- Picked JSON, no support for XML
- Added ?accept=application/json to the URL in the browser for a raw response
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
source "https://rubygems.org" | |
gem "pg" | |
gem "sqlite3" | |
unless version = ENV["AR"] | |
abort("specify ActiveRecord version with AR. eg: AR=2 bundle install") | |
else | |
gem "activerecord", "~> #{version}", require: "active_record" | |
end |
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
module Faraday | |
class Adapter | |
class NetHttp | |
def ssl_verify_mode(ssl) | |
OpenSSL::SSL::VERIFY_NONE | |
end | |
end | |
end | |
end |
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
# Ruby's `retry` with steroids: | |
# | |
# - retry up to 5 times without waiting between them and retrying after any exception | |
# | |
# retry_upto(5) do ... end | |
# | |
# - retry up to 5 times, waiting 2 seconds between retries and retrying after any exception | |
# | |
# retry_upto(5, :wait => 2) do ... end | |
# |
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
Hi Pedro, | |
Just a friendly reminder (since it's your first check due) that your rent payment was due on August 1st, and today is the last day to pay and not to get a late fee. | |
Thanks |