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
Webアプリケーションを作りましょう
irof
0
41
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
バッチを作らなきゃとなったときに考えること
irof
2
660
SpringBoot3.4の構造化ログ #kanjava
irof
3
1.1k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
9
4.7k
役立つログに取り組もう
irof
34
12k
Javaのリリースモデル変更 その後
irof
0
120
プールにゆこう
irof
2
420
Javaマルチバージョンビルディング
irof
1
430
Other Decks in Technology
See All in Technology
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
140
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
Redefine_Possible
upsider_tech
0
240
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
7
2k
AIエージェント完全に理解した
segavvy
4
260
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
9
3.9k
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
900
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.2k
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
200
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
350
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
A Philosophy of Restraint
colly
203
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
RailsConf 2023
tenderlove
29
1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Adopting Sorbet at Scale
ufuk
75
9.3k
For a Future-Friendly Web
brad_frost
176
9.6k
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ίʔυॻ͘ͷָ͍͔͠ΒɺίʔυΛॻ ͘͜ͱΛਖ਼ԽɻͦΜͳΞϓϩʔνɻ