Slide 1

Slide 1 text

5FTTFJ:PTIJEB!NJOJOHKBQBOJO(%(%FW'FTU "OHVMBS6OJWFSTBMͷ า͖ํ "OHVMBS6OJWFSTBMΛ࢝ΊΔ

Slide 2

Slide 2 text

w גࣜձࣾτϨλ w "OHVMBS+BQBO6TFS(SPVQ w ࠷ۙ͸'MVUUFS΋࢖͍࢝Ίͯ·͢ ٢ాపੜ ࣗݾ঺հ

Slide 3

Slide 3 text

τϨλ αʔϏεͷ঺հ

Slide 4

Slide 4 text

5PSFUBOPX αʔϏεͷ঺հ

Slide 5

Slide 5 text

ςΠΫΞ΢τˍσϦόϦʔ."1 αʔϏεͷ঺հ IUUQTHJUIVCDPNUPSFUBSFTUBVSBOUTPQFOEBUBJOKBQBO

Slide 6

Slide 6 text

"OHVMBS6OJWFSTBMͱ͸ IUUQTHJUIVCDPNBOHVMBSVOJWFSTBM 4FSWFSTJEFSFOEFSJOHBOE1SFSFOEFSJOHGPS"OHVMBS

Slide 7

Slide 7 text

6OJWFSTBMͷ༝དྷ

Slide 8

Slide 8 text

IUUQTDECSFBDUUSBJOJOHDPNVOJWFSTBMKBWBTDSJQUCBF 6OJWFSTBM “It’s true that there are two hard problems in computer science and one of them is naming things. Why? Because good names are important. A good name teaches about purpose and responsibility, so you have to spend some time thinking about it. So let’s give our JavaScript code a name that people can understand; a name that indicates what it actually does instead of introducing words into the common vernacular that clearly don’t belong there; a name that teaches people that it runs not only on servers and browsers, but on native devices and embedded architectures as well. Let’s call it Universal JavaScript."

Slide 9

Slide 9 text

$MJFOU4JEF3FOEFSJOH $43ʹ͍ͭͯ ϦΫΤετ )5.-Ϩεϙϯε αʔό "1*αʔό ϑΣονσʔλ ϑΣονσʔλ

Slide 10

Slide 10 text

4FSWFS4JEF3FOEFSJOH 443ʹ͍ͭͯ ϦΫΤετ )5.-Ϩεϙϯε ϑΣονσʔλ σʔλϨεϙϯε 443αʔό "1*αʔό ϑΣονσʔλ ϑΣονσʔλ

Slide 11

Slide 11 text

