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
91
Crowdsourcing
danzajdband
0
120
Progressive Web Applications
danzajdband
0
140
Hackdash - Media party 2015
danzajdband
0
51
Servidores... Para qué?
danzajdband
0
220
¿Qué ES 6? - Introducción a ECMAScript y Babel
danzajdband
2
350
La Web Realtime
danzajdband
1
130
Introducción a express - meetup node.js argentina
danzajdband
1
650
Other Decks in Technology
See All in Technology
分解して理解する Aspire
nenonaninu
1
120
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
13
3.3k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
540
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
360
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
君も受託系GISエンジニアにならないか
sudataka
2
430
Goで作って学ぶWebSocket
ryuichi1208
0
190
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
100
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Site-Speed That Sticks
csswizardry
4
380
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for humans not robots
tammielis
250
25k
The Language of Interfaces
destraynor
156
24k
Scaling GitHub
holman
459
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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