Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
Search
pochi
August 29, 2014
Technology
4.4k
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.5k
RubyMotion 1.15で追加されたtest周りの話
pchw
1
3.3k
Other Decks in Technology
See All in Technology
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
640
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
440
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
490
購入ドメインでの課題と取り組み
ykagano
0
140
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
The seven pitfalls of AI (revised version)
ufried
0
270
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
130
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
350
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
41k
Product Roadmaps are Hard
iamctodd
55
13k
Embracing the Ebb and Flow
colly
88
5.2k
A better future with KSS
kneath
240
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
540
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
4 Signs Your Business is Dying
shpigford
187
23k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
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