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
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pochi
August 29, 2014
Technology
4.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
pochi
August 29, 2014
More Decks by pochi
See All by pochi
React Nativeで作ったアプリでRedux-Sagaを使ったので,その話 / TOM Internal Developer Session #7
pchw
0
2.2k
Expoで開発してアプリを公開して得られた知見 / RNM6
pchw
3
1.9k
Firebaseでラクラクリアルタイムアプリ
pchw
0
1.5k
MongoDB族のための組み込み軽量DB NeDB
pchw
0
1.5k
Synth - 東京Node学園2014
pchw
0
4.4k
RubyMotion 1.15で追加されたtest周りの話
pchw
1
3.2k
Other Decks in Technology
See All in Technology
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
160
5分でわかるDuckDB Quack
chanyou0311
4
270
When Platform Engineering Meets GenAI
sucitw
0
200
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
1
170
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
400
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
230
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
2
370
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
300
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
150
AI時代における最適なQA組織の作り方
ymty
3
190
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
260
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
400
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
870
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
230
Game over? The fight for quality and originality in the time of robots
wayneb77
1
210
The Cost Of JavaScript in 2023
addyosmani
55
10k
Faster Mobile Websites
deanohume
310
32k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
450
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
330
Prompt Engineering for Job Search
mfonobong
0
350
KATA
mclloyd
PRO
35
15k
Transcript
簡単おいしい Web APIのサクサク npm包み揚げ @pchw
https://otakumode.com/careers WANTS YOU
API?
RPC?
SOAP?
REST!
JSON!
JavaScript Object Notation
JavaScript?
None
MEAN祭り!
2min/10min
RESTful APIを 公開しておくと
Client Apps
None
Mashups
最近でいうと こんな企業も
None
None
4min/10min
How to use Web API?
None
Build npm module!
Publish npm module!
Presence!
None
Popular services
Fast
Useful
Good naming
Less bugs
6min/10min
簡単おいしい Web APIのサクサク npm包み揚げ
None
Endpoints
None
params
None
None
optional
None
Editor
superagent
yeoman generator-coffee-module
8min/10min
module.exports = class Uber Uber = require(‘uber’)
module.exports = class Uber! constructor: (@id,@pw)-> Uber = require ‘uber’!
uc = new Uber(‘ID’,’PASS’)! ちなみにUberはid/passの認証じゃないです
module.exports = class Uber! constructor: (@id,@pw)->! Products:->! unless @_products! @_products
= new Products(@id,@pw)! @_products Uber = require ‘uber’! uc = new Uber(‘ID’,’PASS’)! p = uc.Products()!
class Products! constructor: (@id,@pw)-> Uber = require ‘uber’! uc =
new Uber(‘ID’,’PASS’)! p = uc.Products()!
class Products! constructor: (@id,@pw)->! latitude:(@lat)->! longitude:(@long)-> p = uc.Products()! p!
.latitude(37.7860099)! .longitude(-122.4025387)
class Products! constructor:(@id,@pw)->! latitude:(@lat)->! longitude:(@long)->! end:(callback)-> p = uc.Products()! p!
.latitude(37.7860099)! .longitude(-122.4025387)! .end (json)->
end:(callback)->! r = require ‘superagent’! r.post(@API_URL)! .auth(@key, @pw)! .end (e,res)->
p = uc.Products()! p! .latitude(37.7860099)! .longitude(-122.4025387)! .end (json)->
Repeat each Endpoints
$ npm publish
こんなかんじで 作ったのが https://github.com/pchw/node-voicetext
Conclusion • 色んなWeb ServiceがRESTful API公開して る • npmモジュールを作って公開すると戦闘力が 上がる •
WEB APIのラッパーは楽に作れる • endpoint毎を塊にしてparamsをメソッドに すると見通しがいい
creative commons licensed (BY) flickr photo by Photonemotion: http://flickr.com/photos/photonemotion/ 9709101575
creative commons licensed (BY) flickr photo by Esparta: http://flickr.com/photos/esparta/1819946267 creative commons licensed (BY) flickr photo by takot: http://flickr.com/photos/takot/4804922749 creative commons licensed (BY) flickr photo by Didriks: http://flickr.com/photos/dinnerseries/6378990949 creative commons licensed (BY) flickr photo by phozographer: http://flickr.com/photos/phozographer/ 5430729956 creative commons licensed (BY) flickr photo by dominiqs: http://flickr.com/photos/dominiqs/331702231 creative commons licensed (BY) flickr photo by Yoshikazu TAKADA: http://flickr.com/photos/yoshikazut/ 14204212224 creative commons licensed (BY) flickr photo by Dmitry Baranovskiy: http://flickr.com/photos/dmitry-baranovskiy/ 2378867408 creative commons licensed (BY) flickr photo by MattsMacintosh: http://flickr.com/photos/ 48126477@N05/6300224891 creative commons licensed (BY) flickr photo by Daniel Dudek-Corrigan: http://flickr.com/photos/dansapples/ 14648967446 creative commons licensed (BY) flickr photo by Wonderlane: http://flickr.com/photos/wonderlane/3341694129 creative commons licensed (BY) flickr photo by soundman1024: http://flickr.com/photos/ soundman1024/2380346705 creative commons licensed (BY) flickr photo by rcbodden: http://flickr.com/photos/rcbodden/3905010862 creative commons licensed (BY) flickr photo by amalakar: http://flickr.com/photos/amalakar/8747066225 creative commons licensed (BY) flickr photo by sylvar: http://flickr.com/photos/sylvar/3175705552 creative commons licensed (BY) flickr photo by NatalieMaynor: http://flickr.com/photos/nataliemaynor/ 2988366432 creative commons licensed (BY) flickr photo by Sibe Kokke: http://flickr.com/photos/sibekokke/1117587017 creative commons licensed (BY) flickr photo by MiiiSH: http://flickr.com/photos/mishism/3138940743 creative commons licensed (BY) flickr photo by nyuhuhuu: http://flickr.com/photos/nyuhuhuu/4443886636 creative commons licensed (BY) flickr photo by missy & the universe: http://flickr.com/photos/missy-and-the-universe/ 3355237177 creative commons licensed (BY) flickr photo by SaminatorH: http://flickr.com/photos/saminatorh/6997247637 creative commons licensed (BY) flickr photo by Mark Coggins: http://flickr.com/photos/markcoggins/467412385 creative commons licensed (BY) flickr photo by juhansonin: http://flickr.com/photos/juhansonin/14366928947 creative commons licensed (BY) flickr photo by Lara604: http://flickr.com/photos/lara604/3164627888 creative commons licensed (BY) flickr photo by basheertome: http://flickr.com/photos/basheertome/6785217165 creative commons licensed (BY) flickr photo by Wonderlane: http://flickr.com/photos/wonderlane/8664125024 creative commons licensed (BY) flickr photo by Mel B.: http:// flickr.com/photos/42dreams/2452866650 creative commons licensed (BY) flickr photo by dbrekke: http://flickr.com/photos/dbrekke/521540644 Credits