Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JSConfAr 2012
Search
Dan Zajdband
May 20, 2012
Technology
1
130
JSConfAr 2012
Viernes 13: JSON APIs y node.js
Dan Zajdband
May 20, 2012
Tweet
Share
More Decks by Dan Zajdband
See All by Dan Zajdband
WebVR for the rest of us @ SRCCON 2016
danzajdband
0
100
Crowdsourcing
danzajdband
0
140
Progressive Web Applications
danzajdband
0
150
Hackdash - Media party 2015
danzajdband
0
56
Servidores... Para qué?
danzajdband
0
240
¿Qué ES 6? - Introducción a ECMAScript y Babel
danzajdband
2
370
La Web Realtime
danzajdband
1
130
Introducción a express - meetup node.js argentina
danzajdband
1
680
Other Decks in Technology
See All in Technology
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
140
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
780
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
2
1.6k
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
650
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
140
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
220
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
370
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
GraphQLとの向き合い方2022年版
quramy
46
14k
Statistics for Hackers
jakevdp
799
220k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Our Code Smells
bkeepers
PRO
337
57k
KATA
mclloyd
29
14k
Agile that works and the tools we love
rasmusluckow
329
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Six Lessons from altMBA
skipperchong
28
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Facilitating Awesome Meetings
lara
54
6.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Transcript
VIERNES 13 JSON APIs y NodeJS Dan Zajdband @dzajdband lunes
21 de mayo de 12
JSON lunes 21 de mayo de 12
lunes 21 de mayo de 12
Douglas Crockford lunes 21 de mayo de 12
Douglas Crockford • JSON • JSLint • JSMin • YUI
• Javascript: The Good Parts lunes 21 de mayo de 12
JSON • Formato de intercambio de datos • Sintaxis estilo
C • Fácil de entender y procesar para • Personas • Maquinas lunes 21 de mayo de 12
JSON lunes 21 de mayo de 12
Archirrival a.k.a. XML lunes 21 de mayo de 12
JSON Estructuras de datos • Objeto • Arreglo lunes 21
de mayo de 12
JavaScript Estructuras de datos • Objeto • Arreglo lunes 21
de mayo de 12
JSON Otras Estructuras de datos • Número • String lunes
21 de mayo de 12
JavaScript Otras Estructuras de datos • Número • String lunes
21 de mayo de 12
JSON = JavaScript Object Notation lunes 21 de mayo de
12
NodeJS lunes 21 de mayo de 12
NodeJS • JavaScript en el servidor • V8 • non-blocking
I/O • Especialmente bueno para networking • Excelente sistema de módulos • Implementación JSON nativa lunes 21 de mayo de 12
NodeJS JSON lunes 21 de mayo de 12
NodeJS Módulo HTTP lunes 21 de mayo de 12
módulos útiles NodeJS ExpressJS • Framework (El Sintatra de NodeJS)
• Routing • Middleware (Connect) • Soporta 14 sistemas de template lunes 21 de mayo de 12
módulos útiles NodeJS Superagent • Ajax with less suck (and
node.js HTTP client with less suck) lunes 21 de mayo de 12
módulos útiles NodeJS Otros • Node Oauth (npm install oauth)
• Socket.io (npm install socket.io) • Redis (npm install redis) • up (npm install up) • mocha (npm install mocha) lunes 21 de mayo de 12
Implementando una API lunes 21 de mayo de 12
Ojo al piojo lunes 21 de mayo de 12
lunes 21 de mayo de 12
Implementando una API Ojo al piojo • Autenticación • Generar
tokens • Hashes • Redis • OAuth • node-oauth lunes 21 de mayo de 12
Implementando una API Ojo al piojo • Limitación de recursos
• Documentar reglas de limitación • Mensajes de error expresivos lunes 21 de mayo de 12
Manejando requests lunes 21 de mayo de 12
Manejando requests Middleware • Express está basado (y usa) Connect
• Ambos proyectos creados y mantenidos por @tjholowaychuk lunes 21 de mayo de 12
Buscando las manos de peron lunes 21 de mayo de
12
lunes 21 de mayo de 12
Manejando requests Middleware lunes 21 de mayo de 12
Restringiendo recursos lunes 21 de mayo de 12
Manejando requests Middleware lunes 21 de mayo de 12
Manejando requests Middleware lunes 21 de mayo de 12
Streams lunes 21 de mayo de 12
Manejando requests Middleware lunes 21 de mayo de 12
Consumiendo APIs lunes 21 de mayo de 12
lunes 21 de mayo de 12
Manejo de requests lunes 21 de mayo de 12
Consumiendo APIs Manejo de requests • Módulo HTTP de NodejS
• Request (npm install request) • Superagent (npm install superagent) lunes 21 de mayo de 12
Consumiendo APIs Superagent • Ajax with less suck (and node.js
HTTP client with less suck) lunes 21 de mayo de 12
Consumiendo APIs Superagent • Streams lunes 21 de mayo de
12
OAuth lunes 21 de mayo de 12
Consumiendo APIs Node OAuth • Implementación de OAuth en NodeJS
• Autenticación • Manejo de requests http, https • Manejo de streams lunes 21 de mayo de 12
Manejo de errores lunes 21 de mayo de 12
lunes 21 de mayo de 12
Endpoints lunes 21 de mayo de 12
Twitter REST API ~= 100 endpoints lunes 21 de mayo
de 12
Consumiendo APIs Endpoints • Mi estrategia • Archivos de configuración
(JSON) con endpoints • Aumentar el prototipo del objeto que exporta la librería lunes 21 de mayo de 12
Una cosita más... (En realidad son 2) lunes 21 de
mayo de 12
This is Socket.IO guy... Do you still trust him? lunes
21 de mayo de 12
Preguntas? lunes 21 de mayo de 12
Gracias! lunes 21 de mayo de 12