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
Cloud Next '19 Tokyo Summary
Search
2kyym
August 29, 2019
Programming
0
75
Cloud Next '19 Tokyo Summary
社内で発表した Cloud Next '19 Tokyo の参加報告資料です。自分が聴講したセッションの中から ML, MLOps に関連するものをピックアップしました。
2kyym
August 29, 2019
Tweet
Share
More Decks by 2kyym
See All by 2kyym
Cloud Composerで組む機械学習パイプライン
2kyym
0
1.6k
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
2kyym
0
290
MOVの機械学習システムを支えるMLOps実践
2kyym
1
240
Other Decks in Programming
See All in Programming
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
310
Spring gRPC について / About Spring gRPC
mackey0225
0
220
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
14k
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
12
4.1k
『品質』という言葉が嫌いな理由
korimu
0
160
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.4k
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Unity Android XR入門
sakutama_11
0
160
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
650
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Thoughts on Productivity
jonyablonski
69
4.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
It's Worth the Effort
3n
184
28k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building Adaptive Systems
keathley
40
2.4k
Speed Design
sergeychernyshev
27
790
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
KATA
mclloyd
29
14k
Practical Orchestrator
shlominoach
186
10k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Transcript
(PPHMF$MPVE/FYU`5PLZPࢀՃใࠂ "*.- !"*ٕज़ڞ༗ձ ஙࢁকԝ "*ຊ෦"*γεςϜ෦.-ΤϯδχΞϦϯάୈҰάϧʔϓ גࣜձࣾσΟʔɾΤψɾΤʔ
͡Ίʹ ͜Μͳײ͡ʹͳͬͯΔͱ͜ΖϦϯΫͰ͢ ʢҎޙʣ
$MPVE/FYU`5PLZP֓ཁ
$MPVE/FYU`5PLZP֓ཁ Πϕϯτ֓ཁ w (PPHMF$MPVE1MBUGPSNؔ࿈ͷ৽ϦϦʔεɺاۀͰͷ׆༻ࣄྫͳͲͷൃද w ձɿ౦ژϓϦϯεϗςϧβɾϓϦϯεύʔΫλϫʔ౦ژ w ࠓͷࢀՃऀ ਓ
w ίϯςϯπ w جௐߨԋͱηογϣϯʢϝΠϯʣ w ($1ͷػೳ֤اۀͷσϞ͕లࣔ͞Ε͍ͯΔ&YQP w "TLUIF4QFBLFS w /FYUJO5PLZP/JHIUʢύʔςΟʣ IUUQTDMPVEXJUIHPPHMFDPNOFYUUPLZP
$MPVE/FYU`5PLZP֓ཁ %F/"͔Βͷొஃ w ೆ͞Μ w جௐߨԋ w ۀ࣌ͷ͔ΒΦϯϓϨˠΫϥυҠߦͷ͍͖ͭ͞·Ͱ w
य़͞Μ w $MPVE"*1MBUGPSNʹ͓͚ΔػցֶशϞσϧͷϥΠϑαΠΫϧ w JLLJ͞Μ w ʰٯసΦηϩχΞʱͷ"*ػೳΛࢧ͑Δ($1 w ؠඌ͞ΜʢήʔϜࣄۀ෦ੳ෦ʣ w #JH2VFSZΛ͍ͤʂ%F/"σʔλΤϯδχΞͷऔΓΈࣄྫ
None
None
None
None
$MPVE/FYU`5PLZP֓ཁհ͢Δηογϣϯ ΧελϜϞσϧΛॊೈɾߴɾ҆Ձʹ࡞͢ΔͨΊͷαʔϏε $MPVE"*1MBUGPSNηογϣϯ #2ͷ5JQTͱ%F/"ʹ͓͚Δ#2׆༻ࣄྫ #JH2VFSZϕετϓϥΫςΟε (PPHMFۘͷσΟʔϓϥʔχϯάಛԽϋʔυΣΞ $MPVE516ηογϣϯ (,&$PNQPTFSΛ׆༻ͨ͠ػցֶशγεςϜͷߏங ;0;0Ͱͷ.-0QT࣮ફͱ(,&ΠϯϑϥΞʔΩςΫνϟ
#JH2VFSZ ϕετϓϥΫςΟε
#JH2VFSZϕετϓϥΫςΟε ৽ػೳɿӬଓ6%'ʢЋ൛ˠЌ൛ʣ w 6%'6TFS%FpOFE'VODUJPO w +40/ύʔεॲཧͳͲͷॲཧΛ+BWB4DSJQUͰهड़Ͱ͖Δ w ͜Ε·Ͱ6%'Ұ࣌తͳͷͰɺ༻͍Δ42-Ͱఆٛ͢Δඞཁ͕͋ͬͨ w
Ӭଓ6%'ʹΑͬͯ༧Ίఆ͓͍͍ٛͯͯͭ͠Ͱݺͼग़ͤΔΑ͏ʹ w Ұ࣌6%'ͱൺֱͯ͠ύϑΥʔϚϯε্
#JH2VFSZϕετϓϥΫςΟε ৽ػೳɿӬଓ6%'ʢЋ൛ˠЌ൛ʣ
#JH2VFSZϕετϓϥΫςΟε ৽ػೳɿ$POOFDUFE4IFFUTʢЋ൛ʣ w #2্ͷςʔϒϧΛγʔϜϨεʹ(44ͰՄࢹԽɾੳͰ͖Δ w 4QSFBE4IFFUT%BUB$POOFDUPSͱҧ͍ɺ42-Λॻ͘ඞཁ͢Βͳ͍ w ੳऀʹͱͬͯخ͍͔͠ʁ w
5#ͷେ༰ྔςʔϒϧͰͳ͘ಡΈࠐΊΔΒ͍͠
IUUQTTUPSBHFHPPHMFBQJTDPNHXFCDMPVECMPHQVCMJTIPSJHJOBM@JNBHFT#JH2VFSZ@TQSFBETIFFU@JOUFSGBDFHJG
#JH2VFSZϕετϓϥΫςΟε ($4͔ΒಡΈࠐΉࡍͷσʔλϑΥʔϚοτ w ϩʔυ͕͍ॱʹ w "WSPʢѹॖʣ w "WSP w
1BSRVFU03$ w $47 w +40/ w $47ʢѹॖʣ w +40/ʢѹॖʣ w "WSPʹม͢Δׂ͔ϑΝΠϧΛಡΈࠐΉͱ͍
#JH2VFSZϕετϓϥΫςΟε ׂςʔϒϧɾΫϥελԽςʔϒϧ w ςʔϒϧͷඞཁͳ෦ͷΈরձͯ͠ίετΛݮ w UJNFTUBNQྻΛׂΧϥϜʹࢦఆͰ͖Δ w େنͳϑΝΫτςʔϒϧʹl3FRVJSF1BSUJUJPO'JMUFSzΦϓγϣϯΛ w
ΫϥελԽςʔϒϧ w ׂࡁΈͷςʔϒϧʹର͠ɺΫϥελྻΛࢦఆͯ͠͞Βʹίετݮ w ಡΈࠐΈύϑΥʔϚϯεվળ
#JH2VFSZϕετϓϥΫςΟε εϩοτͱ͍͏֓೦ w εέδϡʔϦϯάͷ୯Ґ w ϦιʔεαΠζʢԋࢉೳྗʣʹରԠ w σϑΥϧτׂϓϩδΣΫτʹ͖ͭεϩοτ w
ϓϩδΣΫτɾϓϩδΣΫτؒͰϑΣΞεέδϡʔϦϯά w ݄ఆֹΦϓγϣϯͩͱεϩοτΛࣗ༝ʹׂՄೳ
#JH2VFSZϕετϓϥΫςΟε %F/"ʹ͓͚ΔήʔϜੳࣄྫ w ՝ w ࣮ߦ͞ΕͨΫΤϦ͕࠷దͰͳ͍ w ҰൃͰ5#ʢສԁʣͷΫΤϦ͕ඈΜͩ͜ͱ w
ঃʑʹίετ͕͔͞ΜͰ͍ͨ w ϲ݄͝ͱʹສԁ݄૿Ճ w ҎԼͷվળʹΑͬͯͷίετݮʂ w 4UBDLESJWFSʹΑΔڊେΫΤϦͷϞχλϦϯάͱ௨ w ΫϥελԽςʔϒϧͷಋೖ
$MPVE"*1MBUGPSN
$MPVE"*1MBUGPSN ػցֶशͷFFαΠΫϧ IUUQTDMPVEHPPHMFDPNBJQMBUGPSN IMKB
$MPVE"*1MBUGPSN "*)VCʢЌ൛ʣ w ػցֶशΞηοτͷΧλϩά w ҰݴͰݴ͏ͱɿ%PDLFS)VCͷػցֶशϞσϧ൛ w ΧελϜϞσϧΛ($1ʹϫϯΫϦοΫσϓϩΠ w
ެ։ൣғݶఆ؆୯ w (PPHMFϢʔβάϧʔϓ୯ҐͰઃఆՄೳ IUUQTDMPVEHPPHMFDPNBJIVC
$MPVE"*1MBUGPSN "*)VCʢЌ൛ʣ w ػցֶशΞηοτͷΧλϩά w ҰݴͰݴ͏ͱɿ%PDLFS)VCͷػցֶशϞσϧ൛ w ΧελϜϞσϧΛ($1ʹϫϯΫϦοΫσϓϩΠ w
ެ։ൣғݶఆ؆୯ w (PPHMFϢʔβάϧʔϓ୯ҐͰઃఆՄೳ
$MPVE"*1MBUGPSN "*)VCͷ͍ํ w 5FOTPS'MPX.PEVMFͰ͋Ε w /PUFCPPLͰ͋Ε w "*1MBUGPSN/PUFCPPLʢޙड़ʣͱϫϯΫϦοΫ࿈ܞ
$MPVE"*1MBUGPSN "*1MBUGPSN/PUFCPPLTʢЌ൛ʣ w Ϛωʔδυ+VQZUFS-BCΠϯελϯε w ΦϯσϚϯυʹߏมߋͰ͖ΔܭࢉػϦιʔε w Πϯελϯεىಈޙʹ(16૿ઃͳͲ w
ඞཁͳϥΠϒϥϦ͕ϓϦΠϯετʔϧ w "*)VC #JH2VFSZͳͲ($1ίϯϙʔωϯτͱີͳ࿈ܞ IUUQTDMPVEHPPHMFDPNBJQMBUGPSNOPUFCPPLT
$MPVE"*1MBUGPSN w ,VCF'MPX'BJSJOHʹΑΔ֎෦ϦιʔεͰͷ࣮ݧ w Ϟσϧֶश༻ͷΫϥεؔΛίϯςφԽ͠ɺ($1্Ͱ࣮ݧͰ͖Δ w %FFQ-FBSOJOH7.*NBHFΛ༻͍ͯ؆୯ʹ/PUFCPPL্͔ΒճͤΔ "*1MBUGPSN/PUFCPPLTʢЌ൛ʣ
IUUQTBEUFDIDZCFSBHFOUJPQSBSDIJWFT
$MPVE"*1MBUGPSN "*1MBUGPSN5SBJOJOHʢچ$MPVE.-&OHJOFʣ w ಛ w ΞΠυϧঢ়ଶͷΠϯελϯεແ՝ۚ w ϋΠύϥνϡʔχϯάͷࣗಈԽɾฒྻֶश w
ΧελϜίϯςφαϙʔτʢЌ൛ʣʹΑΓҙͷϑϨʔϜϫʔΫ͕Մೳʹ w ಈ࡞Πϝʔδ w ػցֶशίʔυͷύοέʔδͱઃఆϑΝΠϧΛ༻ҙ w δϣϒΛ͛ΔͱɺֶशΛ࣮ߦ͢ΔΫϥελ͕ࣗಈͰཱͯΒΕΔ
$MPVE"*1MBUGPSN 1ZUIPO͔Βֶशδϣϒͷ࣮ߦ
$MPVE516
$MPVE516 $MPVE516֓ཁ w جຊతʹ5FOTPSqPXઐ༻ϓϩηοα w %PNBJO4QFDJpD"SDIJUFDUVSFʢ%4"ʣ w ྖҬ͝ͱʹϋʔυͱιϑτΛ࠷దઃܭ w
516։ൃͷྺ࢙ w ॳظݕ౼ w ࣮։ൃ։࢝ w 516Wͷಋೖ։࢝ʢ։ൃ։͔࢝Βϲ݄ޙʣ
$MPVE516 w $16ͱͷҧ͍ w (16ͰϊΠϚϯϘτϧωοΫ͋Δ w ڞ༗ϝϞϦʹ͕ࠩ࣌ؒ͢͠ϘτϧωοΫ w 516ͰϢχοτಉ͕࢜ύΠϓϥΠϯͰܨ͕͓ͬͯΓɺϝϞϦಡΈॻ͖ͷ
ϘτϧωοΫ͕ͳ͍ w Ͳ͏ͳ͔ͬͨ w طଘ$16ͱൺֱ͠ిྗੑೳൺഒ $MPVE516֓ཁ IUUQTDMPVEHPPHMFDPNUQV
$MPVE516 ;0;0ը૾ݕࡧͰͷ׆༻ࣄྫ w 516ಋೖલͷ՝ w ($1ͷ5FTMB7ΠϯελϯεͰֶश w ࣮ݧαΠΫϧ w
Ͱ64%Ͱ 64% w ͜ͷ࣌ͰΦϯϓϨΑΓ͍҆ w ࣮ݧʹ͚͜Δͱिؒਐ͕ͳ͍͜ͱʜʜ w ݟ͕ஷ·Δͷ͕͍ˍ։ൃऀͷϞνϕʔγϣϯԼ
$MPVE516 ;0;0ը૾ݕࡧͰͷ׆༻ࣄྫ w 516ಋೖޙͲ͏ͳ͔ͬͨ w ࣌ؒ͋ͨΓͷॲཧ͕ສϖΞສϖΞ w ࣮ݧαΠΫϧ࣌ؒ w
όοναΠζ w ஈʁ w ௨ৗͷ516ͳΒഒͷίετ w 1SFFNQUJWFͳΒ௨ৗ(16ΑΓ͍҆ w 1SFFNQUJWFͷσϝϦοτӡ༻ͰΧόʔ
$MPVE516 5161PETͱ w 516Λܨ͍ͩεύίϯ w 516 1FUB'-014 w 7ͱൺֱͯ͠ഒߴͰɺίετݮ
w ߴ͍εέʔϥϏϦςΟ w 516Ͱ࣌ؒͷ࣮ݧ͕516Ͱʹ w ΄΅ઢܗʹεέʔϧ w ௨ৗͷ516ͷίʔυ͔Βมߋඞཁͳ͠ w ͨͩ͠1SFFNQUJWF·ͩఏڙ͞Ε͍ͯͳ͍ IUUQTDMPVEHPPHMFDPNUQV
;0;0ը૾ݕࡧͰͷ.-0QTͱ (,&ΠϯϑϥΞʔΩςΫνϟ
;0;0ը૾ݕࡧͷιϑτΣΞελοΫ w αʔόαΠυ w 1ZUIPO'MBTL(VOJDPSO4XBHHFSH31$ w .-ϑϨʔϜϫʔΫɿ$IBJOFS w Πϯϑϥ
w ਪ"1*ɿ(,& 3FEJT w ֶशɿ$MPVE$PNQPTFS (-& 'JMFTUPSF w $MPVE-PBE#BMBODFS$MPVE"SNPS w ($4($3ͳͲͳͲʜ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
ϓϩμΫγϣϯϨϕϧʹ͢ΔͨΊʹߦͬͨ w μϯλΠϜͳ͠ͰͷσϓϩΠ w 3PMMJOH6QEBUF w -JWFOFTT1SPCF w 3FBEJOFTT1SPCF
w (SBDFGVM4IVUEPXO w ΦʔτεέʔϦϯά w %/4Ωϟογϡ w H31$ͷෛՙࢄ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
μϯλΠϜͳ͠ͰͷσϓϩΠ w 3PMMJOH6QEBUF w 1PEΛগͣͭ͠৽ͨʹ্ཱͪ͛ͯམͱ͍ͯ͘͠ w ύϥϝʔλ w NBY4VSHFɿڐ༰ա1PE
w NBY6OBWBJMBCMFɿڐ༰ෆ1PE w 3FBEJOFTT1SPCF w ϔϧενΣοΫ w 1PE্ͷΞϓϦ͕ϦΫΤετΛࡹ͚Δঢ়ଶ͔Ͳ͏͔νΣοΫ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
μϯλΠϜͳ͠ͰͷσϓϩΠ w -JWFOFTT1SPCF w ίϯςφͷੜ·ΕมΘΓΛίϯτϩʔϧ w 1SPCFࣦഊ͢Δͱίϯςφ࠶ىಈ w (SBDFGVM4IVUEPXO
w ϦΫΤετΛฦ͢લʹ1PE͕ࢮͳͳ͍Α͏ʹ͢Δ w ͜ΕҎ্ϦΫΤετΛड͚͚ͳ͍Α͏ʹ͠ɺશͯͷϦΫΤετΛ ॲཧ͔ͯ͠Βਖ਼ৗʹऴྃ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
ΦʔτεέʔϦϯάͱ%/4Ωϟογϡ w )PSJ[POUBM1PE"VUPTDBMFSʢ)1"ʣ w ෛՙ͕ᮢΛ͑ͨ߹ʹ1PEΛΦʔτεέʔϧ w ͦΕͱಉ࣌ʹ/PEFΦʔτεέʔϧ w ,VCF%/4ύέοτϩε
w %/46%1ͳͷͰύέοτϩε͕ى͖͍͢ w ͦͷͬͭ͞Μͷఆରॲ w 1ZUIPOΫϥΠΞϯτଆͰʢ55-ʣඵΩϟογϡ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
$PNQPTFSΛར༻ͨ͠ϫʔΫϑϩʔ w $MPVE$PNQPTFSͱ w "QBDIF"JSqPXͷϚωʔδυαʔϏε w ಛ w 1ZUIPOͰॻ͚Δ
w (,&Ͱδϣϒ࣮ߦ w ("&Ͱ"JSqPX6*ఏڙ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
;0;0ը૾ݕࡧͷϫʔΫϑϩʔ w "//*OEFYͷ࠶ߏங w ৽ͨʹग़͞Εͨը૾Λू͠ө w ߋ৽සɿ࣌ʢ͍ͣΕΠϕϯτۦಈʹ͍ͨ͠ʣ w ྲྀΕ
#2ςʔϒϧͷόοΫΞοϓ ը૾μϯϩʔυ ಛྔநग़"//*OEFY࠶ߏங σϓϩΠ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ IUUQTDMPVEHPPHMFDPNTPMVUJPOTBVUPNBUJOHJOGSBTUSVDUVSFVTJOHDMPVE DPNQPTFS IMKB
$PNQPTFSΛͬͨײ w ར w ϚωʔδυͰ͋Δ w 1ZUIPOͰ%"(ʢ༗ඇ८ճάϥϑʣΛॻ͚Δ w ܽ
w ࠷ͰΠϯελϯεඞཁ w ࣗ༝͕͍ʢ(16͑ͳ͍ɺ෦ϏϧυͰ͖ͳ͍ʣ w ΦʔτεέʔϧະରԠ w ผ్(,&ΛཱͯͯରԠ͢Δඞཁ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
ൿಗใͷ҉߸Խ w LTͷγʔΫϨοτͷ༷ w CBTFΤϯίʔυͯ͠:".-ʹهड़͢Δ͚ͩ w γʔΫϨοτͱ w #FSHMBTͷಋೖ
w "844FDSFUT.BOBHFSͷΑ͏ͳൿಗใཧαʔϏε w ($1ͷ,FZ.BOBHFNFOU4FSWJDFΛར༻ͯ͠ΫϥΠΞϯτଆͰ҉߸͠ɺ ($4ʹอଘ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ IUUQTNFEJVNDPNXFBSFTFSWJBOCFSHMBTXJUIOPEFKTPODMPVESVOEDFDGBBB
$*$%ͱࢹ w $JSDMF$*ͷར༻ w ίϯςφΠϝʔδͷϏϧυ w ίϯςφʹϞσϧΛೖΕΔ͔ w ॳೖΕ͍͕ͯͨɺϏϧυʹ͔͔࣌ؒΓͭΒ͍
w ίϯςφʹೖΕͣɺίϯςφىಈ࣌ʹ($4͔Βμϯϩʔυ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
$*$%ͱࢹ w Ϋϥυ࣌ͷࢹ w $16༻Φʔτεέʔϧ͢ΔͷͰࢹ͠ͳ͍ w γεςϜͷ݈߁ঢ়ଶΛݟΔ w ࢹ߲
w ϨεϙϯεεςʔλεͱϨεϙϯε࣌ؒ w ϦΫΤετ w LTͳΒͰͷͷ w LT1PE8BSOJOH-PH͕Ҏ্ଓ͚ͯग़͍ͯͳ͍͔ w ίϯςφͷϝϞϦ༻ྔ͕-JNJUͷΛ͍͑ͯͳ͍͔ ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
$*$%ͱࢹ w ࢹιϑτΣΞ w 4UBDLESJWFS %BUBEPH 4FOUSZ w 4UBDLESJWFS($1ඪ४ͳͷͰศར
w %BUBEPHͷಛʹศརͳػೳ͚ͩ༻͍͍ͯΔ w "1. 4ZOUIFUJDTͳͲ w 4FOUSZɿΤϥʔτϥοΩϯάαʔϏε ;0;0ը૾ݕࡧͰͷ.-0QTͱ(,&ΠϯϑϥΞʔΩςΫνϟ
·ͱΊ
·ͱΊ ײ w "*ܥͷେ͖ͳ৽ϦϦʔεͳ͠ w ͜Ε݄ͷ$MPVE/FYUJO4'ͱಉ༷ w "OUIPTͱ͍͏ϋΠϒϦουΫϥυ͚αʔϏεΛਪ͍ͯͨ͠ w
͔͠͠ɺ"*1MBUGPSNϦϦʔεࡁαʔϏεͷػೳ֦ுॱௐʹਐΜͰ͍Δ w #JH2VFSZ.-"VUP.-ʹ͍ͭͯӹࢠ͞ΜεϥΠυࢀর w IUUQTTQFBLFSEFDLDPNTPZNTLHPPHMFDMPVEOFYUBJNMTVNNBSZQVCMJD