w 4&0ରࡦ w 0(1ͷදࣔ w ύϑΥʔϚϯεͷվળ ͳͥ$43͚ͩͰ͸Ͱ͖ͳ͍ͷ͔

Slide 12

Slide 12 text

IUUQTEFWFMPQFSTHPPHMFDPNTFBSDIEPDTHVJEFTKBWBTDSJQUTFPCBTJDT IMKB 4&0ରࡦ ”ϘοτʹΑͬͯ͸ JavaScript Λ࣮ߦͰ͖ͳ͍΋ͷ΋͋ΓɺϢʔβʔ΍Ϋϩʔϥʹରͯ͠΢ΣϒαΠτΛߴ଎Խ͢ΔޮՌ΋͋ΔͷͰɺαʔόʔ ଆͰͷϨϯμϦϯάʢϓϦϨϯμϦϯάʣ΋༗ޮͳํ๏ͱͯ͠ݕ౼ͯ͠Έ͍ͯͩ͘͞ɻ”

Slide 13

Slide 13 text

w 4/4ؔ࿈ͷCPUͰ+BWBTDSJQUΛղܾ͠ͳ͍΋ͷ͕͋Δ 0(1ͷදࣔ UJUMF"OHVMBS೔ຊޠυΩϡϝϯςʔγϣϯUJUMF UJUMF"OHVMBS೔ຊޠυΩϡϝϯςʔγϣϯ"OHVMBS%PDTͷ঺հUJUMF

Slide 14

Slide 14 text

w ॳظදࣔͷεϐʔυΞοϓ w 'JSTU.FBOJOHGVM1BJOUͷεϐʔυΞοϓ w -JHIUIPVTF͔Β֎Εͨ ύϑΥʔϚϯεͷվળ

Slide 15

Slide 15 text

w &YQSFTT&OHJOF w /PEFKTͰ࣮ߦ͞ΕΔ8FC'SBNFXPSL w "41/&5$PSF&OHJOF w "41/&5$PSFΛར༻ͯ͠443͕Ͱ͖Δ w )BQJ&OHJOF w /PEFKTͰ࣮ߦ͞ΕΔ4FDVSF'SFNFXPSL w 4PDLFU&OHJOF w 5$1ιέοτͰల։Ͱ͖Δ FOHJOFΛܾΊΔ 6OJWFSTBMΛΠϯετʔϧ

Slide 16

Slide 16 text

6OJWFSTBMͷΠϯετʔϧ % ng add @nguniversal/express-engine Installing packages for tooling via npm. Installed packages for tooling via npm. Option "tsconfigFileName" is deprecated: This option has no effect. CREATE src/main.server.ts (298 bytes) CREATE src/app/app.server.module.ts (318 bytes) CREATE tsconfig.server.json (396 bytes) CREATE server.ts (2029 bytes) UPDATE package.json (1630 bytes) UPDATE angular.json (5018 bytes) UPDATE src/main.ts (432 bytes) UPDATE src/app/app.module.ts (438 bytes) UPDATE src/app/app-routing.module.ts (283 bytes) ✔ Packages installed successfully.

Slide 17

Slide 17 text

1BDLBHFKTPO TDSJQUT\ OHOH TUBSUOHTFSWF CVJMEOHCVJME UFTUOHUFTU MJOUOHMJOU FFOHFF EFWTTSOHSVOHEHTFSWFTTS TFSWFTTSOPEFEJTUHEHTFSWFSNBJOKT CVJMETTSOHCVJMEQSPEOHSVOHEHTFSWFSQSPEVDUJPO QSFSFOEFSOHSVOHEHQSFSFOEFS ^

Slide 18

Slide 18 text

6OJWFSTBMΛىಈ % npm run dev:ssr ✹ ✭ > gdg@0.0.0 dev:ssr /Users/teyosh/Work/Test/gdg/gdg > ng run gdg:serve-ssr **************************************************************************************** This is a simple server for use in testing or debugging Angular applications locally. It hasn't been reviewed for security issues. DON'T USE IT FOR PRODUCTION! **************************************************************************************** Compiling @angular/animations : es2015 as esm2015 Compiling @angular/common/http : es2015 as esm2015 Compiling @nguniversal/express-engine/tokens : es2015 as esm2015 Compiling @angular/animations/browser : es2015 as esm2015 Compiling @angular/platform-browser/animations : es2015 as esm2015 Compiling @angular/platform-server : es2015 as esm2015 Compiling @nguniversal/express-engine : es2015 as esm2015 chunk {main} main.js, main.js.map (main) 58.7 kB [initial] [rendered] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 141 kB [initial] [rendered] chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered] chunk {styles} styles.css, styles.css.map (styles) 119 bytes [initial] [rendered] chunk {vendor} vendor.js, vendor.js.map (vendor) 2.29 MB [initial] [rendered] Date: 2020-10-16T14:25:09.886Z - Hash: eddb4e617064991b3665 - Time: 7071ms Hash: 7f72dd16c9cfc84501ba Time: 10935ms Built at: 2020-10-16 23:25:11 Asset Size Chunks Chunk Names main.js 5.86 MiB main [emitted] [big] main main.js.map 5.87 MiB main [emitted] [dev] main Entrypoint main [big] = main.js main.js.map chunk {main} main.js, main.js.map (main) 5.29 MiB [entry] [rendered] Compiled successfully. Hash: 7f72dd16c9cfc84501ba Time: 324ms Built at: 2020-10-16 23:25:12 Asset Size Chunks Chunk Names main.js 5.86 MiB main [big] main main.js.map 5.87 MiB main [dev] main Entrypoint main [big] = main.js main.js.map chunk {main} main.js, main.js.map (main) 5.29 MiB [entry] ** Angular Universal Live Development Server is listening on http://localhost:4200, open your browser on http://localhost:4200 ** Compiled successfully.

Slide 19

Slide 19 text

$43 )5.-ͷҧ͍ EPDUZQFIUNM IUNMMBOHFO IFBE NFUBDIBSTFUVUG UJUMF(EHUJUMF CBTFISFG NFUBOBNFWJFXQPSUDPOUFOUXJEUIEFWJDFXJEUI JOJUJBMTDBMF MJOLSFMJDPOUZQFJNBHFYJDPOISFGGBWJDPOJDP IFBE CPEZ BQQSPPUBQQSPPU TDSJQUTSDSVOUJNFKTEFGFSTDSJQUTDSJQUTSDQPMZpMMTKTEFGFSTDSJQUTDSJQUTSDTUZMFTKTEFGFS TDSJQUTDSJQUTSDWFOEPSKTEFGFSTDSJQUTDSJQUTSDNBJOKTEFGFSTDSJQUCPEZ IUNM

Slide 20

Slide 20 text

443 )5.-ͷҧ͍ %0$5:1&IUNMIUNMMBOHFOIFBE NFUBDIBSTFUVUG UJUMF(EHUJUMF CBTFISFG NFUBOBNFWJFXQPSUDPOUFOUXJEUIEFWJDFXJEUI JOJUJBMTDBMFz MJOLSFMJDPOUZQFJNBHFYJDPOISFGGBWJDPOJDP MJOLSFMTUZMFTIFFUISFGTUZMFTDTTTUZMFOHUSBOTJUJPOTFSWFS"QQTUZMFIFBE CPEZ BQQSPPU@OHIPTUTDOHWFSTJPOQ@OHDPOUFOUTD)FMMP (%(%FW'FTU!)0.&QSPVUFS PVUMFU@OHDPOUFOUTDSPVUFSPVUMFUDPOUBJOFSBQQSPPU TDSJQUTSDSVOUJNFKTEFGFSTDSJQUTDSJQUTSDQPMZpMMTKTEFGFSTDSJQUTDSJQUTSDWFOEPSKTEFGFS TDSJQUTDSJQUTSDNBJOKTEFGFSTDSJQU CPEZIUNM

Slide 21

Slide 21 text

w αʔόͷ$16ར༻཰͕ߴ͍ w "1*αʔόͱͷ௨৴෼Ϩεϙϯε͕஗͘ͳΔ w ϒϥ΢βͷػೳ͸࢖͑ͳ͍ ஫ҙ͢΂͖443ͷڍಈ

Slide 22

Slide 22 text

w ΫϥΠΞϯτʹΑΔ$16࢖༻Λαʔό͕ݞ୅ΘΓ w Ͱ͖ΔݶΓখ͘͢͞Δ w /PEFKTʹΑΔγϯάϧεϨουͰͷॲཧ w 443͢Δϖʔδ͸ॲཧ͕ଟ͘ͳΒͳ͍Α͏ʹ഑ྀ w EPNJOPΛར༻ͯ͠%PDVNFOUUP4USJOHΛ࣮ߦ w ΫϥΠΞϯτʹฦ͢)5.-͢ΔͨΊʹઈରʹඞཁͳॲཧ αʔόͷ$16࢖༻཰

