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
ScalazでウェブアプリもCHA-LA HEAD-CHA-LA
Search
Tatsuya Iwamatsu
December 02, 2016
Programming
10
3.3k
ScalazでウェブアプリもCHA-LA HEAD-CHA-LA
2016/12/02に開催された「Better Javaの一歩先へ! Scalaリファクタリング入門」で使用された発表資料です。
Tatsuya Iwamatsu
December 02, 2016
Tweet
Share
More Decks by Tatsuya Iwamatsu
See All by Tatsuya Iwamatsu
これまでに存在しない業務フローは どう作っていくか?ドメインエキスパートやビジネスサイド、 チーム一丸となって取り組むドメインモデリング
iwamatsu0430
19
4.9k
Scalaの新規事業でScalaの未経験者をオンボーディング
iwamatsu0430
0
610
プルプル…ボクはわるいScalaじゃないよ
iwamatsu0430
0
1.3k
ザ!鉄腕エンジニア! 「GO言語でWEBサーバを作れるか!?」「どのレベルで作るの?」
iwamatsu0430
10
1.7k
ChatOps Introduction
iwamatsu0430
1
560
我々のChatOps進捗です。ご査収ください。
iwamatsu0430
2
940
Other Decks in Programming
See All in Programming
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
250
Create a website using Spatial Web
akkeylab
0
310
WindowInsetsだってテストしたい
ryunen344
1
200
Java on Azure で LangGraph!
kohei3110
0
170
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
110
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
380
Goで作る、開発・CI環境
sin392
0
150
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
460
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
520
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
870
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
ふつうの技術スタックでアート作品を作ってみる
akira888
0
180
Featured
See All Featured
Code Review Best Practice
trishagee
68
18k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Navigating Team Friction
lara
187
15k
Practical Orchestrator
shlominoach
188
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Site-Speed That Sticks
csswizardry
10
660
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Transcript
גࣜձࣾϏζϦʔν )3.04ࣄۀ෦ؠদཽ
ࣗݾհ ؠদཽ גࣜձࣾϏζϦʔν)3.04ࣄۀ෦ αʔόαΠυΤϯδχΞ ݄৽ଔೖࣾ தֶͷՆٳΈυϥΰϯϘʔϧ;%7%#PYͰ શ શ ࢹௌ͢Δࣄʹඅ͍ͯ͠·ͨ͠ ීஈ"UPNͰ4DBMBΛॻ͘ࣄʹΑΓ
ઓಆྗΛߴΊ͍ͯ·͢
ࣗݾհ ࠓຊۀͷ͕Ͱ͖Δ ͪΐͬͱલʹνʔϜͰͷ$IBU0QTͷऔΓΈΛհͯ͠·ͨ͠ IUUQTTQFBLFSEFDLDPNJXBNBUTVXPGBMTFDIBUPQTKJOCVEFTVHPDIBTIPVLVEBTBJ
)3.04ͷ͝հ ਓೳºϏοάσʔλͰاۀܦӦΛม͑Δ
)3.04࠾༻ཧ ແବΛͳ͘͠ɺޮΛ্͛Δ ٻਓ࡞ Ԡืऀཧ ίϛϡχέʔγϣϯ ਐḿཧ ΞφϦςΟΫε
)3.04࠾༻ཧ ٕज़ελοΫ ٻਓ࡞ Ԡืऀཧ ίϛϡχέʔγϣϯ ਐḿཧ ΞφϦςΟΫε 4DBMB 1ZUIPO 3FBDU
4MJDL 4DBMB[ /HJOY &MBTUJDTFBSDI 3FEJT "OTJCMF -BNCEB 4MBDL $IBU0QT .BDLFSFM 'MVFOUE (JU)VC $POqVFODF 5ZQFTDSJQU 1MBZGSBNFXPSL "OHVMBS 4DBMJLF+%#$ "LLB .Z42- .FNDBDIFE %PDLFS $MPVE'SPOU +FOLJOT /FX3FMJD 4FOUSZ ,JCBOB +*3" (PPHMF%SJWF
)3.04࠾༻ཧ ͝ڵຯ͕͋Δํͥͻʂ ٻਓ࡞ Ԡืऀཧ ίϛϡχέʔγϣϯ ਐḿཧ ΞφϦςΟΫε 8F`SF)JSJOH
4DBMB[ίϛολʔ͕ʜ
͜ͷࢿྉͷλʔήοτ ɾ4DBMBͳΜͱͳ͑͘Δਓ ɾ͏ͪΐͬͱ4DBMBΒ͍͠هड़͕͍ͨ͠ਓ ɾ4DBMB[Α͔͘Βͳ͍ਓ ɾ%#;Α͔͘Δਓ
4DBMB[ͱ 4DBMBͰؔܕϓϩάϥϛϯάΛ Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷϥΠϒϥϦ 4DBMBΛΑΓศརʹѻ͑ΔΑ͏ʹ͢Δػೳ͕ଟؚ·Ε͍ͯΔͷͰɺ ؆୯ͳ෦Λ͏͚ͩͰΑΓศརͳهड़͕Ͱ͖ΔΑ͏ʹͳΓ·͢
ࠓͷత ΣϒΞϓϦΛ࡞Δͱ͖ͷ 4DBMBΒ͍࣮͠ΛΔ ͳͥ4DBMB[͕ΘΕΔͷ͔ Ͳ͏ͬͯ͑ศརͳͷ͔Δ ˞ʮവ͕ʯͱ͔ʮݍʯͱ͔ʮֶతʹʯͱׂ͍ͬͨѪ ɹڍಈ͔Βཧղ͍͖ͯ͠·͠ΐ͏ ʊਓਓਓਓʊ ʼɹमߦɹʻ ʉ:?:?:ʉ
ʊਓਓਓਓਓʊ ʼɹߴॏྗɹʻ ʉ:?:?:?:ʉ ʊਓਓਓਓਓਓਓʊ ʼɹṫࢮʹͳΔɹʻ ʉ:?:?:?:?:?:ʉ %#;ΛབྷΊͳ͕Β໘ന͓͔֮͑͘͠·͠ΐ͏ʂ
ຎᨈෆࢥٞؔܕΞυϕϯνϟʔ ແҹ࣌ͷؒͨͪΛ͓ܰ͘͞Β͍ 0QUJPO $PMMFDUJPO 'VUVSF &JUIFS
ແҹ࣌ͷؒͨͪ 0QUJPO ʮଘࡏ͠ͳ͍͔͠Εͳ͍ʯࢸΔॴͰൃੜ
ແҹ࣌ͷؒͨͪ DBTFDMBTT-PHJO FNBJM4USJOH QBTTXPSE4USJOH MPHJO'PSN0QU0QUJPO<-PHJO> MPHJO'PSN0QUNBUDI\ DBTF4PNF
MPHJO'PSN ϩάΠϯॲཧ DBTF@ 501ϖʔδʹ͢ ^ ΫϥΠΞϯτ͔Βͷύϥϝʔλ͕ଘࡏ͠ͳ͍͔
ແҹ࣌ͷؒͨͪ DBTFDMBTT6TFS OBNF4USJOH EFGpOE6TFS FNBJM4USJOH QBTTXPSE4USJOH 0QUJPO<6TFS> Ϣʔβ͕ଘࡏ͢Δ߹໊લΛऔಘɺଘࡏ͠ͳ͍߹Կ͠ͳ͍ WBMVTFS/BNF0QUpOE6TFS
FNBJM QBTTXPSE NBQ @OBNF %#͔Βऔಘ͕ͨ͠ଘࡏ͠ͳ͍͔
ແҹ࣌ͷؒͨͪ $PMMFDUJPO ͍͍ͩͨίϨΫγϣϯͷૢ࡞ʹਚ͖Δ
ແҹ࣌ͷؒͨͪ 3%#͔Βऔಘ͢Εେମ$PMMFDUJPO༻සߴ ίϝϯτҰཡΛऔಘ EFGpOE$PNNFOUT 4FR<$PNNFOU> ϢʔβҰཡΛऔಘ EFGpOE6TFST 4FR<6TFS> ࢦఆͨ͠ϢʔβΛऔಘ EFGpOE6TFS
VTFS*E-POH 0QUJPO<6TFS>\ TRMlTFMFDU GSPNVTFSMJNJUXIFSFVTFS*EVTSF*Ez IFBE0QUJPO ^
ແҹ࣌ͷؒͨͪ ͋ΒΏΔૢ࡞͕͜ͳͤΔٕͷσύʔτ 4FR
HSPVQ#Z @ حɺۮͰάϧʔϓ͚ qBU.BQ\ϦετΛΈࠐΈ DBTF @ MJTU MJTUNBQ @UP4USJOH จࣈྻͷϦετม ^ NL4USJOH < l>z ϦετΛจࣈྻ݁߹ <>
ແҹ࣌ͷؒͨͪ 'VUVSF ॲཧΛޙճ͠ɻΧδϡΞϧʹϚϧνεϨουॲཧ
ແҹ࣌ͷؒͨͪ ൺֱత࣌ؒͷ͔͔Δॲཧ/PO#MPDLJOHʹ ͜ͷॲཧผεϨουͰ࣮ߦ͞ΕΔ WBMVTFS''VUVSF<0QUJPO<6TFS>> SECpOE6TFS#Z/BNF lؠদཽz WBMMPHT''VUVSF<4FR<-PH>> LWTHFU-PHT
࣮ߦॲཧ݁ՌΛͨͳ͍ MPHT'GPSFBDI MPHQSJOUMO MPH ࣮ߦॲཧ݁ՌΛͭ WBMVTFS/BNF0QU0QUJPO<4USJOH> "XBJUSFTVMU VTFS' %VSBUJPO*OG NBQ @VTFS/BNF
ແҹ࣌ͷؒͨͪ ޭࣦ͘͠ഊͷঢ়ଶΛ࣋ͭ͜ͱ͕Ͱ͖Δ 'VUVSFBQQMZ 'VUVSFTVDDFTTGVM NBQ @ WBMG'VUVSF<*OU>'VUVSFTVDDFTTGVM
GBJMFE͕࣋ͯΔͷ5ISPXBCMFͷΈ WBMG'VUVSF<*OU>'VUVSFGBJMFE OFX&SSPS GGPSFBDI FQSJOUMO F QSJOUMO࣮ߦ͞Εͳ͍ GPO$PNQMFUF\ DBTF4VDDFTT O ͪ͜Β࣮ߦ͞Εͳ͍ DBTF'BJMVSF F ͪ͜Β࣮ߦ͞ΕΔ ^
ແҹ࣌ͷؒͨͪ &JUIFS ೋ௨ΓͷΛ࣋ͯΔ
ແҹ࣌ͷؒͨͪ TFBMFEUSBJUͰΤϥʔΛ༻ҙ͢Δͱཏੑ͕ߴ·Δ ϢʔβؔͰى͜Γ͏ΔΤϥʔΛఆٛ TFBMFEUSBJU6TFS&SSPS\WBMVTFS*E-POH^ DBTFDMBTT6TFS/PU'PVOE VTFS*E-POH FYUFOET6TFS&SSPS DBTFDMBTT6TFS5PP:PVOH VTFS*E-POH FYUFOET6TFS&SSPS
DBTFDMBTT6TFS5PP0ME VTFS*E-POH FYUFOET6TFS&SSPS
ແҹ࣌ͷؒͨͪ TFBMFEUSBJUͰΤϥʔΛ༻ҙ͢Δͱཏੑ͕ߴ·Δ ϢʔβʹԿ͔͢Δϝιου EFGYYY6TFS VTFS*E-POH &JUIFS<6TFS&SSPS 3FTVMU> 8BSOJOHͰߟྀ࿙Εʹؾ͚ͮΔ YYY6TFSGPME \
DBTF6TFS5PP:PVOH VTFS*E DBTF6TFS5PP0ME VTFS*E ^ SFTVMU
ͦΕͧΕศར͕ͩʜ ͜͏͍͏ͱ͖Ͳ͏͢Δʁ ᶃ4FR<0QUJPO<*OU>>Λ4FR<*OU>ʹ͍ͨ͠ʂ ᶄ0QUJPO<4FR<*OU>>Λ4FR<*OU>ʹ͍ͨ͠ʂ ᶆ'VUVSF<4FR<*OU>>ͱ4FR<'VUVSF<*OU>>Λ߹Θͤͯ ɹ'VUVSF<4FR<*OU>>ʹ͍ͨ͠ʂ ᶅ0QUJPO<*OU>ͱ0QUJPO<*OU>Λ͠߹Θͤͯ ɹ0QUJPO<*OU>ʹ͍ͨ͠ʂ ᶇ&JUIFS<&SSPS *OU>ͱ&JUIFS<&SSPS
*OU>Λ͠߹Θͤͯ ɹ&JUIFS<&SSPS *OU>ʹ͍ͨ͠ʂ ᶇ'VUVSF<&JUIFS<&SSPS *OU>>ͱ'VUVSF<&JUIFS<&SSPS 'VUVSF<*OU>>> ɹΛ߹Θͤͯ'VUVSF<&JUIFS<&SSPS *OU>>ʹ͍ͨ͠ʂ
ͦΕͧΕศར͕ͩʜ ͜͏͍͏ͱ͖Ͳ͏͢Δʁ ᶃ4FR<0QUJPO<*OU>>Λ4FR<*OU>ʹ͍ͨ͠ʂ ᶄ0QUJPO<4FR<*OU>>Λ4FR<*OU>ʹ͍ͨ͠ʂ ᶆ'VUVSF<4FR<*OU>>ͱ4FR<'VUVSF<*OU>>Λ߹Θͤͯ ɹ'VUVSF<4FR<*OU>>ʹ͍ͨ͠ʂ ᶅ0QUJPO<*OU>ͱ0QUJPO<*OU>Λ͠߹Θͤͯ ɹ0QUJPO<*OU>ʹ͍ͨ͠ʂ ᶇ&JUIFS<&SSPS *OU>ͱ&JUIFS<&SSPS
*OU>Λ͠߹Θͤͯ ɹ&JUIFS<&SSPS *OU>ʹ͍ͨ͠ʂ ᶇ'VUVSF<&JUIFS<&SSPS *OU>>ͱ'VUVSF<&JUIFS<&SSPS 'VUVSF<*OU>>> ɹΛ߹Θͤͯ'VUVSF<&JUIFS<&SSPS *OU>>ʹ͍ͨ͠ʂ ఱԼҰܕήʔձ ఱԼҰܕΛ߹ΘͤΔήʔϜձ
ఱԼҰܕήʔձ ᶃ4FR<0QUJPO<*OU>>4FR<*OU> WBMB4FR<0QUJPO<*OU>>4FR 0QUJPO 0QUJPO WBMC4FR<*OU>BqBUUFO ୈҰճઓ
ఱԼҰܕήʔձ ୈೋճઓ ᶄ0QUJPO<4FR<*OU>>4FR<*OU> WBMB4FR<0QUJPO<*OU>>0QUJPO 4FR WBMC4FR<*OU>BUP4FRqBUUFO
0QUJPOཁૉdͷ$PMMFDUJPOͱଊ͑Δͱѻ͍؆୯˞
ఱԼҰܕήʔձ ᶅ0QUJPO<*OU> 0QUJPO<*OU> ɹ0QUJPO<*OU> WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO
WBMD0QUJPO<*OU>BqBU.BQ B7BMVFCNBQ @ B7BMVF ୈࡾճઓ
ఱԼҰܕήʔձ ୈ࢛ճઓ ᶆ&JUIFS<&SSPS *OU> &JUIFS<&SSPS *OU> ɹ&JUIFS<&SSPS *OU> WBMB&JUIFS<&SSPS *OU>3JHIU
WBMC&JUIFS<&SSPS *OU>3JHIU WBMD&JUIFS<&SSPS *OU>BSJHIUqBU.BQ\B7BMVF CSJHIUNBQ @ B7BMVF ^ SJHIUTDBMBͰෆཁʹͳΔ༧ఆ
ఱԼҰܕήʔձ ᶇ'VUVSF<4FR<*OU>> 4FR<'VUVSF<*OU>>'VUVSF<4FR<*OU>> WBMB'VUVSF<4FR<*OU>>'VUVSFTVDDFTTGVM 4FR WBMC4FR<'VUVSF<*OU>>4FR
'VUVSFTVDDFTTGVM WBMD'VUVSF<4FR<*OU>>'VUVSFTFRVFODF B qBU.BQ\B4FR CNBQ B4FR @ ^ ୈޒճઓ 'VUVSFTFRVFODF͕ศར
WBMB'VUVSF<&JUIFS<&SSPS *OU>>'VUVSFTVDDFTTGVM 3JHIU WBMC'VUVSF<&JUIFS<&SSPS 'VUVSF<*OU>>> 'VUVSFTVDDFTTGVM 3JHIU 'VUVSFTVDDFTTGVM
ఱԼҰܕήʔձ ᶈ'VUVSF<&JUIFS<&SSPS *OU>> 'VUVSF<&JUIFS<&SSPS 'VUVSF<*OU>>> ɹ'VUVSF<&JUIFS<&SSPS *OU>> ܾউઓ ͓·͚
WBMD'VUVSF<&JUIFS<&SSPS *OU>>BqBU.BQ\B&JUIFS CqBU.BQ\C&JUIFS 'VUVSFTFRVFODF C&JUIFSSJHIUUP4FR NBQ\C4FR B&JUIFSSJHIUqBU.BQ\B7BMVF C4FRIFBE0QUJPOUP3JHIU OFX&SSPS SJHIUNBQ
@ B7BMVF ^ ^ ^ ^ ఱԼҰܕήʔձ ᶈ'VUVSF<&JUIFS<&SSPS *OU>> 'VUVSF<&JUIFS<&SSPS 'VUVSF<*OU>>> ɹ'VUVSF<&JUIFS<&SSPS *OU>> ܾউઓ ͓·͚
࣮ࡍͷ։ൃͱͳΔͱʜ ᶅᶆͷΑ͏ͳύλʔϯ͕ొ͕ͪ͠ WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO WBMD0QUJPO<*OU>0QUJPO
WBME0QUJPO<*OU>0QUJPO WBMF0QUJPO<*OU>0QUJPO BqBU.BQ\B7BMVF CqBU.BQ\C7BMVF DqBU.BQ\D7BMVF EqBU.BQ\E7BMVF FNBQ B7BMVF C7BMVF D7BMVF E7BMVF @ ^ ^ ^ ^ DBTFDMBTT6TFS JE-POH OBNF4USJOH EFGpOE6TFS#Z/BNF OBNF4USJOH 'VUVSF<6TFS>3%#͔Βऔಘ EFGHFU6TFS*NBHF6SM JE-POH 'VUVSF<4USJOH>֎෦αΠτ͔Βऔಘ EFGpOE6TFS-PHT JE-POH ,FZ7BMVF4UPSF͔Βऔಘ pOE6TFS#Z/BNF ؠদཽ qBU.BQ\VTFS HFU6TFS*NBHF6SM VTFSJE qBU.BQ\JNBHF6SM pOE6TFS-PHT VTFSJE NBQ\MPHT औಘͨ͠Λ߹ ^ ^ ^ ωετࠈ
͜͜Ͱओਓެొ ΦοεʂΦϥʜ
͜͜Ͱओਓެొ ʊਓਓਓਓʊ ʼɹGPSࣜɹʻ ʉ:?:?:ʉ ΦοεʂΦϥʜ
ΦοεʂΦϥGPSࣜʂ WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO WBMD0QUJPO<*OU>0QUJPO
WBME0QUJPO<*OU>0QUJPO WBMF0QUJPO<*OU>0QUJPO BqBU.BQ\B7BMVF CqBU.BQ\C7BMVF DqBU.BQ\D7BMVF EqBU.BQ\E7BMVF FNBQ B7BMVF C7BMVF D7BMVF E7BMVF @ ^ ^ ^ ^
ΦοεʂΦϥGPSࣜʂ WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO WBMD0QUJPO<*OU>0QUJPO
WBME0QUJPO<*OU>0QUJPO WBMF0QUJPO<*OU>0QUJPO GPS\ B7BMVFB C7BMVFC D7BMVFD E7BMVFE F7BMVFF ^ZJFME\ B7BMVF C7BMVF D7BMVF E7BMVF F7BMVF ^
ΦοεʂΦϥGPSࣜʂ DBTFDMBTT6TFS JE-POH OBNF4USJOH EFGpOE6TFS#Z/BNF OBNF4USJOH 'VUVSF<6TFS>3%#͔Βऔಘ EFGHFU6TFS*NBHF6SM JE-POH
'VUVSF<4USJOH>֎෦αΠτ͔Βऔಘ EFGpOE6TFS-PHT JE-POH ,FZ7BMVF4UPSF͔Βऔಘ pOE6TFS#Z/BNF ؠদཽ qBU.BQ\VTFS HFU6TFS*NBHF6SM VTFSJE qBU.BQ\JNBHF6SM pOE6TFS-PHT VTFSJE NBQ\MPHT औಘͨ͠Λ߹ ^ ^ ^
ΦοεʂΦϥGPSࣜʂ DBTFDMBTT6TFS JE-POH OBNF4USJOH EFGpOE6TFS#Z/BNF OBNF4USJOH 'VUVSF<6TFS>3%#͔Βऔಘ EFGHFU6TFS*NBHF6SM JE-POH
'VUVSF<4USJOH>֎෦αΠτ͔Βऔಘ EFGpOE6TFS-PHT JE-POH ,FZ7BMVF4UPSF͔Βऔಘ GPS\ VTFSpOE6TFS#Z/BNF ؠদཽ JNBHF6SMHFU6TFS*NBHF6SM VTFSJE MPHTpOE6TFS-PHT VTFSJE ^ZJFME औಘͨ͠Λ߹
ΦοεʂΦϥGPSࣜʂ ៉ྷʹཧͰ͖·ͨ͠
GPSࣜԿͰͰ͖͍ͯΔͷ͔ ͭͷཁૉͰͰ͖͍ͯΔʂ NBQ qBU.BQ XJUI'JMUFS GPSFBDI
GPSࣜԿͰͰ͖͍ͯΔͷ͔ NBQ WBMB0QUJPO<*OU>0QUJPO GPS\ B7BMVFB ^ZJFMEB7BMVF
GPSࣜԿͰͰ͖͍ͯΔͷ͔ NBQ WBMB0QUJPO<*OU>0QUJPO BNBQ\B7BMVFB7BMVF ^
GPSࣜԿͰͰ͖͍ͯΔͷ͔ qBU.BQ WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO GPS\ B7BMVFB
C7BMVFC ^ZJFMEB7BMVF C7BMVF
GPSࣜԿͰͰ͖͍ͯΔͷ͔ qBU.BQ WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO BqBU.BQ\B7BMVF CNBQ\C7BMVF
B7BMVF C7BMVF ^ ^
GPSࣜԿͰͰ͖͍ͯΔͷ͔ XJUI'JMUFS WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO GPS\ B7BMVFBJGB7BMVF
C7BMVFC ^ZJFMEB7BMVF C7BMVF
GPSࣜԿͰͰ͖͍ͯΔͷ͔ XJUI'JMUFS WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO BqBU.BQ\B7BMVF CXJUI'JMUFS
@B7BMVF NBQ\C7BMVF B7BMVF C7BMVF ^ ^
GPSࣜԿͰͰ͖͍ͯΔͷ͔ GPSFBDI WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO GPS\ B7BMVFB
C7BMVFC ^QSJOUMO B7BMVF C7BMVF
GPSࣜԿͰͰ͖͍ͯΔͷ͔ GPSFBDI WBMB0QUJPO<*OU>0QUJPO WBMC0QUJPO<*OU>0QUJPO BGPSFBDI\B7BMVF CGPSFBDI\C7BMVF
QSJOUMO B7BMVF C7BMVF ^ ^
GPSࣜΛ׆༻͠Α͏ ϩδοΫͷݟ௨͕͠ྑ͘ͳͬͨʂ 3%#ʹࢦఆ໊ͨ͠લͷϢʔβ͕ଘࡏ͢Δ߹ ,74͔ΒίϝϯτҰཡΛऔಘ͠֎෦αΠτʹߘ WBMSFTVMU'VUVSF<6OJU>GPS\ VTFSSECpOE6TFS#Z/BNF VTFS/BNF JGVTFSOPO&NQUZ DPNNFOUTLWTHFU$PNNFOUT VTFSVTFS*E
BVUI3FTVMUXTBVUIFOUJDBUF VTFSVTFS*E JGBVUI3FTVMUJT0L QPTU3FTVMUXTQPTU$PNNFOUT DPNNFOUT JGQPTU3FTVMUJT0L ^ZJFME
GPSࣜΛ׆༻͠Α͏ ϩδοΫͷݟ௨͕͠ྑ͘ͳͬͨʂ 3%#ʹࢦఆ໊ͨ͠લͷϢʔβ͕ଘࡏ͢Δ߹ ,74͔ΒίϝϯτҰཡΛऔಘ͠֎෦αΠτʹߘ WBMSFTVMU'VUVSF<6OJU>GPS\ VTFSSECpOE6TFS#Z/BNF VTFS/BNF JGVTFSOPO&NQUZ DPNNFOUTLWTHFU$PNNFOUT VTFSVTFS*E
BVUI3FTVMUXTBVUIFOUJDBUF VTFSVTFS*E JGBVUI3FTVMUJT0L QPTU3FTVMUXTQPTU$PNNFOUT DPNNFOUT JGQPTU3FTVMUJT0L ^ZJFME ੈք͕ฏʹͳͬͨʂ
͔͠͠4DBMBʹ͕ʂ ଓ͖͜ͷޙͰ ͳ͡࠷ ͍Όऴ ͧɹճ Α ଓͪ ͬ͘͏ Μͱ ͩ͡
Ό͚
aऻདྷ %JTKVODUJPOͱݺͼ·͢ ࠶ͼةػ͕๚Εͨʂ ΰͨؔ ϛͬ Ίͨྗ ɹͷ ɹ ɹ͔
ʜ ʜ ʜ
aͱ 4DBMB[ͷ&JUIFS aʜϋΠϑϯ͕ӈ3JHIU aʜϋΠϑϯ͕ࠨ-FGU JNQPSUTDBMB[\a a a^ WBMF&SSPSa*OUa
aͱ 4DBMB[ͷ&JUIFS aʜϋΠϑϯ͕ӈ3JHIU aʜϋΠϑϯ͕ࠨ-FGU JNQPSUTDBMB[\a a a^ WBMF&SSPSa*OUa &JUIFS͕άάΓͮΒ͘ͳͬͨ
͚ͩ͡Όͳ͍ͷʁ
aͷ͠ํʢ͍ํʣ JNQPSUTDBMB[\a a a^ <-FGUͷܕ>a<3JHIUͷܕ> WBMES&SSPSa*OUa WBMEM&SSPSa*OUa OFX&SSPS
͍͖ͳΓNBQ qBU.BQ͕͑Δʂ 3JHIU༏ઌ WBMSFVTMUGPS\ ES7BMVFES EM7BMVFEM ^ZJFMEES7BMVF EM7BMVF
aͷ͠ํʢ͍ํʣ JNQPSUTDBMB[a TUBUJDϝιου͔ΒͰ࡞ΕΔ WBMES&SSPSa*OUaSJHIU WBMEM&SSPSa*OUaMFGU OFX&SSPS 3JHIUʹͳΔ
WBMES&SSPSa*OUEMPS&MTF\ QSJOUMO l&SSPSz aSJHIU ^
aͷ͠ํʢ͍ํʣ స͢Δ WBMES*OUa&SSPSdES 0QUJPOʹͳΔ 4DBMB͔Β&JUIFSʹՃ༧ఆ WBMPQU0QUJPO<*OU>EMUP0QUJPO
aͷ͠ํʢ͍ํʣ స͢Δ WBMES*OUa&SSPSdES 0QUJPOʹͳΔ 4DBMB͔Β&JUIFSʹՃ༧ఆ WBMPQU0QUJPO<*OU>EMUP0QUJPO ͳΜ͔ศརͦ͏ʂ
ͳΜͱ͔উͯΔ ͑Δ ͚Ͳʜ JNQPSUTDBMB[a DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH>
WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH> WBMVTFS&''VUVSF<&SSPSa6TFS>GPS\ VTFS*E&VTFS*E&' VTFS/BNF&VTFS/BNF&' ^ZJFMEGPS\ VTFS*EVTFS*E& VTFS/BNFVTFS/BNF& ^ZJFME6TFS VTFS*E VTFS/BNF
͓͔Γ͍͚ͨͩͨͩΖ͏͔ʜ JNQPSUTDBMB[a DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH> WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH>
WBMVTFS&''VUVSF<&SSPSa6TFS>GPS\ VTFS*E&VTFS*E&' VTFS/BNF&VTFS/BNF&' ^ZJFMEGPS\ VTFS*EVTFS*E& VTFS/BNFVTFS/BNF& ^ZJFME6TFS VTFS*E VTFS/BNF
ͳΜ͔GPS͕ࣜΩϞ͍ JNQPSUTDBMB[a DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH> WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH>
WBMVTFS&''VUVSF<&SSPSa6TFS>GPS\ VTFS*E&VTFS*E&' VTFS/BNF&VTFS/BNF&' ^ZJFMEGPS\ VTFS*EVTFS*E& VTFS/BNFVTFS/BNF& ^ZJFME6TFS VTFS*E VTFS/BNF 'VUVSF &JUIFS&JUIFS 0QUJPOͰಉ͡ࣄʹͳΓ·͢
&JUIFS5Λ͑ʜ JNQPSUTDBMB[a DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH> WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH>
WBMVTFS&''VUVSF<&SSPSa6TFS>GPS\ VTFS*E&VTFS*E&' VTFS/BNF&VTFS/BNF&' ^ZJFMEGPS\ VTFS*EVTFS*E& VTFS/BNFVTFS/BNF& ^ZJFME6TFS VTFS*E VTFS/BNF
&JUIFS5Λ͑ʜ JNQPSUTDBMB[TUETDBMB'VUVSFGVUVSF*OTUBODF JNQPSUTDBMB[\&JUIFS5 a^ DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH>
WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH> WBMVTFS*E&5&JUIFS5<'VUVSF &SSPS -POH>&JUIFS5 VTFS*E&' WBMVTFS/BNF&5&JUIFS5<'VUVSF &SSPS 4USJOH>&JUIFS5 VTFS/BNF&' WBMVTFS&5&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5 VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF
&JUIFS5Λ͑ʜ JNQPSUTDBMB[TUETDBMB'VUVSFGVUVSF*OTUBODF JNQPSUTDBMB[\&JUIFS5 a^ DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH>
WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH> WBMVTFS*E&5&JUIFS5<'VUVSF &SSPS -POH>&JUIFS5 VTFS*E&' WBMVTFS/BNF&5&JUIFS5<'VUVSF &SSPS 4USJOH>&JUIFS5 VTFS/BNF&' WBMVTFS&5&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5 VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF ҰͭͷGPSࣜͰ·ͱ·ͬͨʂ
&JUIFS5Λ͏ͨΊʹ EFGNBQ<$> G#$ JNQMJDJU''VODUPS<'> &JUIFS5<' " $> &JUIFS5 'NBQ SVO
@NBQ G 'VODUPS<'VUVSF>Λ༻ҙ͠Α͏ʂ JNQMJDJUQBSBNFUFSΛ༻ҙ͠ͳ͍ͱ͍͚ͳ͍
࣮ʜ 'VODUPS<'VUVSF>طʹΠϯϙʔτ͞Ε͍ͯͨ JNQPSUTDBMB[TUETDBMB'VUVSFGVUVSF*OTUBODF ࡞ͬͯΈΑ͏ʂ
'VODUPSΛ࣮ ࣮NBQΛ࣮͢Δ͚ͩʂ JNQPSUTDBMB[\a &JUIFS5 'VODUPS^ DMBTT'VUVSF'VODUPSFYUFOET'VODUPS<'VUVSF>\ EFGNBQ<" #> GB'VUVSF<">
G"# 'VUVSF<#>GBNBQ G ^ JNQMJDJUWBMGVODUPSOFX'VUVSF'VODUPS WBMF&JUIFS5 'VUVSFTVDDFTTGVM aSJHIU WBMFFNBQ @
ϞφυͷྗͰԥΔ ࣮NBQΛ࣮͢Δ͚ͩʂ JNQPSUTDBMB[\a &JUIFS5 'VODUPS^ DMBTT'VUVSF'VODUPSFYUFOET'VODUPS<'VUVSF>\ EFGNBQ<" #> GB'VUVSF<">
G"# 'VUVSF<#>GBNBQ G ^ JNQMJDJUWBMGVODUPSOFX'VUVSF'VODUPS WBMF&JUIFS5 'VUVSFTVDDFTTGVM aSJHIU WBMFFNBQ @ Ͱ͖ͨ Χ ͬϥ ͯμ ͘ Ε Α ʂ 'VODUPS &JUIFS5 ͩ ͬ
qBU.BQ͍͍ͨʂ ݩؾۄ .POBE*OTUBODF Λ࡞Δඞཁ͕͋Δʂ EFGqBU.BQ<$> G#&JUIFS5<' " $> JNQMJDJU'.POBE<'>
&JUIFS5<' " $> &JUIFS5 'CJOE SVO @GPME B'QPJOU a B "a$ CG C SVO ࡞ͬͯΈΑ͏ʂ
qBU.BQ͍͍ͨʂ .POBE৭ʑͳػೳΛ͚ͯΒ͍ͬͯΔݩؾۄతଘࡏ EFGqBU.BQ<$> G#&JUIFS5<' " $> JNQMJDJU'.POBE<'> &JUIFS5<' "
$> &JUIFS5 'CJOE SVO @GPME B'QPJOU a B "a$ CG C SVO ࡞ͬͯΈΑ͏ʂ .POBE "QQMJDBUJWF #JOE "QQMZ 'VODUPS *OWBSJBOU'VODUPS
.POBE*OTUBODFͷ࣮ QPJOUͱCJOEΛ࣮ʜʁͳΜͰ͔ͦ͢Εʜ EFGQPJOU<"> B" '<"> EFGCJOE<" #> GB'<"> G"'<#> '<#>
4JHOBUVSFγϯϓϧ
.POBE*OTUBODFͷ࣮ 'VUVSFͰ͋Ε͜͏͍͏ࣄ EFGQPJOU<"> B" 'VUVSF<">\ 'VUVSFTVDDFTTGVM B ^ EFGCJOE<"
#> GB'VUVSF<"> G"'VUVSF<#> 'VUVSF<#>\ GBqBU.BQ G ^ ࣮͜͏͍͏ࣄͰͨ͠☺
.POBE*OTUBODFͷ࣮ DMBTT'VUVSF.POBEFYUFOET.POBE<'VUVSF>\ EFGQPJOU<"> B" 'VUVSF<">\ 'VUVSFTVDDFTTGVM B ^ EFGCJOE<"
#> GB'VUVSF<"> G"'VUVSF<#> 'VUVSF<#>\ GBqBU.BQ G ^ ^ JNQMJDJUWBMNPOBEOFX'VUVSF.POBE
.POBE*OTUBODFͷ࣮ DBTFDMBTT6TFS VTFS*E-POH VTFS/BNF4USJOH WBMVTFS*E&''VUVSF<&SSPSa-POH> WBMVTFS/BNF&''VUVSF<&SSPSa4USJOH> WBMVTFS*E&5&JUIFS5<'VUVSF
&SSPS -POH>&JUIFS5 VTFS*E&' WBMVTFS/BNF&5&JUIFS5<'VUVSF &SSPS 4USJOH>&JUIFS5 VTFS/BNF&' WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5 VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF
φϝοΫʜ ͞ΒͳΔ4DBMB[ͷྗΛٻΊͯ
ಓதमߦͩʂ &JUIFS5ͰXJUI'JMUFSΛ͓͏ʂ EFGXJUI'JMUFS Q##PPMFBO JNQMJDJU..POPJE<"> '.POBE<'> &JUIFS5<' " #>
pMUFS Q . ' -FGUܕͷ.POPJE͕ඞཁʂ
ಓதमߦͩʂ .POPJEΛ࣮͢Δʹʜ EFG[FSP' EFGBQQFOE G' G' ' [FSPʜBQQFOEʜ
[FSPʜ GPSࣜ XJUI'JMUFS ͰͲ͏ΘΕΔ͔ WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS
VTFS*E VTFS/BNF
[FSPʜ GPSࣜ XJUI'JMUFS ͰͲ͏ΘΕΔ͔ WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS
VTFS*E VTFS/BNF GBMTFͷͱ͖Ͳ͏͢Ε ͑͑Μʜ
[FSPʜ GPSࣜ XJUI'JMUFS ͰͲ͏ΘΕΔ͔ WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS
VTFS*E VTFS/BNF GBMTFͷͱ͖Ͳ͏͢Ε ͑͑Μʜ ܕ͝ͱͷॳظΛ ઃఆ͓ͯ͘͜͠ͱͰ -FGUʹରԠͰ͖Δ
࣮ͯ͠ΈΔ DMBTT&SSPS.POPJEFYUFOET.POPJE<&SSPS>\ EFG[FSP&SSPSOFX&SSPS EFGBQQFOE G&SSPS G&SSPS &SSPS BQQFOEͳͯ͘0, ^ JNQMJDJUWBMFSSPS.POPJEOFX&SSPS.POPJE
WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E- VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF
࣮ͯ͠ΈΔ DMBTT&SSPS.POPJEFYUFOET.POPJE<&SSPS>\ EFG[FSP&SSPSOFX&SSPS EFGBQQFOE G&SSPS G&SSPS &SSPS BQQFOEͳͯ͘0, ^ JNQMJDJUWBMFSSPS.POPJEOFX&SSPS.POPJE
WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E- VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF .POPJEͰ͖ͨʂ
࣮ͯ͠ΈΔ DMBTT&SSPS.POPJEFYUFOET.POPJE<&SSPS>\ EFG[FSP&SSPSOFX&SSPS EFGBQQFOE G&SSPS G&SSPS &SSPS BQQFOEͳͯ͘0, ^ JNQMJDJUWBMFSSPS.POPJEOFX&SSPS.POPJE
WBMVTFS&'&JUIFS5<'VUVSF &SSPS 6TFS>GPS\ VTFS*EVTFS*E&5JGVTFS*E- VTFS/BNFVTFS/BNF&5 ^ZJFME6TFS VTFS*E VTFS/BNF -FGUͷύϥϝʔλ͕ ઃఆ͠ʹ͍͘ͷͰ ⚠Γ͗͢ʹҙʁ⚠ ʢҧ͏߹ɹ͍ͩ͘͞ʣ
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ "0QUJPO<"> WBMP0QUJPO<*OU>TPNF WBMP0QUJPO<*OU>OPOF
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ HFU0S&MTF Pc Pc
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ Λม͘͠ PDBUB @ PDBUB @
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ ࡾ߲ԋࢉࢠ P l'PPzcz#BSz'PP P l'PPzcl#BSz#BS
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ 0QUJPOಉ࢜ͷԋࢉ Pc cP4PNF Pc cP4PNF
Pc cP/POF
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ 0QUJPOಉ࢜ͷԋࢉ Pc cP4PNF Pc cP4PNF
Pc cP/POF ͘͢͝ศརʂ
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ -JTUͷதΛग़ྗ ۭϦετΛ࡞ -JTU QSJOUMO<
> OJM<*OU>QSJOUMO<>
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ ཁૉؒʹࠩ͠ࠐΈ -JTU JOUFSTQFSTF -JTU
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ Ϧετ͕ۭͰͳ͍ͱ͖ʹॲཧ࣮ߦ -JTU ?\MJTU QSJOUMO TGPPMJTU
^GPP/PO&NQUZ-JTU OJM<*OU>?\MJTU QSJOUMO TCBSMJTU ^Կදࣔ͞Εͳ͍
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ ৭Μͳू߹Λฦ͢ -JTU UBJM[-JTU -JTU
-JTU -JTU -JTU -JTU BMM1BJST-JTU -JTU BEKBDFOU1BJST-JTU
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ 0QUJPOa WBME&SSPSa*OU4PNF aOFX&SSPS/POFͷ߹-FGU WBME*OUa&SSPS4PNF aOFX&SSPS/POFͷ߹3JHIU
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ &JUIFSa WBME&SSPSa*OUaGSPN&JUIFS 3JHIU
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ "OZa WBME&SSPSa*OUSJHIU WBME&SSPSa*OU OFX&SSPS MFGU
ҰํφϝοΫͰ 4DBMB[ͷྗͰજࡏೳྗΛҾ͖ग़͞Ε͍ͯͨʜʂ "OZa WBME&SSPSa*OUSJHIU WBME&SSPSa*OU OFX&SSPS MFGU 4DBMB[ͬͯ͘͢͝ศརʂ
ͱࢥ͍͖ʜ ʊਓਓਓਓʊ ʼɹ'SFFɹʻ ʉ:?:?:ʉ
ଓ͖࣍ճ ͋Δͱݴͬͯͳ͍ 'SFF͕࣌ؒΓͳ͍ ͰؔΘ ͨ͢ ɹྗ͠ ɹͷ ɹ ɹ
εʔύʔαΠϠਓΛࢦͯ͠ʜ ɾͬͱ4DBMB4DBMB[ͷίʔυΛಡΉඞཁ͋Γ ɾ͍ํͷϊϋΛ૿͍͖͍ͯͨ͠
·ͱΊ ɾͦΜͳʹΣϒΞϓϦͱབྷΊΒΕ·ͤΜͰͨ͠ ɾ͍͍͢ͷ͔Βಋೖ͍ͯ͘͠ͷ0, ɾࢀߟʹͳΕ͍Ͱ͢
͓ΘΓ