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
Webサービスにおける キャッシュ戦略
Search
Yusuke Wada
July 03, 2016
Technology
36
34k
Webサービスにおける キャッシュ戦略
YAPC::Asia Hachioji 2016 mid in Shinagawa
2016-07-03
Yusuke Wada a.k.a. yusukebe
Yusuke Wada
July 03, 2016
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
Remix on Hono on Cloudflare Workers
yusukebe
1
270
僕がつくった48個のWebサービス達
yusukebe
20
17k
Honoの来た道とこれから
yusukebe
19
3.2k
JS RPCを理解する
yusukebe
5
680
Honoとhtmx
yusukebe
6
1.8k
Cloudflare Workersの環境を再現することについて
yusukebe
7
990
Hono v4
yusukebe
11
4.8k
Hono v3 and v4
yusukebe
4
3.8k
The power of Web-standards
yusukebe
4
1.7k
Other Decks in Technology
See All in Technology
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
170
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
1.6k
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
Platform Engineering for Software Developers and Architects
syntasso
1
510
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
The Rise of LLMOps
asei
5
1.1k
Application Development WG Intro at AppDeveloperCon
salaboy
0
180
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
How to Ace a Technical Interview
jacobian
276
23k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Designing the Hi-DPI Web
ddemaree
280
34k
What's new in Ruby 2.0
geeforr
343
31k
Speed Design
sergeychernyshev
24
610
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
A better future with KSS
kneath
238
17k
Transcript
8FCαʔϏεʹ͓͚Δ Ωϟογϡઓུ :"1$"TJB)BDIJPKJNJEJO4IJOBHBXB :VTVLF8BEBBLBZVTVLFCF
ࣗݾհ w ా༟հBLBZVTVLFCF w ϫσΟοτදऔక w ΦϞϩΩ$50 w ٕज़ސY w
DPGPVOEFSPGCPLFUF w XBEBGNEBOEZGN w 1FSM.POHFS
࠷ۙͭͬͯ͘Δͷ
3VCZPO3BJMT"QQ BOE J04"QQ
ຊτʔΫͷςʔϚ
Ωϟογϡ
ͱ͍ͬͯ
ϨΠϠʔͷΩϟογϡ ͷ͠·ͤΜ
7BSOJTIͷ͠·ͤΜ ͳ͔ͥޙͰ͔Δ
વ
ݱۚͷ͠·ͤΜʂ
8FCΞϓϦέʔγϣϯ ϨΠϠʔͰѻ͏Ωϟογϡ ͷΛ͠·͢ʂ
ΞδΣϯμ w Ωϟογϡͷత w Ωϟογϡͷجૅ w Ωϟογϡύλʔϯ w Ωϟογϡ ΦϨΦϨ
ઓུ
Ωϟογϡͷత
*0ͷޮԽ
*0͕ϘτϧωοΫʹͳΔ݅ w ྫ%BUF5JNFΛ͏Θͳ͍WTTMPXRVFSZ w *0ͷੑೳʹൺͯ$16ੑೳͷํ͕ߴ͍߹͕ଟ͍ w σʔλੵ͢Δ͠σʔλྔ͕૿͑Εେن w 3%#.4ʹෳࡶͳࣄ͕͋ΔΑͶ w
֎෦ͷ8FC"1*ΞΫηε*0ͱͯ͠ߟ͑ΒΕΔ w ݁Ռ*0όϯυ͕ϘτϧωοΫʹͳΔ
*0ϘτϧωοΫվળ w 3%#.4ͷ߹͚ͩͲ w ΫΤϦνϡʔχϯά w ςʔϒϧઃܭͷݟ͠ w ҙਤతͳඇਖ਼نԽ w
தؒςʔϒϧͷ༻ҙͳͲ w αʔόͷεϖοΫΞοϓ #65
Ͳʔ͠ΐͳ͍࣌ ΊΜͲ͍࣌͋͘͞ΔΑͶʙ %#ʹຊ࣭తͳσʔλͷΈೖΕ͍ͨ ͔ͭύϑΥʔϚϯεΛग़͍ͨ͠
ΩϟογϡͰ*0ΛޮԽʂ
ҙ
ޙड़͢ΔΑ͏ʹΩϟογϡʹΑΔ ղܾສೳ͡Όͳ͋͘Δ
Ωϟογϡͷجຊ
DBDIF நԽ͞ΕͨΩϟογϡετΞ
,74ΠϯλʔϑΣʔε ࠷ݶͷ
DBDIFTFU LFZ WBMVF NZWDBDIFHFU LFZ QSJOUWWBMVF DBDIFEFMFUF LFZ
DBDIFHFU LFZ VOEFG HFUTFUEFMFUF
DBDIFेʹ͍ҽӒҶనᝢ w ΩϟογϡετΞͷදྫ w NFNDBDIFE w 3FEJT w ΞϓϦέʔγϣϯϝϞϦ w
ϑΝΠϧFUD w ,74ΠϯλʔϑΣʔεΛར༻͠*0ΛޮԽ͢Δ w ࠓճओʹNFNDBDIFEΛఆͯ͠͠·͢
FYQJSF
DBDIFTFU LFZ WBMVF NZWDBDIFHFU LFZ
σʔλΛอ࣋͢Δ༗ޮظݶΛ ࢦఆग़དྷΔ
Ωϟογϡύλʔϯ
ύλʔϯ
&YQJSFΛͬͨ యܕతͳύλʔϯ
֎෦)551ϦΫΤετͷ ݁ՌΛҰఆ࣌ؒΩϟογϡͤ͞Δ
TVCHFU@OFXT@FOUSJFT\ NZTFMGTIJGU NZFOUSJFTTFMGDBDIFHFU LFZ SFUVSOFOUSJFTJGFOUSJFT FOUSJFTTFMGGFUDI@OFXT@FOUSJFT TFMGDBDIFTFU LFZ
FOUSJFT SFUVSOFOUSJFT ^ LFZʹWBMVF͕ଘࡏ͢Δ͔HFUͰ֬ೝ͢Δ WBMVF͕ଘࡏͨ͠Βͦͷ··ฦ͢ ଘࡏ͠ͳ͍߹)551ϦΫΤετΛΒͤίϯςϯπΛੜ FYQJSFΛࢦఆͯ͠LFZͰίϯςϯπΛTFU͢Δ ίϯςϯπΛฦ٫͢Δ
ϦεΫ
FYQJSF ඵ࣌ؒͷؒʹ ֎෦Ͱίϯςϯπ͕ߋ৽͞Εͯ ΞϓϦ্Ͱө͕͞Εͳ͍ ҙਤతͳΩϟογϡͷߋ৽ আ͕ඞཁʹͳͬͯ͘Δ
Ωϟογϡͷ ίϯτϩʔϧ͍͠
ΩϟογϡͷপΑ͏ͦ̇͜
ͱ͜ΖͰ
3%#.4ͷ͍߹Θͤͷ߹ ಉ͡Α͏ʹΩϟογϡग़དྷΔ ͨͩ͠ෳͷΫΤϦΛΩϟο γϡ͢Δ߹LFZͷཧੜ ͕ࡶʹͳΔ͕࣌͋Δ Ή͠Ζউखʹ &YQJSFΛͬͨ ΩϟογϡΛͯ͠Β͍͍ͨ
ύλʔϯ
ҾΫΤϦΛͬͨLFZੜ ʹΑΔಁաతΩϟογϡ ύλʔϯ
ྫ͑
%#*Y$MBTT$VSTPS$BDIFE ͷ߹
None
TVC@CVJME@DBDIF@LFZ\ NZ DMBTT TUPSBHF BSHT BUUST !@ NZSFGTUPSBHF@TFMFDU@BSHT@UP@RVFSZ !\BSHT^<>
BUUST NZDPOO SFUVSO%JHFTU4)"TIB@IFY 4UPSBCMFOGSFF[F <SFG DPOO\/BNF^ DPOO\6TFSOBNF^]]> ^ ͷΫΤϦίωΫγϣϯใͳͲΛ ϋογϡؔ௨ͯ͠จࣈྻԽͨ͠ͷΛLFZͱ͍ͯ͠Δ
LFZͷੜΛࣗಈతʹߦ͍ ͍ͭͷؒʹ͔&YQJSFϕʔεͷ ΩϟογϡΛ͢Δ ಁաΩϟογϡͷύλʔϯ
TFMGECTFBSDI FOUSZ \VTFS@JE^ \PSEFS@CZJE FYQJSF ^ Ԡ༻͢ΕಁաతΩϟογϡػߏ͕࡞ΕΔ
FYQJSFͱ͍͏໊લͷϋογϡΛઃఆ͢Δͱࣗಈతʹ ͦͷ͚࣌ؒͩΩϟογϡ͓͍ͯͯ͘͠ΕΔͱ͔ ͨͩ͠%#ଆͷߋ৽ͷөFYQJSFͨ͠ޙʹ͞ΕΔΑʂ
ύλʔϯ
ͳΔ͘खલͰΩϟογϡͯ͠ ޮΛ্͛Δύλʔϯ
ϑϩϯτʹ͍ۙͱ͜ΖͰΩϟογϡ ͯ͋͛͠ΔͱޮΑ͍ 3FRVFTU 3FTQPOTF %# "QQMJDBUJPO 8FC4FSWFS ΑΓ*0ޮΛ্͛ΒΕΔ
ྫ͑
JTVDPOҴ㉮ӝԩդՈ㮢॰న⒌Ĕ✵㮣 IUUQEIBUFOBOFKQIJEFEFO
)5.-ࣄલੜ 44* w αΠυόʔʹʮ࠷ۙͷίϝϯτҰཡʯΛදࣔ w ϙετ࣌ʹ)5.-ΛϨϯμϦϯάͯ͠)5.-ࣗମΛ Ωϟογϡɺදࣔ࣌ʹऔಘͦ͠ͷ··)5.-දࣔ w ϖʔδશମΛΩϟογϡ͢ΔͱશϖʔδͷΩϟογϡ Λഁغ͠ͳ͍͚ͯ͘ͳ͍ͷͰ
w ίϝϯτදࣔ෦͚ͩΩϟογϡ͠44*ͰύʔπΛ ݺͼग़͢ JODMVEFWJSUVBMSFDFOU@DPNNFOUFE@BSUJDMFT
ϑϩϯτدΓͷ Ωϟογϡมߋʹऑ͍ w ςϯϓϨʔτͷߏΛม͑ͨ࣌ w ։ൃ͕සൟʹى͜Δ߹ʹ͍ʹ͍͘ w ͦͯ͠࠶ར༻ੑʹ͍͠
ύλʔϯ͔ΒݟΔ ΩϟογϡͷϙΠϯτ
Ωϟογϡॾਕͷ w DBDIFͷ,74ΠϯλʔϑΣʔεेʹ͍ w Ωϟογϡͷߋ৽ʹؾΛΘͳ͍͚ͯ͘ͳ͍ w FYQJSF·Ͱͷظ্͕༷ؒແͰ͋Δ w ҙਤతʹΩϟογϡΛEFMFUF͢Δ w
LFZͷ໊͚Λ໌ࣔతʹΔ͔ಁաతʹߦ͏͔ʁ w ͳΔ͘ϑϩϯτدΓͰΩϟογϡͤͨ͞ํ͕ߴ w ͱ͍͑ΞϓϦέʔγϣϯͷมߋʹऑ͍
ΦϨΦϨ Ωϟογϡઓུ
#PLFUFαʔόΞϓϦͷ߹
#PLFUFεϖοΫ w ݄ϩʔϯν w ͏͙͢ສ%- J04 "OESPJE w Ϙέ
ສ݅ w ͓ສ݅ w ධՁԯ݅ w ϐʔΫ࣌SFRTTFD
σʔλετΞͱΩϟογϡͷ جຊઓུ
044ޓͷϛυϧΣΞΛ͏ w "NB[PO8FC4FSWJDFT্ʹΠϯϑϥΛߏங w ͨͩ͠044ޓͷ*'Λ࣋ͭϛυϧΣΞͷΈ༻ w "NB[PO3%4"VSPSB w NFNDBDIFE &MBTUJ$BDIF
w 3FEJT &MBTUJ$BDIF w &MBTUJDTFBSDI &MBTUJDTFBSDI4FSWJDF w खݩͰͷ࠶ݱੑΛߴΊΔͨΊ
+PJOΛͳΔ͘͠ͳ͍ w ෆมͳΦϒδΣΫτ͕ଟ͍ͷͰ+PJO͢Δίετ͕ແବ w ޙड़ w ΞϓϦέʔγϣϯʹΑΔ w 03.BQQFSϨϕϧͰ+PJO͠ʹ͘͘͢Δ w
ҙਤతͳඇਖ਼نԽΛؚΊΔ%#ઃܭ
ෆมͳϞϊΩϟογϡ͢Δ w มԽͷগͳ͍ΦϒδΣΫτ࠷ॳͷࢀরޙΩϟογϡ w ҎޙͷͦͷΩϟογϡΦϒδΣΫτΛ͍ճ͢ w গͳ͍ߋ৽࣌ʹΩϟογϡΛഁغ͢Δ CPLF PEBJ QIPUP
VQEBUF͕ແ͍ ͨ·ʹEFMFUF͕Δ
Ωϟογϡͷཻ w ԿΛΩϟογϡ͢Δ͔ʁ w ཻ͕খ͍͞Ωϟογϡର3PX୯ମ w ཻ͕େ͖͍ΩϟογϡରϥϯΩϯάͳͲҰཡ
3PXͷࢀর࣌ϋογϡͰѻ͏ w 3PXΦϒδΣΫτ͡Όͳͯ͘ϋογϡͰѻ͏ w ͦͦ8FC"1*͔ͩΒ+40/Ͱฦ͢͠ w ϋογϡͩͱΩϟογϡ͍͢͠ w ͨͩ3PXΦϒδΣΫτΛϑΣον͔ͯ͠Βϋο γϡԽ͍ͯ͠Δ
w 3PXຖʹJOqBUFϧʔϧΛΦϒδΣΫτʹҠৡ
όονΑΓࢀরใΛΩϟογϡ w ෳࡶͳόονॲཧΛݮΒ͢ํ w ࢹ͕͠ʹ͍͘ʢָͯ͠ࢹ͍ͨ͠ʣ w ෳΧςΰϦʹ·͕ͨΔϥϯΩϯάΛදࣔ w ଟͷՕॴͷϥϯΩϯάΛόονͰੜආ͚ͨ ͍ʢΊΜͲ͍͘͞ʣ
ίϯςϯπΛ༧Ί༻ҙ͢ΔͷͰͳ͘ ඞཁͱ͞Εͨ࣌ʹΩϟογϡ͓ͯ͘͠
࣮
ΦϒδΣΫτϕʔεͷ ಁաΩϟογϡ
CPLF\PEBJ^\QIPUP^\MBSHF@VSM^ ϦϨʔγϣϯઌͷΦϒδΣΫτ ΩϟογϡΛ࣮ݱ͢Δ Ωϟογϡ͔Βऔಘ
#PLFUF%# QBDLBHF#PLFUF%# VTFQBSFOU5FOH TVCGJOE@XJUI@DBDIF\ NZ TFMG UBCMF XIFSF FYQJSF
!@ NZLFZTFMGNBLF@LFZ UBCMF XIFSF GJOE NZEBUBTFMGDBDIFHFU LFZ SFUVSOEBUBJGEBUB NZPCKFDUTFMGTJOHMF UBCMF XIFSF PSSFUVSO EBUBPCKFDUJOGMBUF@DPMVNOT TFMGDBDIFTFU LFZ EBUB FYQJSF SFUVSOEBUB ^ TVCEFMFUF@DBDIF\ ಁաΩϟογϡ ΠϯλʔϑΣʔεΛੜ͢
#PLFUF%#3PX#PLF QBDLBHF#PLFUF%#3PX#PLF TVCJOGMBUF@DPMVNOT\ NZTFMGTIJGU NZEBUBTFMGDPMVNOT EBUB\PEBJ^ TFMGIBOEMFGJOE@XJUI@DBDIF
PEBJ \JEEBUB\PEBJ@JE^^ SFUVSOEBUB ^ औಘ࣌ʹϦϨʔγϣϯઌͷ ΦϒδΣΫτΛΩϟογϡ͢Δ
ԾʹϦϨʔγϣϯઌͷPEBJQIPUP ͕Ωϟογϡ͞Ε͍ͯΔCPLFҰཡΛ औͬͯ͘Δ߹ 4&-&$5จҰൃͷΈͰϦϨʔγϣϯઌ ͷΦϒδΣΫτऔͬͯ͜ΕΔʂ
!CPLFTTFMGECTFBSDI CPLF \^ \PSEFS@CZ \JEBTD MJNJU^^ CPLFT<>\PEBJ^\QIPUP^\MBSHF@VSM^ .Z42-4&-&5$5 '30.CPLF03%&3#:JE"4$-*.*5
NFNDBDIFEHFUPEBJBCDEFG NFNDBDIFEHFUQIPUPBCDEFG NFNDBDIFEHFUPEBJBCDEFGH NFNDBDIFEHFUQIPUPBCDEFGH NFNDBDIFE͔ΒͷHFUͳͷͰेʹ͍ 3%#.4ͷෛՙΫΤϦҰൃͷΈ
Ωϟογϡͷഁغ w ΦϒδΣΫτͷߋ৽আ͕ͬͨ߹ͷΩϟογϡͷΫϦΞ w LFZੜ࣌ͱಉ͡Α͏ʹ03.BQQFSͷΫΤϦΛॻ͘ w ճ͕ଟ͘ແ͍ͷͰରԠͰ͖ͯΔ TFMGECEFMFUF@DBDIF PEBJ \JEPEBJ@JE^
ϥϯΩϯάͱ͔ ҰཡͷΩϟογϡ
ಁաతΩϟογϡΛ࠾༻ w ϞσϧʹDPOE BUUSΛҾͱͯ͠Β͏ϝιο υΛੜ͢ྫHFU@TPSUFE@FOUSJFT w BUUSͷϋογϡʹFYQJSFͷ͕ೖ͍ͬͯΕͦͷؒ ͚ͩΩϟογϡͤ͞ΕΔ NZTFMG
DPOE BUUS!@ TFMGECTFBSDI CPLF \^ \PSEFS@CZ\SBUF@TVN EFTD MJNJU FYQJSFBUUS\FYQJSF^^^
ΞϓϦέʔγϣϯຖͷ্༷ Ωϟογϡͯ͠Α͚Ε ׆༻Λʂ
͔͕͠͠
ͦͷ໊
5IVOEFSJOH)FSE
௨ৗɺΩϟογϡʹ֨ೲ͞ΕΔσʔλɺͦΕͧΕ୯Ұͷ ੜଘ࣌ؒΛ͍ͬͯ·͢ɻɺසൟʹΞΫηε͞ΕΔ Ωϟογϡσʔλ͕ΤΫεύΠΞͨ͠ࡍʹൃੜ͠·͢ɻσʔ λ͕ΤΫεύΠϠͨ͠ॠ͔ؒΒɺฒߦʹΔෳͷΞϓϦ έʔγϣϯϩδοΫ͕ϛεώοτΛݕ͠ɺ͍ͣΕ͔ͷϓ ϩηε͕ΩϟογϡσʔλΛ֨ೲ͢Δ·ͰͷؒɺಉҰͷϦ ΫΤετ͕ଟɺόοΫΤϯυʹඈΜͰ͠·͏ͷͰ͢ɻ IUUQMBCTDZCP[VDPKQCMPHLB[VIPBSDIJWFTDBDIF@BOE@UIVOEFSJOH@IFSEQIQ
ਤղ
FYQJSF ेʹ͍ ेʹ͍ FYQJSFͨ͠ॠؒ ίϯςϯπͷੜ ΩϟογϡͷTFU ͜ͷظؒʹΞΫηε͕ू தͯ͠ίϯςϯπੜ͕ ଟॏʹΔ
Cache Thundering Herd Problem
%#ͷ$16ෛՙ
٧Ή
٧Ή
٧Ή
None
ղܾࡦ
&BSMZ&YQJSFT$BDIF CZLB[FCVSP IUUQCMPHOPNBETDBGFKQNFNDBDIFEUIVOEFSJOHIFSEIUNM
Έ w ௨ৗͷΩϟογϡ &YQJSF͕͍Ωϟογϡ w ্ه̎ͭΛNFNDBDIFEʹTFU w HFU࣌ʹͱ͋Δ֬Ͱ&YQJSF͕͍ํͷΩϟογϡ Λݟʹ͍͘ w
Ұఆͷ֬ͰΩϟογϡ͕ૣ͘ΕΔ w ҰʹίϯςϯπੜͰෛՙ͕͔͔ΔͷΛආ͚Δ w Ωϟογϡͷ༰ྔഒඞཁ
QBDLBHF&BSMZ&YQJSFT$BDIF TVCTFU@FF\ NZ TFMG LFZ WBMVF FYQJSFT !@ TFMGDBDIFTFU
LFZ WBMVF FYQJSFT TFMGDBDIFTFU LFZFF WBMVF FYQJSFTTFMG FBSMZ@FYQJSFT ^ TVCHFU@FF\ NZ TFMG LFZ !@ JG JOU SBOE TFMGSBUJP \ SFUVSOTFMGDBDIFHFU LFZFF ^ TFMGDBDIFHFU LFZ TFMGDBDIFHFU LFZFF ^ TVCEFMFUF@FF\ NZ TFMG LFZ !@ TFMGDBDIFEFMFUF LFZ TFMGDBDIFEFMFUF LFZFF ^ ࣌ؒࠩͰೋॏʹLFZΛTFU ಛఆͷׂ߹Ͱ͍DBDIFΛHFU
௨ৗ͜ͷରࡦͰ0,ʂ
ͨͩ͠
ϐʔΫ࣌ʹ·ͩߥΕΔ ॠఀ͕ى͜Δ
ਏ͍
ݪҼ ίϯςϯπੜ͕͍ ύϥϝʔλͷ͕࠷దͰͳ͍ ΞΫηε͕͋Δఔଟ͍
ͦ͜Ͱ
-B[Z$BDIF ΦϨΦϨ
Έ w ௨ৗͷΩϟογϡ &YQJSF͕͍Ωϟογϡ w ͦΕʹՃ͑ͯίϯςϯπੜ࣌ϑϥά w ্ه͕ͭNFNDBDIFEʹηοτ͞ΕΔ w ௨ৗͷΩϟογϡ͕&YQJSFͨ࣌͠ʹϑϥάʹਅΛTFU
w ௨ৗΩϟογϡ͕ۭ͔ͭϑϥά͕ਅͷ߹ʹ&YQJSF͕ ͍ΩϟογϡΛฦ͢ w ͦͷؒʹίϯςϯπੜɺͦͷޙΩϟογϡΛTFUɺϑ ϥάΛEFMFUF͢Δ
௨ৗΩϟογϡ͕͋Δίϯςϯπੜͯ͠ͳ͍ ௨ৗΩϟογϡΛฦ٫ ௨ৗΩϟογϡ͕ͳ͍ίϯςϯπੜͯ͠ͳ͍ ϑϥάΛηοτ ίϯςϯπΛੜ ΩϟογϡΛηοτϑϥάΛআ ੜͨ͠௨ৗΩϟογϡΛฦ٫ ௨ৗΩϟογϡ͕ͳ͍ίϯςϯπੜͯ͠Δ &YQJSFΊͷΩϟογϡΛฦ٫
QBDLBHF#PLFUF$BDIF-B[Z$BDIF TVCHFU\ NZ TFMG LFZ !@ NZEBUBTFMGDBDIFHFU LFZ
NZGMBHTFMGDBDIFHFU LFZGMBH JG EBUBGMBH \ TFMGTFU LFZGMBH EPUBTL TFMGTFU LFZ EBUB TFMGFYQJSF TFMGTFU LFZ EBUB TFMGFYQJSF TFMGMB[Z@UJNF TFMGEFMFUF LFZGMBH ^ SFUVSOEBUB]]TFMGDBDIFHFU LFZMB[Z ^ ࢀর࣮ ϑϥάΛHFU ϑϥάΛTFUͯ͠ ίϯςϯπੜ ௨ৗΩϟογϡ͕ۭͳΒMB[ZDBDIFΛฦ٫
݁Ռ͕Ұྎવ
None
۪ʹॻ͍ͨΒ͏·͍ͬͨ͘ ഉଞॲཧͱ͔ͯ͠ͳ͍͚Ͳ
None
͜ͷΑ͏ʹΞϓϦʹΑͬͯ Ωϟογϡઓུ༷ʑʂ
ͦΖͦΖ·ͱΊ
Ωϟογϡઓུʹ͍ͭͯ͠·ͨ͠ w ΩϟογϡͷతجຊతͳΈ w ಁաΩϟογϡͷ࣮ͱϦεΫ w ΦϨΦϨ Ωϟογϡઓུ w
5IVOEFSJOH)FSEͱͷઓ͍ ΞϓϦέʔγϣϯʹΑͬͯઓུ͕มΘͬͯ͘Δ
օ͞ΜͳΓͷઓུͰ ΩϟογϡΛͬͯԼ͍͞