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
Feature Policy
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yosuke Furukawa
PRO
October 18, 2018
Programming
160
1
Share
Feature Policy
Yosuke Furukawa
PRO
October 18, 2018
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
220
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
5.1k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.7k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
330
Removing Corepack
yosuke_furukawa
PRO
9
1.9k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3.1k
Strip Types と Storage
yosuke_furukawa
PRO
4
500
Module Harmony について
yosuke_furukawa
PRO
4
1.9k
LTのやり方
yosuke_furukawa
PRO
16
2.9k
Other Decks in Programming
See All in Programming
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
310
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.4k
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
240
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
760
[RubyKaigi 2026] Require Hooks
palkan
1
290
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
AIと共に生きる技術選定 2026
sgash708
0
120
Kingdom of the Machine
yui_knk
2
1.4k
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
450
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
340
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
21
11k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
How STYLIGHT went responsive
nonsquared
100
6.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
490
Side Projects
sachag
455
43k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
The Limits of Empathy - UXLibs8
cassininazir
1
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
Transcript
Future HTTP 2018/10/12 @ Future Architect
Twitter: @yosuke_furukawa Github: yosuke-furukawa
ϦΫϧʔτςΫϊϩδʔζ ITE౷ׅ෦ϓϩμΫτΤϯδχΞϦϯά෦ASG ݹཅհʢϑϧΧϫϤεέʣ 3 ▪৬ ࣗݾհ Application Solution GroupͷάϧʔϓϚωʔδϟ γχΞιϑτΣΞΤϯδχΞ
͓ࣸਅ ໌Δ͍දͷͷ ϓϥΠϕʔτՄ ▪GMͱͯͬͯ͠Δ͜ͱ ιϑτΣΞΤϯδχΞମ੍ͮ͘Γ ࠾༻/ධՁ νʔϜϏϧσΟϯά/ίϯαϧςΟϯά ▪γχΞͱͯͬͯ͠Δ͜ͱ R&D - React/Redux/Node.jsΛͬͨϘΠϥʔϓϨʔτ - Consumer Driven Contract πʔϧ agreed࡞ ύϑΥʔϚϯενϡʔχϯά - ࣾISUCON։͍ͨΓ - ࣾWeb Page SpeedϋοΧιϯ։͍ͨΓ
ݺΜͰ͍͖ͨͩ ͋Γ͕ͱ͏͍͟͝·͢ʂʂʂʂʂʂʂ
None
None
ँࣙʹࡌͤͯΒͬͨʂʂ
HTTP
None
Future
ϑϡʔνϟʔ
ϑΟʔνϟʔ
ϑΟʔνϟʔ… HTTP…
ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹFeature Policy !!!!ɹʻ ʉY^Y^Y^Y^Y^Y^Y^Y^ʉ
Webʹ͓͚Δ Permission
Webʹ͓͚Δ legacy feature
Webʹ͓͚Δ legacy feature HTML Parser ͕࣮ߦதʹDOMΛ͍ͬͯ͡͠·͏. ࣮ߦதʹωοτϫʔΫΛࢭΊͯ͠·͏ɻ
Webʹ͓͚Δ legacy feature const syncXhr = new XMLHttpRequest(); syncXhr.open("GET",
"https://example.com/sample.txt", false); syncXhr.send(null);
Webʹ͓͚Δ legacy feature const syncXhr = new XMLHttpRequest(); syncXhr.open("GET",
"https://example.com/sample.txt", false); syncXhr.send(null); ͏ͳʂʂʂҎ্
Feature-Policy ϔομʔͰ ػೳͷPermissionΛ ઃఆͰ͖Δ Feature-Policy: sync-xhr 'self'; document- write 'none';
geolocation 'example.com';
DEMO 1: Sync XHR ͕Ͱ͖ͳ͍Α͏ʹ ͢Δɻ Feature-Policy: sync-xhr 'none';
DEMO 2: document.write ͕Ͱ͖ͳ͍ Α͏ʹ͢Δɻ Feature-Policy: document- write 'none';
DEMO 3: ϨΨγʔͳը૾ϑΥʔϚοτ ΛରԠ͠ͳ͍ɻ Feature-Policy: legacy- image-formats 'none’;
͜ͷଞʹɿ geolocation, getUserMedia,document.co okie, lazyload, animations, payment, webxr etc etc
WebͷਐԽ͋Δ͕ɺਐԽͷ ҰํͰࠓͬͯ΄͘͠ͳ͍ ػೳ͋Δɻ (document.write, sync-xhr)
·ͨٯʹڧྗ͗͢Δػೳʹର ੍ͯ͠ݶ͍ͨ͜͠ͱ͋Δ উखʹiframeͰදࣔ͞ΕͯΔࠂ͔ΒҐஔ ใऔΒΕͨ͘ͳ͍
WebͱPermissionͱ͍͏ͷ ࠓ͍ྖҬɺͲ͏ͬͯ҆ શͰ༗Γଓ͚Δ͔ɺͲ͏ͬ ͯߴͳਐԽΛଓ͚Δ͔ͱ͍ ͏ʹͳ͍ͬͯΔɻ
·ͱΊʂʂʂ • Feature Policy Webͷະདྷʹॏཁͳػೳ • ஈ֊తʹػೳΛ༗ޮԽͤͭͭ͞ɺஈ֊తʹػ ೳΛແޮԽͤ͞Δ͜ͱͰ͖Δ • ौ͞Μ
• 2൛ँࣙͬͯ·͢ɻ
͋ɺͦ͏ͦ͏େࣄͳ͜ͱ
feature-policyͷnode moduleΛ࡞ͬͨͷ ͰͬͯΈ͍ͯͩ͘͞ʂʂʂʂʂʂʂʂʂʂ $ npm install node-feature-policy
Thank you