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
Submit search
EN
Uploaded by
Yusuke Wada
6,966 views
The master plan ofscaling a web application
Yusuke Wada a.k.a yusukebe 2013/10/26 Fukuoka Perl Workshop #24
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 65
2
/ 65
3
/ 65
4
/ 65
5
/ 65
6
/ 65
7
/ 65
8
/ 65
9
/ 65
10
/ 65
11
/ 65
12
/ 65
13
/ 65
14
/ 65
15
/ 65
16
/ 65
17
/ 65
18
/ 65
19
/ 65
20
/ 65
21
/ 65
22
/ 65
23
/ 65
24
/ 65
25
/ 65
26
/ 65
27
/ 65
28
/ 65
29
/ 65
30
/ 65
31
/ 65
32
/ 65
33
/ 65
34
/ 65
35
/ 65
36
/ 65
37
/ 65
38
/ 65
39
/ 65
40
/ 65
41
/ 65
42
/ 65
43
/ 65
44
/ 65
45
/ 65
46
/ 65
47
/ 65
48
/ 65
49
/ 65
50
/ 65
51
/ 65
52
/ 65
53
/ 65
54
/ 65
55
/ 65
56
/ 65
57
/ 65
58
/ 65
59
/ 65
60
/ 65
61
/ 65
62
/ 65
63
/ 65
64
/ 65
65
/ 65
More Related Content
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
by
Yuki Minakawa
PDF
Pyramid入門
by
Atsushi Odagiri
PDF
はじめよう Backbone.js
by
Hiroki Toyokawa
PDF
WordPressで提供するWeb API
by
Yuko Toriyama
PDF
⑯jQueryをおぼえよう!その2
by
Nishida Kansuke
PDF
Flask勉強会その1
by
Masato Kawamura
PDF
Backbonejs @BuildInsiderOffline #1
by
daisuke shimizu
PDF
Using Dancer
by
Yoshihiro Sasaki
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
by
Yuki Minakawa
Pyramid入門
by
Atsushi Odagiri
はじめよう Backbone.js
by
Hiroki Toyokawa
WordPressで提供するWeb API
by
Yuko Toriyama
⑯jQueryをおぼえよう!その2
by
Nishida Kansuke
Flask勉強会その1
by
Masato Kawamura
Backbonejs @BuildInsiderOffline #1
by
daisuke shimizu
Using Dancer
by
Yoshihiro Sasaki
What's hot
PPTX
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
by
Takayuki Shimizukawa
PDF
jQuery Performance Tips – jQueryにおける高速化 -
by
Hayato Mizuno
PDF
Start React with Browserify
by
Muyuu Fujita
PDF
WordPressと外部APIとの連携
by
Hidekazu Ishikawa
PDF
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
by
normalian
PDF
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
by
Naoya Ito
PDF
⑲jQueryをおぼえよう!その5
by
Nishida Kansuke
PDF
15分でCakePHPを始める方法(Nseg 2013-11-09 )
by
hiro345
PDF
第21回Creators MeetUp
by
Kenichi Mukai
PPTX
忙しい人のためのBackbone.jsとAngular.js入門
by
Toshiaki Maki
PDF
Backbone.js入門
by
AdvancedTechNight
PPT
Scripting Layer for Android + Perl
by
Naoya Ito
PDF
Angular js or_backbonejs
by
Omasa Yusaku
PDF
Scc2014 :jQueryの仕組みを完璧に理解する
by
Jun Futakawa
PDF
backbone.jsの使用例 その1
by
Makoto Haruyama
PPTX
2時間で学ぶjQuery
by
Shumpei Shiraishi
KEY
Wight: Phantom’s Perl friend - YAPC::Asia 2012
by
Hironao Otsubo
PPTX
実用裏方 Perl 入門
by
keroyonn
PPT
Titanium Mobile
by
Naoya Ito
PPTX
20140523 jQuery基礎 (HTML5ビギナーズ)
by
Daisuke Yamazaki
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
by
Takayuki Shimizukawa
jQuery Performance Tips – jQueryにおける高速化 -
by
Hayato Mizuno
Start React with Browserify
by
Muyuu Fujita
WordPressと外部APIとの連携
by
Hidekazu Ishikawa
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
by
normalian
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
by
Naoya Ito
⑲jQueryをおぼえよう!その5
by
Nishida Kansuke
15分でCakePHPを始める方法(Nseg 2013-11-09 )
by
hiro345
第21回Creators MeetUp
by
Kenichi Mukai
忙しい人のためのBackbone.jsとAngular.js入門
by
Toshiaki Maki
Backbone.js入門
by
AdvancedTechNight
Scripting Layer for Android + Perl
by
Naoya Ito
Angular js or_backbonejs
by
Omasa Yusaku
Scc2014 :jQueryの仕組みを完璧に理解する
by
Jun Futakawa
backbone.jsの使用例 その1
by
Makoto Haruyama
2時間で学ぶjQuery
by
Shumpei Shiraishi
Wight: Phantom’s Perl friend - YAPC::Asia 2012
by
Hironao Otsubo
実用裏方 Perl 入門
by
keroyonn
Titanium Mobile
by
Naoya Ito
20140523 jQuery基礎 (HTML5ビギナーズ)
by
Daisuke Yamazaki
Viewers also liked
PPTX
Wawasan bangi kajang 30 tahun akan datang
by
fatimatulzahra mohamad japar
PDF
CAREPNG 5-Yr StrtPln 2012-16
by
Peter Raynes
PDF
YAPC::Asia 2010 Twitter解析サービス
by
Yusuke Wada
PDF
Simon Property Group
by
Curtis Garrett
PPTX
Bangi kajang 30 tahun akan datang
by
Intan Fazira Erna
PDF
Creative Compound Press Materials & Media Outreach Materials
by
Claire Mirsky
PDF
Pra-Rancangan Pabrik Amonium Klorida dengan Proses Netralisasi Kapasitas 100....
by
Pulung Sambadha
PDF
How can HubSpot help BabelQuest grow your business
by
Eric Murphy
PDF
Adblock is a boycott: The failure of Big Data to see it coming. Version 2.0. ...
by
David Carroll
PDF
Calendari 2017
by
LauraGR
PPTX
Lmcp 1532 pembangunan bandar mapan
by
raqib17
PDF
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
by
Yusuke Wada
PPTX
Projek akhir
by
mohammad amirul faiz bin mohd ali
Wawasan bangi kajang 30 tahun akan datang
by
fatimatulzahra mohamad japar
CAREPNG 5-Yr StrtPln 2012-16
by
Peter Raynes
YAPC::Asia 2010 Twitter解析サービス
by
Yusuke Wada
Simon Property Group
by
Curtis Garrett
Bangi kajang 30 tahun akan datang
by
Intan Fazira Erna
Creative Compound Press Materials & Media Outreach Materials
by
Claire Mirsky
Pra-Rancangan Pabrik Amonium Klorida dengan Proses Netralisasi Kapasitas 100....
by
Pulung Sambadha
How can HubSpot help BabelQuest grow your business
by
Eric Murphy
Adblock is a boycott: The failure of Big Data to see it coming. Version 2.0. ...
by
David Carroll
Calendari 2017
by
LauraGR
Lmcp 1532 pembangunan bandar mapan
by
raqib17
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
by
Yusuke Wada
Projek akhir
by
mohammad amirul faiz bin mohd ali
Similar to The master plan ofscaling a web application
PDF
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
PPTX
130329 perl casual_ruik
by
Rui Kimura
PDF
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
by
Hiroh Satoh
PPTX
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
PDF
WordPressAPI
by
Yuki Okamoto
PDF
Mojoliciousでつくる! Webアプリ入門
by
Yusuke Wada
PDF
110409 slintky lt
by
Takayoshi Tanaka
PPTX
fluxflex meetup in Tokyo
by
Kyosuke Inoue
PDF
Tottoruby 20110903
by
Takashi SAKAGUCHI
PDF
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
PDF
Perlで初めてWebアプリを作った話
by
Yuzo Iwasaki
PDF
Swaggerを利用した新規サービス開発
by
recotech
PDF
Fukuokapm20140920 uzulla talk
by
Junichi Ishida
PDF
とある Perl Monger の働き方
by
Yusuke Wada
PPTX
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
by
Bin Matsui
PDF
Web技術勉強会 第31回
by
龍一 田中
PDF
Moff 20130309 jawsug_santo_v01
by
Motohiro Yonesaka
PDF
みんなでWAIWAI Webアプリ
by
Kiwamu Okabe
PPT
Web2.0 講演スライド 2008/2/26
by
kishida4slideshare
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
130329 perl casual_ruik
by
Rui Kimura
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
by
Hiroh Satoh
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
WordPressAPI
by
Yuki Okamoto
Mojoliciousでつくる! Webアプリ入門
by
Yusuke Wada
110409 slintky lt
by
Takayoshi Tanaka
fluxflex meetup in Tokyo
by
Kyosuke Inoue
Tottoruby 20110903
by
Takashi SAKAGUCHI
50分で掴み取る ASP.NET Web API パターン&テクニック
by
miso- soup3
Perlで初めてWebアプリを作った話
by
Yuzo Iwasaki
Swaggerを利用した新規サービス開発
by
recotech
Fukuokapm20140920 uzulla talk
by
Junichi Ishida
とある Perl Monger の働き方
by
Yusuke Wada
BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...
by
Bin Matsui
Web技術勉強会 第31回
by
龍一 田中
Moff 20130309 jawsug_santo_v01
by
Motohiro Yonesaka
みんなでWAIWAI Webアプリ
by
Kiwamu Okabe
Web2.0 講演スライド 2008/2/26
by
kishida4slideshare
More from Yusuke Wada
PDF
僕がつくった 70個のうちの48個のWebサービス達
by
Yusuke Wada
PDF
スッとGoを取り入れる
by
Yusuke Wada
PDF
東京脱出計画中
by
Yusuke Wada
PDF
Extreme remote working
by
Yusuke Wada
PDF
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
by
Yusuke Wada
PDF
創造のプロセスを回せ!v0.01
by
Yusuke Wada
PDF
It's not only about "REMOTE"
by
Yusuke Wada
PDF
事故からはじまるスケールチャンス
by
Yusuke Wada
PDF
Google BigQueryを使ってみた!
by
Yusuke Wada
PDF
Webサービスのコンテンツパターン 或いはデータの活⽤
by
Yusuke Wada
PDF
5 minutes - YAPC::Asia Tokyo 2014
by
Yusuke Wada
PDF
Podcastをカジュアルに 支える技術
by
Yusuke Wada
PDF
そのWebサービスは本当に「あたりまえ」だったのか?
by
Yusuke Wada
PDF
10 things to learn from Bokete
by
Yusuke Wada
PDF
Inside Bokete: Web Application with Mojolicious and others
by
Yusuke Wada
PDF
僕らの履歴書
by
Yusuke Wada
PDF
僕らがWebサービスをつくる5つの理由
by
Yusuke Wada
PDF
僕らがつくるための 「5W」について
by
Yusuke Wada
PDF
Webサービス企画のコツ
by
Yusuke Wada
PDF
横浜ラーメン紀行
by
Yusuke Wada
僕がつくった 70個のうちの48個のWebサービス達
by
Yusuke Wada
スッとGoを取り入れる
by
Yusuke Wada
東京脱出計画中
by
Yusuke Wada
Extreme remote working
by
Yusuke Wada
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
by
Yusuke Wada
創造のプロセスを回せ!v0.01
by
Yusuke Wada
It's not only about "REMOTE"
by
Yusuke Wada
事故からはじまるスケールチャンス
by
Yusuke Wada
Google BigQueryを使ってみた!
by
Yusuke Wada
Webサービスのコンテンツパターン 或いはデータの活⽤
by
Yusuke Wada
5 minutes - YAPC::Asia Tokyo 2014
by
Yusuke Wada
Podcastをカジュアルに 支える技術
by
Yusuke Wada
そのWebサービスは本当に「あたりまえ」だったのか?
by
Yusuke Wada
10 things to learn from Bokete
by
Yusuke Wada
Inside Bokete: Web Application with Mojolicious and others
by
Yusuke Wada
僕らの履歴書
by
Yusuke Wada
僕らがWebサービスをつくる5つの理由
by
Yusuke Wada
僕らがつくるための 「5W」について
by
Yusuke Wada
Webサービス企画のコツ
by
Yusuke Wada
横浜ラーメン紀行
by
Yusuke Wada
Recently uploaded
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PMBOK 7th Edition Project Management Process Scrum
by
akipii ogaoga
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
The master plan ofscaling a web application
1.
The master plan
of scaling a web application Yusuke Wada a.k.a yusukebe 2013/10/26 Fukuoka Perl Workshop #24 1
2.
本日の使用フォント やさしさゴシック http://www.fontna.com/blog/379/ 2
3.
Japan Perl Association の 講師派遣制度を利用させて来ました 3
4.
自己紹介 • • (株)ワディット代表取締役 (株)オモロキ取締役兼最高技術責任者 • • Webアプリケーションデベロッパー 物書きも少々… • •
独身… 和田裕介 1981年12月23日生 4
5.
どこから来たの? 5
6.
6
7.
すみかは? 7
8.
8
9.
本題の前に YAPC::Asia 2013レポート的な何か 9
10.
YAPC::Aasia 2013 in
Tokyo 9月19,20,21日 慶應義塾日吉キャンパス内 協生館 10
11.
概要 • エンジニアのエンジニアによるエンジニア のためのお祭り • • 同時4トラックが走る トータル1,131人の参加者 11
12.
30days Albumより http://30d.jp/yapcasia/6 12
13.
前夜祭 LTソン::Tiny 13
14.
お祭り雰囲気 14
15.
トーク 15
16.
Perl入学式 16
17.
Lightning Talks 17
18.
オーディエンス 18
19.
Hub 19
20.
引退 20
21.
以上 YAPC::Asia 2013 ありがとう! 21
22.
さて… 22
23.
本日の題材 「最近なに開発してるか」 23
24.
24
25.
ボケて • 国内最大級のお笑いWebサービス...らしい! 3秒で笑えるがコンセプト • オモロキがコアとなって開発・運営 • 25
26.
こういうの 26
27.
参考データ • • 月間お題投稿数3万件 月間ボケ投稿数120万件 • • モバイルアプリは200万インストール 合計ボケ投稿数1,100万ボケ • ほげほげページビュー 27
28.
各種デバイス展開 • • スマホ向けWeb iOSアプリ • • Androidアプリ PC向けWeb 28
29.
外部サービスとの連携 • Yahoo! JAPAN 百度
hao123 • • PlayNow goo • • Gunosy etc. • ボケてセレクト 29
30.
コラボ・スペシャルアカウント • • 企業さんがお題を提供 ユーザーがボケる • • バナー/告知ページ 二次利用なども • 島耕作でボケれる! 30
31.
ボケて自体の説明終わり 31
32.
開発の話 32
33.
Bokete versions • Alpha
- リリース前の試験版 Beta - 2008年8月リリース • • Gamma - 2009年5月リリース Delta - 2012年7月リリース • • Epsilon - 次期バージョン 33
34.
全ての開発・運用を一人で担当 *モバイルアプリを除く 34
35.
人的リソースは増やさない 35
36.
便利な外部サービスでスケール • Amazon Web
Services RDS, ElastiCache, SES ... • • Managedなミドルウェアを選択 GitHubプライベートレポジトリ • • Travis CI Uptimer • などなど... • 36
37.
ただ、正直しんどい... 37
38.
オモロキ 38
39.
パートナー開発体制 ケースによって座組を変える • コア =
オモロキ アプリ= オモロキ+ハロ+ブレイブソフト • • コラボ= オモロキ+ハロ+キャッチボール ... • 39
40.
割り切った分業化を提案 • API Version
2を作成 ほぼ全機能をWeb APIで提供 • • モバイルアプリだけではなくWebでも利用 Webのフロント部分を誰かに移譲 • • 言語はなんでもよい! 40
41.
Web API v2 • •
既存の仕様を利用する JSON-RPC 2.0 • • OAuth 2.0 API = Web でネットワークレイテンシ • • 割りきって無視をする コアのロジックを全て実装し提供 41
42.
JSON-RPC # POST to
SERVER ! {‘jsonrpc’: ‘2.0’, ‘method’: ‘/boke/recent’, ‘params’: {‘limit’: 10}, ‘id’: 1} ! ! # Response BODY {‘jsonrpc’: ‘2.0’, ‘result’: { entries = […] }, ‘id’: 1} シンプルなフォーマット POSTでリクエスト もちろんJSONフォーマット 42
43.
43
44.
APIの実装 • 旧APIと同居させる 認証認可のためのパス • • 情報操作のためのパス v1 アプリ OAuth v2 JSON-RPC 44
45.
方針 • 既存WAFは使わない =
素Plackアプリ OAuth::Lite2 + JSON::RPCを利用 • ./lib/Bokete/WebAPIv2 ## Dispatcher.pm ## OAuth/ $ ## Controller/ $ $ ## OAuth.pm $ $ ## Root.pm $ ## Controller.pm $ ## DataHandler.pm $ ## Dispatcher.pm ## RPC/ ## Dispatcher.pm ## Filter.pm ## Handler/ $ ## Boke.pm $ ## Root.pm ## Handler.pm ## Router.pm 45
46.
OAuth::Lite2 • • mixiでの利用実績あり? 継承して中身を実装する • • OAuth::Lite2::Server::DataHandler code認証、password認証などに対応 • Provider実装も含まれている 46
47.
# In your
controller ! use Plack::Middleware::Auth::OAuth2::ProtectedResurce; ! my $middleware = Plack::Middleware::Auth::OAuth2::ProtectedResource-new( data_handler = 'Bokete::WebAPIv2::OAuth::DataHandler', app = sub {}, ); $middleware-call($self-request-env); ! if(my $user_id = $self-req-env-{REMOTE_USER}) { my $user = $self-model('User')-find({ id = $user_id }); $self-stash-{user} = $user; }else{ $self-stash-{user} = undef; } 47
48.
JSON::RPC • • ルータにRouter::Simpleを利用している まかまかさん=牧さん my $router
= Router::Simple; $router-connect( 'get_info' = { handler = 'Hoge::Handler::Root', action = 'get_info' }); my $dispatch = JSON::RPC::Dispatch-new( router = $router ); ...; sub psgi_app { $dispatch-handle_psgi($env); } 48
49.
API Playground 49
50.
ほぼAPI側のフレームワークは完成! 50
51.
誰かにWebのフロントを 担当してもらおう! 51
52.
やまぴー 52
53.
俺「フロントの言語は何でもいいよ」 53
54.
やまぴー「Perlでやります!」 54
55.
俺「!!!」 55
56.
ってことでやまぴーと一緒に • Boketeのシステム部分をはじめて分業 • マネージメントツールをGitHubに寄せる •
レポジトリ • イシュー管理 • ドキュメント管理 • 積極的に対面して一緒に作業する • フロントはMojoliciousで実装する 56
57.
Bokete::Front::* • やまぴーが使いやすいフレームワーク作成 # presudo
code ! get '/boke/recent' = sub { my $self = shift; my $result = $self-call_api({ method = '/boke/recent', params = { limit = 10 } }); $self-stash-{entries} = $result-{entries}; $self-render(); }; 57
58.
提供するライブラリなど • Mojoliciousに特化したセッション管理 認証とAPIのコールをラップするUA • • CSRF対策 アプリのフレームワーク • 作法をつくる 58
59.
例えばセッション管理 my $session; ! ...; ! $self-hook( around_dispatch =
sub { my ( $next, $c ) =@_; $session = Bokete::Session-new( request = $c-req ); $next-(); $session-finalize( response = $c-res ); } ); ! ...; ! $self-helper( bokete_session = sub { return $session } ); 59
60.
特化したUserAgent my $ua =
Bokete::Front::UserAgent-new( client_id = ‘xxxxxx’, client_secret = ‘xxxxxx’, access_token_uri = ‘xxxxxx’, rpc_endpoint_uri = ‘xxxxxx’ ); ! my $token = $ua-get_token({ username = ‘xxxxxx’, password = ‘xxxxxx’ }); ! # OAuthヘッダを設定しつつJSON-RPCをコールする my $result = $ua-call({ access_token = $token-access_token, method = ‘hello’, params = { message = ‘foo’ } }); 60
61.
今回の構造化のメリット • • 分業しやすい、開発者の冗長化 役割としてのフォーカスが明確になる • • フロントエンドはやまぴー ロジックとフレームワークづくりに集中 • •
他のことに手を付けられる! テスタビリティが上がる 61
62.
今後やりたいこと • • 死活監視・リソース監視・チューニング 開発・CI環境の整備 • • コンテンツデータの解析 新機能の実験 • •
Growth Hacks的なこと インフラ周りの強化 62
63.
まとめ 63
64.
今やってるWebアプリの構造化 • HTTPレベルで一つのアプリを切り離す APIサーバ • • OAuth認証 JSON-RPCによる情報操作API • •
分業出来てフォーカスが絞れる 絶賛開発中 • • ウマくいけばやれることが広がる! 64
65.
おわり 質問等どーぞー 65
Download