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
irof
December 15, 2018
Technology
27
19k
コードをどまんなかに据えた設計アプローチ
JJUG CCC 2018 Fall
2018-12-15T16:45+09:00
#ccc_e6
http://www.java-users.jp/ccc2018fall
irof
December 15, 2018
Tweet
Share
More Decks by irof
See All by irof
技術的負債の正体を知って向き合う
irof
0
300
関ジャバと言う場
irof
0
81
型で語るカタ
irof
2
1.4k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
380
複数アプリケーションを育てていくための共通化戦略
irof
9
5k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.1k
Javaアプリケーションモニタリングの基本
irof
7
2.8k
Webアプリケーションを作りましょう
irof
0
200
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
6.7k
Other Decks in Technology
See All in Technology
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
230
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
330
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
160
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
640
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
290
AIの個性を理解し、指揮する
shoota
3
540
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
120
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.5k
初海外がre:Inventだった人間の感じたこと
tommy0124
1
120
serverless team topology
_kensh
3
250
RemoteFunctionを使ったコロケーション
mkazutaka
1
160
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
Visualization
eitanlees
150
16k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Unsuck your backbone
ammeep
671
58k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Language of Interfaces
destraynor
162
25k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Statistics for Hackers
jakevdp
799
220k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Designing for Performance
lara
610
69k
Transcript
ίʔυΛͲ·Μͳ͔ʹ ਾ͑ͨ ઃܭΞϓϩʔν ++6($$$'BMM 5 DDD@F !JSPG
JSPG w;ͭ͏ͷϓϩάϥϚ wݸਓࣄۀओੜ wେࡕ wؔ+BWBΤϯδχΞͷձͱ͔
ҙ w্ڃऀ͚ηογϣϯͰ͢ɻ w ฉ͍ͯ͘ΕΔօ͞·ʹ্ڃऀ w ͢ࢲʹॳ৺ऀ wຊηογϣϯ͑Λఏڙ͢ΔͷͰ ͋Γ·ͤΜɻ
ίʔυͱઃܭͷ
ίʔυ͕ઃܭʜʜ wͱ͔ݴ͏͚Ͳɻ wݴ͑·͢ʁ wͰ͖ͯ·͢ʁ
ొਓ ઃܭ υΩϡ ϝϯτ ίʔυ
ઃܭඞཁʁ w࡞Δͷ͕ͳ͍ͱ࡞Γ࢝ΊΒΕͳ͍ɻ w ʮ৺ͷதͰࢥͬͨΒऴΘͬͯΔਓʯͳΒͰ͖Δ͔ɻ wʮԿΛ࡞Δ͔΅ͬͱࢥ͍ඳ͘ʯ͚ͩ Ͱઃܭɻ wͳͷͰɺઌʹઃܭ͢Δɻ w ඞཁͱ͔ඞཁ͡Όͳ͍Ҏલͷɻ
ίʔυඞཁʁ wඞཁɻ w ʮίʔσΟϯάෆཁʯͱ͔ݴ͏ͷɺͦΕίʔ υͩΖͱ͔ࢥͬͯͨΓɻ wίʔυෆཁઢɻલఏʹ͢Δɻ
υΩϡϝϯτඞཁʁ wཁΔʁඞͣʁ͍ͭʁͳΜͰʁ
ઌʹυΩϡϝϯτ͕ඞཁʁ wखΓ͠ͳ͍Α͏ʹυΩϡϝϯτͰ߹ ҙ͔ͯ͠ΒਐΊ͍ͨɻ w ίετͷɻΘ͔Βͳ͘ͳ͍ɻ
ޙͰυΩϡϝϯτ͕ඞཁʁ wϝϯςφϯεͷͨΊʹɺͲͷΑ͏ʹ࡞ ΒΕ͍ͯΔ͔ɺԿΛ͍ͯ͠Δͷ͔Λ Γ͍ͨɻ w Θ͔Δɻ
ಉ࣌ʹυΩϡϝϯτ͕ඞཁ wυΩϡϝϯτ͑ΔͷͳͷͰɺྲྀ ੴʹಉ࣌ʹඞཁͰͳ͍ͱࢥ͏ɻ wͱΓ͋͑ͣਂ͘ߟ͑ͳ͍ɻ
͜Μͳײ͡ʁ ઃܭ υΩϡ ϝϯτ ίʔυ ߟ͑Δ͜ͱ ࡞Δͷ ݟΔͷ ಈ͘ͷ
࠶υΩϡϝϯτඞཁʁ wίʔυ͡Όμϝͳͷʁ
ʮίʔυΛͲ·Μͳ͔ʹʯ %FW-07&ؔDPNNJUNFOU IUUQTTQFBLFSEFDLDPNJSPGLPEPXPEPNBOOBLBOJ
υΩϡϝϯτͳͤ͘Δʁ wίʔυ͚ͩͩͱ͍͔͠ΒυΩϡϝϯ τ͕ଘࡏ͢Δɻ w Կߟ͑ͣʹແ͘͢ͷΠϚΠνͩΖ͏ɻ w ແ͔ͯ͘͠Βߟ͑Δͬͯख͋Δ͚Ͳɻ
υΩϡϝϯτͷׂ wཧղͷͨΊʹ͋Δɻ w ԿΛ͠Α͏ͱ͍ͯ͠Δ͔͕Θ͔Δɻ w ԿΛ͍ͯ͠Δ͔͕Θ͔Δɻ
Θ͔Γ͍͢ίʔυΛॻ͚ʂ wͬͯݴͬͯݶք͋Δɻ w ͜Ε͜ΕͰॏཁͳΜ͚ͩͲɻ wυΩϡϝϯτΑΓΘ͔Γ͘͢ॻ ͚ͳ͍ɻ w ਓʹ͚ͩಡ·ΕΔυΩϡϝϯτͱɺػցͱਓ ͷ྆ํʹಡ·ΕΔίʔυɻͲͪΒ͕ਓʹΘ͔ Γ͘͢Ͱ͖Δ͔Λߟ͑Εɻ
ಡΈ͕͢͞ ༏ઌͰ͖Δ ಡΈ͢͞Λ ༏ઌͰ͖ͳ͍
ίʔυΘ͔ΓͮΒ͍ wࣄ࣮ɻࣄ࣮ड͚ೖΕΔɻ wίʔυʹʮͲ͏ಈ͔͘ʯؒҧ͍ͳ͘ ͋Δ͕ɺʮͲ͏͍͔ͨ͠ʯඍົɻ w ͦΕΛ୲͏υΩϡϝϯτ͕͋ΕബΕΔɻ
ίʔυίετ͕͔͔Δ w͜ΕͳΜͱ͔ͳΔɻʢޙड़ʣ
ίʔυʹ࣠Λஔ͘
ίʔυͰઃܭ͍ͨ͠ wص্ͷυΩϡϝϯτ࣮͠͠ݱෆ ՄೳͩͬͨΓɺݱ࣮͔Βဃͯͨ͠Γ ͢Δɻ w ࣗવݴޠࣗ༝ͳਤ߹ੑ͕औΓͮΒ͍ɻ w ͠͠ͳ͍͕͠Ζʹ͞ΕΔɻ
ʮίʔυΛॻ͖͍ͨʯ ͱݴ͏ࣗΛͳͩΊΔ ͷ͕໘
ґଘؔͷٯస wׂͦͷ··ɻ wυΩϡϝϯτ͔ΒίʔυͰͳ͘ɺίʔ υ͔ΒυΩϡϝϯτʹɻ wҙਤΛࠐΊͯίʔυΛॻ͍ͯɺҙਤ͕ දݱ͞ΕͨυΩϡϝϯτΛݟΔɻ w ཧղυΩϡϝϯτʹͤΔɻ
͜Μͳײ͡ ઃܭ υΩϡ ϝϯτ ίʔυ ߟ͑Δ͜ͱ ࡞Δͷ ݟΔͷ ಈ͘ͷ
None
ઃܭͷϧʔϓ ઃܭ υΩϡ ϝϯτ ίʔυ
ίʔυࢀՃͤ͞Δ ઃܭ υΩϡ ϝϯτ ίʔυ
ίʔυʹΑΔઃܭ
ઃܭʹҙਤ͕͋Δ
ίʔυ͕ઃܭͱݴ͏ʹ wίʔυ͔ΒҙਤΛಡΈऔΕΕ͍͍ɻ w͔͠͠ɺίʔυ͔ΒҙਤΛಡΈऔΔͷ ͍͠ɻ
ίʔυͱҙਤ wҙਤ͕ࠐΊΒΕ͍ͯΔ͔ո͍͠ɻ wҙਤΛࠐΊͨͭΓͷίʔυͰɺࣗ ͰಡΈऔΕͳ͔ͬͨΓ͢Δɻ w ͜ΕυΩϡϝϯτจষͰಉ͚ͩ͡Ͳɻ
࣮ݱ͍ͨ͜͠ͱ wίʔυʹҙਤΛࠐΊΔํ๏ w ߟ͑ͯΔ͜ͱΛશ෦ίʔυʹॻ͘ɻ w ܽམͨ͠ΓྼԽͨ͠Γ͠ͳ͍ํ๏Ͱɻ wࠐΊΒΕͨҙਤͷυΩϡϝϯτԽ w Ίͣɺ࣮֬ʹɺߴͰɺίετͰɻ
͕ࣗίʔυΛಡΉ࣌ wϓϨʔϯςΩετͰಡΜͰͳ͍ɻ w গͳ͘ͱγϯλοΫεϋΠϥΠτɻ w*%&ͷػೳΛͬͯಡΜͰΔɻ w ఆٛͷδϟϯϓ׆༻͢Δ͠ɺׅހͷڧௐද ࣔͱ͔ɺܕ֊ɺݺͼग़͠֊ͳΜ͔Έͨ Γ͢Δɻ
ͭ·ΓϏϡʔΞʔ͔ wίʔυΛυΩϡϝϯτͱͯ͠ݟΕΔ ϏϡʔΞʔ͕͋Ε࣮ݱ͢Δ wίʔυʹࠐΊͨͭΓͷҙਤ͕දݱͰ ͖͍ͯΔ͔ͦΕͰ֬ೝͰ͖ΔͷͰ
ίʔυ͕υΩϡϝϯτ ʹݟ͑Ε ίʔυͰઃܭͰ͖Δ Ծઆ
ϧʔϧ͚ wυΩϡϝϯτԽΛલఏʹͨ͠ίʔυͷ ॻ͖ํΛϧʔϧԽ͢Δɻ wͨͩ͠ɺυΩϡϝϯτԽͷͨΊʹίʔ υ͕Ήͷڐ༰Ͱ͖ͳ͍ɻ
͍͍ίʔυ υΩϡϝϯτԽ͕༰қ Ծઆ
࣮ݱํ๏
ҙਤΛಡΈऔΔͨΊͷ४උ
ࡾʴυϝΠϯϞσϧ IUUQTHJUIVCDPNTZTUFNTFLLFJJTPMBUJOHUIFEPNBJO
ࡾʴυϝΠϯϞσϧ wυϝΠϯʹযΛ߹ΘͤΔͨΊʹɺଞ ͷ͋ΒΏΔͷ͔Βִ͢Δɻ wυϝΠϯ͔Β࣮߹ΛഉআͰ͖Δɻ w ࣮߹ͷݴ͍༁͕Ͱ͖ͳ͘ͳΔɻ w ࣮ࡍΔͱ࣮߹ग़ͯ͘Δ͚ΕͲɺഉআ Ͱ͖Δɻڧ͍ҙࢤͱٕज़͕͋Εɻ
ʮυϝΠϯϞσϧʯͬͯʁ wʮυϝΠϯϞσϧʯͩͱΑ͘Θ͔Βͳ ͍ͷͰɺυϝΠϯϞσϧශ݂ʹͳͬ ͨΓɺυϝΠϯ͡Όͳ͍ͷ͕υϝΠ ϯʹೖͬͨΓ͢Δɻ w ʮೖग़ྗۀͰѻ͏͔ΒυϝΠϯʯͱ͔ݴ ͍࢝ΊͨΓɻ
ʮϏδωεϧʔϧʯ ͷΈΛऔΓѻ͏ ۀγεςϜΛલఏʹ͢Δ
࣮߹ ೖग़ྗ ϏδωεϧʔϧͷΈ
wࡾʴυϝΠϯϞσ ϧͷجຊతͳ࣮ํ ๏ʮݱͰཱͭ γεςϜઃܭͷݪଇʯ Λࢀরɻ
+*( wࡾʴυϝΠϯϞσϧͷΞʔΩςΫνϟ Ͱ࣮͞Εͨίʔυ͔Βੳɾઃܭ ใΛग़ྗ͢Δπʔϧɻ w+BWB*OTUBOUEPDVNFOU(B[FS w υΩϡϝϯτҰ࣌తʹݟΔͷ IUUQTHJUIVCDPNEEEKBWB+JH
+*(υΩϡϝϯτ wίʔυʹࠐΊͨઃܭҙਤΛදݱ͢Δɻ wੳɾઃܭͷิॿʹ͏ɻ wҰ࣌తͳͷɻอଘ͠ͳ͍ɻ w υΩϡϝϯτϝϯςφϯεରͰͳ͍ɻ
+*(υΩϡϝϯτ
ࣗͷࢹΛίʔυԽ wίʔυΛಡΉͱ͖ɺखݩ಄ͷதʹඳ ͍ͯΔͭɻ w Ϋϥεਤͱ͔ɻγʔέϯεਤͱ͔ɻݺͼग़͠ ֊ͱ͔ɻ͍͍ͩͨΦϨΦϨϞσϧɻ
Ϗδωεϧʔϧʹྗ͢Δ w൚༻తͳΫϥεਤͰͳ͍ɻ wϏδωεϧʔϧΛࡍཱͨͤΔɻ
ಡΈऔΓྫ
+*(ͷύοέʔδґଘਤ
ίΞʹͳΔͱ͜Ζ
ίΞʹͳΔͱ͜Ζ
ҙਤΛࠐΊΔ ίʔσΟϯά
ܕʹҙਤΛࠐΊΔ
4USJOHͳͲʜʜ wۀʹඞཁͳϩδοΫ͕ͳ͍ɻ wۀʹؔͳ͍ϩδοΫ͕ଟ͗͢Δɻ wѻ͑Δ໘͕ଟ͗͢Δɻ wॊೈͱݺͳ͍ɻ؇͍͚ͩɻ
ಛԽͨ͠ܕΛݶఆతʹ͏ wۀ্ඞཁͳϩδοΫ͚ͩΛ࣋ͭɻ wۀ্ѻΘΕΔ໘͚ͩͰѻ͑Δɻ
+BWBΛ͏ͷ͔ͩΒ wίϯύΠϥʹશྗͰࣄΛͤ͞Δɻ w੩తʹܾఆͤ͞ɺऔΓҧ͕͑ى͜ΓΑ ͏ͷͳ͍ઃܭʹ͢Δɻ w ҾͷޡΓ͕ࠜຊతʹͳ͘ͳΔɻ w ؾΛ͚ͭͨΓҙࣝͨ͠Γ͢Δ͜ͱͷϦιʔ ε͕ղ์Ͱ͖Δɻ
4USJOHTUS͕͋ΒΘΕͨ ͋͋ɺ͋ΕͶɻ ίϝϯτॻ͍͓ͯ͜͏ɻ ม໊ม͑Α͏ɻ Ϋϥε࡞Ζ͏ɻ
Կ͠ͳ͍ wΕͨΒ·ͨΉ͜ͱʹͳΔɻ w·ͨଞͷਓΉɻ wͦͷίετ͍ଓ͚Δͷʁ
ίϝϯτɺม໊ wϝϯς͞ΕΔ͔ඍົͳͱ͜Ζɻ wผͷॴͰొͨ͠ͱ͖ʹಉ໊͡લΛ ͚ͭΕΔʁ wಉ໊͡લͷಉ͡ʁҧ͏ʁ wऔΓҧ͑͛ͳ͍ɻ
ΫϥεΛ࡞Δ wྫ͑.BJM"EESFTTΫϥεΛ࡞Δɻ w͜Ε·ͩୈҰาɻ w ͦͷۀͷͯ͢ͷϝʔϧΞυϨεಉ͡Α͏ ʹΘΕΔʁͦΜͳΘ͚ͳ͍ͳΒɻ wྫ͑'SPN5PͰผʹ࡞Δɻ w ͦͷۀϝʔϥʔͳͷʁ w
ͬͱద໊ͨ͠લ͋ΔΑͶଟɻ
2Ͳ͜·Ͱࡉ͔ͳΫϥε࡞Δͷʁ "Ͳ͜·Ͱɻ
͑ɺͰʜʜ
૿͑͗ͯ͢ऩर͕ʜ wۀ͕ͦΕͰѻͬͯΔͷͰ͠ΐʁ wͦͷఔͷ͕ѻ͑ͳ͍Ͱɺۀ։ൃ ͱ͔Α͘ݴ͑Δɻ
%3:͡Όͳ͘ͳΔ wಉ͡ॲཧ͕ෳඞཁʹͳΓɺमਖ਼ͷԣ ฒͼ͕ඞཁʹͳΔɻ w ͦΕઃܭϛεɻϛεΒͳ͍ͨΊʹखൈ͖Λ ਖ਼Խ͍͚ͯ͠ͳ͍ɻ
Ϋϥε࡞Δͷ໘ w࡞ΔͷҰॠͰ͠ΐʁ w͏ͷͣͬͱͰ͢Αɻ
Φʔόʔϩʔυ͕૿͑Δʁ wෳͷͷΛѻͬͯΔͳΒɺͦΕ͕ਖ਼ ͍͠ɻ wಉ͡ͷͱͯ͠ѻ͍ͬͯΔͳΒɺඞཁ ͳͷมۀɻ
ଞʹԿ͔ʁ wص্ͷۭͰͳ࣮͘ʹ͖߹ͬͯ ίʔυΛॻ͖ͳ͕Βݕ౼͍ͨ͠ɻ
wಉ͡Α͏ʹѻΘΕ͍ͯΔͷΛ۠ผ͢ ΔΑΓɺผʑͷͷΛಉ͡Α͏ʹѻ͏ ํ͕҆શɻ wಉ͡ʹͳͬͨΒ͚ͬͭ͘Ε͍͍ɻ ͍͕͠ɺ౷߹͢Δͷ؆୯ɻ w গͳ͘ͱ+BWBͷίʔυͰɻ
࣮ࡍͷΓํ
*%ͷઃܭ wͳΜͪΌΒ*%͕ͨ͘͞Μ w ԿΛࣝผͯ͠Δͷʁ w Կछྨ͋Δͷʁ w ͲΜͳ൪߸ମܥͳͷʁ w Ͳ͏ͬͯੜ͢Δͷʁ
w ͍ͭΘΕΔͷʁ
String newShipIdentifier() { return UUID.randomUUID().toString(); } ίʔυʹॻ͔Ε͍ͯΔ͕ʜʜ ଞͷํ๏ͰੜͰ͖ͯ͠·͏ɻ ଞͷ͜ͱʹ͑ͯ͠·͏ɻ
class ShipIdentifier { String value; public ShipIdentifier() { value =
UUID.randomUUID().toString(); } ... } ધ*%Ͱࣝผ͞ΕΔɻ ൪߸ମܥ66*%ɻ ੜՕॴίϯετϥΫλͷࢀরɻ ༻ՕॴΫϥεࢀরɻ
*%ܕΛݸผʹͭ͘Δ wछྨࣝผͰ͖Δͷ͕Θ͔Δ w ҰཡʹͰ͖Δ w൪߸ମܥΫϥεΛݟΕΘ͔Δ w༻ՕॴΘΕํίʔυͰΘ͔Δ w ϝιουγάωνϟࢀরͳͲ w ҰཡμΠΞάϥϜʹͰ͖Δ
۠ͷઃܭ wFOVNͰࣔ͢ɻ w ѻ͏۠ΛҰཡԽͰ͖Δ w۠ͷѻΘΕํΛFOVNʹ࣮͢Δɻ
String sheetTypeCode = "1"; sheet_type_code | name ================|======= 1 |
ࣗ༝੮ 2 | ࢦఆ੮ 3 | άϦʔϯ੮ Α͘ݟΔίʔυͱ%#ͷΈ߹Θͤ
enum SheetType { ࣗ༝੮, ࢦఆ੮, άϦʔϯ੮ } ୯ͳΔྻڍͰɺͲ͏ݴ͏۠ ͕͋Δ͔දݱͰ͖͍ͯΔɻ
۠ͷ+*(υΩϡϝϯτ όϦΤʔγϣϯ Ͳ͜ͰΘΕ ͍ͯΔ͔ ͲΜͳFOVN͔
͑ɺϋʔυίʔσΟϯάʁ wϏδωεϧʔϧΛ࣮͢ΔͷͰ͋Εɺ ۠ͷՃͳͲ͕͋ͬͨ߹Ͳ͏ͤ σʔλͩͱରԠͰ͖ͳ͍ɻ
w൚༻తͳઃܭΕɺͲ͜·ͰಛԽ ͢ΔɻநԽͱ͔΄ͱΜͲ͍Βͳ͍ɻ ۀநͳΜͯͯ͠ͳ͍ͷͰɻ wநԽ͞Ε͏ΔϏδωεϧʔϧຆͲ ͳ͍ͱ࣮ײ͍ͯ͠Δɻ w ·ͩୈҰײͩͱΠϯλϑΣʔεͱ͔࡞ͬͯͪΌ ͏Μ͚ͩͲɺۀཧղ͕ਐΉͱશ෦ফ͑ͨɻ
ҙਤ͕ബΕΔ ίʔσΟϯάελΠϧ
൚༻ܕͰड͚͠ ൚༻ܕ4USJOHJOU *OUFHFSͳͲ
ShopIdentifier shopId = ... SchoolIdentifier schoolId = new SchoolIdentifier( shopId.toString());
γϣοϓͱεΫʔϧΛѻ͏ۀɻ γϣοϓʹεΫʔϧΛซઃ͢Δ߹ ಉ͡*%Λ͏Α͏͕ͩɺຒΕ ͯ͠·͏ɻ
ᐆດͳΫϥε
class Name { ... } School school = new School(name);
User employee = new User(name); ܕΛ࡞Δҙຯ͕ͳ͍ɻ ֶߍ໊ͱϢʔβʔ໊͕ಉ͡ͱ ͍͏ۀͳΒਖ਼͍͕͠ʜʜ
+*(Λͬͨઃܭ IUUQTHJUIVCDPNJSPGKKVHDDDF
༻ޠूΛ࡞Ζ͏
વΤΫηϧͰ ͍(PPHMF4QSFBE4IFFUͩ ςΩετͰΑ͘Ͷʁ ͜ʔͲ͔͖͍ͨ
+*( Ϋϥε࡞Δ
؆୯Ͱ͠ΐʁ wۭͷΫϥεͰ͍͍ɻ wΫϥε໊ͱ+BWBEPDίϝϯτΛॻ͘ɻ w͜Ε͚ͩͰʮυϝΠϯͰѻ͏ݴ༿ʯΛ ίʔυʹͰ͖Δɻ
ʮ+BWBEPDͰ͍͍͡ΌΜʯ wʮυϝΠϯͷ༻ޠҰཡʯͷυΩϡϝϯ τɺඪ४+BWBEPDͩͱݫ͍͠ɻ w ༻ޠूײ͕ͳ͍ɻ w ଞͷใ͕ଟ͗͢Δɻ w ·͋EPDMFUͰग़͍͍ͯ͠ɻ࠷ॳEPDMFUͰ Ζ͏ͱͨ͠ɻ
ॳظϞσϧΛ࡞Ζ͏
વΤΫηϧͰ 6.-πʔϧͰඳ͖͘ ϗϫΠτϘʔυʹඳ͍ͯ ࣸਅͱͬͱ͜͏ ͜ʔͲ͔͖͍ͨ
+*( QBDLBHFJOGPKBWBʹ ύοέʔδ໊Λॻ͘ ϑΟʔϧυͳͲͰ ؔ࿈͚ͮΔ
؆୯Ͱ͠ΐʁ wͱʹ͔ؔ͘࿈͚͍͍ͮɻ wؔ࿈ํଥੑΛઃܭ͢Δɻ wΦϒδΣΫτΛ͔࣋ͭɺࣝผࢠ͚ͩͰ ͍͍͔ͳͲޙͰ͍͚͍͍ͬͯɻ
ѻ͏Λઃܭ͢Δͥ
+*( Ұཡ όϦσʔγϣϯҰཡ ग़ՙɺਖ਼ͷ
؆୯Ͱ͠ΐʁ wΫϥεϏδωεϧʔϧஔ͖ɻ wαʔϏεͱ͔ίϯτϩʔϥʔͱ͔Ϧϙ δτϦʔͱ͔ʹॻ͔ͣɺΫϥεʹॻ͍ ͍ͯ͘ɻ
ίʔυͰͰ͖Δͤ wಉ࣌ฤूڝ߹ʹڧ͍ɻ wγʔϜϨεʹৄࡉԽͰ͖Δɻ wϝϯςφϯεΕͳ͍ɻ wΜͩΓมΘͬͨΓݕ͍͢͠ɻ
w+*(ʮίʔυʹࠐΊͨઃܭҙਤʯΛ ϞσϦϯά͢Δɻ w ࡞ΔաఔͰ৭ʑؾ͖ͮ͋ͬͨɻ wࢲͷઃܭʹཱ͍ͬͯΔɻͳ͏ɻ
લఏͱͳΔ͜ͱ
આ໌Ͱ͖ΔίʔυΛॻ͘ wҰݴҰ۟આ໌Ͱ͖Δ͜ͱɻ wઆ໌Ͱ͖ͳ͍ίʔυΛॻ͍͍ͯΔͱɺ ͔ͳΓݫ͍͠ɻ
ίʔυৗʹಈ͘ wಈ͔ͳ͍ίʔυͨͩͷจࣈྻɻ wίϯύΠϧ௨Βͳ͍ͱ͔ҙຯͳ͍ɻ wίʔυಈ͘͜ͱʹՁ͕͋Δɻ w ςετίʔυͷՁʮաڈʹಈ͍ͨʯͰ ͳ͘ʮࠓ͙͢ಈ͘͜ͱΛࣔͤΔʯ͜ͱʹ͋Δɻ
໊લͷ۠ผ wৗձͰɺಉ͡ͷΛผͷݺͼํΛ͠ͳ͍ɻ w ձһɺར༻ऀɺϢʔβʔɺΞΧϯτ͕͋ΔͳΒɺ໌֬ʹ ͍͚Δɻ w ಉ͡ͷΛࢦ͢ͳΒݺͼํΛ҆ఆͤ͞Δɻ wʮ"ͬͯԿͰ͢ʁʯʮ#ͷ͜ͱͰ͢ʯ w ͜͏͍͏ൃݴ͕ग़Δ͜ͱࣗମ͕·͍ͣɻ
wಉ͡ͷ͕ผͷ໊લͰݺΕΔɻ w ͜Εࣄ࣮ͱͯ͠ଘࡏ͢Δɻ w ڲਖ਼Ͱ͖ͳ͍ͳΒɺ͖ͬͱԿ͔͕ӅΕͯΔɻ w ͦΕΛʮͲͬͪͰ͍͍ʯͱ͢ΔͳΒݫ͍͠ɻ
ίʔυΛͲ·Μͳ͔ʹ
ίʔυ͕Ͳ·Μͳ͔ʹ͋Ε ͤʹͳΔΑ wίʔσΟϯάͨ͘͞ΜঝೝཉٻΛຬ ͨͯ͘͠ΕΔɻ w ίϯύΠϧ௨ͬͨɻ w ςετ௨ͬͨɻ w ಈ͍ͨɻ
w ͔ͯλΠϓͯ͠Δ͚ͩͰɻολʔϯɻ wίʔυॻ͘ͷָ͍͔͠ΒɺίʔυΛॻ ͘͜ͱΛਖ਼ԽɻͦΜͳΞϓϩʔνɻ