Slide 23

Slide 23 text

w "1*αʔόͱͷ௨৴෼ͷϨεϙϯε͕Ճࢉ w ࢠ&MFNFOUͰ௨৴͢Δͱͦͷ෼͚͕ͩ࣌ؒՃࢉ w ඞཁͳ෼͚ͩ443Λ࣮ߦ w ͦΕҎ֎͸ϒϥ΢βͰ࣮ߦ͢ΔΑ͏ʹ෼͚Δ "1*αʔόͱͷ௨৴

Slide 24

Slide 24 text

w 8JOEPX΍/BWJHBUPS͸࢖͑ͳ͍ w αʔόଆ͑͸࢖Θͳ͍Α͏ʹίʔυ͸ॻ͚Δ͕ɺϥΠϒϥϦ Λར༻͢Δࡍʹࠞೖ͢Δ͜ͱ͕͋Δ w %PNJOPͳͲΤϛϡϨʔγϣϯͯ͘͠ΕΔϥΠϒϥϦʔΛར ༻ ϒϥ΢βػೳ͸࢖͑ͳ͍

Slide 25

Slide 25 text

1-"5'03.@*%Λར༻ 4FSWFSͱ$MJFOUͷ൑ผ BQQBQQDPNQPOFOUUT DPOTUSVDUPS !*OKFDU 1-"5'03.@*% QSJWBUFSFBEPOMZQMBUGPSN*E \^ JG JT1MBUGPSN4FSWFS UIJTQMBUGPSN*E \ αʔόͰͷॲཧ ^ JG JT1MBUGPSN#SPXTFS UIJTQMBUGPSN*E \ ϒϥ΢βͰͷॲཧ ^

