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.1k
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
18
4.4k
Scalaの新規事業でScalaの未経験者をオンボーディング
iwamatsu0430
0
500
プルプル…ボクはわるいScalaじゃないよ
iwamatsu0430
0
1.3k
ザ!鉄腕エンジニア! 「GO言語でWEBサーバを作れるか!?」「どのレベルで作るの?」
iwamatsu0430
10
1.6k
ChatOps Introduction
iwamatsu0430
1
530
我々のChatOps進捗です。ご査収ください。
iwamatsu0430
2
910
Other Decks in Programming
See All in Programming
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
140
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
480
useSyncExternalStoreを使いまくる
ssssota
6
1.1k
ドメインイベント増えすぎ問題
h0r15h0
2
350
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
3
470
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
820
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
快速入門可觀測性
blueswen
0
370
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Why Our Code Smells
bkeepers
PRO
335
57k
Typedesign – Prime Four
hannesfritz
40
2.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Become a Pro
speakerdeck
PRO
26
5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Being A Developer After 40
akosma
87
590k
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, ɾࢀߟʹͳΕ͍Ͱ͢
͓ΘΓ