Slide 1

Slide 1 text

σΟ ϨΫ τ Ϧߏ੒ϕε τϓϥΫςΟ ε "OHVMBSΞϓϦΛ࡞Γଓ͚ͯΘ͔ͬͨ͜ͱ /PW '30/5&/%$0/'&3&/$& !PLVOPLFOUBSP

Slide 2

Slide 2 text

୭ w Ԟ໺ݡଠ࿠!PLVOPLFOUBSP w ΫϨε΢ΣΞ୅ද w ϑϩϯ τΤϯ υ ɾ όοΫΤϯ υ ɾ ΤϯδχΞ w "OHVMBS೔ຊϢʔβʔձ
 OHLZPUPΦʔΨφΠβ

Slide 3

Slide 3 text

͜Ε·Ͱͷొஃ಺༰

Slide 4

Slide 4 text

ຊ೔ͷ಺༰ w ϑϩϯ τΤϯ υͷϑ ϨʔϜϫʔΫ͕ग़ἧ͖ͬͯͨ w ֤ϑ ϨʔϜϫʔΫͷσΟ ϨΫ τ Ϧߏ੒͸ ʁ w ͦΕΒͷߏ੒Λ࢖͍ଓ͚Δͷ͸Α͍͜ͱ͔ ʁ w σΟ ϨΫ τ Ϧߏ੒ͱΞϓϦέʔγϣϯઃܭ͸ີ઀Ͱ͋Δ w Ͳ͏΍ͬͯߏ੒Λߟ͑ΔͨΊͷ൑அྗΛ਎ʹ͚ͭΔ͔

Slide 5

Slide 5 text

7JFXϑ ϨʔϜϫʔΫͷ৘ใɺ ग़ἧ͍࣌୅

Slide 6

Slide 6 text

܈༤ׂڌͷ࣌୅΋མͪண͖ʜ w ΢ΣϒΞϓϦέʔγϣϯΛ࡞ΔʜͱͳͬͨΒબ͹ΕΔͷ͕
 3FBDU "OHVMBS 7VFKT /VYU w Χόʔൣғ͸༷ʑ͕ͩɺ ࠓճ͸·ͱΊ֤ͯϑ ϨʔϜϫʔΫͱݺͿ w ͍ͣΕ΋೔ຊޠυΩϡϝϯ τ͸ॆ࣮ w άάͬͨΒग़ͯ͘ Δࢿྉ΋๛෋ w ਺೥લͱҧ͍ ʮͲΕΛ࢖ͬͨΒ͍͍Ͱ͔͢ʜ ʁ ʯ ʹର͢Δ൑அࡐྉ͕ͨ͘ ͞Μ

Slide 7

Slide 7 text

ຊ౰ʹগͳ͍ͷ͸தʙେن໛ͷϊ΢ϋ΢ w ֤ϑ ϨʔϜϫʔΫͷϢʔβʔਓޱ͕૿͖͑ͯͨ w ֤ϑ ϨʔϜϫʔΫ͝ͱʹ༗໊ͳΤϯδχΞ΋ଓʑ ͱग़ݱ w ͜͜਺೥ͷ֤छେܕΧϯϑΝϨϯεͰɺ ࢿྉ΋৭ʑ ͱग़͍ͯΔ w ͦΕ͕ࣗ෼ͷҊ݅ɺ ࣗࣾͷۀ຿Ͱಉ༷ʹద༻Ͱ͖Δ͔ͱ͍͏ ͱʜ ʁ w ࢀߟʹ͸Ͱ͖ͯ΋ɺ શ͘ಉ͡Α ͏ʹద༻Ͱ͖Δέʔεͷ΄͏͕ك

Slide 8

Slide 8 text

