Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
そして物語は更に何度目かのアプリ内通知再実装を迎える / Reimplement in app...
Search
moznion
August 19, 2017
Technology
4.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そして物語は更に何度目かのアプリ内通知再実装を迎える / Reimplement in app notification again
Kyoto.なんか #3の資料です
moznion
August 19, 2017
More Decks by moznion
See All by moznion
go-sqletch
moznion
0
150
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
140
reFACToring
moznion
1
1.4k
cccccc
moznion
1
2.9k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
16k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
11
7.8k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
4
10k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
490
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
7
5.3k
Other Decks in Technology
See All in Technology
価値について
gree_tech
PRO
0
160
Codex を使った障害対応机上演習の実際
orgachem
PRO
0
330
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
160
Adversary Infrastructure Hunting101
disconinja
0
110
日本AIベンチャーレポート2026
kentarofujii
0
170
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
110
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
620
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
800
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
2
220
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
230
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
310
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
390
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
980
Ruling the World: When Life Gets Gamed
codingconduct
0
410
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
The browser strikes back
jonoalderson
0
1.8k
The Curse of the Amulet
leimatthew05
3
16k
New Earth Scene 8
popppiees
4
2.7k
Transcript
ͦͯ͠ޠߋʹԿ͔ͷ ΞϓϦ௨࠶࣮Λܴ͑Δ @moznion
@moznion Server Sideଠ
લճͷ͋Β͢͡
લճͷ͋Β͢͡
લճͷ͋Β͢͡ ͿΓͷग़Ͱ͢
ΞϓϦ௨ͱ
ΞϓϦ௨ͱ
None
ΞϓϦ௨ͷ๊͑Δ
༗ޮͳσʔλߏΛߟ͑Δͷ͕͍͠ w 8SJUF)BSEͳΞʔΩςΫνϟʹ͢Δ͔ w 3FBE)BSEͳΞʔΩςΫνϟʹ͢Δ͔ w ϋΠϒϦου
8SJUF)BSEͳΞʔΩςΫνϟ Storage Mailbox Write
Read
8SJUF)BSEͳΞʔΩςΫνϟ Storage Mailbox 4VCTDSJCFSͱ.BJMCPY͕ରԠ
Write Read
8SJUF)BSEͳΞʔΩςΫνϟ w 1SPT w 3FBE͕؆୯ 4VCTDSJCFSʹඥͮ͘ .BJMCPYΛ୯ʹಡΊऔͬͯ͜ΕΔ w $POT
w 8SJUFσʔλྔ͕૿͑Δ εύΠΫ͢Δ w 4UPSBHFͷσʔλ༰ྔ͕૿͑Δ ޙड़
3FBE)BSEͳΞʔΩςΫνϟ Write Read
3FBE)BSEͳΞʔΩςΫνϟ Write Read ͭͷσʔλιʔε͔Β 4VCTDSJCFSຖʹҟͳΔ௨Λ औಘͯ͘͠Δ
3FBE)BSEͳΞʔΩςΫνϟ w 1SPT w 8SJUF͢Δσʔλྔ͕গͳͯ͘ࡁΉ NBTUFSͱͳΔσʔλ͚ͩͰྑ͍ w $POT w
ͭͷσʔλιʔεΛͱʹͯ͠ɼ ֤4VCTDSJCFSʹԠͨ͡௨ΛΈཱͯΔ ඞཁ͕͋ΔͷͰSFBE͕ෳࡶʹͳΓ͕ͪ ॏ͍ΫΤϦ
લճͷ͋Β͢͡
8SJUF)BSEͳ ΞʔΩςΫνϟΛ࠾༻
8SJUF)BSEͳ ΞʔΩςΫνϟΛ࠾༻
8SJUF)BSEͳ ΞʔΩςΫνϟΛ࠾༻
ৄࡉલճͷεϥΠυ IUUQTTQFBLFSEFDLDPNNP[OJPO SFJNQMFNFOUJOBQQOPUJpDBUJPO
ͦͷޙฏͳʑΛ ա͍͕ͯͨ͝͠ʜʜ
Redisյ յͱݴ͏ఔͰͳ͍
w σʔλྔ͕େ͖͘ͳΓ͗ͨ͢ w ඦ(#ͷΦʔμʔ w ͦΓΌͦ͏ͩ VTFSͿΜNBJMCPY͕͋Δ w 3FEJTΛཧ͍ͯ͠ΔΤϯδχΞ͔Β ʮͦΖͦΖצหͯ͘͠ΕʯͱݴΘΕΔ
3FEJTͷݶք
3FEJTͷݶք w ௨σʔλॖୀ͠ʹ͍͘ w ٳϢʔβͰ͋ͬͯɼͦͷϢʔβͷ ௨σʔλফͤͳ͍ ॖখ͋Γ͔ w ͭ·Γσʔλ૿͑ΔҰํ
3FEJTͷݶք w 3FEJT͕ѱ͍Θ͚Ͱͳ͍ʂʂʂʂ w Ϣʔεέʔε͕߹Θͳ͔ͬͨ w େྔͷӬଓσʔλ࣋ͨͤΔͷΉ͍ͣ
ݱࡏ
w ͩ·ͩ͠·͠3FEJTΛ͍ͬͯΔʜʜ ͣ
Ͳ͏͢Εྑ͍ͷ͔
Ͳ͏͢Εྑ͍ͷ͔
ͭΒ͍ʂʂ
͜͜ͰৼΓฦͬͯΈ·͠ΐ͏
ৼΓฦΓ w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ w ݱ࣮తͳͰσʔλΛฦ͢4UPSBHF͕ ແਚଂʹ͋Εղܾ͢Δ w ಡΉํॻ͘ํɼʮ௨ʯΛද͢ ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ
ৼΓฦΓ w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ w ݱ࣮తͳͰσʔλΛฦ͢4UPSBHF͕ ແਚଂʹ͋Εղܾ͢Δ w ಡΉํॻ͘ํɼʮ௨ʯΛද͢ ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ
ແਚଂͳετϨʔδʜʜ
Amazon S3
"NB[PO4 w આ໌ෆཁ w "84ͷ0CKFDU4UPSBHF w ແਚଂ ແਚଂͰͳ͍
ৼΓฦΓ w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ w ݱ࣮తͳͰσʔλΛฦ͢4UPSBHF͕ ແਚଂʹ͋Εղܾ͢Δ w ಡΉํॻ͘ํɼʮ௨ʯΛද͢ ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ
ৼΓฦΓ w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ w ݱ࣮తͳͰσʔλΛฦ͢4UPSBHF͕ ແਚଂʹ͋Εղܾ͢Δ w ಡΉํॻ͘ํɼʮ௨ʯΛද͢ ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ
ϑΟʔυʜʜ
RSS
344 w આ໌ෆཁ w 9.-Ͱهड़Մೳ w αʔόଆɾΫϥΠΞϯτଆΘͣॆ࣮ͨ͠ αϙʔτ w ࠷ۙ344ͬͯΑΓ"UPNͰ͔͢Ͷ
Write Feed 1 Feed 2 Feed 3
S3 Read ུ֓
ུ֓ w αʔό344 "UPN 'FFEͷϑΝΠϧΛ 4ʹ165 PS1"5$) w ΫϥΠΞϯτ4͔Β'FFEΛ(&5͖ͯ͠
ͯɼ344Ϧʔμʔ࣮ͳΓͳΜͳΓͰ௨ ΛಡΈऔΔ w γϯϓϧʂʂʂʂʂ
1SPT w 8SJUF)BSEʹͳͬͯ૬ख4͔ͩΒ ·͋େৎͰ͠ΐ͏ͱ͍͏҆৺ײ w 3FBE͕݅ଟ͘ͳͬͯ૬ख4͔ͩΒ ·͋େৎͰ͠ΐ͏ͱ͍͏҆৺ײ ୯ͳΔ'FFEpMFͷTFSWFͩ͠ʜʜ w
344ͱ͍͏ރΕٕͨज़ͷస༻ʹΑΔ҆৺ײ
$POT w 0CKFDU4UPSBHFͷ165ͱ͍͏ॲཧͷ ಛੑ্ɼߴͳଈ࣌ੑΛ࣋ͨͤΔͷ͕ ͍͠ w ೝূɾೝՄ w طಡཧ
ଈ࣌ੑʹ͍ͭͯͷ w ྫ͑ɼʮ164)௨͕ૹΒΕ͖ͯͨͷʹ ௨ը໘ʹ৽͍͠௨͕ແ͍ʯͱ͍͏ έʔε w ϑΟʔυͷߋ৽͕Ԇ͍ͯ͠ΔͷݪҼ
ଈ࣌ੑʹ͍ͭͯͷ w ʮϑΟʔυͷߋ৽͕ऴΘͬͨΒ164)௨ΛൃՐ ͢ΔʯΈ͍ͨͳΠϕϯτۦಈʹ͢Δख͋Δ υ ϝΠϯΠϕϯτతͳ w ͔͠͠߹ʹΑͬͯॲཧͷߴԽͷͨΊʹ164) ௨ૹ৴ͱϑΟʔυߋ৽ผͷϫʔΧϓϩηε͕
ඇಉظతʹͬͯΔɼΈ͍ͨͳͷ͋Γ·͢ΑͶ w ͍͠ɼ߹ʹΑΔͱ͔͠ݴ͑ͳ͍ʜʜ
ೝূɾೝՄ w ུ֓ਤͷΑ͏ͳૉͳߏͩͱɼ 4ͷύʔϚϦϯΫ͑͞Θ͔Ε୭Ͱ ௨ͷ༰͕ಡΈऔΕͯ͠·͏ w ଟ͘ͷ߹ͦΕϚζ͍Ͱ͠ΐ͏ Ϛζ͘ͳ͍߹͋Δ͔͠Εͳ͍
Write S3 Read ೝূɾೝՄ
º 6TFS͔ΒͷSFBE ڐՄ͠ͳ͍ Write S3 Read ೝূɾೝՄ
Write S3 Read ೝূɾೝՄ αʔό4ؒͷ SFBEͷΈڐՄ͢Δ
αʔόͰϓϩΩγ͢Δͱ /FUXPSLӽ͠ͷ*0͕ͪ ੜ͡ΔͷͰϘτϧωοΫ ʹͳΓ͏Δʜʜ Write S3 Read
ೝূɾೝՄ
ೝূɾೝՄ w 4Λ୯ͳΔόοΫΤϯυ4UPSBHFͱͯ͠ Έͳͯ͠ɼαʔόܦ༝ͰίϯςϯπΛฦ͢ Α͏ʹ͢Δ w γϯϓϧ͕ͩϓϩΩγ͍ͯ͠Δαʔό͕ ϘτϧωοΫʹͳΔՄೳੑ͕͋Δ
ೝূɾೝՄ Write S3 (?) Read Onetime Token Onetime Token Serve
Onetime token Onetime Token
ೝূɾೝՄ w αʔόPOFUJNFUPLFOΛΫϥΠΞϯτʹฦ ٫͠ɼΫϥΠΞϯτͦͷPOFUJNFUPLFOͱ ڞʹTUPSBHFʹΞΫηεͯ͠(&5 w TUPSBHFଆ͕POFUJNFUPLFOͰೝূͯ͠ίϯ ςϯπΛฦ͔͢Ͳ͏͔Λஅ w ͜Ε4ͩͱग़དྷͳ͍ؾ͕͢Δʜʜ
ग़དྷΔ0CKFDU4UPSBHF͋Δͷ͔ʁ
طಡཧ w ୯७ʹϑΟʔυͷϑΝΠϧΛ৴͍ͯ͠Δ ͚ͩͳͷͰαʔόαΠυͰͷطಡཧ͕ ͍͠ w ΫϥΠΞϯτଆʹؤுͬͯΒ͏͔͠ʜʜ
·ͱΊ
·ͱΊ w ΞϓϦ௨࣮ʹ༷ʑͳ͕͋Δ w 8SJUFʹدͤΔ͔3FBEʹدͤΔ͔ w 8SJUFʹدͤͭͭɼ4UPSBHFΛ4ʹ͢Δͱ͍͏ ΞʔΩςΫνϟͷఏҊ ڊਓͷݞʹΔͧ
w ͔͠͠·ͩݕ౼͖͋͢Δ
·ͱΊ w ΞϓϦ௨࣮ͻͱͭऔͬͯํ๏͕ ͨ͘͞Μ͋ͬͯԞ͕ਂ͍ w ༻్ʹ߹Θͤͯదͳํ๏Λબ͢Δ ඞཁ͕͋Δ w ଞʹͬͱྑ͍ػߏ͕͋ͬͨΒٞ͠·͠ΐ ͏
͍ͬͦ54%#ʹಥͬࠐΜ͡Ό͏ͱ͔
Q?