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
お前はまだ本当のAssetBundleを知らない
Search
Toru
March 24, 2019
Programming
0
1.7k
お前はまだ本当のAssetBundleを知らない
Unity製Appのリソースを更新するのに使えるAssetや運用例について紹介します。
Toru
March 24, 2019
Tweet
Share
More Decks by Toru
See All by Toru
remote controlling Oculus Quest even with macOS
sassembla
0
990
E2.pdf
sassembla
1
2.2k
URLCaching in Unity
sassembla
0
170
Unityテスト完全に理解した(実機、自動、利のあるテストに食らいつく話)
sassembla
8
22k
Other Decks in Programming
See All in Programming
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
310
php-conference-japan-2024
tasuku43
0
240
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Symfony Mapper Component
soyuka
2
730
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
460
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Producing Creativity
orderedlist
PRO
341
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Scaling GitHub
holman
458
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
The Language of Interfaces
destraynor
154
24k
Transcript
The AssetBundle that you never knows. @toru_inoue, KISSAKI Inc, “お前はまだ本当のアセットバンドルを知らない”
2 ( ג ) K I S S A K
I ද ɻ Toru Inoue 5XJUUFS!UPSV@JOPVF (JUIVCTBTTFNCMB ࡴҙۦಈ։ൃͱ͍͏)/Ͱ 6OJUZήʔϜͦΕҎ֎Λɹ ؤுͬͨΓ ؤுΒͳ͔ͬͨΓͯ͠Δɻ
3 ࠓ͞ͳ͍ࣄ "EESFTTBCMFTʹ͍ͭͯɺ ࠓ͢͜ͱͷԆઢ্ͳͷͰɺ ࣗ ΄΅͞ͳ͍ɻ
4 Γա͗ͨࣄ ͍Ζ͍ΖͳύλʔϯΛհ͢ΔΜ͚ͩͲɺ ࡉ͔͘ॻ͖ա͗ͯ͠·ͬͨɻ ઈର࣌ؒΓͳ͍ͷͰ෦తʹඈ͢ɻ ެ։͢Δࢿྉͷ΄͏ʹશ෦ॻ͍͓ͯ͘ɻ
5 "# "TTFU#VOEMF "#ͱɺ6OJUZΞϓϦʹؚ·ΕΔ Ϧιʔε "TTFU Λߋ৽͢ΔͨΊͷͷɻ “アセットバンドルです”
6 "# "TTFU#VOEMF օ͞Μࠓ͜͜ʹɺ "#ʹ͍ͭͯશཧղ͠ʹདྷͨͱࢥ͏ɻ “アセットバンドルです” ίϯχνϫʂ
7 "# "TTFU#VOEMF ͕ɺ"#ʹ͍ͭͯશཧղ͢Δͱ͍͏͜ͱɺ "#Ҏ֎ͷཁૉʹ͍ͭͯશཧղ͢Δ͜ͱʹ ଞͳΒͳ͍ɻ “アセットバンドルです..” スゥゥ,,,
8 "TTFU#VOEMF JTӡ༻ "#Λѻ͏ͱ͍͏͜ͱɺ ͦͷ࣮ɺ୯ʹ"#Λ͏͜ͱͰͳ͍ɻ ʮΞϓϦͷϦιʔεΛߋ৽͢Δ͜ͱʯɺ ͭ·ΓʮΞϓϦΛӡ༻͢Δ͜ͱʯͩɻ
更新! 9 ଞͷߋ৽Մೳཁૉ ΞϓϦͷϦιʔεΛߋ৽ͯ͠ɺ Ϣʔβʔʹ৽͍͠ମݧΛఏڙ͢Δ͜ͱɻ ͜ΕΛɺӡ༻ͱݺΜͰ͍Δɻ "#Λѻ͏ͱ͍͏͜ͱɺ ʮΞϓϦͷӡ༻Λ͢Δʯͱ͍͏͜ͱɻ Ϧιʔε
1 0 "#ΛؚΜͩ ӡ༻શ ཧղ ͱ͍͏Θ͚Ͱɺ"#ͷΛؚΉɺ 6OJUZΛͬͨΞϓϦͷʮӡ༻ʯ ʹ͍ͭͯͷΛ͢Δɻ
11 ͓ॻ͖ ߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ ӡ༻ͷ ཧͱݱ࣮ ͦͷ࣮ ཁૉͱӡ༻ͷ
͖߹Θͤ ͱɺະདྷͷબࢶ 1. 2. 3.
1 2 ͓ॻ͖ ߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ 1. ·ͣɺ6OJUZΞϓϦʹ͓͍ͯ ߋ৽Ͱ͖ΔϦιʔεʹ͍ͭͯհ͢Δɻ
6OJUZͷ"TTFUΛߋ৽͢Δํ๏ɺ"#Ҏ֎ʹ݁ߏ৭ʑ͋Δɻ ͜͜Ͱɺ6OJUZͷ֎෦͔Βߋ৽Մೳͳཁૉ6QEBUBCMFͱݺͿɻ 6OJUZΞϓϦͰͷߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ
6OJUZͰɺ͜Μͳײ͡ͷཁૉ͕֎෦͔Βߋ৽Մೳɻ 6OJUZΞϓϦͰͷߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ 6OJUZ4FSJBMJ[FE"TTFUܥ "TTFUશൠ CZUF͔ΒੜͰ͖Δܥ ίʔυ͔Βੜܥ
1 5 ͦΜͳ6QEBUBCMF #ZUF͔Β ੜͰ͖Δ "TTFU ίʔυ͔Β ੜͰ͖Δ "TTFU ԿͰ͑Δ
6OJUZ͕ 4FSJBMJ[Fͨ͠ "TTFU
ͦͷ໊ͷ௨ΓɺUnity͕Serialize(ΤσΟλͰΩϡοͱ)ͨ͠Assetɻ UnityΞϓϦͷ࣮ߦதʹಡΈࠐΉ͜ͱͰɺAssetͱͯ͠ల։Ͱ͖Δɻ 6OJUZ4FSJBMJ[FE"TTFU File Editor 1BSBN 1BSBN 1BSBN *NQPSU #VJME
5FYUVSFΠϯϙʔτϞʔυͱ͔1BSBNΛηοτϏϧυͯ͠ΞϓϦͰ͏ɺͱ͔ɻ File
ΞϓϦ֎͔ΒUSAΛ࣋ͪࠐΉํ๏ɺABͷΈɻ 6OJUZ4FSJBMJ[FE"TTFU File Editor 1BSBN 1BSBN 1BSBN *NQPSU File #VJME
"TTFU#VOEMF %PXOMPBE
ɾ৭ΜͳϑΝΠϧɺPrefabͱ͔ɺUnityͰѻ͑ΔAssetͷେ͕֘͢Δɻ ɾϑΝΠϧ͕AppͷϏϧυʹؚ·Ε͍ͯΔͱແ༻ʹUSAʹͳΔɻ ɾUSAΛApp֎͔ΒऔΓࠐΉ߹ɺAssetBundle͕།ҰͷબࢶʹͳΔɻ ɾ͜ͷܗࣜͷϑΝΠϧUnityͰ͔͠ੜͰ͖ͳ͍ɻ(ؤுΔͱҋ) 6OJUZ4FSJBMJ[FE"TTFU %PXOMPBE
UnityΞϓϦͷ࣮ߦதʹɺbyteྻ͔Βੜ͢Δ͜ͱ͕Ͱ͖ΔAssetɻ ͦͷΜͷͷΛϗΠϗΠ์ΓࠐΊͯϝνϟΫνϟศརͳͷ͕ͩɺ byte[]͔ΒੜͰ͖ΔίϯετϥΫλΛ͍࣋ͬͯΔAssetۃগɻ #ZUF͔ΒੜͰ͖Δ"TTFU File CDN Asset 6QMPBE QOHը૾Λ$%/ʹΞοϓΞϓϦ͔Β%PXOMPXECZUF<>͔Β5FYUVSF%Λੜɺͱ͔ɻ File
%PXOMPBE (FOFSBUF
#ZUF͔ΒੜͰ͖Δ"TTFU ɾpngը૾ͱ͔͔ΒTexture2Dͱ͔͕ੜͰ͖Δɻ ɾCDNͱ͔ʹϑΝΠϧஔ͍͓͚ͯDLͯ͠ੜ/ΩϟογϡͰ͖Δɻ ɾUnity֎ͰੜͰ͖Δɻ(UnityΛܦ༝͢ΔͱඞͣUSAʹͳΔɻ) ɾ͕ɺbyte[]͔ΒੜͰ͖ΔAssetUnityதͰܹϨΞͳଘࡏɻ
[σʔλΛಡΈࠐΈɺσʔλΛղੳ -> AssetΛੜ͢Δ,,] ύʔαʔίʔυΛࣗ࡞͠ɺΞϓϦ্ͰΈཱͯΒΕΔछྨͷAssetɻ ίʔυ͔ΒੜͰ͖Δ"TTFU JSON, etc +40/ϑΝΠϧͱ͔Λऔಘɺ"QQ্Ͱղੳ͠ɺ(0ੜ$PNQPOFOUηοτɺɺͱ͔Δɻ %PXOMPBE "EE$PNQPOFOU
4FU1BSBNʜ ᶃ ᶄ ᶅ OFX(BNF0CKFDU
ίʔυ͔ΒੜͰ͖Δ"TTFU [{ "command": “generateGO”, // GameObjectΛ࡞ͬͯ "gOName": “SOMETHING” // ໊લΛSOMETHINGʹͯ͠
}, { "command": “addComponent”, "componentName": “NAME” // NAME͍ͬͯ͏componentΛηοτʂ }] ͜ΜͳjsonΛड͚औͬͨΒɺ͜͏͍͏ײ͡ͷૢ࡞Λ͢ΔίʔυΛॻ͘ʂʂ શͳ࣮ྗͷੈքɻVRMͱ͔͍͢͝ΑͶɻ
ίʔυ͔ΒੜͰ͖Δ"TTFU ɾཁ[API͔Βड͚औͬͨσʔλΛղऍͯ͠uGUIʹදࣔ͢Δ]ͱ͔ͱಉ͡ɻ ɾ͑Δͷɺ[৭ʑͳύϥϝʔλΛಈతʹηοτͰ͖ΔComponent] ʹݶΒΕΔ(ͦΕͳΓʹ͋Δ)ɻ ɾσʔλͷఆٛɺੜͱͦͷղऍΛߦ͏ίʔυΛॻ͘ͷ͕໘͍͘͞ɻ ຊؾͰؤுΕVRM(gLTF)Έ͍ͨͳͷ࡞ΕΔɻ ɾσʔλUnity্ͰղऍͰ͖ΕOKͳͷͰɺUnity֎ͰੜͰ͖Δɻ
2 4 ͦΜͳ6QEBUBCMF #ZUF͔Β ੜͰ͖Δ "TTFU ίʔυ͔Β ੜͰ͖Δ "TTFU ԿͰ͑Δ
6OJUZ͕ 4FSJBMJ[Fͨ͠ "TTFU
2 5 Ͳ͏͍͏ܦ࿏Ͱ"QQʹʁ App byte[] txt(Data) AssetBundle File 64""TTFU#VOEMFʹೖΕΔ͔͠ͳ͍ɻଞͷదʹϑΝΠϧ͔ΒಡΊΔɻ
2 6 64"͏ͳΒ"TTFU#VOEMFͳΜͰ͚͢Ͳʂ App AssetBundle ͭͷ"TTFU#VOEMFʹɺdෳͷ64"͕ೖΕΒΕΔɻ Ͱɺ"#͔Β64"ΛऔΓग़͢ࡍɺͲͷ64"ΛऔΓग़͔͢ͱ ͍͏Ωʔͱͯ͠ɺʮ64"ͷ໊લʯΛࢦఆ͢Δɻ ͭ·Γɺ"#Λ͏ʹɺऔΓग़͍ͨ͠64"ͷ໊લ͕ॻ͍ ͯ͋ΔϑΝΠϧ͕ผʹඞཁʂʂʂ
͍ΘΏΔίϯςϯπΧλϩά
2 7 64"͏ͳΒ"TTFU#VOEMFͳΜͰ͚͢Ͳʂ NameList ͦ͜Ͱɺ ωʔϜϦετʙʙʂ ίϯχνϫʂ
2 8 64"͏ͳΒ"TTFU#VOEMFͳΜͰ͚͢Ͳʂ NameList AssetBundle MyNameIsA { l͜ͷ"#ʹ .Z/BNF*T"͕ ೖ͍ͬͯ·͢z
ͱॻ͍ͯ͋Δɻ
2 9 64"͏ͳΒ"TTFU#VOEMFͳΜͰ͚͢Ͳʂ NameList AssetBundle MyNameIsA { l͜ͷ"#ʹ .Z/BNF*T"͕ ೖ͍ͬͯ·͢z
༨ஊ͜ͷ༻్ͷͨΊʹNBOJGFUϑΝΠϧ͕͋ΔΜ͕ͩɺ "EESFTTBCMFTͰ͢ΒNBOJGFTUΛΘͣΧλϩά /BNF-JTU Λࣗ࡞ͯ͠Δɻ
3 0 64"͏ͳΒ"TTFU#VOEMFͳΜͰ͚͢Ͳʂ App AssetBundle ਤʹ͢Δͱ͜͏ʂ ͠ΜͲ͍Ͷʂʂ MyNameIsA NameList ᶃ"#ʹೖͬͯΔ64"ͷ໊લΓ͍ͨ
ᶄ.Z/BNF*T"͕ೖͬͯΔͰ ᶅ.Z/BNF*T"ͱΓͩͦ ᶆ.Z/BNF*T"ͱΕͨ
3 1 ਅɾͲ͏͍͏ܦ࿏Ͱ"QQʹʁ App byte[] txt(Data) File
6QEBUBCMF1SPT$POT 3 2 ࡞Γ͢͞ ϩʔυ Ωϟογϡ/ ࠩऔಘ ϝϞϦޮ ؚΊΒΕΔ Asset
USA NotBad VeryHard Good VeryGood 99% Bytes VeryGood VeryGood ࣗ࡞Մ ϊʔΨʔυ 1% Code Good VeryHard ࣗ࡞Մ ϊʔΨʔυ 70% ͣΓҰҰɻ
6QEBUBCMF1SPT$POT ༁ 3 3 ࡞Γ͢͞ ϩʔυ Ωϟογϡ/ ࠩऔಘ ϝϞϦޮ ؚΊΒΕΔ
Asset USA UnityϏϧυඞਢ AB͚ͩͰ μϝ Ϧετ͕ɺɺ σϑΥϧτͰ ࣮͞ΕͯΔ Կ͠ͳ͍Ͱ ޮྑ͍ 99% Bytes Unityෆཁ byte[]͔Β new͢Δ͚ͩ ࣗ࡞Մ ϊʔΨʔυ 1% Code Unityෆཁɺ ϑΥʔϚοτ ఆٛେม ࣗ࡞͢Δͱ ԿͰग़དྷΔ ࣗ࡞Մ ϊʔΨʔυ 70% ͜͜Ͱͯ͠ཉ͍͠ͷɺ࡞Γ͢͞ͱϩʔυɻͨͿΜ"#͕Ұ൪ਏ͍ɻ
3 4 ͰɺͦΜͳ6QEBUBCMFΛͬͯɺ "QQΛӡ༻͢Δ͜ͱʹͳΔΘ͚Ͱ͢ɻ #ZUF͔Β ੜͰ͖Δ "TTFU ίʔυ͔Β ੜͰ͖Δ "TTFU
ԿͰ͑Δ 6OJUZ͕ 4FSJBMJ[Fͨ͠ "TTFU
3 5 ͓ॻ͖ ߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ ӡ༻ͷ ཧͱݱ࣮ ͦͷ࣮
1. 2. ͱ͍͏Θ͚Ͱɺ 6QEBUBCMFΛͬͨӡ༻ͷɻ
3 6 ཧͷӡ༻ Ψοπϙʔζͨ͠Β Ϣʔβʔͷ"QQͷϦιʔε͕ ߋ৽͞Εͯ΄͍͠ʂ
3 7 ཧͷӡ༻
3 8 ཧͷӡ༻ X ͜ͷӉͰແཧͦ͏ɻ
3 9 ݱ࣮ͷӡ༻ 6QEBUBCMFΛ࡞ΓɺͳΜΒ͔ෆࢥٞͳྗͰ ΞϓϦʹଧͪࠐΊ͍͍ɻ ͜ΕΛͲ͏ઃܭ͢Δ͔ɻ
4 0 ӡ༻࢙ "QQͷӡ༻Λߟ͑Δʹ͋ͨͬͯɺ ͯ͞Ͳ͏͍͏ӡ༻͕͜ͷੈʹ͋Δͷ͔ɻ దʹྺ࢙ͬΆ͘ฒͯΈͨɻ આ໌༻ͳͷͰήʔϜ࢙ͷࢿྉͱͯ͠ݟͳ͍Ͱ΄͍͠ɻ
4 1 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ ϞόΠϧҎલʜ དྷੈ
4 2 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ ϞόΠϧҎલʜ ݹ͍ػೳ͕໓ͼΔ͜ͱكͰɺ ͲΜͲΜ৽ػೳ͕Ճ͞ΕΔΠϝʔδɻ དྷੈ
4 3 Β͘͠ɺϦϦʔε࣌ͷ"QQʹ શͯͷϦιʔε͕ೖ͍ͬͯΔɻ ໘ന(#ΞϓϦͱ͔ ͜Ε͕ӡ༻ͳͷ͔ʁͱݴΘΕΔ ͱӡ༻Ͱɻ ϫϯύϯظ Ϗϧυ࣌
શ෦ೖΓʂ
4 4 །Ұӡ༻ʹඞཁͳͷ͕ɺ "QQىಈ࣌ͱ͔ʹ"QQ7FSΛૹΓɺ ࠷৽͔Ͳ͏͔νΣοΫ͢Δػೳɻ νΣοΫͯ͠ݹ͔ͬͨΒετΞʹ ߦͬͯੜ·ΕมΘΖ͏ɻ ؙ͝ͱੜ·ΕมΘΔͷͰɺ 6QEBUBCMFͷग़൪ͳ͍ɻ ϫϯύϯظ
4 5 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ શ෦ೖΓɺ"QQ7FSߋ৽ ϞόΠϧҎલʜ ͭ͗͜͜ɻ དྷੈ
4 6 ͕͢͞ʹશ෦ΞϓϦʹ͍ΕΔͷ ΊΑ͏ɺͰ͔͍ͧ͜Εɻ ͱ͍͏͜ͱͰɺ <ىಈޙʹϦιʔεΛऔಘ> ͱ͍͏֓೦͕ੜ·ΕΔɻ "OESPJEͷ0CCͱ͔ͦͷล͕ ͜͏͍͏ػߏɻ Ϧιʔεظ
औಘ։࢝ʂ औಘͨ͠ϦιʔεΛ อ࣋ʂ
4 7 ͜Μͳײ͡ɻ Ϧιʔεظ Πϯετʔϧ࣌࠷খݶɻ ֎෦Ϧιʔεʙʙ
4 8 ͜͜Ͱɺ·͋ɺ ֎෦Ϧιʔε6QEBUBCMFɻ Ϧιʔεظ Πϯετʔϧ࣌࠷খݶɻ ֎෦Ϧιʔεʙʙ
ඈ͍͍ͯ͠ ؾ͕͢Δ 4 9 ͍ͭʹ"QQʹ֎෦͔ΒσʔλΛೖ ΕΔνϟϯε͕౸དྷ͢Δ͕ɺ "QQ͕͍ͭɺͲ͜ʹΞΫηε͢Δ ͔·ͩϋʔυίʔυͩɻ ·ͩɺϦιʔε͕ΞϓϦ͔Β ͞Ε͚ͨͩʹա͗ͳ͍ɻ
"QQͰ͏શϦιʔεΛऔಘ͢Δɻ Ϧιʔεظ 63- ϋʔυίʔυʂ "QQͰ͏ͷΛશ෦औಘ ݸͷϦιʔε͕͋ͬͨΒɺ ݸΛҰؾʹམͱ͢ɻ "QQʹอ࣋ɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 5 0 "QQ͕"QQ σʔλʹͳ͚ͬͨͩ ͳΜͰɺӡ༻τϦΨʔ·ͩϫϯ ύϯظͱҰॹɻ ΞϓϦ͕ੜ·ΕมΘΕɺ ࠶ॳճىಈऔಘ͕Ͱ͖Δɻ
ͦΜ͚ͩɻ Ϧιʔεظ ϫϯύϯظͱಉ͘͡ɺ ͕͜͜సճɻ
5 1 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ શ෦ೖΓɺ"QQ7FSߋ৽ ϞόΠϧҎલʜ ͭ͗͜͜ɻ ॳճىಈ࣌औಘɺ"QQ7FSߋ৽ શϦιʔεҰؾʹऔಘ དྷੈ
5 2 ͓ΊͰͱ͏ɺͱ͏ͱ͏ <"QQΛΠϯετʔϧͣ͠͞ʹ ԿճͰϦιʔεΛߋ৽Մೳ> ͱ͍͏ΞϨʹͳΔॠ͕ؒདྷͨɻ "QQͷ0O"QQ1BVTFͱ͔Ͱɺ Ϧιʔεͷߋ৽Λݕɺߋ৽͕͋ Εऔಘ͢Δͱ͍͏ख๏ΛͱΔɻ Ϧιʔε
Ξοϓσʔτظ "QQ͕ىಈͨ͠Γɺ εϦʔ ϓ͔ΒͬͨΓɻ 0O"QQ1BVTF
5 3 ͜Ε·Ͱͱҧ͍ɺ"QQͷߋ৽Λ ෆཁʹ͍ͨ͠ɻ ϦιʔεͷΈΛߋ৽͢ΔͷͰɺ ࠓͲΜͳϦιʔεΛอ͍࣋ͯ͠Δ ͷ͔දݱ͢Δ<3FT7FS>͕ඞཁʹ ͳΔɻ Ϧιʔε Ξοϓσʔτظ
3FT7FSૹ "QQ7FSͷସ 0O"QQ1BVTF
5 4 ӡ༻τϦΨʔظ͔Βେ༷ มΘΓ͢Δɻ ݕ͢Δࡍʹखݩͷ3FT7FSΛ͍ɺ αʔό͕ͲΜͳ3FT7FSΛฦͯ͘͠ Δͷ͔؍ଌ͢Δɻ ҟͳΔ3FT7FS͕ؼ͖ͬͯͨΒɺ ͦͷ3FT7FSΛͬͯऔಘΛ։࢝ɻ Ϧιʔε
Ξοϓσʔτظ ৽3FT7FSͰऔಘ ࠷৽ͷ3FT7FSͱ ҟͳΔͷͰɺ ࠷৽3FT7FSΛฦ͢ɻ ৽3FT7FSड͚औΓ 3FT7FSૹ 0O"QQ1BVTF
5 5 औಘ͕ޭͨ͠Βɺ"QQͷ 3FT7FSΛ৽͍͠ͷʹߋ৽ɻ ࣍ͷݕͰɺɺΈ͍ͨͳϧʔϓɻ Ϧιʔε Ξοϓσʔτظ ৽3FT7FSड͚औΓ 3FT7FSૹ ޭʂखݩͷ3FT7FSΛ৽3FT7FSʹߋ৽ɻ
3FT7FSʹԠͨ͡ ϦιʔεΛฦ͢ ৽3FT7FSͰऔಘ αʔό͕ͬͯΔ ࠷৽ͷ3FT7FSͱ ҟͳΔͷͰɺ ࠷৽3FT7FSΛฦ͢ɻ 0O"QQ1BVTF
ඈ͍͍ͯ͠ ؾ͕͢Δ 5 6 <Ұͷىಈதʹ ෳճͷΞοϓσʔτΛड͚औΔ> ͱ͍͏Մೳੑ͕͋ΔͨΊɺ ΞϓσͷใΛऔಘͨ͠Βڧ੍త ʹλΠτϧը໘ͱ͔ʹؼͬͯɺ શɾچϦιʔεͷղ์
શɾ৽Ϧιʔεͷऔಘͱ͔͕ఆੴɻ Ϧιʔε Ξοϓσʔτظ λΠτϧʹؼͬͯ৽ن%- λΠτϧʹؼͬͯ৽ن%- λΠτϧʹؼͬͯ৽ن%-
5 7 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ ϞόΠϧҎલʜ ͭ͗͜͜ɻ શ෦ೖΓɺ"QQ7FSߋ৽ 0O"QQ1BVTFΞϓσݕɺ3FT7FSߋ৽ શϦιʔεҰؾʹऔಘ ॳճىಈ࣌औಘɺ"QQ7FSߋ৽ શϦιʔεҰؾʹऔಘ དྷੈ
5 8 Ϣʔβʔ͕ಛఆͷը໘Ͱࣗൃత ʹΞοϓσʔτΛ࣮ߦͰ͖ΔΑ ͏ʹ͠Α͏ɺΈ͍ͨͳྲྀΕɻ 0O"QQ1BVTFʹՃ͑ͯɺ Ϣʔβʔૢ࡞͔Βͷݕॲཧ͕ ՃΘΔ͚ͩͳΜ͚ͩͲͶɻ ͍͍ͩͨ"QQதʹͦ͏͍͏ը໘ ͋ΔΑͶɻ
ҙ Ξοϓσʔτظ 0O"QQ1BVTF Ϣʔβʔૢ࡞ ػձͷՃɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 5 9 ӡ༻τϦΨʔલظͱมΘΒͣɻ ՃͰϢʔβʔʹࡋྔ μϯϩʔ υλΠϛϯάͷܾఆݖ Λ༩͑ɺ Πϯλʔωοτ͕ෆ۰ͳੈքͰ
ήʔϜΛ͢Δ͜ͱΛՄೳʹ͢Δɻ XJpͰҰؾʹམͱͯ͠༡Ϳɺͱ͔ɻ ҙ Ξοϓσʔτظ 0O"QQ1BVTF Ϣʔβʔૢ࡞ ͜ͷล͔Βઌ มΘͬͯͳ͍ɻ
6 0 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ ϞόΠϧҎલʜ ͭ͗͜͜ɻ 0O"QQ1BVTF Ϣʔβʔૢ࡞ͰͷΞϓσݕɺ3FT7FSߋ৽ શϦιʔεҰؾʹऔಘ શ෦ೖΓɺ"QQ7FSߋ৽ 0O"QQ1BVTFΞϓσݕɺ3FT7FSߋ৽ શϦιʔεҰؾʹऔಘ ॳճىಈ࣌औಘɺ"QQ7FSߋ৽ શϦιʔεҰؾʹऔಘ དྷੈ
6 1 ͜͜·ͰϦιʔεશମΛऔಘ ͍͕ͯͨ͠ɺΘͳ͍ͷ͍ͬͺ ͍͋ΔɻͦΕ·͋ແବ͕ଟ͍ɻ ͏σʔλ͚ͩΛ͏ͱ͖ʹ औಘͰ͖ΔΑ͏ʹ͢Δͱɺ ࣏͕҆ྑ͘ͳΔɻ Α͏શऔಘΛΊɺ औಘͷΦϯσϚϯυԽΛߦ͏ɻ
ৗ࣌ Ξοϓσʔτظ 2ݸͷϦιʔεΛશ෦མͱͯ͠ ɺશ෦͏͍ͭͬͯΔͷʁ "͍ͳ͍ɻେ෦ͷϦιʔεແବɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 2 ΦϯσϚϯυͰΔ͖ࣄͭɻ ϦιʔεΛ͏λΠϛϯάͰɺॳ Ίͯऔಘ͢Δ͜ͱɻ ͦΕͱɺ Ϧιʔεͷߋ৽ݕΛௐ͠ɺ ͏λΠϛϯάͰ࠷৽ϦιʔεΛ
औಘͰ͖ΔΑ͏ʹ͢Δ͜ͱɻ ৗ࣌ Ξοϓσʔτظ
6 3 ༻࣌ʹ͏͚ͩ6QEBUBCMFΛ औಘ͢Δɻ ৗ࣌ Ξοϓσʔτظ Ϧιʔεͷ༻࣌ʹ ॳΊͯର<͚ͩ>Λ औಘ͢Δɻ ͏ͷϦιʔε͚ͩΛ
औಘ͢Δɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 4 औಘࡁΈͷϦιʔε͕͋Δ߹ɺ લظ·ͰͷશऔಘࡁΈͱಉ͡ঢ়ଶ ͳͷͰɺͦͷ··͑Δɻ ৗ࣌ Ξοϓσʔτظ औಘࡁΈͳΒ
ͦͷ··͑Δ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 5 ͕ɺ औಘࡁΈϦιʔε͕ ݹ͘ͳ͍ͬͯΔߋ৽͞Ε͍ͯΔ ߹ɺͦͷ··ͬͯ͠·͏ͱԘ ക͕ѱ͍ɻ ༻࣌ʹߋ৽͞Ε͍ͯΔ͔Λ
νΣοΫɺ࠷৽ͷϦιʔεΛऔಘ Ͱ͖ΔͱԘക͕ྑ͍ɻ ৗ࣌ Ξοϓσʔτظ ݹ͘ͳ͍ͬͯΔͳΒɺ ͦͷͰ࠷৽Λऔಘɻ ্ͦͯ͠ॻ͖ 9 ߋ৽ʂ ߋ৽͞ΕͯΔ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 6 ৗ࣌ Ξοϓσʔτظ 0O"QQ1BVTF Ϣʔβʔૢ࡞ ϦιʔεͦͷͷͰͳ͘ɺ Ϧιʔεͷߋ৽ใΛऔಘɻ
Ϧιʔε༻࣌ͷߋ৽νΣοΫΛ ߦ͏ͨΊʹɺ ߋ৽ݕ࣌ʹ<Ϧιʔεߋ৽ใ> Λऔಘ͢Δɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ ৗ࣌ Ξοϓσʔτظ 0O"QQ1BVTF Ϣʔβʔૢ࡞ ௨৴ Ϧιʔεͷߋ৽νΣοΫΛΑΓࡉ ͔͘ߦ͑ΕɺϦιʔε༻࣌ʹ ࠷৽ͷϦιʔεΛ͑ΔՄೳੑ͕
ߴ͘ͳΔɻ ͳͷͰɺ"QQͷ௨৴ʹศͯ͠ݕ ॲཧΛߦ͏͜ͱʹ͢Δɻ ΞϓϦ͕ߦ͏௨৴ʹศ͠ɺ ϦιʔεݕΛߦ͏ɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 8 ͜͜·Ͱἧ͏ͱɺ ɾߴසͰ6QEBUBCMF*OGPΛߋ৽ ɾϦιʔε͕͋Ε༻͢Δ ɾ͍࣋ͬͯΔϦιʔε͕ݹ͍ແ͍ ߹ɺऔಘͯ͠༻ ͱ͍͏͕ܳͰ͖Δɻ
ৗ࣌ Ξοϓσʔτظ 9 ߋ৽͞Ε͍ͯΔ͔ະॴ͔࣋ɺ ͲͪΒʹͯ͠࠷৽Λऔಘ͢Δɻ
ඈ͍͍ͯ͠ ؾ͕͢Δ 6 9 ӡӦͷτϦΨʔ͕3FT7FSͳͷɺ લظ͔ΒมΘ͍ͬͯͳ͍ɻ "QQ͕ૹΓग़ͨ͠3FT7FSΛαʔ ό͕ड͚ɺ৽͍͠ใ͕ؼͬͯ ͘Εɺ ͔ͦ͜Βઌɺࣗಈతʹ6QEBUBCMF
ߋ৽͞ΕΔɻ ৗ࣌ Ξοϓσʔτظ 9 ߋ৽͞Εͨ 6QEBUBCMF͕͋Εɺ ͦͷใΛฦ͢ɻ 3FT7FSૹ
7 0 ϫϯύϯظ Ϧιʔεظ དྷੈظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ લલલੈ લલੈ
લੈ ݱੈ ڈ དྷੈ ϞόΠϧҎલʜ Ϣʔβʔૢ࡞ͰͷΞϓσݕɺ3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ 0O"QQ1BVTF Ϣʔβʔૢ࡞ͰͷΞϓσݕɺ3FT7FSߋ৽ શϦιʔεҰؾʹऔಘ શ෦ೖΓɺ"QQ7FSߋ৽ 0O"QQ1BVTFΞϓσݕɺ3FT7FSߋ৽ શϦιʔεҰؾʹऔಘ ॳճىಈ࣌औಘɺ"QQ7FSߋ৽ શϦιʔεҰؾʹऔಘ ͋ͱͰɻ
7 1 ͓ॻ͖ ߋ৽Մೳཁૉ 6QEBUBCMF ʹ͍ͭͯ ӡ༻ͷ ཧͱݱ࣮ ͦͷ࣮
ཁૉͱӡ༻ͷ ͖߹Θͤ ͱɺະདྷͷબࢶ 1. 2. 3.
7 2 6QEBUBCMFͱӡ༻ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ ͜͜·ͰͰछͷ6QEBUBCMFͱͭͷӡ༻Λհ͖͕ͯͨ͠ɺ ͏ͪϫϯύϯظ"QQؙ͝ͱߋ৽ͳͷͰআ֎͞ΕΔ͕
7 3 6QEBUBCMFͱӡ༻ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x 6QEBUBCMFͱӡ༻ͷΈ߹Θͤʹ੍ݶͳ͍ɻ Γ͍ͨ͜ͱ͔Β͖ͳΈ߹ΘͤΛબ΅͏ɻ
7 4 6QEBUBCMFͱӡ༻ૣݟද Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x ͍ͭͰΞϓσ 6QEBUBCMFҰݸ͝ͱͷऔಘ
Ϣʔβʔૢ࡞Ξϓσ ಛఆλΠϛϯάΞϓσ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ԿͰ͑Δ 6OJUZ4FSJBMJ[F"TTFU
࠶ͼ6QEBUBCMF1SPT$POT 7 5 ࡞Γ͢͞ ϩʔυ Ωϟογϡ/ ࠩऔಘ ϝϞϦޮ ؚΊΒΕΔ Asset
USA NotBad VeryHard Good VeryGood 99% Bytes VeryGood VeryGood ࣗ࡞Մ ϊʔΨʔυ 1% Code Good VeryHard ࣗ࡞Մ ϊʔΨʔυ 70%
7 6 Ϩοπɾ۩ମྫ 6QEBUBCMFͱӡ༻ύλʔϯΛ ͘Έ͋ΘͤͯΈΔɻ
7 7 ΩϟϥΫλʔ͕Ճ͞ΕΔ"QQͳΒ ը૾ฤ Ωϟϥ͕ֆͳΒ➡ ૿͑ΔλΠϛϯάͰɺCZUF<>͔ΒಡΊ͍͍ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ
x 3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ Ϣʔβʔૢ࡞Ξϓσ 3FT7FSߋ৽ ಛఆλΠϛϯάΞϓσ 3FT7FSߋ৽ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ԿͰ͑Δ 6OJUZ4FSJBMJ[F"TTFU
7 8 ΩϟϥΫλʔ͕Ճ͞ΕΔ"QQͳΒ Ϟσϧฤ Ωϟϥ͕ϞσϧͳΒ 64"Ͱ͋Δඞཁ͕ͳ͍ͳΒ ➡ ૿͑ΔλΠϛϯάͰɺίʔυ͔Βੜ͢Ε͍͍ 73.͕͜Εɻ Ϧιʔεظ
ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x 3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ Ϣʔβʔૢ࡞Ξϓσ 3FT7FSߋ৽ ಛఆλΠϛϯάΞϓσ 3FT7FSߋ৽ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ԿͰ͑Δ 6OJUZ4FSJBMJ[F"TTFU
7 9 ΩϟϥΫλʔ͕Ճ͞ΕΔ"QQͳΒ 64"ฤ Ωϟϥ͕Ϟσϧ͔ͭ64"ඞਢɺίʔυੜແཧͳΒ ➡ USAΛϏϧυ࣌ʹೖΕΔ ڧ੍Ξϓσ Ϧιʔεظ ϦιʔεΞοϓσʔτظ
ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x 3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ Ϣʔβʔૢ࡞Ξϓσ 3FT7FSߋ৽ ಛఆλΠϛϯάΞϓσ 3FT7FSߋ৽ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ԿͰ͑Δ 6OJUZ4FSJBMJ[F"TTFU
8 0 ͘͠
8 1 Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x 3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ Ϣʔβʔૢ࡞Ξϓσ
3FT7FSߋ৽ ಛఆλΠϛϯάΞϓσ 3FT7FSߋ৽ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ΩϟϥΫλʔ͕Ճ͞ΕΔ"QQͳΒ 64"ฤ Ωϟϥ͕Ϟσϧ͔ͭ64"ඞਢɺίʔυੜແཧͳΒ ➡ Ωϟϥ͕૿͑ΔλΠϛϯάͰ"#Λͬͯӡ༻
8 2 ԻɺγφϦΦɺқઃఆ͕Ճ͞ΕΔ "QQͳΒ ➡ ૿͑ΔλΠϛϯάͰɺCZUF<>͔ίʔυ͔Βੜ͢Ε͍͍ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ
x 3FT7FS͍ͭͰߋ৽ 6QEBUBCMFҰݸ͝ͱͷऔಘ Ϣʔβʔૢ࡞Ξϓσ 3FT7FSߋ৽ ಛఆλΠϛϯάΞϓσ 3FT7FSߋ৽ ڧ੍"QQΞϓσػߏ #ZUF͔Β ੜͰ͖Δ"TTFU ίʔυ͔Β ੜͰ͖Δ"TTFU ԿͰ͑Δ 6OJUZ4FSJBMJ[F"TTFU
8 3 Ϩοπɾ۩ମྫ "#Θͳ͍Ͱҙ֎ͱϦιʔεߋ৽Ͱ͖Δͷɺ Ͳ͏ࢥ͏ʁ "#ͷՁͬͯ͜ΜͳΜͳΜͩͥʁ
8 4 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ ΒΕ͍ͯͳ͍ͷɺ "#Ҏ֎ʹݟΔ͖ͷ͕͋Δͱ͍͏ɻ 6OJUZͷ߹ɺ Ξοϓσʔτ͢Δʹ"# ͱ͍͏ใ͕Ұ൪࠷ॳʹདྷΔΜ͚ͩͲɺ ͦΕ͕·͋ਏͯ͘ɻ
8 5 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ "QQΛӡ༻͢ΔೖΓޱͱͯ͠ɺ"#͔ͳΓෑډ͕ߴ͍ɻ ͜Ε·͋"#͕ѱ͍ͱ͍͏ΑΓɺ ӡ༻Λ͢ΔͨΊͷղͱͯ͠"#͕ଘࡏ͢ΔͷͰɺ ղ͔Β͍ΛΔͷ͕͍͠ͱ͍͏ɻ
8 6 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ Ϧ ι ʔ ε Ξ ο ϓ
σ ʔ τ ظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ Ϧιʔεظ ͙ΘʔͬͱΓ͍ͨӡ༻͕͋ͬͯɺ ͦΕΛ࣮ݱ͢ΔͨΊͷղͱͯ͠"#͕͋Δɻ ίϯχνϫʂ
8 7 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ ͳͷͰɺ "#ͷੜ͕Θ͔Εӡ༻͕Θ͔Δ͔ʁ /Pɻ "#ͷ༻ํ๏͕Θ͔ͬͨΒӡ༻͕Θ͔Δ͔ʁ ·ͩΓͳ͍ɻ ͱ͍͏ֶ͔श͢Δॱ൪ͱͯ͠ਏ͍ɻ
8 8 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ ߟ͑Δ͖ɺ ͦͷ"QQʹରͯ͠ɺ ཧతͳ6QEBUBCMFYཧతͳӡ༻ͷΈ߹Θͤ ͲΜͳͷͳͷ͔ɻ
8 9 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x Γ͍ͨӡ༻ͱɺ͍͍ͨ6QEBUBCMFΛΈ߹ΘͤΑ͏ɻ
9 0 "#ʹ͍ͭͯΒΕ͍ͯͳ͍͜ͱ Ϧιʔεظ ϦιʔεΞοϓσʔτظ ҙΞοϓσʔτظ ৗ࣌Ξοϓσʔτظ x "#ผʹඞਢ͡Όͳ͍ɻ
9 1 ͪͳΈʹ ૉʹ"#Λͬͯӡ༻ͨ͠΄͏͕͍͍ɺ ͱ͍͏έʔε͋Δɻ Ͳ͏͋ͬͯCZUF<>ίʔυ͔Βੜ͠ʹ͍͘߹ɺ ੜ͕໘ष͍߹ͳͲɻ
ऴ ੍࡞ɾஶ࡞ S K K
9 3 ࠷ߴͷདྷੈ ϞόΠϧͷੈքͰ·ͩདྷͳ͍͔͠Εͳ͍͚Ͳɺ༗ઢͷੈքͳΒ4USFBN(BNJOH Έ͍ͨͳͭདྷΔ͔ͩɻ (PPHMF͕Γͩͨ͠ɻ ɾϢʔβʔ͕ίϯτϩʔϥѲΔͱαʔόଆͰήʔϜىಈͯ͠ ͦͷը໘Λखݩͷ57ʹૹΓ͚ͭͯ͘Δ
ͱ͍͏ͷͰɺΑ͏·͋ɺ͏ʔΜɺΞϓϦͷӡӦతʹมΘΒͳ͍ɻ ɾ৽͍͠ϦιʔεΛ࡞ͬͯ ɾήʔϜͷதʹΞοϓσʔτ௨ϙΠϯτΛ࡞ͬͯ ɾΞοϓσʔτ Ҏ্ͩɻ ͓·͚
9 4 ࠷ߴͷདྷੈ அઈ͞ΕͨαʔόͱΫϥΠΞϯτɺ͍ͬͯ͏֓೦͕ফ͑ͯαʔό্ͷΫϥΠΞϯτ ηογϣϯ͚ͩʹͳΔͷ͋ΔΜ͚ͩͲɺ Ϣʔβʔ͕ήʔϜΛ༡ΜͰ͍Δɺ͍ͬͯ͏ηογϣϯͷ֓೦·ͩফ͑ͳ͔ͬͨɻ ·͋ɺϢʔβʔ͕༡ΜͰ͍ΔΫϥΠΞϯτͷηογϣϯ͕͋Δ͏ͪɺͦͷηο
γϣϯ͕ͲΜͳσʔλΛ͍ͭϩʔυͯ͠͏͔ɺͱ͔ͷ֓೦ফ͑ͳ͍ɻ ͷͰɺࠓͨ͜͠ͱ͋Μ·ΓมΘΒͳ͍ɻ ༻ҙ͢ΔσʔλมΘΒͣɺηογϣϯΛΓͨ͘ͳ͚ΕήʔϜΛىಈͨ͠·· ΞοϓσʔτΛܴ͑Δ͜ͱʹͳΔɻ ͓·͚
9 5 ࠷ߴͷདྷੈ 4USBNJOH(BNFͰมΘΔ͜ͱͱͯ͠ɺ ɾΫϥΠΞϯτηογϣϯͱαʔόڑ͕ͳͷͰɺσʔλμϯϩʔυͰͳ͘ ୯ͳΔల։ʹͳΓɺ͔͔Δ͕࣌ؒ΄΅ʹͳΔ ɾͷΪΨ͕ղফ͞ΕΔ
4USFBNJOHֆ ԻͷσʔλྔͦΕࣗମʹΛͭͿ͍ͬͯΔɻ,Ͱ.#Tɻ (#Λ͍ͭͿ͢ͷʹ TFDɺ࣌ؒɻ͋Εɺɺ ͋ʔʔෳͷϢʔβʔؒͰTIBSFEͳίϯςΩετͷ߹Ͳ͏ͳΔΜͩɺͬͺϝ ϯς͔ʁCBDLUPϦιʔεΞοϓσʔτظɻ·͋దࡐదॴͰɻ ͓·͚