ԿΛ৴͡Δࢦඪͱ͢Δ͔ ʁ w ొஃࢿྉɺ ϒϩάهࣄɺ 2JJUB 4UBDL0WFSqPXʜ w ړͬͯ΋ͦΕ͕ࣗ෼ͷ։ൃ͍ͯ͠ΔҊ݅ͱϚον͢Δ͔͕Θ͔Βͳ͍ w ͦΕ͕৴͡Δʹ଍Γ Δ৘ใͳͷ͔Ͳ͏͔൑அ͕Ͱ͖ͳ͍ w ެࣜͷ υΩϡϝϯ τ͸ʜ w ެ͔ࣜͩΒؒҧͬͨ͜ͱ͸ॻ͍ͯͳ͍͸ͣ w ຊ౰ʹͦ͏͔ ʁ

Slide 9

Slide 9 text

ެࣜυΩϡϝϯ τͦ͜ϊ΢ϋ΢͸গͳ͍ w ֤ϑ ϨʔϜϫʔΫͷ υΩϡϝϯ τ͸ɺ 
 ͋͘ ·Ͱ΋ͦͷϑ ϨʔϜϫʔΫͷ࢖͍ํΛதཱతʹड़΂ͨ಺༰ w ͔ͨ͠ʹؒҧͬͨ͜ͱ͸ॻ͍ͯͳ͍ w ࣗ෼ͷ૊৫ʹϚονͨ͠ݱঢ়΁ͷଧ։ࡦ͕
 υϯϐγϟʹॻ͔Ε͍ͯΔέʔε͸গͳ͍ w ࠷ऴతʹ υΩϡϝϯ τΛཔΓʹख୳Γʹؕͬͯ͠· ͏

Slide 10

Slide 10 text

͍͍ײ͡ͷϓϩ τλΠ ϓ͕Ͱ͖·ͨ͠ w Α ͘ݟ͔͚Δྫ w νϡʔ τ ϦΞϧΛ΍ͬͯΈͨ w νϡʔ τ ϦΞϧͷ୊ࡐΛࣗࣾͷϏδωεޠኮʹஔ͖׵͑ͯΈͨ w ػೳΛ଍ͯ͠Έͨ w ͍͍ײ͡ʹͳͬͨ w ͍ͭͷؒʹ͔ӡ༻ʹ৐ͬͯ͠·͍อक͢Δඞཁ͕Ͱͨ w νϡʔ τ ϦΞϧߏ੒͔Βม͑ΒΕͳ͍··ͲΜͲΜࣾ಺Ͱ࿩͕େ͖ ͘ ͳ͍ͬͯͬͨ

Slide 11

Slide 11 text

୼ͼ͸Ϟϊ Ϧ ε͔Β w ࢒೦ͳ͕Βνϡʔ τ ϦΞϧ͸ϕε τͳߏ੒Ͱ͸ͳ͍ wʮ·ͣ͸࢖ͬͯΈͯಈ͔ͯ͠ΈΑ ͏ʯ ͱ
 ʮ਺೥ؒ҆ఆͯ͠อकՄೳͳΞϓϦΛ࡞Ζ͏ʯ ͱ͸ผจ຺ w νϡʔ τ ϦΞϧ௨Γʹ࡞Γɺ νϡʔ τ ϦΞϧ௨Γͷػೳ֦ுΛ܁Γฦ͢ͱ
 Ϟϊ Ϧε ʢҰຕؠɺ ڊେͳటஂࢠͳͲͱ΋ʣ ͕஀ੜ͢Δ

Slide 12

Slide 12 text

Ͳ͏͢Δ͔ ʁ

Slide 13

Slide 13 text

൑அྗΛ਎ʹ͚ͭΔ

Slide 14

Slide 14 text

֤ϑ ϨʔϜϫʔΫͷಋೖ w 3FBDU w ެࣜυΩϡϝϯ τ্Ͱ͸ ʮࡾ໨ฒ΂ήʔϜʯ ։ൃͷνϡʔ τ ϦΞϧΛఏڙ w ΞϓϦͷ։ൃணखʹ͸
 ·ͣ͸$SFBUF3FBDU"QQ͕ਪ঑͞ΕΔ w 8FCQBDLͳΓ#BCFMͳΓΛ૊Έ߹ΘͤΔ
 Ϣʔβʔ͕ଟ͘ɺ 3FEVYͷબఆ΍3PVUFSͷ
 બఆͳͲࣗ༝౓͕͔ͳΓߴ͍ src ├── App.css ├── App.js ├── App.test.js ├── index.css ├── index.js ├── logo.svg └── serviceWorker.js

