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.3k
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
390
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.3k
費用対効果の高いテストコードを書くために意識したこと.pdf
hotatekaoru
3
4.8k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.6k
リファクタリングチャンスを探せ
hotatekaoru
2
470
Dependabotからの脱却
hotatekaoru
0
450
MobPro2Points
hotatekaoru
0
110
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
220
僕らのリファクタリングは裏切らない
hotatekaoru
2
2.6k
Other Decks in Programming
See All in Programming
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
550
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
250
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.9k
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
100
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.2k
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
640
童醫院敏捷轉型的實踐經驗
cclai999
0
210
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
430
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
110
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
650
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Automating Front-end Workflow
addyosmani
1370
200k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Unsuck your backbone
ammeep
671
58k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
What's in a price? How to price your products and services
michaelherold
246
12k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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ୡਓʹֶͿιϑτΣΞͷߏͱઃܭ ࢀߟจݙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