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
Fat Modelに対処する 6つのリファクタリングパターン
Search
Kaoru Hotate
September 15, 2019
Programming
13
4k
Fat Modelに対処する 6つのリファクタリングパターン
2019/09/15 大阪Ruby会議02 登壇資料
https://regional.rubykaigi.org/osaka02/
Fat Modelに対処する 6つのリファクタリングパターン
Kaoru Hotate
September 15, 2019
Tweet
Share
More Decks by Kaoru Hotate
See All by Kaoru Hotate
20240607_人を動かし続ける力_ピープルマネジメントへの内発的動機づけの工夫
hotatekaoru
1
340
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.2k
費用対効果の高いテストコードを書くために意識したこと.pdf
hotatekaoru
3
4.7k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.5k
リファクタリングチャンスを探せ
hotatekaoru
2
410
Dependabotからの脱却
hotatekaoru
0
410
MobPro2Points
hotatekaoru
0
95
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
200
僕らのリファクタリングは裏切らない
hotatekaoru
2
2.6k
Other Decks in Programming
See All in Programming
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
testcontainers のススメ
sgash708
1
120
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
730
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
100
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
170
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
たのしいparse.y
ydah
3
120
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
120
Featured
See All Featured
Building Applications with DynamoDB
mza
91
6.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
GitHub's CSS Performance
jonrohan
1030
460k
Building Adaptive Systems
keathley
38
2.3k
How to Ace a Technical Interview
jacobian
276
23k
Making Projects Easy
brettharned
116
5.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
'BU.PEFMʹରॲ͢Δ ͭͷϦϑΝΫλϦϯάύλʔϯ ,BPSV)PUBUF!QVSVOLBPSV .FE1FFS3VCZPO3BJMT&OHJOFFS େࡕ3VCZ,BJHJ PTSL
อཱ֜ ,BPSV)PUBUF !QVSVOLBPSV ੜ·ΕͯॳΊͯ େࡕʹདྷ·ͨ͠ʂ ࣗݾհ
'BU.PEFMͱ DMBTT"SUJDMF"QQMJDBUJPO3FDPSE ͨ͘͞Μͷؔ࿈͚ IBT@NBOZDPNNFOUT CFMPOHT@UPDBUFHPSZ ͨ͘͞Μͷείʔϓ TDPQFQVCMJTIFE \ ^
ͨ͘͞Μͷϝιου EFGQVCMJTIFE FOE FOE
"QQMJDBUJPO3FDPSEΛܧঝͨ͠Ϋϥε͕ ศརϝιουूʹͳΔ 'BU.PEFMͰਏ͍͜ͱ मਖ਼ൣғͷಛఆʹ͕͔͔࣌ؒΔ ςετ͕ॻ͖ͮΒ͍ ͓·͡ͳ͍͕ॻ͔Ε͍ͯΔ SVCPDPQEJTBCMF
'BU.PEFMʹͳͬͯ͠·͏ ٕज़తͳ ࣌ؒɾͷ 'BU.PEFMͰΑ͍ :"(/*ɾ,*44 'BU$POUSPMMFSʹൺͨΒ༏ઌ͕͘ͳΔ 'BU.PEFM͕ى͖Δɾ์ஔ͞ΕΔཧ༝
'BU.PEFMʹͳͬͯ͠·͏ ٕज़తͳ ࣌ؒɾͷ ύλʔϯԽɾٕज़ྗͷ্ 'BU.PEFMͰΑ͍ :"(/*ɾ,*44 'BU$POUSPMMFSʹൺͨΒ༏ઌ͕͘ͳΔ ϦϑΝΫλϦϯάͷश׳ 'BU.PEFMΛى͜͞ͳ͍ͨΊʹʁ
ΛఆܕԽͯ͠ଊ͑ΒΕΔ ղܾࡦΛ٬؍తʹൺֱͰ͖Δ ϝϯόʔͷڞ௨ݴޠͱͳΔ ύλʔϯԽͷϝϦοτ ʮJ04ΞϓϦઃܭύλʔϯʯୈষઃܭ͢Δͱ͍͏͜ͱΑΓ
ϋϯϚʔఝප ϋϯϚʔͷ͍ํΛ֮͑ͨΒɺશ෦ఝʹݟ͑Δ ύλʔϯԽͷσϝϦοτɾҙ
ۜͷؙͰͳ͍ ଞͷύλʔϯ͋Δͣ ࠙ձ5XJUUFSͰڞ༗ͯ͠Β͑Δͱخ͍͠ʂ ࠓ͢͜ͱਖ਼ղͰͳ͍Ͱ͢
ύλʔϯԽͷલʹɾɾɾ
'BU.PEFMͷҙࣝͷ౷Ұ νʔϜͰཧʹ͍ͭͯษڧ ໋໊ϧʔϧͷ࡞ ύλʔϯԽͷલʹνʔϜͰͬͨ͜ͱ
όάΛੜΈ͍͢ɾςετ͕ॻ͖ͮΒ͍߹ͷΈղফ͢Δ ʢඞཁ͕ͳ͚ΕϦϑΝΫλϦϯάΛ͠ͳ͍ʣ 'BU.PEFMͷҙࣝͷ౷Ұ طଘͷίʔυʹରͯ͠मਖ਼͢Δ߹ ϦϑΝΫλϦϯάҰॹʹͰ͖ͳ͍͔ߟ͑ͯݟੵΓ͢Δ
νʔϜͰཧʹ͍ͭͯษڧ ΦϒδΣΫτࢦઃܭʹ͍ͭͯ ॻ੶ΛಡΜͰཧղΛਂΊΔ
ॲཧΛΓग़͢͜ͱʹͳΔΫϥεΛྨ͠ɺ ಛఆͷ໋໊ɾωʔϜεϖʔεʹͳΔΑ͏ϧʔϧΛ࡞ ໋໊ϧʔϧͷ࡞ αʔϏεͷํʹΑͬͯมΘΔՄೳੑ͋ΔͨΊɺ ԾͰܾΊΔ͘Β͍ͷҐஔ͚ͮ
$PMMFDUPS0CKFDUΛ͏ 7BMVF0CKFDUΛ͏ 1PMJDZ0CKFDUΛ͏ 2VFSZ#VJMEFSΛ͏ 7BMJEBUPS$MBTTΛ͏ ΦϒδΣΫτΛ૿ͯ͠ΦϒδΣΫτͷذΛݮΒ͢ ϦϑΝΫλϦϯάύλʔϯ
$PMMFDUPS0CKFDUΛ͏ 1
ϦϑΝΫλϦϯάલͷίʔυྫʢهࣄͷҰཡը໘ʣ $PMMFDUPS0CKFDU DMBTT"SUJDMFT$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGJOEFY !BSUJDMFT"SUJDMFQVCMJTIFE QBHF QBSBNT<QBHF> QFS
FOE FOE GJMUFSFE@CZ@DBUFHPSZ QBSBNT<DBUFHPSZ> PSEFSFE@CZ QBSBNT<PSEFS>
DMBTT"SUJDMF"QQMJDBUJPO3FDPSE CFMPOHT@UPDBUFHPSZ TDPQFGJMUFSFE@CZ@DBUFHPSZ DBUFHPSZ \ JGDBUFHPSZ KPJOT DBUFHPSZ NFSHF
$BUFHPSZXIFSF OBNFDBUFHPSZ FOE ^ FOE ϦϑΝΫλϦϯάલͷίʔυྫʢهࣄΫϥεʣ $PMMFDUPS0CKFDU
ݱঢ়ͷ $PMMFDUPS0CKFDU ݕࡧ͕݅૿͑Δͨͼʹ.PEFMʹTDPQFΛՃ ෳͷը໘͔Βผͷ݅ʹΑΔݕࡧ͕͋Δ߹ɺ ͭͷ.PEFMʹશͯهࡌ͢Δ ଠΓ͍͢ମ࣭Ͱ͢
$PMMFDUPS0CKFDUΛ͏ 1
ϦϑΝΫλϦϯάલ $PMMFDUPS0CKFDU "SUJDMFT$POUSPMMFS "SUJDMF "SUJDMFT$POUSPMMFS "SUJDMF'JMUFSJOH "SUJDMFT$PMMFDUPS "SUJDMF0SEFSJOH ϦϑΝΫλϦϯάޙ ϑΟϧλϦϯάΛ୲
ιʔτΛ୲
"SUJDMFT$POUSPMMFS"SUJDMFT$PMMFDUPS"SUJDMF'JMUFSJOH $PMMFDUPS0CKFDU DMBTT"SUJDMFT$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGJOEFY !BSUJDMFT"SUJDMFT$PMMFDUPSOFX QBSBNTQBSBNT DBMM FOE FOE
DMBTT"SUJDMFT$PMMFDUPS EFGJOJUJBMJ[F QBSBNT !QBSBNTQBSBNT FOE EFGDBMM BSUJDMFT"SUJDMFQVCMJTIFE BSUJDMFTGJMUFSJOHDBMM
BSUJDMFT BSUJDMFTPSEFSJOHDBMM BSUJDMFT BSUJDMFTQBHF QBSBNT<QBHF> QFS FOE "SUJDMFT$POUSPMMFS"SUJDMFT$PMMFDUPS"SUJDMF'JMUFSJOH $PMMFDUPS0CKFDU QSJWBUF BUUS@SFBEFSQBSBNT EFGGJMUFSJOH "SUJDMF'JMUFSJOHOFX QBSBNTQFSNJU DBUFHPSZ FOE
DMBTT"SUJDMF'JMUFSJOH JODMVEF"DUJWF.PEFM.PEFM BUUS@BDDFTTPSDBUFHPSZ WBMJEBUFTDBUFHPSZ TPNFUIJOH@SVMF EFGDBMM SFTPVSDFT SFUVSOSFTPVSDFTJGDBUFHPSZCMBOL
KPJOT DBUFHPSZ NFSHF $BUFHPSZXIFSF OBNFDBUFHPSZ FOE FOE "SUJDMFT$POUSPMMFS"SUJDMFT$PMMFDUPS"SUJDMF'JMUFSJOH $PMMFDUPS0CKFDU
վળ݁Ռ $PMMFDUPS0CKFDU ݕࡧ͕݅૿͑ͯݕࡧ݅Λཧ͢Δ 'JMUFSJOHΫϥεʹίʔυΛ૿͢ 4Λ࣮ݱ ෳͷը໘͔Βผͷ݅ʹΑΔݕࡧ͕͋Δ߹ɺ ͦΕͧΕຖͷը໘༻ͷ$PMMFDUPSɾ'JMUFSJOHΫϥεʹ࣮ *Λ࣮ݱ
7BMVF0CKFDUΛ͏ 2
DMBTT"DDPVOU"QQMJDBUJPO3FDPSE EFGUFM <UFM UFM UFM>KPJO FOE EFGUFM@XJUI@IZQIFO
<UFM UFM UFM>KPJO FOE EFGUFM@XJUI@IZQIFO@DPOWFSUFE@GVMM@XJEUI <UFM UFM UFM>KPJO US ̌̕ FOE FOE ϦϑΝΫλϦϯάલͷίʔυྫ 7BMVF0CKFDU
ݱঢ়ͷ 7BMVF0CKFDU UFMɺ൚༻తʹΘΕΔ༰ͳͷͰɺՕॴʹ·ͱΊ͍ͨ ݱ࣮ੈքͰɺGBYඞཁͩͬͨ
मਖ਼ํ๏ 7BMVF0CKFDU DPODFSOʹΓग़͢ IFMQFSʹΓग़͢ NPEFMʹΓग़͢
IFMQFSΑΓNPEFMʹΓग़͍ͨ͠ 7BMVF0CKFDU DMBTT"DDPVOU"QQMJDBUJPO3FDPSE 7"-*%@5&-@-&/(5)< > WBMJEBUFGPSNBU@UFM@OVNCFS EFGGPSNBU@UFM@OVNCFS UFM<UFM UFM
UFM>KPJO 7"-*%@5&-@-&/(5)JODMVEF UFMMFOHUI FOE FOE
7BMVF0CKFDUΛ͏ 2
DMBTT5FM BUUS@BDDFTTPSOVNCFS EFGJOJUJBMJ[F BSFB@DPEF DJUZ@DPEF EJSFDUPSZ@DPEF !OVNCFS<BSFB@DPEF DJUZ@DPEF
EJSFDUPSZ@DPEF>KPJO FOE FOE ి൪߸ΫϥεΛ࡞ 7BMVF0CKFDU
DMBTT"DDPVOU"QQMJDBUJPO3FDPSE DPNQPTFE@PGUFM DMBTT@OBNF5FM NBQQJOH< <UFM DJUZ@DPEF> <UFM BSFB@DPEF>
<bUFM EJSFDUPSZ@DPEF> > WBMJEBUFGPSNBU@UFM@OVNCFS EFGGPSNBU@UFM@OVNCFS 7"-*%@5&-@-&/(5)JODMVEF UFMOVNCFSMFOHUI FOE FOE 7BMVF0CKFDU DPNQPTFE@PGΛͬͯ7BMVF0CKFDUΛݺͼग़͢
DPNQPTFE@PGUFM DMBTT@OBNF5FM NBQQJOH<<UFM DJUZ@DPEF>ʜ> EFGUFM 5FMOFX DJUZ@DPEFUFM ʜ FOE
7BMVF0CKFDU DPNQPTFE@PGͱ
1PMJDZ0CKFDUΛ͏ 3
DMBTT"SUJDMF"QQMJDBUJPO3FDPSE EFGFEJUJOH EFMFUFE QVCMJTIFE@BUCMBOL ccQVCMJTIFE@BU%BUF5JNFOPX FOE
EFGXBJU@SFWJFX EFMFUFEQVCMJTIFE@BUQVCMJTIFE@BU%BUF5JNFOPX SFWJFXFE FOE EFGQVCMJTIFE FOE ϦϑΝΫλϦϯάલͷίʔυྫ 1PMJDZ0CKFDU
ݱঢ়ͷ 1PMJDZ0CKFDU ϏδωεϩδοΫ͕"3Λܧঝͨ͠Ϋϥεʹॻ͔Ε͍ͯΔ ݟ௨͕͠ѱ͘ͳΔ
1PMJDZ0CKFDUΛ͏ 3
DMBTT"SUJDMF1PMJDZ EFGJOJUJBMJ[F BSUJDMF !BSUJDMFBSUJDMF FOE EFGFEJUJOH !BSUJDMFEFMFUFE
!BSUJDMFQVCMJTIFE@BUCMBOL cc !BSUJDMFQVCMJTIFE@BU%BUF5JNFOPX FOE FOE ෳϨίʔυͷ7BMJEBUJPOΓग़ͤΔ 1PMJDZ0CKFDU
2VFSZ#VJMEFSʹΓग़͢ 4
DMBTT"SUJDMF"QQMJDBUJPO3FDPSE TDPQFTDPQF@CZ@NBOZ@DPOEJUJPO@DPMVNOT QBSBNT \ XIFSF ݅" PS
XIFSF ݅# XIFSFOPU ݅$ ^ FOE ϦϑΝΫλϦϯάલͷίʔυྫ 2VFSZ#VJMEFS
ݱঢ়ͷ 2VFSZ#VJMEFS TDPQFͷݟ௨͕͠ѱ͍ TDPQFͷதͰɺ3FMBUJPO$IBJO͍ͯ͠ΔՕॴΛ ৼΔ͍͝ͱʹॲཧΛ͚͍ͨ ผͷTDPQFʹΓग़͢ͱɺେྔͷTDPQF͕Ͱ͖Δ
2VFSZ#VJMEFSʹΓग़͢ 4
DMBTT"SUJDMF)PHF2VFSZ#VJMEFS EFGJOJUJBMJ[F QBSBNT !QBSBNTQBSBNT FOE EFGDBMM GPS@DPOEJUJPO@B PS
GPS@DPOEJUJPO@C@D FOE FOE "SUJDMF"SUJDMF)PHF2VFSZ#VJMEFS 2VFSZ#VJMEFS QSJWBUF EFGGPS@DPOEJUJPO@B "SUJDMFXIFSF ݅" FOE EFGGPS@DPOEJUJPO@C@D "SUJDMFXIFSF ݅# XIFSFOPU ݅$ FOE ͜͜దͳϝιου໊ʹ͢Δ
DMBTT"SUJDMF"QQMJDBUJPO3FDPSE TDPQFTDPQF@CZ@NBOZ@DPOEJUJPO@DPMVNOT QBSBNT \ "SUJDMF)PHF2VFSZ#VJMEFSOFX QBSBNTQBSBNT DBMM ^ FOE
"SUJDMF"SUJDMF)PHF2VFSZ#VJMEFS 2VFSZ#VJMEFS
7BMJEBUPS$MBTTΛ͏ 5
DMBTT6TFS"QQMJDBUJPO3FDPSE WBMJEBUFLBOB@OBNF@TIPVME@POMZ@LBUBLBOB QSJWBUF EFGLBOB@OBNF@TIPVME@POMZ@LBUBLBOB SFUVSOJGLBOB@OBNFNBUDI ,"5","/"@3&(&9 FSSPSTBEE LBOB@OBNF
͕ෆਖ਼ͳܗࣜͰ͢ FOE FOE ϦϑΝΫλϦϯάલͷίʔυྫ 7BMJEBUPS$MBTT
ݱঢ়ͷ 7BMJEBUPS$MBTT ֤Ϋϥεͷதʹॻ͘ͱɺڞ௨ԽͰ͖ͳ͍ 7BMJEBUJPOࣗମͷॲཧ͕ଟ͍ͱɺ .PEFMͷݟ௨͕͠ѱ͘ͳΔ
7BMJEBUPS$MBTTΛ͏ 5
DMBTT6TFS"QQMJDBUJPO3FDPSE WBMJEBUFTLBOB@OBNF LBUBLBOBUSVF FOE DMBTT,BUBLBOB7BMJEBUPS"DUJWF.PEFM&BDI7BMJEBUPS EFGWBMJEBUF@FBDI SFDPSE BUUSJCVUF WBMVF
SFUVSOJGWBMVFNBUDI ,"5","/"@3&(&9 SFDPSEFSSPSTBEE LBOB@OBNF ͕ෆਖ਼ͳܗࣜͰ͢ FOE FOE ,BUBLBOB7BMJEBUPSΫϥεʹΓग़͢ 7BMJEBUPS$MBTT
DMBTT6TFS"QQMJDBUJPO3FDPSE WBMJEBUFT@XJUI%BUF7BMJEBUPS FOE DMBTT%BUF7BMJEBUPS"DUJWF.PEFM7BMJEBUPS EFGWBMJEBUF SFDPSE EBUF%BUFQBSTF SFDPSEZFBS
SFDPSENPOUI SFDPSEEBZ SFTDVF"SHVNFOU&SSPS SFDPSEFSSPSTBEE CBTF ͕ਖ਼͋͘͠Γ·ͤΜ FOE FOE ෳଐੑͷ7BMJEBUJPOΓग़ͤΔ 7BMJEBUPS$MBTT
ΦϒδΣΫτΛ૿ͯ͠ ΦϒδΣΫτͷذΛݮΒ͢ 6
DMBTT"SUJDMF$SFBUPS FOVNCZ<VTFS BENJO> EFGTBWF QBSBNT CZCZ BSUJDMF"SUJDMFOFX QBSBNT
BSUJDMFTBWF Ϣʔβʔ͕࡞ͨ͠߹ɺطಡऀཧςʔϒϧʹ*/4&35͢Δ BSUJDMFWJFXFSTDSFBUF VTFSBSUJDMFPXOFS JGCZVTFS FOE FOE ϦϑΝΫλϦϯάલͷίʔυྫ ΦϒδΣΫτΛ૿ͯ͠ذΛݮΒ͢
ݱঢ়ͷ ΦϒδΣΫτΛ૿ͯ͠ذΛݮΒ͢ FOVNCZ\VTFS BENJO^ͷ߲͕૿͑ͨ࣌ʹɺ ʮ˓˓ͷ͚࣮࣌ͩߦʯͷذ͕૿͑Δ ͦͷςετ૿͑Δ
ΦϒδΣΫτΛ૿ͯ͠ ΦϒδΣΫτͷذΛݮΒ͢ 6
DMBTT"SUJDMF$SFBUPS FOVNCZ<VTFS BENJO> EFGTBWF QBSBNT CZCZ BSUJDMF"SUJDMFOFX QBSBNT
BSUJDMFTBWF Ϣʔβʔ͕࡞ͨ͠߹ɺطಡऀཧςʔϒϧʹ*/4&35͢Δ BSUJDMFWJFXFSTDSFBUF VTFSBSUJDMFPXOFS JGCZVTFS FOE FOE ϦϑΝΫλϦϯάલͷίʔυྫ ΦϒδΣΫτΛ૿ͯ͠ذΛݮΒ͢ FOVNͷΞΠςϜ͚ͩ ΫϥεΛ࡞Δ
DMBTT"SUJDMF$SFBUPS#Z6TFS EFGTBWF QBSBNT TBWF@CZ@VTFSͷ༰͕ೖΔ FOE FOE 6TFS͕هࣄΛ࡞͢Δ$SFBUPSΫϥε ΦϒδΣΫτΛ૿ͯ͠ذΛݮΒ͢
मਖ਼݁Ռ ΦϒδΣΫτΛ૿ͯ͠ذΛݮΒ͢ ʮ˓˓ͷ͚࣮࣌ͩߦʯͷذ͕૿͑Δ ͦͷςετ૿͑Δ ʮ˓˓ͷ͚࣮࣌ͩߦʯͷ˓˓͝ͱʹΫϥε͕࡞ΒΕΔ ذ͕গͳ͍ͷͰɺςετίʔυͷݮΔ 40-*%ݪଇͷ4ͱ0Λ࣮ݱ
·ͱΊʢ͕࣌ؒ͋Εɾɾɾʣ
w ύλʔϯԽ͢ΔϝϦοτ w ύλʔϯͷదԠલʹνʔϜͰΔ͖͜ͱ w ύλʔϯͷհ ·ͱΊ
ΛఆܕԽͯ͠ଊ͑ΒΕΔ ղܾࡦΛ٬؍తʹൺֱͰ͖Δ ϝϯόʔͷڞ௨ݴޠͱͳΔ ύλʔϯԽͷϝϦοτ ʮJ04ΞϓϦઃܭύλʔϯʯୈষઃܭ͢Δͱ͍͏͜ͱΑΓ
'BU.PEFMͷҙࣝͷ౷Ұ νʔϜͰཧʹ͍ͭͯษڧ ໋໊ϧʔϧͷ࡞ ύλʔϯͷదԠલʹνʔϜͰΔ͖͜ͱ
$PMMFDUPS0CKFDUΛ͏ 7BMVF0CKFDUΛ͏ 1PMJDZ0CKFDUΛ͏ 2VFSZ#VJMEFSΛ͏ 7BMJEBUPS$MBTTΛ͏ ΦϒδΣΫτΛ૿ͯ͠ΦϒδΣΫτͷذΛݮΒ͢ ϦϑΝΫλϦϯάύλʔϯ
w 1BUUFSOTUP3FGBDUPS'BU"DUJWF3FDPSE.PEFMT IUUQTDPEFDMJNBUFDPNCMPHXBZTUPEFDPNQPTFGBUBDUJWFSFDPSE NPEFMT w 3BJMTͷϑΝοτϞσϧʹରॲ͢ΔલʹಡΜͰ΄͍͠هࣄ IUUQTRJJUBDPNLMSJVUTBJUFNTEGDDBG w 3BJMTͰͬͯ͠·͍͕ͪͳอकੑΛԼ͛ͯ͠·͏ίʔυͱͦͷղܾࡦ IUUQTRJJUBDPNTIVOIJLJUBJUFNTGECEDFDGD
w J04ΞϓϦઃܭύλʔϯೖ IUUQTQFBLTDDCPPLTJ04@BSDIJUFDUVSF w 4BOEJ.FU[ΦϒδΣΫτࢦઃܭ࣮ફΨΠυd3VCZͰΘ͔ΔਐԽ͚ͭͮ͠Δॊೈ ͳΞϓϦέʔγϣϯͷҭͯํ w 3PCFSU$.BSUJO$MFBO"SDIJUFDUVSFୡਓʹֶͿιϑτΣΞͷߏͱઃܭ ࢀߟจݙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