Slide 15

Slide 15 text

֤ϑ ϨʔϜϫʔΫͷಋೖ w "OHVMBS w 5PVSPG)FSPFTͱ͍͏ ʮਓࡐ೿ݣձ͕ࣾώʔϩʔΛ؅ཧ͢Δʯ ΞϓϦΛ࡞Δ w ΞϓϦͷ৽ن։ൃʹ͸"OHVMBS$-*
 $ ng newΛ࢖͏ w $ ng generateίϚϯ υͰϑΝΠϧΛ
 ࣗಈੜ੒͢Δ͕σΟ ϨΫ τ Ϧ͸೚ҙ app ├── app-routing.module.ts ├── app.component.html ├── app.component.scss ├── app.component.spec.ts ├── app.component.ts └── app.module.ts

Slide 16

Slide 16 text

w /VYU w ๛෋ͳ υΩϡϝϯ τͱ)FMMP8PSME w νϡʔ τ ϦΞϧࣗମ͸7VFKTଆͰ΍Δ w ΞϓϦͷ৽ن։ൃʹ͸$-*πʔϧ
 $ create-nuxt-app [app-name]Λ࢖͏ ֤ϑ ϨʔϜϫʔΫͷಋೖ root ├── assets ├── components │ └── Logo.vue ├── layouts │ └── default.vue ├── middleware ├── nuxt.config.js ├── package.json ├── pages │ └── index.vue ├── plugins ├── static ├── store └── test

Slide 17

Slide 17 text

w 3FBDU͔ͳΓࣗ༝ɺ ͱ Γ͋͑ͣTSDҎԼʹஔ͘ w https://ja.reactjs.org/docs/faq-structure.html w "OHVMBSٕज़తʹ͸ࣗ༝͕ͩɺ ެࣜʹελΠϧΨΠ υΛఏڙ w https://angular.jp/guide/styleguide w /VYU໋໊΋ؚΊߏ଄Λڧ੍͘ݶ w https://ja.nuxtjs.org/guide/directory-structure ͦΕͧΕͲ͏ͳ͍ͬͯΔ͔

Slide 18

Slide 18 text

σΟ ϨΫ τ Ϧߏ଄େ೿ൊ common/ Avatar.js Avatar.css APIUtils.js APIUtils.test.js feed/ index.js Feed.js Feed.css FeedStory.js FeedStory.test.js FeedAPI.js profile/ index.js Profile.js ProfileHeader.js ProfileHeader.css ProfileAPI.js api/ APIUtils.js APIUtils.test.js ProfileAPI.js UserAPI.js components/ Avatar.js Avatar.css Feed.js Feed.css FeedStory.js FeedStory.test.js Profile.js ProfileHeader.js ProfileHeader.css υϝΠϯ୯Ґ λΠ ϓ୯Ґ

Slide 19

Slide 19 text

λΠ ϓ೿͕ͭΒ͞ΛݟΔ৔໘ • containers • usersContainer, issuesContainer, requestsContainer... • components • buttonComponent, userCardComponent, issueListComponent... • reducers • usersReducer, issuesReducer, requestsReducer... • actions • usersActions, issuesActions, requestsActions...

Slide 20

Slide 20 text

λΠ ϓ೿͕ͭΒ͞ΛݟΔ৔໘ • containers • usersContainer, issuesContainer, requestsContainer... • components • buttonComponent, userCardComponent, issueListComponent... • reducers • usersReducer, issuesReducer, requestsReducer... • actions • usersActions, issuesActions, requestsActions...

Slide 21

Slide 21 text

%VDLTύλʔϯ • users • usersContainer, usersActions, usersReducer, userCardComponent • issues • issuesContainer, issuesActions, issuesReducer, issueListComponent • requests • requestsContainer, requestsActions, requestsReducer • components • buttonComponent, modalComponent...

