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
18k
コードをどまんなかに据えた設計アプローチ
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
2
130
Javaマルチバージョンビルディング
irof
1
260
データ/データベースパターン
irof
0
110
勉強会で話すハードルを下げてみる
irof
0
22
Gatlingによる負荷テスト入門
irof
7
1.8k
これからのJavaのとっかかりを掴む
irof
0
7.7k
Listかもしれない
irof
2
470
ドメインモデルのつくり方
irof
2
460
ふつうのプログラマのふつうの設計
irof
16
18k
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
530
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
4
4.7k
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
290
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
120
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
130
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
180
本当のAWS基礎
toru_kubota
0
490
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Featured
See All Featured
How to name files
jennybc
65
93k
Writing Fast Ruby
sferik
621
60k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
In The Pink: A Labor of Love
frogandcode
138
21k
Docker and Python
trallard
34
2.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Building Applications with DynamoDB
mza
88
5.6k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
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ίʔυॻ͘ͷָ͍͔͠ΒɺίʔυΛॻ ͘͜ͱΛਖ਼ԽɻͦΜͳΞϓϩʔνɻ