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
4.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
2
400
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.3k
費用対効果の高いテストコードを書くために意識したこと.pdf
hotatekaoru
3
4.9k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.7k
リファクタリングチャンスを探せ
hotatekaoru
2
490
Dependabotからの脱却
hotatekaoru
0
470
MobPro2Points
hotatekaoru
0
110
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
220
僕らのリファクタリングは裏切らない
hotatekaoru
2
2.7k
Other Decks in Programming
See All in Programming
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
220
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
330
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
230
オンデバイスAIとXcode
ryodeveloper
0
280
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
170
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
contribution to astral-sh/uv
shunsock
0
560
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
490
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.6k
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
140
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
470
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Site-Speed That Sticks
csswizardry
13
930
A better future with KSS
kneath
239
18k
Optimizing for Happiness
mojombo
379
70k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Statistics for Hackers
jakevdp
799
220k
Building Applications with DynamoDB
mza
96
6.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Balancing Empowerment & Direction
lara
5
700
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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ୡਓʹֶͿιϑτΣΞͷߏͱઃܭ ࢀߟจݙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