Slide 22

Slide 22 text

%VDLTύλʔϯ • users • usersContainer, usersActions, usersReducer, userCardComponent • issues • issuesContainer, issuesActions, issuesReducer, issueListComponent • requests • requestsContainer, requestsActions, requestsReducer • components • buttonComponent, modalComponent...

Slide 23

Slide 23 text

͡Ό͋%VDLTύλʔϯʹ͢Ε͹͍͍ ʂ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

େن໛ͰͭΒ͍ͷ͸ѹ౗తϑΝΠϧ਺ w ສߦɺ ը໘ɺ UTϑΝΠϧͷΞϓϦΛ։ൃ࣮ͯ͠ײͨ͜͠ͱ w ίʔ υͷԚ͞Α Γ ϑΝΠϧπϦʔͷࢹೝੑͷѱ͕͞ੜ࢈ੑΛඇৗʹԼ͛Δ wʮΤσΟ λͷγϣʔ τΧο τͰඈͿ͔ΒϑΝΠϧπϦʔΛݟΔ͜ͱ͸ͳ͍ʯ ʁ ʁ w ύεΛҰ੾ҙࣝͤͣ(JU)VCͷૢ࡞΍5ZQF4DSJQUͷϩά௥͍͕շదʹͰ͖Δ͔ ʁ w ϑΝΠϧπϦʔ(6*ΛݟΔݟͳ͍Ͱ͸ͳ͘ɺ ߏ੒ͷԚ͕͞ੜ࢈ੑʹޮ͍ͯ ͘ Δ w ͜ͷ਺ʹͳΔͱ ʮ%VDLTύλʔϯΛ΍Ε͹εοΩ Ϧ ·ͱ·Δʯ ͱ͍͏࣍ݩΛ௒͑Δ

Slide 26

Slide 26 text

֤ϑ ϨʔϜϫʔΫͷ܏޲ w 3FBDU͸ࣗ༝͗͢ΔͷͰɺ ͦ΋ͦ΋ํ਑ΛઃܭΛ͠ͳ͍ͱഁ୼͠΍͍͢ w "OHVMBS͸ελΠϧΨΠ υ͕੔͍ͬͯΔ͕ສਓ޲͚ͳͷͰɺ 
 ܝࡌ಺༰͸૊৫୯Ґͷνϡʔχϯά݁ՌͰ͸ͳ͍ w /VYU͸ݫ͍͠ϧʔϧʹΑͬͯQBHFTͷϑΝΠϧߏ੒ͱϧʔςΟ ϯάΛ
 ରͱ͍ͯ͠Δ͕ɺ ίΞ υϝΠϯʹ૬౰͢Δ෦෼ͷ؅ཧʹ͍ͭͯ͸৮Εͯͳ͍

Slide 27

Slide 27 text

ڧݻͰεέʔϧ͢ΔσΟ ϨΫ τ Ϧࢦ਑͕ඞཁ w ϑ ϨʔϜϫʔΫͷࣄ৘Ͱ͸ͳࠜ͘ຊతͳΞϓϦέʔγϣϯͷઃܭ఩ֶʹཱͪฦΔ w ϑ ϨʔϜϫʔΫ஀ੜΑ Γݹ͔͘Βଘࡏ͢Δઃܭ఩ֶ͸ɺ બఆͷ൑அج४ͱͳΔ w Ͳ͜Λࣗ෼ͰΞϨϯδ͠ɺ Ͳ͜Λม͑ͣʹै͏΂͖͔ͷ൑அྗͱͳΔ w "OHVMBSͷελΠϧΨΠ υ͸"OHVMBSͷ࣮૷্ͷࣄ৘Λؚ·ͳ͍
 ൺֱత఩ֶʹدͬͨ಺༰ͱͳ͍ͬͯΔͷͰ͝঺հ

Slide 28

Slide 28 text

"OHVMBSϑΝΠϧߏ੒ΨΠ υൈਮ w ͙͢ʹίʔ υΛݟ͚ͭΒΕΔΑ ͏ʹ͢Δ w ؔ࿈ϑΝΠϧΛ௚ײతͳ৔ॴͰۙ͘ʹஔ͍͓ͯ͘ w Ұ໨Ͱίʔ υΛࣝผͰ͖ΔΑ ͏ʹ͢Δ w ௕͍આ໌తͳϑΝΠϧ໊͸ɺ ୹͘ ͯᐆດͳ୹ॖ໊Α Γ༏Ε͍ͯΔ w Ͱ͖ΔݶΓ ϑϥ ο τͳߏ଄Λҡ࣋͢Δ w ৺ཧֶʹج͖߲ͮ໨͕ͭҎ্ʹୡͨ͠ͱ͖ʹαϒσΟ ϨΫ τ ϦΛ࡞੒͢Δ w %3: ʢॏෳͱ৑௕͞ΛऔΓআ͘ʣ Λ໨ඪͱ͢Δ w ௕͘આ໌తͳϑΝΠϧ໊͸༗ӹ͕ͩɺ ͦΕ͕৑௕ʹͳΔͳΒ͹ɺ ͔͑ͬͯγϯϓϧʹͨ͠΄͏͕Α͍

Slide 29

Slide 29 text

σΟ ϨΫ τ Ϧߏ੒ϕε τϓϥΫςΟ ε

Slide 30

Slide 30 text

ϕε τϓϥΫςΟ ε ʁ w ࠓճͷϕε τϓϥΫςΟ εͷޠ͸ɺ 
 ੈքதͷਓʹड͚ೖΕΒΕΔ͜ͱΛ໨ࢦͨ͠΋ͷɺ ͱ͍͏χϡΞϯεͰ͸ͳ͍ w ࣗ਎ͷɺ ܁Γฦ͠େن໛ΞϓϦέʔγϣϯΛ࡞Γଓ͚͖ͯͨܦݧʹج͍ͮͯ
 ࢼߦࡨޡͷճ਺͕ݮ͖ͬͯͨ҆ఆͨ͠σβΠϯύλʔϯͰ͋Δͱ͍͏ҙ w 3FBDU "OHVMBSͰ͸ɺ ૒ํͰར༻Մೳ w /VYU͸ϑ ϨʔϜϫʔΫࣗମͷ੍໿͕ݫ͍ͨ͠Ίࢀߟఔ౓ʹ

Slide 31

Slide 31 text

ϨΠϠʔ υΞʔΩςΫνϟ https://speakerdeck.com/okunokentaro/ngrx-architecture?slide=17 Կ΋࣮૷͞Ε͍ͯͳ͍ΞϓϦέʔγϣϯ։ൃͱ͍͏େւݪͰ
 ࣗ෼ͨͪ͸Ͳ͜Λߤւ͍ͯ͠Δͷ͔஌ΔͨΊͷ΋ͷ

Slide 32

Slide 32 text

σΟ ϨΫ τ Ϧߏ੒ͱΞϓϦέʔγϣϯઃܭ͸ີ઀ w ϨΠϠʔ υΞʔΩςΫνϟ͸
 ʮࠓணख͍ͯ͠ΔϑΝΠϧ͸ԿΛ͢Δ΋ͷ͔ʯ Λఆٛ͢Δई౓ͱͳΔ w σΟ ϨΫ τ Ϧߏ੒ͱ͜ͷΞʔΩςΫνϟ͕ဃ཭͍ͯ͠Δͱɺ ͦͷར఺͕ऑ·Δ w σΟ ϨΫ τ Ϧߏ੒΋ɺ ϨΠϠʔΛҙࣝͨ͠΋ͷͱ͢Δ

Slide 33

Slide 33 text

େσΟ ϨΫ τ Ϧ w QBHFT w NPEFMT w MJC w VUJMT

Slide 34

Slide 34 text

QBHFT w ͦͷΞϓϦέʔγϣϯʹొ৔͢Δը໘͕͢΂ؚͯ·ΕΔ w pages/home/ pages/users-list/ pages/user-detail/ͳͲ w ෳ਺ͷը໘Ͱ࢖ΘΕΔཁૉ͸pages/shared/ʹஔ͔ΕΔ w pages/shared/user/user-card 
 pages/shared/gui/drop-down-list
 ͳͲ w ಛఆͷը໘Ͱ͔͠࢖ΘΕͳ͍ඍࡉͳίϯϙʔωϯ τ͸λΠ ϓผͱ ͯ͠·ͱΊΔ w pages/user-registration/components/serial-number-field.tsͳͲ

Slide 35

Slide 35 text

NPEFMT w ͍ΘΏΔ υϝΠϯϞσϧ͕ஔ͔ΕΔ w models/user/ models/issue/ models/article/ͳͲ w pages/shared/user/ pages/shared/issue/ͱ͸໌֬ʹ۠ผ͞ΕΔ w ج४͸ϑ ϨʔϜϫʔΫʹؔ͢ΔJNQPSUจؚ͕·ΕΔ͔ɺ ؚ·Εͳ͍͔ w ؚ·ΕΔ৔߹͸Ұ཯Ͱpages/shared/ߦ͖ w MVYPOͷ࣌ؒܭࢉͳͲΛ಺แ͢Δmodels/date-time/ͳͲ͸ڐ༰

Slide 36

Slide 36 text

MJC w ΞϓϦࣗ਎ͱ֎෦ͷԿΒ͔ͷ࿈ܞ͕ඞཁͳ৔߹͸ɺ ͢΂ͯlib/ w lib/apis/users.api.ts lib/google-map/provider.ts 
 lib/bugsnag.ts lib/firebase/notifications.tsͳͲ w ͔ࣗࣾଞ͔ࣾ͸ؔ܎ͳ͘ɺ ΞϓϦࣗ਎ͱ֎෦͕࿈ܞ͢Δ΋ͷ͸͢΂ͯMJC w -PDBM4UPSBHF $PPLJF *OEFYFE%#΋͜ΕΒʹ֘౰

Slide 37

Slide 37 text

VUJMT w Ұ൪ةݥͳ೏͍͕͕ͪ͠ͳͷͰ஫ҙ͢΂͖utils/ w ࣗࣾҎ֎ͷ୭͔͕࢖͍ͬͯͯ΋ҧ࿨ײͷͳ͍ॲཧ͕֘౰ w ͨͱ͑͹array-flat.ts to-promise.tsͳͲ w গ͠Ͱ΋ࣗࣾυϝΠϯͷ೏ؚ͍͕·ΕͨΒmodels/͔pages/shared/ߦ͖ w MPEBTIΛΠϯε τʔϧ͢Δ΄ͲͰ͸ͳ͍͚Ͳɺ ͪΐͬͱ࢖͍͍ͨؔ਺ͱ͔͕ೖΔ w ͕͜͜ͲΜͲΜ૿͑Δঢ়گ͸ෆ݈શͳͷͰɺ ࠷ऴखஈͱͯ͠ଊ͑Δ

Slide 38

Slide 38 text

ϨΠϠʔ υΞʔΩςΫνϟͱͷରԠ pages/

Slide 39

Slide 39 text

ϨΠϠʔ υΞʔΩςΫνϟͱͷରԠ pages/ pages/shared/

Slide 40

Slide 40 text

ϨΠϠʔ υΞʔΩςΫνϟͱͷରԠ pages/ pages/shared/ lib/

Slide 41

Slide 41 text

ϨΠϠʔ υΞʔΩςΫνϟͱͷରԠ pages/ pages/shared/ lib/ models/

Slide 42

Slide 42 text

Ϋ ϦʔϯΞʔΩςΫνϟ σΟ ϨΫ τ Ϧ ͝ͱͷ໾ׂΛ໌֬ʹ͢Δͱɺ 
 ґଘํ޲΋ࣗવͱἧ͍Ϋ ϦʔϯΞʔΩςΫνϟͷ࣮ݱͱͳΔ

Slide 43

Slide 43 text

Ϋ ϦʔϯΞʔΩςΫνϟ σΟ ϨΫ τ Ϧ ͝ͱͷ໾ׂΛ໌֬ʹ͢Δͱɺ 
 ґଘํ޲΋ࣗવͱἧ͍Ϋ ϦʔϯΞʔΩςΫνϟͷ࣮ݱͱͳΔ models/ pages/shared/ pages/ lib/

Slide 44

Slide 44 text

େσΟ ϨΫ τ Ϧ ͱαϒσΟ ϨΫ τ Ϧͷؔ܎ w pages w ֤ϖʔδ໊͝ͱʹ੾Δ w ֤ϖʔδ໊͝ͱͷαϒσΟ ϨΫ τ ϦͷԼ͸λΠ ϓผ w pages/shared/ҎԼ͸%VDLTύλʔϯ w models w %VDLTύλʔϯ w lib w %VDLTύλʔϯ w utils w λΠ ϓผ ΞϓϦશମΛ%VDLTύλʔϯʹἧ͑Δ͔ɺ λΠ ϓผʹ͢Δ͔
 Ͱ͸ͳ͘ɺ େผͨ͠λΠ ϓ͝ͱͷू໿ͷͦΕͧΕʹ
 υϝΠϯ୯ҐͰ·ͱΊΔ%VDLTύλʔϯద༻͢Δɻ

Slide 45

Slide 45 text

͜ΕΒΛऔΓೖΕΔʹ͸ ʁ

Slide 46

Slide 46 text

ଞਓͷൃද಺༰ΛऔΓೖΕΔ w ࠓճͷ಺༰͸ ʮࣗ෼ͷḷΓண͍ͨ࠷ྑͷύλʔϯʯ ͷ঺հ w ͜ΕΛଈ࠲ʹ֤͕ࣗಋೖͰ͖Δ΋ͷͰ͸ͳ͍ͱࢥΘΕΔ w ͋·ͨͷൃදࢿྉ͕ ʮԿΛࠜڌʹͦͷબ୒Λͨ͠ͷ͔ʯ ͱ͍͏
 എܠΛ஌͓͚ͬͯ͹ɺ ಉ͡ঢ়گͱͳͬͨͱ͖ͷ൑அྗͱͳΔ w ࠓճͷ಺༰͸ϨΠϠʔ υΞʔΩςΫνϟɺ Ϋ ϦʔϯΞʔΩςΫνϟͱ͍͏
 ઃܭख๏Λ౿·͑ɺ "OHVMBSͷελΠϧΨΠ υ΋ߟྀͨ͠৔߹ʹ
 Ͳ͏൑அ͔ͨ͠ ʁ ͱ͍͏ܦݧஊ

Slide 47

Slide 47 text

ͨ͘ ͞ΜͷࣄྫΛ஌Ζ͏ ʂ w νϡʔ τ ϦΞϧߏ੒ͷԆ௕ͰͳͥऴΘͬͯ͠· ͏ͷ͔ w ϑ ϨʔϜϫʔΫͷ υΩϡϝϯ τΛख़ಡ͢Δ͚ͩͰͳ͘ɺ ࢹ໺Λ޿͛ͯΈΔͷ͕Α͍ wʮ͔ͭͯ+BWB͸Ͳ͏΍͍ͬͯͨ ʁ ʯ ʮ࠷ۙͷJ04։ൃͬͯͲ͏ͳͬͯΔͷ ʁ ʯ ͳͲ w ϑ ϨʔϜϫʔΫ͕ఏڙ͢Δ৘ใ͕ࠓͷࣗ෼ ɾ ૊৫ʹ
 Ϛον͍ͯ͠Δ͔Ͳ͏͔ͷ൑அྗΛཆ͏ w ελΠϧΨΠ υͷΞϨϯδྗͱͳΓɺ νʔϜ͕໰୊Λ๊͑ͨͱ͖ʹ
 ৐Γӽ͑ΒΕΔΑ ͏ʹͳΔ

Slide 48

Slide 48 text

5IBOLZPV