Slide 26

Slide 26 text

5SBOTGFS4UBUF.PEVMFͷ௥Ճ αʔόͷ࣮ߦ݁ՌΛར༻ BQQBQQNPEVMFUT !/H.PEVMF \ EFDMBSBUJPOT<"QQ$PNQPOFOU> JNQPSUT< #SPXTFS.PEVMFXJUI4FSWFS5SBOTJUJPO \BQQ*ETFSWFS"QQ^ "QQ3PVUJOH.PEVMF #SPXTFS5SBOTGFS4UBUF.PEVMF > QSPWJEFST<> CPPUTUSBQ<"QQ$PNQPOFOU> ^ BQQBQQTFSWFSNPEVMFUT !/H.PEVMF \ JNQPSUT<"QQ.PEVMF 4FSWFS.PEVMF 4FSWFS5SBOTGFS4UBUF.PEVMF> CPPUTUSBQ<"QQ$PNQPOFOU> ^

Slide 27

Slide 27 text

ड͚౉͠ํ๏ αʔόͷ࣮ߦ݁ՌΛར༻ BQQBQQDPNQPOFOUUT FYQPSUDMBTT"QQ$PNQPOFOUJNQMFNFOUT0O*OJU\ UJUMFHEH MPD)0.& DPOTUSVDUPS QSJWBUFUSBOTGFS4UBUF5SBOTGFS4UBUF !*OKFDU 1-"5'03.@*% QSJWBUFSFBEPOMZQMBUGPSN*E \^ OH0O*OJU \ JG JT1MBUGPSN4FSWFS UIJTQMBUGPSN*E \ UIJTUSBOTGFS4UBUFTFU 45"5&@,&: 50,:0 ^FMTF\ UIJTMPDUIJTUSBOTGFS4UBUFHFU 45"5&@,&: )0.& ^ ^ ^

Slide 28

