際際滷

際際滷Share a Scribd company logo
&
 NODE.JS


Jakub Ne?et?il
                 apiary.io
REST


                                            apiary.io
       http://www.?ickr.com/photos/pagedooley/4310765089/
API


                                       apiary.io
      http://www.?ickr.com/photos/emrank/4088047582/
REST API


           apiary.io
REST API Documentation


                         apiary.io
apiary.io
apiary.io
Node at 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
                                 hiredis

socket.io
                                     stylus


              coffee-script
                              mongoose


                    http-proxy
                                           apiary.io
nodemailer                               robotskirt
             async                 step
                      googlediff          hiredis
                                      oauth
socket.io
                             amanda           stylus
chai        connect   eco
                           mongoose-dbref
       express
                coffee-script           moment
  send
         request              mongoose
 redis            nib
            raven      gzippo
                              connect-mongodb
    mailchimp         http-proxy
                                                     apiary.io
nodemailer       node-inspector
                                               robotskirt
             async                    step
mocha                    googlediff          hiredis
    sinon-mocha                                        sinon
                         supervisor      oauth
socket.io       docco           amanda           stylus
 chai      connect      eco
                            mongoose-dbref
       express
                 coffee-script   temp    moment
  send
         request      zombie mongoose
 redis            nib
            raven      gzippo
                              connect-mongodb
    mailchimp         http-proxy
                                                          apiary.io
nodemailer       node-inspector
                                               robotskirt
             async                    step
mocha                    googlediff          hiredis
    sinon-mocha                                        sinon
                         supervisor      oauth
socket.io       docco           amanda           stylus
 chai      connect      eco
                            mongoose-dbref
       express
                 coffee-script   temp    moment
  send
         request      zombie mongoose
 redis            nib
            raven      gzippo
                              connect-mongodb
    mailchimp         http-proxy
                                                          apiary.io
The Good


                                            apiary.io
           http://www.?ickr.com/photos/rufo_83/403475732/
THE GOOD


? low   level access - to http, to tcp, to the socket

? whole   app ~6k SLOC, ~10k SLOC including tests

?




                                                        apiary.io
The Bad


                                           apiary.io
          http://www.?ickr.com/photos/rufo_83/403475732/
THE BAD


? debugging    async errors / race conditions

? long   stack traces

? wrong    return value vs. no callback



                                                apiary.io
The Ugly


                                            apiary.io
           http://www.?ickr.com/photos/rufo_83/403475732/
QUESTIONS?

E-MAIL   jakub@apiary.io   TWITTER   @jakubnesetril




                                                      apiary.io
Ad

Recommended

PDF
Things I've learnt from my Hacker News web app
Lim Chee Aun
?
PDF
Finding Restfulness - Madrid.rb April 2014
samlown
?
PDF
API Design Workflows
Jakub Nesetril
?
PPTX
Apiary
Suresh B
?
PPTX
Effingham 2 Apiary Development Grant Gillard
Grant Gillard
?
PPTX
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Akana
?
PPTX
Extracting Insights from your API Programs
Akana
?
PDF
????? Google map key api
Maitree Rimthong
?
PPTX
Architecting Mobile Solutions Using Microsoft Azure and Akana
Akana
?
PDF
Consuming API description languages - Refract & Minim
Jakub Nesetril
?
PDF
NodeJS, CoffeeScript & Real-time Web
Jakub Nesetril
?
PDF
Harmony in API Design
Jakub Nesetril
?
PDF
Startup Accelerators
Jakub Nesetril
?
PDF
Post-REST Manifesto
Jakub Nesetril
?
PDF
Avoiding API Waterfalls
Jakub Nesetril
?
PDF
Budoucnost Web Aplikaci
Jakub Nesetril
?
PPTX
Deconstructing API Security
Akana
?
PDF
Introduction to GoodData BI PaaS
Jakub Nesetril
?
PDF
Art of Building APIs
Jakub Nesetril
?
PPTX
Http ???????
????????? ????????
?
KEY
REST API tools
Jakub Nesetril
?
ZIP
Advanced Regular Expressions Redux
Jakub Nesetril
?
KEY
Introduction to node.js
Jakub Nesetril
?
PDF
GoodData: One Stop Shop for Analytics
Jakub Nesetril
?
KEY
Let's Have a Cup of CoffeeScript
Nicol│s Sanguinetti
?
PDF
API Design Essentials - Akana Platform Overview
Akana
?
PDF
Real-time Web a NodeJS
Jakub Nesetril
?
PDF
Microservice Stategies - Scaling your API design workflow
Jakub Nesetril
?
KEY
AmebaPico Y箸亮斜gやAWSの旋喘について
Kohei Morino
?
PDF
Node js quick tour v2
Wyatt Fang
?

