Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yuji Shimada
1,950 views
Web API のすすめ
Technology
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Downloaded 16 times
1
/ 108
2
/ 108
3
/ 108
4
/ 108
5
/ 108
6
/ 108
7
/ 108
8
/ 108
9
/ 108
10
/ 108
11
/ 108
12
/ 108
13
/ 108
14
/ 108
15
/ 108
16
/ 108
17
/ 108
18
/ 108
19
/ 108
20
/ 108
21
/ 108
22
/ 108
23
/ 108
24
/ 108
25
/ 108
26
/ 108
27
/ 108
28
/ 108
29
/ 108
30
/ 108
31
/ 108
32
/ 108
33
/ 108
34
/ 108
35
/ 108
36
/ 108
37
/ 108
38
/ 108
39
/ 108
40
/ 108
41
/ 108
42
/ 108
43
/ 108
44
/ 108
45
/ 108
46
/ 108
47
/ 108
48
/ 108
49
/ 108
50
/ 108
51
/ 108
52
/ 108
53
/ 108
54
/ 108
55
/ 108
56
/ 108
57
/ 108
58
/ 108
59
/ 108
60
/ 108
61
/ 108
62
/ 108
63
/ 108
64
/ 108
65
/ 108
66
/ 108
67
/ 108
68
/ 108
69
/ 108
70
/ 108
71
/ 108
72
/ 108
73
/ 108
74
/ 108
75
/ 108
76
/ 108
77
/ 108
78
/ 108
79
/ 108
80
/ 108
81
/ 108
82
/ 108
83
/ 108
84
/ 108
85
/ 108
86
/ 108
87
/ 108
88
/ 108
89
/ 108
90
/ 108
91
/ 108
92
/ 108
93
/ 108
94
/ 108
95
/ 108
96
/ 108
97
/ 108
98
/ 108
99
/ 108
100
/ 108
101
/ 108
102
/ 108
103
/ 108
104
/ 108
105
/ 108
106
/ 108
107
/ 108
108
/ 108
More Related Content
PDF
Cpi mega mix
by
Ryuji Egashira
PPTX
Web api beginners
by
Hirohide Sano
PDF
2014.07.09 WordBench Tokyo LT
by
Yutaro Miyazaki
PDF
第5回名古屋若手Webエンジニア交流会
by
Yuta Mizui
PDF
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
by
Nobuhiro Ueda
PDF
無料ではじめる Webサーバ監視
by
Mitsushige Ishiguro
PDF
Mojolicious::Liteを使ってみよう
by
charsbar
PPTX
Lt 001
by
榎本 優樹
Cpi mega mix
by
Ryuji Egashira
Web api beginners
by
Hirohide Sano
2014.07.09 WordBench Tokyo LT
by
Yutaro Miyazaki
第5回名古屋若手Webエンジニア交流会
by
Yuta Mizui
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
by
Nobuhiro Ueda
無料ではじめる Webサーバ監視
by
Mitsushige Ishiguro
Mojolicious::Liteを使ってみよう
by
charsbar
Lt 001
by
榎本 優樹
What's hot
PDF
Java web application testing
by
Tokuhiro Matsuno
ODP
HTML5 アプリ開発
by
tomo_masakura
PDF
Vagrantと網元で開発環境を作ってみよう
by
Takuma Morikawa
PPT
マッシュアップ勉強会
by
guestadcb01
PDF
これから始める人のためのjQuery入門 先生:大竹 孔明
by
schoowebcampus
PPTX
とある技術の快速聊天
by
wakaba
PPTX
20090717 Ruby Kaigi Lightning Talk
by
axsh co., LTD.
PDF
Mojolicious+redisでチャットを作った
by
Tetsuya Tatsumi
PDF
HTML5で作るiPhoneアプリケーション
by
だいすけ ふるかわ
PDF
HTML5でできるカメラアプリを実際に体験しよう
by
Hideki Akiba
ODP
HTML5 開発環境の紹介
by
tomo_masakura
PDF
Html5で作るiPhoneアプリケーション2010
by
だいすけ ふるかわ
PDF
小,中規模WEBサイト 制作でAWSを使う
by
Nobuhiko Futagami
PPTX
第3回 HTML5飯 少ない工数で豊かな表現!これが私のCSSアニメーション
by
Sayuri Tsukida
PDF
Mojoliciousでつくる! Webアプリ入門
by
Yusuke Wada
PDF
Xamarin calabash-android のススメ
by
Yoshito Tabuchi
PDF
Service workerとwebプッシュ通知
by
zaru sakuraba
PDF
Amebaプラットフォームの作りかた
by
Kazunari Hara
PDF
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
by
松田 千尋
Java web application testing
by
Tokuhiro Matsuno
HTML5 アプリ開発
by
tomo_masakura
Vagrantと網元で開発環境を作ってみよう
by
Takuma Morikawa
マッシュアップ勉強会
by
guestadcb01
これから始める人のためのjQuery入門 先生:大竹 孔明
by
schoowebcampus
とある技術の快速聊天
by
wakaba
20090717 Ruby Kaigi Lightning Talk
by
axsh co., LTD.
Mojolicious+redisでチャットを作った
by
Tetsuya Tatsumi
HTML5で作るiPhoneアプリケーション
by
だいすけ ふるかわ
HTML5でできるカメラアプリを実際に体験しよう
by
Hideki Akiba
HTML5 開発環境の紹介
by
tomo_masakura
Html5で作るiPhoneアプリケーション2010
by
だいすけ ふるかわ
小,中規模WEBサイト 制作でAWSを使う
by
Nobuhiko Futagami
第3回 HTML5飯 少ない工数で豊かな表現!これが私のCSSアニメーション
by
Sayuri Tsukida
Mojoliciousでつくる! Webアプリ入門
by
Yusuke Wada
Xamarin calabash-android のススメ
by
Yoshito Tabuchi
Service workerとwebプッシュ通知
by
zaru sakuraba
Amebaプラットフォームの作りかた
by
Kazunari Hara
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
by
松田 千尋
Viewers also liked
PDF
07 10 kingdom eternal
by
SSMC
PPTX
Area 51
by
manu
PPTX
Música a la prehistòria
by
jordibm2
PPTX
Formation Pinterest réalisée en Décembre 2012 pour Orange
by
Christian Radmilovitch
PDF
2 d2.casemgmt
by
Oracle BH
PDF
التحول الديمقراطي والقطع مع الديكتاتورية عزالدين مبارك
by
ezzeddine
PDF
Mixed-use: проекты смешанного формата
by
Твоя столица
PDF
The struggle towards cross good friday 2013 @ ssmc
by
SSMC
PDF
Oracle tech fmw-04-sun-virtualization.and.solaris-neum-16.04.2010
by
Oracle BH
PDF
Parable of Widow & Judge
by
SSMC
PPTX
Co2 - Climate Change research project - Sugar Pine
by
hagenteacher
PDF
El papel del vídeo en la Web 2.0
by
Pablo Olmeda
PPS
England - Schweden
by
guest61a8e99
PDF
ثورة تلد أخرى بقلم عزالدين مبارك
by
ezzeddine
PDF
How to: Advanced Social Media Techniques
by
Mandy Jenkins
PPTX
Presentació activitat didàctica
by
jordibm2
PPT
H:\Facts\Two Role Models
by
guest8c866eb
PPTX
T carse ESOL_October_2013_3D_Research_presentation
by
TimCarse
PDF
Crowdsourcing for Journalism: KipCamp 2014
by
Mandy Jenkins
PPTX
Harnessing the Crowd
by
Mandy Jenkins
07 10 kingdom eternal
by
SSMC
Area 51
by
manu
Música a la prehistòria
by
jordibm2
Formation Pinterest réalisée en Décembre 2012 pour Orange
by
Christian Radmilovitch
2 d2.casemgmt
by
Oracle BH
التحول الديمقراطي والقطع مع الديكتاتورية عزالدين مبارك
by
ezzeddine
Mixed-use: проекты смешанного формата
by
Твоя столица
The struggle towards cross good friday 2013 @ ssmc
by
SSMC
Oracle tech fmw-04-sun-virtualization.and.solaris-neum-16.04.2010
by
Oracle BH
Parable of Widow & Judge
by
SSMC
Co2 - Climate Change research project - Sugar Pine
by
hagenteacher
El papel del vídeo en la Web 2.0
by
Pablo Olmeda
England - Schweden
by
guest61a8e99
ثورة تلد أخرى بقلم عزالدين مبارك
by
ezzeddine
How to: Advanced Social Media Techniques
by
Mandy Jenkins
Presentació activitat didàctica
by
jordibm2
H:\Facts\Two Role Models
by
guest8c866eb
T carse ESOL_October_2013_3D_Research_presentation
by
TimCarse
Crowdsourcing for Journalism: KipCamp 2014
by
Mandy Jenkins
Harnessing the Crowd
by
Mandy Jenkins
Similar to Web API のすすめ
PDF
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
PDF
ASP.NET WEB API 開発体験
by
miso- soup3
PPT
マッシュアップ勉強会
by
seiryo
PPTX
Web API(Dynamics 365 )勉強会
by
Kazuya Sugimoto
PPT
API Meetup #5 LT
by
Junichi Okamura
PPTX
爆速フレームワークでREST APIを作った話
by
Shohei Tai
PDF
WebAPI20230326.pdf
by
RyoArakaki1
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
PDF
ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法
by
Akira Hatsune
PDF
WebAPIと連携してみよう(1)
by
Yohei Sakakibara
PPTX
APIドキュメントの話 #sphinxjp
by
Takeshi Komiya
PPTX
HTML5&API総まくり
by
Shumpei Shiraishi
PDF
エンジニア戦記 〜小さなチーム、大きな未来〜
by
Yuki Hirai
PPTX
Web API を気軽に使えるツールやサービスのご紹介
by
CData Software Japan
PDF
What makes pyramid unique
by
Atsushi Odagiri
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
by
Kenyu Miura
PDF
【とらラボLT】go言語でのweb apiの作り方3選
by
虎の穴 開発室
PDF
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
PPTX
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
by
QlikPresalesJapan
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
ASP.NET WEB API 開発体験
by
miso- soup3
マッシュアップ勉強会
by
seiryo
Web API(Dynamics 365 )勉強会
by
Kazuya Sugimoto
API Meetup #5 LT
by
Junichi Okamura
爆速フレームワークでREST APIを作った話
by
Shohei Tai
WebAPI20230326.pdf
by
RyoArakaki1
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
by
Toru Kawamura
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法
by
Akira Hatsune
WebAPIと連携してみよう(1)
by
Yohei Sakakibara
APIドキュメントの話 #sphinxjp
by
Takeshi Komiya
HTML5&API総まくり
by
Shumpei Shiraishi
エンジニア戦記 〜小さなチーム、大きな未来〜
by
Yuki Hirai
Web API を気軽に使えるツールやサービスのご紹介
by
CData Software Japan
What makes pyramid unique
by
Atsushi Odagiri
スマホアプリ開発者のためのWeb api開発入門の入門
by
Kenyu Miura
【とらラボLT】go言語でのweb apiの作り方3選
by
虎の穴 開発室
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
by
QlikPresalesJapan
Web API のすすめ
1.
Web API のすすめ
~巨人にさらなる力を~ 2010/10/16 YAPC::Asia 2010 @xaicron
2.
自己紹介 名前
Yuji Shimada 嶋田裕二 仕事 DeNA CPAN XAICRON twitter @xaicron blog http://blog.livedoor.jp/xaicron/
3.
謝罪
4.
サブタイトルはただの あおり文句です
5.
今日は Web API
の話をします
6.
が、コードとかは ほとんど出てきません
7.
15時から講堂でやるやつは コードいっぱい出てきますので
見に来てね!!
8.
一口に Web API
と言っても いろいろありますね
9.
public に使えるもの Google
Map とか 認証が必要なもの twitter 内部的に使ってるもの Gmail
10.
それぞれの特徴
11.
public なもの ユーザー登録とかなしで、http(s) 経由 で直接使える どれくらいのアクセスがくるのか予想を つけ辛い
12.
認証が必要なもの ユーザー登録が必要 AccessToken とかがもらえて、それを 使ってアクセス ユーザー数からアクセスがある程度わ かる
不正なユーザーとか BAN できる
13.
内部的に使ってるもの 自分のところのページを非同期にする ために同一ドメイン内とかで Ajax 通信 ユーザーは自分ではつかわない アクセス数は、ユーザー数でわかる
14.
いろいろなものがある
15.
全体に共通して言えること
16.
速さが重要
17.
Web API は速くないと 全く使う気が起きない
18.
内部 API の場合は非同期でペー
ジを表示してるだけだから、 そんなに速くなくてもよくね?
19.
ページの描画が 10% 遅くなるだけ
でアクセス数が(ry
20.
というのは置いておいても
21.
速いに越したことはないよね!
22.
正直、Web API はもう流行ってな
いんじゃないか疑惑
23.
参考: http://yusukebe.com/archives/10/10/04/210341.html
24.
引用: “実際に「使える」Web APIは限られていることからマッシュ
アップはツンダ”
25.
その API が流行るかどうかは誰
にもわからない
26.
もしかしたら何かで流行るかもし
れないし
27.
とりあえず作ってみようぜ!
28.
高速な Web API
の実現方法
29.
既存の WAF を使わない
30.
前夜祭で @tokuhirom が言ってい
たこと
31.
徳永 「WAF は全部コードが読める
ものじゃないと使えない」
32.
Agree
33.
自分がわかっていないものを使っ
て、 問題が起こったときにn
34.
速いものを作るには、特化したも
のを作るしかない
35.
PSGI のおかげで
36.
ここ一年で Web アプリを取り巻く
環境は劇的に変わった
37.
いまはツールが充実している
38.
ore-ore WAF を作るのは難しくな
い
39.
既存の WAF だと機能過多な場合
がほとんど
40.
Web API では用件が
シンプルなので
41.
Controller をがんばる必要が
ない
42.
1:1
43.
でマッピングできる
44.
detach とか forward
みたいな 機能すら不要
45.
Web API に限ったことではないけ
ど
46.
Web App を作る上では、 Controller
と Model は完全に分離 すべき
47.
結局はちょっと高機能な dispatcher としてしか使っていない
48.
なら無駄な機能を削ぎ落としたや つを自分で書いた方がいい
49.
さらに、Web API では
View らしい View はない
50.
ほとんどすべての場合で、 JSON を返せばみんな幸せ
51.
一時期、XMLとか、なぜかYAMLと かを返すものもありました
52.
誰もうれしくない
53.
みんなで幸せになりましょう
54.
ここまでのまとめ
55.
Plack Router::Simple JSON
56.
あたりを使って、イカした ore-ore WAF を書きましょう
57.
ちょっとしたものなら本当に
すぐ書けるよ
58.
第一部 〜完〜
59.
第二部 〜実践編〜
60.
よし、たぶん高速な dispatcher は
書けるはずだお!
61.
とはいえ、dispatch にかかる時間
は通常は全体の処理の 数%程度!
62.
本当に必要なのは Model の
チューニングですね
63.
通常、ちゃんとチューニングされた
Perl コードであれば
64.
多くのボトルネックは DB 接続の
ようなものになる
65.
残念ながらそうならないケースもち
らほら
66.
どんな場合にも言えることだけど、 最も効果の出やすいチューニング
は
67.
method 呼び出しを減らすこと
68.
ただし、過剰に減らして可読性が 下がってもしょうがない
69.
Devel::NTYProf を使ってちゃんと
ボトルネックを見つける
70.
次に、オブジェクトの生成を減らす
71.
例えば、ORM を使っていて、それ がかなりのオブジェクトを生成して いるのであれば、使用をやめる
72.
ただし、生の DBI をそのまま使う
のはやはり面倒
73.
最近は
74.
DBIx::Connector -> (DBIx::DBHREsolver ->)
DBI
75.
みたいにラップして使うのがいい
気がしている
76.
もちろん、ORM でも十分に速度を
出すことも可能なので
77.
その辺りはよしなに使い分ければ
いいと思います
78.
必ず使うクラスがあり、それを毎回 new
しているような場合
79.
Object::Container のようなものに 入れて singleton
にしておくのがい い
80.
最近の Object::Container は preload
オプションとかついたので
81.
さらに使いやすくなっている
はず!
82.
run する前に 読み込んでおけば、
CoW が効くのでメモリーも抑えら れて一石二鳥
83.
ここまでのまとめ
84.
Plack Router::Simple JSON Object::Container DBIx::Connctor (DBIx::Skinny)
85.
当然、ここの部分は API の用件に よってかなりぶれがあり、一概にこ
れがいいとはいません
86.
が、一般的に、今言ったことを守っ ておけば、コード事態がボトルネッ クになる確立はだいぶ減ると思い
ます
87.
というわけで
88.
第二部 〜未完〜
89.
第三部 〜運用編〜
90.
多分、次で @fujiwara さんが 超絶詳しく説明してくれます
91.
第三部 〜期待〜
92.
だけではさすがにあれなので
93.
まぁ基本的なことですが
94.
まぁ基本的なことですが
95.
当然、必要な場所でログはとりま
しょう
96.
Log::Dispatch がデファクトなので 素直に使っておくのがいいです
97.
Syslog n
98.
ここまでのまとめ
99.
Plack Router::Simple JSON Object::Container DBIx::Connecter (DBIx:: Skinny) Log::Dispatch
100.
あたりを使って薄いものをつくれば
いいですね!
101.
それ Amon2 で出来るよ!
102.
って感じですが、あれは普通に参 考になるので一度はソースを読ん
だ方がいいです
103.
まとめ
104.
今の時代、 ore-ore WAF を書くのは
別に怖くない
105.
もちろん、なれてないうちは、イケ てないものが出来ちゃうかもしれ
ないけど、
106.
新しいものを常に追求した方が楽
しいでしょ!!
107.
:-)
108.
ご清聴ありがとうございました
Download