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
Privileged Apps with Vue.js
Search
masawada
November 15, 2014
Programming
210
0
Share
Privileged Apps with Vue.js
masawada
November 15, 2014
More Decks by masawada
See All by masawada
dotfiles 式年遷宮 令和最新版
masawada
1
970
10年続くサービスのデータを1日未満のメンテナンスウィンドウで安全に移管する
masawada
5
2.5k
よりよいレビュー環境を求めて / A code review odyssey
masawada
0
3k
フロントエンドの秩序は保たれているか?
masawada
1
4.3k
Getting Started with ScratchX
masawada
0
780
GyaPC::Asia Tokyo 2015 LT
masawada
0
1.5k
Chikubeam
masawada
1
1.6k
Git講習 2014.04.15
masawada
1
360
Hack U at UEC 2014.03.27
masawada
0
1.5k
Other Decks in Programming
See All in Programming
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.9k
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
230
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
1.9k
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
190
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
420
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
330
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
840
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.1k
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
570
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing for Performance
lara
611
70k
Speed Design
sergeychernyshev
33
1.6k
We Are The Robots
honzajavorek
0
210
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
sira's awesome portfolio website redesign presentation
elsirapls
0
210
Transcript
Privileged Apps with Vue.js Firefox OS ίʔυϦʔσΟϯάϛʔτΞοϓ #11 (2014/11/15) @masawada
͜ΜΜ
@masawada
None
FxOSϋοΧιϯͱ͔ओ࠵
http://masawada.me
εϥΠυ50ຕͳͷͰ ඈ͠·͢
Privileged Apps with Vue.js
Vue.js
MVVMϑϨʔϜϫʔΫ
MVCͷѥछΈ͍ͨͳͷ
ৄࡉׂѪ
(͜Θ͍͓͡͞Μ͜Θ͍)
Model View ViewModel
Model var model = { hello: “” };
View <body> <div id=“app”> <p v-text=“hello”></p> <input type=“text” v-model=“hello”> </div>
</body>
ViewModel var app = new Vue({ el: "#app", data: model
});
ViewͱModelΛ ViewModel͕όΠϯυ
None
Privileged Apps (ಛݖΞϓϦ)
Privileged Apps ɾHosted AppsͰ͑ͳ͍API͕͑Δ ɾmanifest.webappʹࢦఆΛॻ͘ ɾ੍͍͔ͭ͘ݶ͕͋Δ ɾΞϓϦΛެ։͢Δͱ͖ʹ৹͕ࠪ͋Δ
੍͍͔ͭ͘ݶ͕͋Δ
CSP
Content Security Policy
Content Security Policy ɾؔίϯετϥΫλͷېࢭ ɾeval ͷېࢭ ͳͲͳͲ… https://developer.mozilla.org/ja/Apps/CSP ΛݟͯͶ
Vue.js
ؔίϯετϥΫλଟ༻ͯͨ͠
None
ͬͨͥ
Ͳ͏࣮ͬͯݱ͍ͯ͠Δ͔
mmckegg/notevil
mmckegg/notevil ɾNode.jsͷϞδϡʔϧ ɾVue.jsͰ͜ΕΛforkͯ͠ґଘϥΠϒϥϦΛ݁߹ ɾariya/esprimaͰparseͯ͠Δ ɾάϩʔόϧΦϒδΣΫτʹΞΫηε͠ͳ͍
mmckegg/notevil case 'BinaryExpression': var l = walk(node.left) var r =
walk(node.right) switch(node.operator) { case '==': return l === r case '===': return l === r
.oO(not evil …?)
ศརͳͷͰ͍·͠ΐ͏
ݱ͔ΒҎ্Ͱ͢
༨ஊ
ίʔυϦʔσΟϯάͷ ͓ͱʹ
git find ίϚϯυ
git find ɾgit subcommand ɾPATHͷ௨Δॴʹgit-findϑΝΠϧΛஔ͘ → git findͰ࣮ߦͰ͖Δ ɾpeco͕ඞཁ
pecoͷΠϯετʔϧ (mac) $ brew tap peco/peco $ brew install peco
None
None
None
None
࠷ߴ
git find DST_PATH=$(git grep -n $1 | grep -v "[0-9]:\s*//"
| peco | awk -F ":" '{print "-c "$2" "$1}'); if [ ${#DST_PATH} -ne 0 ]; then vim $DST_PATH; fi
[git find peco][ݕࡧ]
ͥͻ͓͍͍ͩ͘͞
͋Γ͕ͱ͏͍͟͝·ͨ͠