More Related Content

Viewers also liked (20)

PPTX
Architecting Mobile Solutions Using Microsoft Azure and Akana
Akana
?
PDF
Consuming API description languages - Refract & Minim
Jakub Nesetril
?
PDF
NodeJS, CoffeeScript & Real-time Web
Jakub Nesetril
?
PDF
Harmony in API Design
Jakub Nesetril
?
PDF
Startup Accelerators
Jakub Nesetril
?
PDF
Post-REST Manifesto
Jakub Nesetril
?
PDF
Avoiding API Waterfalls
Jakub Nesetril
?
PDF
Budoucnost Web Aplikaci
Jakub Nesetril
?
PPTX
Deconstructing API Security
Akana
?
PDF
Introduction to GoodData BI PaaS
Jakub Nesetril
?
PDF
Art of Building APIs
Jakub Nesetril
?
PPTX
Http ???????
????????? ????????
?
KEY
REST API tools
Jakub Nesetril
?
ZIP
Advanced Regular Expressions Redux
Jakub Nesetril
?
KEY
Introduction to node.js
Jakub Nesetril
?
PDF
GoodData: One Stop Shop for Analytics
Jakub Nesetril
?
KEY
Let's Have a Cup of CoffeeScript
Nicol│s Sanguinetti
?
PDF
API Design Essentials - Akana Platform Overview
Akana
?
PDF
Real-time Web a NodeJS
Jakub Nesetril
?
PDF
Microservice Stategies - Scaling your API design workflow
Jakub Nesetril
?
Architecting Mobile Solutions Using Microsoft Azure and Akana
Akana
?
Consuming API description languages - Refract & Minim
Jakub Nesetril
?
NodeJS, CoffeeScript & Real-time Web
Jakub Nesetril
?
Harmony in API Design
Jakub Nesetril
?
Startup Accelerators
Jakub Nesetril
?
Post-REST Manifesto
Jakub Nesetril
?
Avoiding API Waterfalls
Jakub Nesetril
?
Budoucnost Web Aplikaci
Jakub Nesetril
?
Deconstructing API Security
Akana
?
Introduction to GoodData BI PaaS
Jakub Nesetril
?
Art of Building APIs
Jakub Nesetril
?
Http ???????
????????? ????????
?
REST API tools
Jakub Nesetril
?
Advanced Regular Expressions Redux
Jakub Nesetril
?
Introduction to node.js
Jakub Nesetril
?
GoodData: One Stop Shop for Analytics
Jakub Nesetril
?
Let's Have a Cup of CoffeeScript
Nicol│s Sanguinetti
?
API Design Essentials - Akana Platform Overview
Akana
?
Real-time Web a NodeJS
Jakub Nesetril
?
Microservice Stategies - Scaling your API design workflow
Jakub Nesetril
?

Similar to Node at Apiary.io (20)

KEY
AmebaPico Y箸亮斜gやAWSの旋喘について
Kohei Morino
?
PDF
Node js quick tour v2
Wyatt Fang
?
PDF
Node js quick-tour_v2
tianyi5212222
?
PDF
Node js quick-tour_v2
http403
?
PDF
State of Developer Tools (WDS09)
bgalbs
?
KEY
Backend as a Service
apiomat
?
PDF
Mongodb
Scott Motte
?
PDF
Building a REST API with Node.js and MongoDB
VivochaLabs
?
KEY
Torquebox rubyhoedown-2012
Lance Ball
?
PDF
Padrino - the Godfather of Sinatra
Stoyan Zhekov
?
KEY
Node.js Talk at jQuery Pittsburgh
toddeichel
?
PDF
Coffeescript unfancy javascript
Dimitris Tsironis
?
KEY
SD, a P2P bug tracking system
Jesse Vincent
?
KEY
寄トh廠でRailsと4定g原き栽ってきて@ クックパッド * 奮べログ栽揖茶氏
Takayuki Kyowa
?
PDF
From Zero to Mongo, Art.sy Experience w/ MongoDB
Daniel Doubrovkine
?
PPT
ruby + websocket + haproxy
Mathieu Elie
?
ZIP
Introduction to Google App Engine
mdc11
?
PDF
The Architecture of PicCollage Server
Lin Jen-Shin
?
PPTX
Building robust REST APIs
Nejc Zupan
?
PDF
Server-Side JavaScript Developement - Node.JS Quick Tour
q3boy
?
AmebaPico Y箸亮斜gやAWSの旋喘について
Kohei Morino
?
Node js quick tour v2
Wyatt Fang
?
Node js quick-tour_v2
tianyi5212222
?
Node js quick-tour_v2
http403
?
State of Developer Tools (WDS09)
bgalbs
?
Backend as a Service
apiomat
?
Mongodb
Scott Motte
?
Building a REST API with Node.js and MongoDB
VivochaLabs
?
Torquebox rubyhoedown-2012
Lance Ball
?
Padrino - the Godfather of Sinatra
Stoyan Zhekov
?
Node.js Talk at jQuery Pittsburgh
toddeichel
?
Coffeescript unfancy javascript
Dimitris Tsironis
?
SD, a P2P bug tracking system
Jesse Vincent
?
寄トh廠でRailsと4定g原き栽ってきて@ クックパッド * 奮べログ栽揖茶氏
Takayuki Kyowa
?
From Zero to Mongo, Art.sy Experience w/ MongoDB
Daniel Doubrovkine
?
ruby + websocket + haproxy
Mathieu Elie
?
Introduction to Google App Engine
mdc11
?
The Architecture of PicCollage Server
Lin Jen-Shin
?
Building robust REST APIs
Nejc Zupan
?
Server-Side JavaScript Developement - Node.JS Quick Tour
q3boy
?
Ad

