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
はてなスターにおける静的ファイル配信の話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tkzwtks
June 23, 2023
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はてなスターにおける静的ファイル配信の話
tkzwtks
June 23, 2023
More Decks by tkzwtks
See All by tkzwtks
データマイグレーションの成功戦略~サービスリニューアルで失敗しないための実践ガイド~
tkzwtks
10
3.5k
ちょっぴりDiveDeepするAWSの時間 AWS Dev Day 2023 Tokyo 延長戦 実践データ移行 〜はてなダイアリーや魔法のiらんどの事例と共に〜
tkzwtks
1
240
YAPC::Kyoto 2023 LT Perlブートキャンプご紹介
tkzwtks
0
1.5k
Hatena Engineer Seminar #14 魔法のiらんど データ移行編 〜新旧システム間のデータマイグレーション時に我々が考えること〜 / hatena-engineer-seminer-number-14-data-migration
tkzwtks
0
3.2k
レガシーシステムからのデータマイグレーションあれこれ
tkzwtks
4
1.8k
hatena-engineer-seminar-10
tkzwtks
0
2.6k
Other Decks in Technology
See All in Technology
LanceDB入門
mocobeta
8
590
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
390
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
600
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
590
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
220
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
Genie Codeハンズオン応用編
taka_aki
0
120
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
630
Digitization部 紹介資料
sansan33
PRO
2
7.7k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
980
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
220
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Practical Orchestrator
shlominoach
191
12k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
670
Building Adaptive Systems
keathley
44
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
420
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Become a Pro
speakerdeck
PRO
31
6.2k
So, you think you're a good person
axbom
PRO
2
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
עיםتذ٭מֽׄ ꪐ氳نٜؒؕ鿥⟓ס鎇 id:tkzwtks
舅䄕磆☭ 2015 /
ئ٭لتوٚشعنؚ٭ّز٭ّ ♓㛙 / / ID ...
☪仼ס鎇 עיםتذ٭סؠٚؕؓ٤ع⻠״גꪐ氳نٜؒؕס鿥⟓ס鎇 אס☽סٝ؝ب٭ס鎇ג־זגחדזגׄלյֹױׂױכ״ם־זגסךյ׆ס䏲 ס䟏鈐⚡ךֽ鎇ױֹ !
עיםتذ٭ 2007 URL JS
ٛؼٖ٭ٜؓ 2022 1 Intelligent Tracking Protection Third Party Cookie JSONP
callback
䤗软氳ם鎋ַ鎇ע׆ה - Hatena Developer Blog https://developer.hatenasta .com/entry/ / / /
עיםتذ٭מֽׄ ꪐ氳نٜؒؕ鿥⟓ס鎇ס⯥מ
ꪐ氳نٜؒؕ鿥⟓قذ٭٤丝杼 S / GCS + CDN S / GCS +
עיםتذ٭ٛؼٖ٭ٜؓ
עיםتذ٭ٛؼٖ٭ٜؓ JSONP HatenaStar.js HatenaStar.js JSONP HatenaStar.js
釐♭ JSONP JSONP HatenaStar.js JSONP
⛼䡵 URL HatenaStar.js URL URL URL
⛼䡵 API
ؓ٭؞طؠزٔ
S + nginx = nginx nginx S S nginx
ْٛشع CORS Cache-Control VPC
ظوٞؕقؕوٚؕ٤ S putObject GHA main
؞ٔشبٖ
؞ٔشبٖמחַי䷉״י㰢ש ⯥䬠湳閁 HTTP RFC HTTP/ . : Caching
؞ٔشبٖ 二ؠٚؕؓ٤ع ˝ نٜؒؕ⺲ֿ㍾㲊מםזיַסעյٛٛ٭ت⯥עCache- Control: no-cache ˝ contenthashنٜؒؕ⺲מ⻠״יַסעꝎ״מ؞ٔش بٖ ˝
╈骰ֿ㚺זג侇מنٜؒؕ⺲ֿ㚺ג״յꝎ״מ؞ٔش بٖיゖ갭םַ
HatenaStar.js Cache-Control JSONP HatenaStar.js 1 Cache-Control: no-cache
nginx S If-None-Match/If-Modified-Since 304 nginx proxy_cache_revalidate nginx Last-Modified
ٛٛ٭ت䏲ס؞ٔشبٖ鐧丝
؞ٔشبٖ鐧丝 nginx S S If-None-Match GET/HEAD
؞ٔشبٖ鐧丝 nginx S S URL 1 / 30 URL contenthash
/ S
ױכ״ S nginx S /proxy