Slide 28 text

)5.- αʔόͷ࣮ߦ݁ՌΛར༻ CPEZ BQQSPPU@OHIPTUTDOHWFSTJPOQ@OHDPOUFOUTD)FMMP (%(%FW'FTU!)0.&QSPVUFSPVUMFU @OHDPOUFOUTDlSPVUFSPVUMFUDPOUBJOFSBQQSPPU TDSJQUTSDSVOUJNFKTEFGFSTDSJQUTDSJQUTSDQPMZpMMTKTEFGFSTDSJQUTDSJQUTSDWFOEPSKTEFGFS TDSJQUTDSJQUTSDNBJOKTEFGFSTDSJQU TDSJQUJETFSWFS"QQTUBUFUZQFlBQQMJDBUJPOKTPO\R45"5&@,&:RR50,:0R^TDSJQU CPEZ

Slide 29

Slide 29 text

w "1*௨৴Λ൐ͬͨॲཧͷ৔߹ w αʔόͰ"1*͔ΒσʔλΛऔಘ w ϒϥ΢βͰදࣔޙ"1*͔ΒσʔλΛऔಘ "1*ͱͷ௨৴ͷ੍ޚ BQQBQQDPNQPOFOUUT OH0O*OJU \ UIJTIUUQ HFU IUUQMPDBMIPTUBTTFUTEBUBKTPO TVCTDSJCF EBUB \ UIJTMPDEBUB<MPDBUJPO> ^ ^

Slide 30

Slide 30 text

5SBOTGFS)UUQ$BDIF.PEVMFΛ࢖͏ ճ"1*௨৴ΛߦΘͤͳ͍ BQQBQQNPEVMFUT JNQPSU\5SBOTGFS)UUQ$BDIF.PEVMF^GSPN!OHVOJWFSTBMDPNNPO !/H.PEVMF \ EFDMBSBUJPOT<"QQ$PNQPOFOU> JNQPSUT< #SPXTFS.PEVMFXJUI4FSWFS5SBOTJUJPO \BQQ*ETFSWFS"QQ^ "QQ3PVUJOH.PEVMF 5SBOTGFS)UUQ$BDIF.PEVMF )UUQ$MJFOU.PEVMF > QSPWJEFST<> CPPUTUSBQ<"QQ$PNQPOFOU> ^

Slide 31

Slide 31 text

)5.- BQQSPPU@OHIPTUTDOHWFSTJPOQ@OHDPOUFOUTD)FMMP (%(%FW'FTU!803-%QSPVUFSPVUMFU @OHDPOUFOUTDSPVUFSPVUMFUDPOUBJOFSBQQSPPU TDSJQUTSDSVOUJNFKTEFGFSTDSJQUTDSJQUTSDQPMZpMMTKTEFGFSTDSJQUTDSJQUTSDWFOEPSKTEFGFS TDSJQUTDSJQUTSDNBJOKTEFGFSTDSJQU TDSJQUJETFSWFS"QQTUBUFUZQFBQQMJDBUJPOKTPO\R(IUUQMPDBMIPTUBTTFUTEBUBKTPO R\RCPEZR \RMPDBUJPORR803-%R^ RIFBEFSTR\RYQPXFSFECZR<R&YQSFTTR> RBDDFQUSBOHFTR <RCZUFTR> RMBTUNPEJpFER<R4BU 0DU(.5R> RFUBHR<R8 aRFECDFaRR> RDPOUFOUUZQFR<RBQQMJDBUJPOKTPODIBSTFU65'R> RDPOUFOUMFOHUIR <RR> REBUFR<R4BU 0DU(.5R> RDPOOFDUJPOR <RDMPTFR>^ RTUBUVTR RTUBUVT5FYURR0,R RVSMRRIUUQMPDBMIPTUBTTFUTEBUBKTPOR^^TDSJQU

Slide 32

Slide 32 text

w +BWB4DSJQU"QJ.BSLVQ w #FTU1FSGPSNBODF w )JHIFS4FDVSJUZ w $IFBQFS &BTJFS4DBMJOH w #FUUFS%FWFMPQFS&YQFSJFODF Ή͔͠.&"/TUBDLͱ͍͏ͷ͕͋ͬͯ͡Όͳ +BNTUBDLʹ͍ͭͯ IUUQTKBNTUBDLPSH

Slide 33

Slide 33 text

5IFGVUVSFJTIJHIMZEJTUSJCVUFE +BNTUBDL IUUQTKBNTUBDLPSH l+BNTUBDLJTUIFOFXTUBOEBSEBSDIJUFDUVSFGPSUIFXFC6TJOH(JUXPSLqPXTBOENPEFSOCVJMEUPPMT QSF SFOEFSFEDPOUFOUJTTFSWFEUPB$%/BOENBEFEZOBNJDUISPVHI"1*TBOETFSWFSMFTTGVODUJPOT5FDIOPMPHJFTJO UIFTUBDLJODMVEF+BWB4DSJQUGSBNFXPSLT 4UBUJD4JUF(FOFSBUPST )FBEMFTT$.4T BOE$%/Tz

Slide 34

Slide 34 text

4UBUJD4JUF(FOFSBUPS 44(ʹ͍ͭͯ $%/ "1*αʔό ϦΫΤετ )5.-Ϩεϙϯε ϑΣονσʔλ σʔλϨεϙϯε (FOFSBUPS Ξοϓϩʔυ

Slide 35

Slide 35 text

6OJWFSTBMʹ΋ඪ४౥ࡌ 1SFSFOEFSͷ঺հ TDSJQUT\ OHOH TUBSUOHTFSWF CVJMEOHCVJME UFTUOHUFTU MJOUOHMJOU FFOHFF EFWTTSOHSVOHEHTFSWFTTS TFSWFTTSOPEFEJTUHEHTFSWFSNBJOKT CVJMETTSOHCVJMEQSPEOHSVOHEHTFSWFSQSPEVDUJPO QSFSFOEFSOHSVOHEHQSFSFOEFS ^

Slide 36

Slide 36 text

1SFSFOEFSͷ࣮ߦ % npm run prerender > gdg@0.0.0 prerender /Users/teyosh/Work/Test/gdg/gdg > ng run gdg:prerender chunk {} runtime.acf0dec4155e77772545.js (runtime) 1.45 kB [entry] [rendered] chunk {1} main.e720befda9b6b3a4212b.js (main) 203 kB [initial] [rendered] chunk {2} polyfills.35a5ca1855eb057f016a.js (polyfills) 36 kB [initial] [rendered] chunk {3} styles.3ff695c00d717f2d2a11.css (styles) 0 bytes [initial] [rendered] Date: 2020-10-17T00:49:06.437Z - Hash: 34e5b891c698e3390b3b - Time: 15804ms Hash: cb973389017b93bd9133 Time: 15830ms Built at: 2020-10-17 9:49:07 Asset Size Chunks Chunk Names main.js 2.66 MiB 0 [emitted] [big] main Entrypoint main [big] = main.js chunk {0} main.js (main) 5.09 MiB [entry] [rendered] Prerendering 1 route(s) to /Users/teyosh/Work/Test/gdg/gdg/dist/gdg/browser CREATE /Users/teyosh/Work/Test/gdg/gdg/dist/gdg/browser/index.html (1274 bytes)

Slide 37

Slide 37 text

)5.- %0$5:1&IUNMIUNMMBOHFOIFBE NFUBDIBSTFUVUG UJUMF(EHUJUMF CBTFISFG NFUBOBNFWJFXQPSUDPOUFOUXJEUIEFWJDFXJEUI JOJUJBMTDBMF MJOLSFMJDPOUZQFJNBHFYJDPOISFGGBWJDPOJDP MJOLSFMTUZMFTIFFUISFGTUZMFT⒎DEGEBDTTTUZMFOHUSBOTJUJPOTFSWFS"QQTUZMFIFBE CPEZ BQQSPPU@OHIPTUTDOHWFSTJPOQ@OHDPOUFOUTD)FMMP (%(%FW'FTU!803-%QSPVUFSPVUMFU @OHDPOUFOUTDSPVUFSPVUMFUBQQSPPU TDSJQUTSDSVOUJNFBDGEFDFKTEFGFSTDSJQUTDSJQUTSDQPMZpMMTBDBFCGBKT EFGFSTDSJQUTDSJQUTSDNBJOFCFGEBCCBCKTEFGFSTDSJQU TDSJQUJETFSWFS"QQTUBUFUZQFBQQMJDBUJPOKTPO\R(IUUQMPDBMIPTUEBUBKTPO R\RCPEZR \RMPDBUJPORR803-%R^ RIFBEFSTR\RTFSWFSR<R4JNQMF)5511ZUIPOR> REBUFR<R4BU 0DU(.5R> RDPOUFOUUZQFR<RBQQMJDBUJPOKTPOR> RDPOUFOUMFOHUIR<RR> RMBTUNPEJpFER <R'SJ 0DU(.5R>^ RTUBUVTR RTUBUVT5FYURR0,R RVSMRRIUUQMPDBMIPTU EBUBKTPOR^^TDSJQUCPEZIUNM5IJTQBHFXBTQSFSFOEFSFEXJUI"OHVMBS6OJWFSTBM

Slide 38

Slide 38 text

w OHBEE!BOHVMBSQXBΛ࣮ߦ͢Δ͚ͩ 18"ͷ࣮૷ % ng add @angular/pwa Installing packages for tooling via npm. Installed packages for tooling via npm. CREATE ngsw-config.json (624 bytes) CREATE src/manifest.webmanifest (1330 bytes) CREATE src/assets/icons/icon-128x128.png (1253 bytes) CREATE src/assets/icons/icon-144x144.png (1394 bytes) CREATE src/assets/icons/icon-152x152.png (1427 bytes) CREATE src/assets/icons/icon-192x192.png (1790 bytes) CREATE src/assets/icons/icon-384x384.png (3557 bytes) CREATE src/assets/icons/icon-512x512.png (5008 bytes) CREATE src/assets/icons/icon-72x72.png (792 bytes) CREATE src/assets/icons/icon-96x96.png (958 bytes) UPDATE angular.json (5191 bytes) UPDATE package.json (1711 bytes) UPDATE src/app/app.module.ts (846 bytes) UPDATE src/index.html (471 bytes) ✔ Packages installed successfully.

Slide 39

Slide 39 text

OHTXXPSLFSKT͕ੜ੒͞Εͳ͍ 1SFSFOEFSͰͷ஫ҙ IUUQTHJUIVCDPNBOHVMBSVOJWFSTBMJTTVFT NBJOGEBDEDGCFBKT4FSWJDFXPSLFSSFHJTUSBUJPOGBJMFEXJUI5ZQF&SSPS'BJMFEUPSFHJTUFSB4FSWJDF8PSLFSGPS TDPQF IUUQMPDBMIPTU XJUITDSJQU IUUQMPDBMIPTUOHTXXPSLFSKT "CBE)551SFTQPOTFDPEF XBT SFDFJWFEXIFOGFUDIJOHUIFTDSJQU

Slide 40

Slide 40 text

ରࡦ ͜ͷ΍Γํ͸ѱख OHTXKTPOʹొ࿥͞ΕΔJOEFYIUNMͷIBTI͸TSDJOEFYIUNMͷ΋ͷͰ͋ΓɺQSFSFOEFSͨ݁͠ՌͰ͸ͳ͍

Slide 41

Slide 41 text

݁Ռ

Slide 42

Slide 42 text

IUUQTHJUIVCDPNITVBOYZ[BEEJUJPOBMTFSWJDFXPSLFSCVJMEFS "EEJUJPOBM4FSWJDF8PLFS#VJMEFS QSFSFOEFS͞ΕͨϑΝΠϧΛݩʹOHTXKTPOΛੜ੒͢ΔͨΊʹpMFIBTI͕ਖ਼͍͠΋ͷ͕ొ࿥͞ΕΔ 4FSWJDFXPSLFSͷ$BDIF͕ͪΌΜͱޮ͘Α͏ʹͳΓ·ͨ͠ɻ

Slide 43

Slide 43 text

݁Ռ

Slide 44

Slide 44 text

w "OHVMBS6OJWFSTBMͷಋೖ͸ͱͯ΋؆୯ w 443ݻ༗ͷ໰୊͸ೝࣝ͢Δ͜ͱ w -JHIUIPVTF͔Β'.1ͷࢦ਑͸ফ͑ͨ w +BNTUBDL΋͍͚Δ w 1SFSFOEFSͰ18"ରԠ͸গ͠ςΫχοΫ͕ඞཁ w 6OJWFSTBM͸׬શʹཧղͨ͠ ·ͱΊ