Recently uploaded (20)

PPTX
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
?
PDF
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
?
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
?
PDF
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
?
PDF
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
PDF
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
?
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
?
PDF
The Growing Value and Application of FME & GenAI
Safe Software
?
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
?
PDF
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
PDF
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
PDF
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
?
PDF
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
?
PDF
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
PDF
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
?
PPTX
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
PDF
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
?
PDF
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
?
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
?
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
?
Python Conference Singapore - 19 Jun 2025
ninefyi
?
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
?
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
?
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
?
The Growing Value and Application of FME & GenAI
Safe Software
?
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
?
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
?
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
?
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
?
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
?
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
?
Ad

Node at Apiary.io

  • 2. REST apiary.io http://www.?ickr.com/photos/pagedooley/4310765089/
  • 3. API apiary.io http://www.?ickr.com/photos/emrank/4088047582/
  • 4. REST API apiary.io
  • 10. hled│me k sob├ dal?┴ ´ apiary.io
  • 11. BEHIND THE SCENES ? MVC web app ? API Blueprint (Markdown++) ? HTTP Proxy ? HTTP Diffs ? JSON Schema ? wildcard DNS apiary.io
  • 12. STACK OVERVIEW ? Express, Eco, Stylus ? MongoDB + Mongoose, Redis + HiRedis, Socket.IO ? Ace, Markdown, Amanda, Node-Http-Proxy ? Mocha, Chai, Zombie apiary.io
  • 13. async hiredis socket.io stylus coffee-script mongoose http-proxy apiary.io
  • 14. nodemailer robotskirt async step googlediff hiredis oauth socket.io amanda stylus chai connect eco mongoose-dbref express coffee-script moment send request mongoose redis nib raven gzippo connect-mongodb mailchimp http-proxy apiary.io
  • 15. nodemailer node-inspector robotskirt async step mocha googlediff hiredis sinon-mocha sinon supervisor oauth socket.io docco amanda stylus chai connect eco mongoose-dbref express coffee-script temp moment send request zombie mongoose redis nib raven gzippo connect-mongodb mailchimp http-proxy apiary.io
  • 16. nodemailer node-inspector robotskirt async step mocha googlediff hiredis sinon-mocha sinon supervisor oauth socket.io docco amanda stylus chai connect eco mongoose-dbref express coffee-script temp moment send request zombie mongoose redis nib raven gzippo connect-mongodb mailchimp http-proxy apiary.io
  • 17. The Good apiary.io http://www.?ickr.com/photos/rufo_83/403475732/
  • 18. THE GOOD ? low level access - to http, to tcp, to the socket ? whole app ~6k SLOC, ~10k SLOC including tests ? apiary.io
  • 19. The Bad apiary.io http://www.?ickr.com/photos/rufo_83/403475732/
  • 20. THE BAD ? debugging async errors / race conditions ? long stack traces ? wrong return value vs. no callback apiary.io
  • 21. The Ugly apiary.io http://www.?ickr.com/photos/rufo_83/403475732/
  • 22. QUESTIONS? E-MAIL jakub@apiary.io TWITTER @jakubnesetril apiary.io