node at apiary.io
DESCRIPTION
Node.js usage at Apiary.io - slides from JS meetup in Node5 in Prague.TRANSCRIPT
apiary.io
&NODE.JS
Jakub Nešetřil
apiary.iohttp://www.flickr.com/photos/pagedooley/4310765089/
REST
apiary.iohttp://www.flickr.com/photos/emrank/4088047582/
API
apiary.io
REST API
apiary.io
REST API Documentation
apiary.io
apiary.io
apiary.io
apiary.io
hledáme k sobě další …
apiary.io
BEHIND THE SCENES
•MVC web app
• API Blueprint (Markdown++)
• HTTP Proxy
• HTTP Diffs
• JSON Schema
• wildcard DNS
apiary.io
STACK OVERVIEW
• Express, Eco, Stylus
•MongoDB + Mongoose, Redis + HiRedis, Socket.IO
• Ace, Markdown, Amanda, Node-Http-Proxy
•Mocha, Chai, Zombie
apiary.io
async
coffee-script
hiredis
http-proxy
mongoose
socket.iostylus
apiary.io
amanda
async
chai
coffee-script
connect
connect-mongodb
ecoexpress
googlediff
gzippo
hiredis
http-proxymailchimp
moment
mongoose
mongoose-dbref
nib
nodemailer
oauth
ravenredis
request
robotskirt
send
socket.iostylus
step
apiary.io
amanda
async
chai
coffee-script
connect
connect-mongodb
ecoexpress
googlediff
gzippo
hiredis
http-proxymailchimp
moment
mongoose
mongoose-dbref
nib
nodemailer
oauth
ravenredis
request
robotskirt
send
socket.iostylus
step
docco
mocha
node-inspector
sinonsinon-mochasupervisor
tempzombie
apiary.io
amanda
async
chai
coffee-script
connect
connect-mongodb
ecoexpress
googlediff
gzippo
hiredis
http-proxymailchimp
moment
mongoose
mongoose-dbref
nib
nodemailer
oauth
ravenredis
request
robotskirt
send
socket.iostylus
step
docco
mocha
node-inspector
sinonsinon-mochasupervisor
tempzombie
apiary.iohttp://www.flickr.com/photos/rufo_83/403475732/
The Good
apiary.io
THE GOOD
• low level access - to http, to tcp, to the socket
• whole app ~6k SLOC, ~10k SLOC including tests
•
apiary.iohttp://www.flickr.com/photos/rufo_83/403475732/
The Bad
apiary.io
THE BAD
• debugging async errors / race conditions
• long stack traces
• wrong return value vs. no callback
apiary.iohttp://www.flickr.com/photos/rufo_83/403475732/
The Ugly