Slide 1

Slide 1 text

3BJMTͷ 
 γεςϜςετղ๤ֶ !:VTVLF*XBLJ,BJHJPO3BJMT

Slide 2

Slide 2 text

ࣗݾ঺հ !:VTVLF*XBLJ w ෱Ԭࡏॅɻ w 3BJMTΛ࢖ͬͨ8FCαʔϏε։ൃͷ͓࢓ࣄɻ w 3VCZ͔Βϒϥ΢βࣗಈૢ࡞͢ΔͨΊͷબ୒ࢶΛ૿΍͢׆ಈதɻ w ϒϥ΢βΛࣗಈૢ࡞͢Δ1VQQFUFFS΍1MBZXSJHIUʹυϋϚϦதɻ

Slide 3

Slide 3 text

lγεςϜςετղ๤ֶz ຊ೔ͷ͓୊

Slide 4

Slide 4 text

🙋Έͳ͞Μ🙋 ςετॻ͍ͯ·͔͢ʁ

Slide 5

Slide 5 text

3BJMTͱςετ PEFM JFX POUSPMMFS . 7 $ .PEFMTQFD ϏδωεϩδοΫΛ٧ΊࠐΜͰɺ୯ମࢼݧ͠Α͏ ͳΔ΂͘ബ͘ɻ ϦμΠϨΫτͷڍಈͳͲ͸$POUSPMMFSTQFDͰɻ "1*Ͱ͋Ε͹3FRVFTUTQFDΛ࢖͓͏ɻ ʁʁʁ

Slide 6

Slide 6 text

+BWB4DSJQUΛ;ΜͩΜʹ࢖ͬͨ7JFXͷςετ ˠʮԿ΋ͯ͠ͳ͍ͷʹյΕͨʂʂʯ ˠʮͳ͔ͥɺͱ͖Ͳ͖ɺΑ͘$*མͪΔʯ ˠ୯ମςετ͸͖͋ΒΊɻ ɹϒϥ΢βΛ࣮ࡍʹಈ͔͢γεςϜςετͰ୅༻ɻ ͋ʔɺ͜ΕམͪΔςετͳɻ ϦτϥΠɹΆͪͬ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

γεςϜςετʹର͢Δੈͷதͷঢ়گ ʮ˓˓ͨ͠΄͏͕͍͍Αʯ ʮ˓˓͠ͳ͍΄͏͕͍͍Αʯ (PPHMFݕࡧ͢Ε͹ɺ ৘ใ͸ͨ͘͞Μग़ͯ͘Δ 3BJMTͷγεςϜςετͷߏ੒ཁૉ͸ʁ ͲͷλΠϛϯάͰԿ͕ಈ͘ʁ ιʔεΛಡ·ͳ͍ͱΘ͔Βͳ͍ ͜ͱ͕ଟ͍ 3BJMTͷγεςϜςετΛɺϒϥοΫϘοΫεͳ··ٞ࿦Λ͍ͯ͠·ͤΜ͔ʁ

Slide 10

Slide 10 text

lγεςϜςετղ๤ֶz

Slide 11

Slide 11 text

͜ͷϓϨθϯͷΰʔϧ ʮ˓˓ͨ͠΄͏͕͍͍Αʯ ʮ˓˓͠ͳ͍΄͏͕͍͍Αʯ 3BJMTͷγεςϜςετͷߏ੒ཁૉ͸ʁ ͲͷλΠϛϯάͰԿ͕ಈ͘ʁ ϕετϓϥΫςΟε ΛӏವΈʹͤͣʹ 3BJMTγεςϜςετͷதͷ࢓૊Έ Λཧղͯ͠ ՝୊෼ੳɾղܾΛ͠Α͏ɻ ෭࣍తͳޮՌͱͯ͠ 
 ͜ΕͰɺ$BQZCBSB͕͋Δ೔ಥવͳ͘ͳͬͯ΋ɺ͋ͳͨͷνʔϜͰ͸γεςϜςετΛଓ͚͍͚ͯΔʂ

Slide 12

Slide 12 text

ղ๤։࢝ 3BJMTγεςϜςετ

Slide 13

Slide 13 text

3BJMTγεςϜςετͷੜཱ͍ͪ IUUQTHJUIVCDPNSBJMTSBJMTQVMM

Slide 14

Slide 14 text

3BJMTγεςϜςετͷཁૉᶃ ࡶʹҙ༁͢Δͱɾɾɾ γεςϜड͚ೖΕςετΛ3BJMTʹಋೖ͍͕ͨ͠ $BQZCBSB΍4FMFOJVN͸ηοτΞοϓ͕໘౗ɻ 3BJMTͱͯ͠σϑΥϧτઃఆΛ༻ҙͯ͠ɺ αοͱ࢖͍࢝ΊΒΕΔΑ͏ʹ͍ͨ͠ΑͶɻ

Slide 15

Slide 15 text

3BJMTγεςϜςετͷཁૉᶄ ࡶʹҙ༁͢Δͱɾɾɾ ςετϥϯφʔͱ8FCαʔόʔͷεϨου͕෼͔Ε͍ͯΔ͜ͱͰɺ 5SBOTBDUJPOBM'JYUVSFʢ'BDUPSZ#PUͷςετσʔλͳͲʣ ͕ظ଴௨Γʹಈ͔ͳ͍໰୊͋ͬͨΑͶɻ %BUBCBTF$MFBOFS͕͜Ε·Ͱ࢖ΘΕ͖͚ͯͨͲɺ 3BJMTͷ"DUJWF3FDPSEΛमਖ਼͢Δ͜ͱͰղܾ͠Α͏Αɻ

Slide 16

Slide 16 text

3BJMTγεςϜςετ 4IBSJOH%#DPOOFDUJPO ʴ $BQZCBSBJOUFHSBUJPO 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ಛผͳ(FNͳͲΛඞཁͱͤͣʹ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͨ͠ $BQZCBSBΛॳظઃఆͳ͠Ͱ΋ ͋Δఔ౓͸࢖͑ΔΑ͏ʹͨ͠

Slide 17

Slide 17 text

4IBSJOH%#DPOOFDUJPO 3BJMT·Ͱى͖͍ͯͨ͜ͱ 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ͳ͍

Slide 18

Slide 18 text

4IBSJOH%#DPOOFDUJPO

Slide 19

Slide 19 text

4IBSJOH%#DPOOFDUJPO

Slide 20

Slide 20 text

4IBSJOH%#DPOOFDUJPO 3BJMT γεςϜςετಋೖ Ҏ߱͸ 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨ

Slide 21

Slide 21 text

4IBSJOH%#DPOOFDUJPO w "DUJWF3FDPSE5FTU'JYUVSFTʹमਖ਼͕ೖ͓ͬͯΓɺ 
 ҟͳΔεϨου͔ΒͷΞΫηεͰ΋%#ίωΫγϣϯΛڞ༗͢Δɻ w ʮϢʔβ͕ਓ͍Δঢ়ଶʯΛ'BDUPSZ#PUͰ࡞Ε͹ 
 ϒϥ΢β͔Β΋ͦΕΛഈΊΔΑ͏ʹͳͬͨʂ w τϥϯβΫγϣϯɾϩʔϧόοΫͳͷͰɺ 
 ʢ*/4&35536/$"5&ʹൺ΂Δͱʣಈ࡞͕ߴ଎ʂ w ҟͳΔzϓϩηεzͰ8FCαʔόʔ͕ىಈ͍ͯ͠Δ৔߹ʹ͸ 
 %#ίωΫγϣϯ͸ผͳͷͰɺ͜ͷػೳ͕࢖͑ͳ͍ɻ %BUBCBTF$MFBOFSͷUSVODBUJPOετϥςδ

Slide 22

Slide 22 text

%&.0 ϩάΠϯϢʔβ໊ ͓͠ΒͤҰཡ "KBY ɾ'BDUPSZ#PUͰ࡞ͬͨσʔλΛϒϥ΢β͔ΒݟΕΔʁ ɾCVOEMFFYFDSBJMTDͰ'BDUPSZ#PUͷσʔλ͸ݟ͑Δʜʁ ɾ΋͠1VNBΛΫϥελϞʔυͰىಈ͢Δͱʜ 

Slide 23

Slide 23 text

3BJMTγεςϜςετ 4IBSJOH%#DPOOFDUJPO ʴ $BQZCBSBJOUFHSBUJPO 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ಛผͳ(FNͳͲΛඞཁͱͤͣʹ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͨ͠ $BQZCBSBΛॳظઃఆͳ͠Ͱ΋ ͋Δఔ౓͸࢖͑ΔΑ͏ʹͨ͠

Slide 24

Slide 24 text

3BJMTγεςϜςετ 4IBSJOH%#DPOOFDUJPO ʴ $BQZCBSBJOUFHSBUJPO 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ಛผͳ(FNͳͲΛඞཁͱͤͣʹ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͨ͠ $BQZCBSBΛॳظઃఆͳ͠Ͱ΋ ͋Δఔ౓͸࢖͑ΔΑ͏ʹͨ͠

Slide 25

Slide 25 text

$BQZCBSB w ड͚ೖΕςετ༻ͷςετϑϨʔϜϫʔΫ w ֤ςετϥϯφʔ༻ͷΞαʔγϣϯɺTFUVQUFBSEPXO w 3BJMTαʔόʔΛඞཁʹԠͯ͡ىಈ w ϒϥ΢βࣗಈૢ࡞ͷͨΊͷ%4-

Slide 26

Slide 26 text

$BQZCBSBίʔυྫ

Slide 27

Slide 27 text

$BQZCBSBͷηοτΞοϓ

Slide 28

Slide 28 text

$BQZCBSBͷηοτΞοϓ

Slide 29

Slide 29 text

$BQZCBSBͷηοτΞοϓ

Slide 30

Slide 30 text

$BQZCBSBͷηοτΞοϓ

Slide 31

Slide 31 text

$BQZCBSBͷηοτΞοϓ

Slide 32

Slide 32 text

$BQZCBSBͷηοτΞοϓ ηοτΞοϓ͕݁ߏͨ͘͞Μඞཁ

Slide 33

Slide 33 text

3BJMTʹΑΔ$BQZCBSBઃఆ ʢ$ISPNF%SJWFSΛΠϯετʔϧ͍ͯ͠Ε͹ʣ ͙͢ʹγεςϜςετΛॻ͘ಈ͔͢͜ͱ͕Ͱ͖ΔΑ͏ʹ͠Α͏ʂ

Slide 34

Slide 34 text

3BJMTʹΑΔ$BQZCBSBઃఆ

Slide 35

Slide 35 text

3BJMTʹΑΔ$BQZCBSBઃఆ

Slide 36

Slide 36 text

3BJMTʹΑΔ$BQZCBSBઃఆ

Slide 37

Slide 37 text

3BJMTʹΑΔ$BQZCBSBઃఆ

Slide 38

Slide 38 text

3BJMTʹΑΔ$BQZCBSBઃఆ ʢ$ISPNF%SJWFSΛΠϯετʔϧ͍ͯ͠Ε͹ʣ ͙͢ʹʢ͋Δఔ౓ͷʣγεςϜςετΛॻ͘ಈ͔͢͜ͱ͕Ͱ͖Δ

Slide 39

Slide 39 text

3BJMTγεςϜςετͷੜཱ͍ͪ 4IBSJOH%#DPOOFDUJPO ʴ $BQZCBSBJOUFHSBUJPO 'BDUPSZ#PUͳͲͰ࡞ͬͨςετσʔλΛɺ ಛผͳ(FNͳͲΛඞཁͱͤͣʹ ϒϥ΢β͔ΒݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͨ͠ $BQZCBSBΛॳظઃఆͳ͠Ͱ΋ ͋Δఔ౓͸࢖͑ΔΑ͏ʹͨ͠

Slide 40

Slide 40 text

͜ͷϓϨθϯͷΰʔϧʢ࠶ܝʣ ʮ˓˓ͨ͠΄͏͕͍͍Αʯ ʮ˓˓͠ͳ͍΄͏͕͍͍Αʯ 3BJMTͷγεςϜςετͷߏ੒ཁૉ͸ʁ ͲͷλΠϛϯάͰԿ͕ಈ͘ʁ ϕετϓϥΫςΟε ΛӏವΈʹͤͣʹ 3BJMTγεςϜςετͷதͷ࢓૊Έ Λཧղͯ͠ ՝୊෼ੳɾղܾΛ͠Α͏ɻ

Slide 41

Slide 41 text

$BQZCBSB͸ʮηοτΞοϓ͕ϥΫʹͳͬͨΑʯ ͚ͩͰ͸ͳ͘ɺத਎ͷཧղΛਂΊΔඞཁ͕͋Δʁ $BQZCBSB*OUFHSBUJPO 4IBSJOH%#DPOOFDUJPO

Slide 42

Slide 42 text

ղ๤։࢝ $BQZCBSB

Slide 43

Slide 43 text

$BQZCBSBͷओͳ໾ׂ w ֤छςετϥϯφʔͷηοτΞοϓΛ͢Δ w DBQZCBSBSTQFD DBQZCBSBNJOJUFTU DBQZCBSBDVDVNCFS w )551αʔόʔΛىಈ͢Δ w DBQZCBSBSBJMT $BQZCBSB4FSWFS w ϒϥ΢βΛࣗಈૢ࡞͢Δ w $BQZCBSB%4- $BQZCBSB%SJWFS

Slide 44

Slide 44 text

ςετϥϯφʔͷηοτΞοϓ

Slide 45

Slide 45 text

ςετϥϯφʔͷηοτΞοϓ w ຊདྷͷґଘؔ܎͸ 
 ςετϥϯφʔ͕$BQZCBSBΛɹηοτΞοϓ

Slide 46

Slide 46 text

ςετϥϯφʔͷηοτΞοϓ IUUQTHJUIVCDPNSTQFDSTQFDSBJMTCMPCWMJCSTQFDSBJMTWFOEPSDBQZCBSBSC STQFDSBJMTͷίʔυ ඍົʹґଘ ґଘ

Slide 47

Slide 47 text

ςετϥϯφʔͷηοτΞοϓ DBQZCBSBSTQFD ༨ܭͳॲཧ BGUFS FBDI Ͱ $BQZCBSB಺෦ঢ়ଶΛϦηοτ

Slide 48

Slide 48 text

ςετϥϯφʔͷηοτΞοϓ DBQZCBSBNJOJUFTU .JOJUFTU޲͚ʹ͸ηοτΞοϓϔϧύʔͳ͠ɻ Ϣʔβ͕खಈͰ ɾ%4-ͱ"TTFSUJPOTΛJODMVEFͨ͠Γ ɾUFBSEPXOͰঢ়ଶΛϦηοτͨ͠Γ ͕ඞཁ Ͱ΋3BJMTҎ߱͸ 4ZTUFN5FTU$BTF͕ ͥΜͿ΍ͬͯ͘ΕΔ

Slide 49

Slide 49 text

ςετϥϯφʔͷηοτΞοϓ 34QFDͷ৔߹ UFBSEPXO࣌ͷ಺෦ঢ়ଶϦηοτʴЋΛ ςετϥϯφʔʹ΍ͬͯ΋Β͏ͨΊͷ ϔϧύʔϞδϡʔϧΛఏڙ .JOJ5FTUͷ৔߹ Ξαʔγϣϯͷϝιουఆ͚ٛͩఏڙ

Slide 50

Slide 50 text

)551αʔόʔͷىಈ

Slide 51

Slide 51 text

)551αʔόʔͷىಈ w $BQZCBSBBQQʹࢦఆ͞Εͨ3BDLΞϓϦέʔγϣϯΛ 
 $BQZCBSBTFSWFSʹࢦఆ͞Εͨ3BDLαʔόʔΛ࢖ͬͯىಈ͢Δ

Slide 52

Slide 52 text

)551αʔόʔͷىಈ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFSWFSSC SBDLVQʢ3BDL4FSWFSTUBSUʣʹࣅͨɺಠࣗͷϩδοΫͰαʔόʔΛىಈ͢Δ

Slide 53

Slide 53 text

$BQZCBSB͕࢓ࠐΜͩϛυϧ΢ΣΞ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFSWFSNJEEMFXBSFSC ىಈ֬ೝ༻ΤϯυϙΠϯτ ΞΫςΟϒͳϦΫΤετ਺ ͷ؅ཧ $BQZCBSB಺෦ঢ়ଶϦηοτ࣌ʹ HSFBDFGVMʹϦηοτ͢ΔͨΊ

Slide 54

Slide 54 text

)551αʔόʔͷىಈλΠϛϯά IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFTTJPOSC $ bundle exec ruby run.rb [1] pry(main)> Capybara.current_sessio n Capybara starting Puma.. . * Version 5.5.0 , codename: Zawgy i * Min threads: 0, max threads: 4 * Listening on http://127.0.0.1:4918 9 => # $BQZCBSB4FTTJPOJOJUJBMJ[F $BQZCBSBDVSSFOU@TFTTJPOͷॳճࢀর࣌ ʹ$BQZCBSB4FTTJPO͕࡞ΒΕͯɺ ͦ͜Ͱ)551αʔόʔ͕ىಈ͢Δ

Slide 55

Slide 55 text

)551αʔόʔͷىಈ ɾSBDLVQʹࣅͨಠࣗͷϩδοΫͰ ɹ3BDLαʔόʔΛىಈ ɾ$BQZCBSBDVSSFOU@TFTTJPOॳճࢀর࣌ʹ ɹαʔόʔىಈϓϩηε͕૸Δ ɾ3BDLΞϓϦΛಠࣗͷϛυϧ΢ΣΞͰϥοϓͯ͠ ɹ)551ૄ௨֬ೝ଴ͪɺHSFBDFGVMͳϦηοτ ɹΛ࣮ݱ͍ͯ͠Δ

Slide 56

Slide 56 text

ϒϥ΢βͷࣗಈૢ࡞

Slide 57

Slide 57 text

ϒϥ΢βͷࣗಈૢ࡞ $BQZCBSB͕ఏڙ͢Δ%4-Λ࢖ͬͯ ϒϥ΢βΛࣗಈૢ࡞͢Δ

Slide 58

Slide 58 text

ࣗಈૢ࡞ͷͨΊͷϝιου ϒϥ΢βυΩϡϝϯτશମ ʹର͢Δૢ࡞Λߦ͏ϝιου $BQZCBSB4FTTJPO  %0.ཁૉʹର͢Δɹʏ $BQZCBSB/PEF&MFNFOU BMM fi STUBUUBDI@ fi MFUFYUDIFDLDIPPTFTDSPMM@UPTDSPMM@CZ DMJDL@MJOL@PS@CVUUPODMJDL@CVUUPODMJDL@MJOL fi MM@JO fi OE fi OE@BMM fi OE@CVUUPO fi OE@CZ@JE fi OE@ fi FME fi OE@MJOL UJUMFCPEZIUNMTPVSDF DVSSFOU@VSM DVSSFOU@IPTUDVSSFOU@QBUI FYFDVUF@TDSJQUFWBMVBUF@TDSJQU WJTJUSFGSFTI HP@CBDLHP@GPSXBSE TFOE@LFZTXJUIJOXJUIJO@FMFNFOUXJUIJO@ fi FMETFUXJUIJO@UBCMFXJUIJO@GSBNF TXJUDI@UP@GSBNFDVSSFOU@XJOEPXXJOEPXTPQFO@OFX@XJOEPX TXJUDI@UP@XJOEPXXJUIJO@XJOEPXXJOEPX@PQFOFE@CZTBWF@QBHFTBWF@BOE@PQFO@QBHF TBWF@TDSFFOTIPUTBWF@BOE@PQFO@TDSFFOTIPUSFTFU@TFTTJPO SFTQPOTF@IFBEFST TUBUVT@DPEFDVSSFOU@TDPQF <>BMMPX@SFMPBEDIFDLFE  DMJDLEJTBCMFE EPVCMF@DMJDL ESBH@UPESPQFWBMVBUF@BTZOD@TDSJQUFWBMVBUF@TDSJQU FYFDVUF@TDSJQU fl BTI IPWFSJOJUJBM@DBDIFJOTQFDUNVMUJQMF OBUJWF PCTDVSFE QBUISFBEPOMZ SFDUSFMPBESJHIU@DMJDLTDSPMM@UP TFMFDU@PQUJPOTFMFDUFE  TFOE@LFZTTFUTUZMFUBH@OBNFUFYU USJHHFSVOTFMFDU@PQUJPOWBMVF WJTJCMF

Slide 59

Slide 59 text

$BQZCBSB%4-ͷ࣮ମ $BQZCBSBͷ%4-ͷϝιου͸શͯ $BQZCBSBDVSSFOU@TFTTJPOʹ εϧʔύε͢Δ͚ͩ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBETMSC

Slide 60

Slide 60 text

)551αʔόʔͷىಈλΠϛϯάʢ࠶ܝʣ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFTTJPOSC $BQZCBSB4FTTJPOJOJUJBMJ[F $BQZCBSBDVSSFOU@TFTTJPOͷॳճࢀর࣌ ʹ$BQZCBSB4FTTJPO͕࡞ΒΕͯɺ ͦ͜Ͱ)551αʔόʔ͕ىಈ͢Δ ͋Δ͍͸ɺ $BQZCBSBͷ%4-ΛॳΊͯ࢖͏λΠϛϯά

Slide 61

Slide 61 text

)551αʔόʔͷىಈλΠϛϯάʢ࠶ܝʣ ͜͜Ͱ)551αʔόʔ͕ىಈ͢Δ

Slide 62

Slide 62 text

$BQZCBSB%4-ͱυϥΠό $BQZCBSB%4- WJTJU DMJDL ʜ XJUI@JOʜ ૢ࡞಺༰Λهड़͢Δ͚ͩɻ ϒϥ΢βͷૢ࡞ํ๏͸஌Βͳ͍ɻ

Slide 63

Slide 63 text

$BQZCBSB%4-ͱυϥΠό $BQZCBSB%4- WJTJU DMJDL ʜ XJUI@JOʜ $BQZCBSBυϥΠό͕ ϒϥ΢βͷૢ࡞ํ๏Λఆٛ͢Δ

Slide 64

Slide 64 text

$BQZCBSBυϥΠό ˞Ұ෦লུ͍ͯ͠Δ෦෼͕͋Γ·͢

Slide 65

Slide 65 text

$BQZCBSBυϥΠόͷ༗໊Ͳ͜Ζ 4FMFOJVN w 4FMFOJVN8FC%SJWFSΛར༻ͯ͠ϒϥ΢βΛࣗಈૢ࡞ɻ 
 ར༻ϒϥ΢β͝ͱʹɺผ్8FCυϥΠόʔΛΠϯετʔϧ͢Δඞཁ͋Γɻ $VQSJUF w $ISPNF%FW5PPMT1SPUPDPMΛར༻ͨ͠'FSSVNͱ͍͏ϥΠϒϥϦΛར༻ͯ͠ 
 &EHF΍$ISPNFΛࣗಈૢ࡞ɻ 1PMUFSHFJTU DBQZCBSBXFCLJU w 1IBOUPN+4΍2U8FC,JUͳͲΛϕʔεʹࣗಈૢ࡞ɻ 
 ࠓ͸΋͏ϝϯς͞Ε͍ͯͳ͍

Slide 66

Slide 66 text

$BQZCBSBυϥΠόͷ࣮૷ IUUQT[FOOEFWZVTVLFJXBLJTDSBQTBBCGBF ͢Έ·ͤΜɺ࿩͢ͱ͔ͳΓ௕͘ͳΔͷͰɺҎԼͷ[FOOͷهࣄΛಡΜͰ͍ͩ͘͞ɾɾɾʢ׼

Slide 67

Slide 67 text

$BQZCBSBʹΑΔࣗಈૢ࡞ͷॲཧৄࡉ $BQZCBSB͕಺෦ͰͲ͏͍͏ॲཧΛ͍ͯ͠Δͷ͔ ۩ମతͳϢʔεέʔεΛྫʹɺιʔείʔυΛಡΜͰΈ·͠ΐ͏ʂ ɾ%0.ཁૉͷऔಘ ɾJOQVUϑΥʔϜ΁ͷจࣈೖྗ :VTVLF*XBLJ Ϣʔβʔ໊ ύεϫʔυ ର৅Ϣʔεέʔε %"4)#0"3% ͜Μʹͪ͸:VTVLF*XBLJ͞Μ HSFFUJOH

Slide 68

Slide 68 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM

Slide 69

Slide 69 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFTTJPOSC fi OE΍DMJDLͳͲ͸ɺ υΩϡϝϯτϧʔτ/PEFʹର͢Δ ϝιουݺͼग़͠

Slide 70

Slide 70 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM RVFSZ4FMFDUPS"MMతͳಈ࡞Λ͢Δ΋ͷ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC

Slide 71

Slide 71 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC RVFSZ4FMFDUPS"MMతͳΫΤϦΛ࣮ߦ ̎ݸҎ্ͩͬͨΓ̌ݸͩͬͨΓͨ͠ΒSBJTF ώοτͨ̍͜͠Λฦ͢

Slide 72

Slide 72 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM ࡉ͔͍Φϓγϣϯͷॲཧ RVFSZ4FMFDUPS"MMతͳಈ࡞Λ͢Δ΋ͷ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC RVFSZ4FMFDUPS"MMతͳΫΤϦΛ࣮ߦ ࡉ͔͍Φϓγϣϯͷॲཧ ࡉ͔͍Φϓγϣϯͷॲཧ ݁ՌΛશ෦ฦ͢

Slide 73

Slide 73 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC ˠTZODISPOJ[F\EPDVNFOURVFSZ4FMFDUPS"MMతͳ fi STU^ ɹTZODISPOJ[F\EPDVNFOURVFSZ4FMFDUPS"MMతͳBMM^

Slide 74

Slide 74 text

%0.ཁૉͷऔಘ υϥΠό͕RVFSZ4FMFDUPS"MMతͳಈ࡞Λ࣮૷

Slide 75

Slide 75 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC ˠTZODISPOJ[F\EPDVNFOURVFSZ4FMFDUPS"MMతͳ fi STU^ ɹTZODISPOJ[F\EPDVNFOURVFSZ4FMFDUPS"MMతͳBMM^ ͜Ε͸Կʁ

Slide 76

Slide 76 text

TZODISPOJ[F ɾ+BWBͷΑ͏ʹεϨουഉଞॲཧΛ΍ΔΞϨͰ͸ͳ͍ ɾ໊લʹ൓ͯ͠ɺʮ৚݅Λຬͨ͢·Ͱ଴ͭʯ໾ׂΛ΋ͭϝιου ɾʮը໘ભҠ͙ͯͩ͢͠ͱɺͦ͜ʹ%0.ཁૉ͕ͳ͍͔΋͠Εͳ͍ʯ 
 ɹʮ͖ͬ͞·Ͱ͋ͬͨ%0.ཁૉ͕ͳ͘ͳͬͯΔ͔΋͠Εͳ͍ʯ 
 ɹͷΑ͏ͳέʔεΛɺڞ௨తʹέΞ͢Δ

Slide 77

Slide 77 text

TZODISPOJ[F IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFCBTFSC

Slide 78

Slide 78 text

TZODISPOJ[F IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFCBTFSC TZODISPOJ[F\ʜ^ϒϩοΫͷதʹTZODISPOJ[F͕͋Δ৔߹ʹ͸ɺ ωετ͍ͯ͠Δ৔߹ʹ͸ Ұ൪֎ଆͷTZODISPOJ[F͚ͩ༗ޮɻ

Slide 79

Slide 79 text

TZODISPOJ[F IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFCBTFSC λΠϚʔʢσϑΥϧτ̎ඵɺΧελϚΠζՄʣΛ༻ҙ ༩͑ΒΕͨϒϩοΫͷॲཧΛ࣮ߦ ϦτϥΠʂ ྫ֎͕ൃੜͨ͠ͱͯ͠΋ɾɾɾ ඵ଴͔ͬͯΒ ࣍ϖʔδͰಡΈղ͘ ʢ࣍ϖʔδͰಡΈղ͘ʣ

Slide 80

Slide 80 text

TZODISPOJ[F IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFCBTFSC αʔόʔىҼͷྫ֎͸ͦͷ··SBJTF λΠϚʔ੾ΕͩͬͨΒͦͷ··SBJTF ʮ%0.ཁૉ͕ݟ͔ͭΒͳ͍ʯҎ֎Ͱ͋Ε͹ͦͷ··SBJTF

Slide 81

Slide 81 text

TZODISPOJ[F IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFCBTFSC λΠϚʔʢσϑΥϧτ̎ඵɺΧελϚΠζՄʣΛ༻ҙ ༩͑ΒΕͨϒϩοΫͷॲཧΛ࣮ߦ ϦτϥΠʂ ྫ֎͕ൃੜͨ͠ͱͯ͠΋ɾɾɾ ඵ଴͔ͬͯΒ ʮ%0.ཁૉ͕ݟ͔ͭΒͳ͍ʯ৔߹ʹ͸ λΠϚʔ͕੾Ε͍ͯͳ͚Ε͹

Slide 82

Slide 82 text

%0.ཁૉͷऔಘ ˠ$BQZCBSB4FTTJPO fi OE ɹ$BQZCBSB4FTTJPOBMM ˠ$BQZCBSB/PEF#BTF fi OE ɹ$BQZCBSB/PEF#BTFBMM IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEF fi OEFSTSC ˠ࠷େ̎ඵ͸ϙʔϦϯά\EPDVNFOURVFSZ4FMFDUPS"MMతͳ fi STU^ ɹ࠷େ̎ඵ͸ϙʔϦϯά\EPDVNFOURVFSZ4FMFDUPS"MMతͳBMM^

Slide 83

Slide 83 text

%0.ཁૉͷऔಘ %0.ཁૉ͕ݱΕΔ·Ͱ ϙʔϦϯά֬ೝ

Slide 84

Slide 84 text

%0.ཁૉͷऔಘʹݟΔ$BQZCBSBͷऑ఺ $BQZCBSB͕ࣗલͰ υϥΠόͷछྨʹΑΒͣ ͘͝·ΕʹඵεϦʔϓͷؒʹح੻͕ى͖ͯɺ %0.มߋݕ஌Λಀͯ͠λΠϜΞ΢τΤϥʔʹͳΔ ͜ͱ͕͋Δʢ͔΋ʜܦݧଇͰɺཪ͸औΕ͍ͯͳ͍ʣ ࠷ۙͷࣗಈૢ࡞Τϯδϯʢ1MBZXSJHIUͳͲʣ͸ %0.ཁૉ͕ݱΕΔ·Ͱಈ͔ͳ͘ͳΔ·Ͱ ࣗಈͰ଴ͬͯ͘ΕΔ͕ɺͦͷಛੑΛ׆͔ͤͳ͍ʜ %0.ཁૉ͕ݱΕΔ·Ͱ ϙʔϦϯά֬ೝ

Slide 85

Slide 85 text

จࣈೖྗ ˠ$BQZCBSB4FTTJPO fi MM@JO fill_in('name’, with: 'YusukeIwaki')

Slide 86

Slide 86 text

จࣈೖྗ ˠ$BQZCBSB4FTTJPO fi MM@JO IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFBDUJPOTSC fill_in('name’, with: 'YusukeIwaki') ˠ$BQZCBSB/PEF#BTF fi MM@JO $BQZCBSBυϥΠόͷ/PEFTFUϝιουΛݺͿ͚ͩ %0.ཁૉΛ fi OEͰ୳ͯ͠

Slide 87

Slide 87 text

จࣈೖྗ ˠ$BQZCBSB4FTTJPO fi MM@JO IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFBDUJPOTSC fill_in('name’, with: 'YusukeIwaki') ˠ$BQZCBSB/PEF#BTF fi MM@JO fi MMBCMF@ fi FMEͰbOBNF`ʹ֘౰͢Δ%0.ݕࡧ ˠ fi OE  fi MMBCMF@ fi FME bOBNF`  TFU b:VTVLF*XBLJ`

Slide 88

Slide 88 text

จࣈೖྗ ˠ$BQZCBSB4FTTJPO fi MM@JO IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBTFMFDUPSEF fi OJUJPO fi MMBCMF@ fi FMESC fill_in('name’, with: 'YusukeIwaki') ˠ$BQZCBSB/PEF#BTF fi MM@JO ˠ fi OE@YQBUI lEFTDFOEBOU < !JEOBNF PS !OBNFOBNF PS !QMBDFIPMEFSOBNF PS !JE MBCFM< OPSNBMJ[FTQBDF TUSJOH  OBNF >!GPS >cMBCFM< OPSNBMJ[FTQBDF TUSJOH   OBNF >EFTDFOEBOU z ˠ fi OE  fi MMBCMF@ fi FME bOBNF`  TFU b:VTVLF*XBLJ` Ϣʔβ͕໨ࢹՄೳͳ΋ͷΛฒ΂ͨɺ ΋ͷ͍͢͝91BUIΫΤϦʜʢۤসʣ

Slide 89

Slide 89 text

จࣈೖྗ IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCNBTUFSMJCDBQZCBSBOPEFBDUJPOTSC ΋ͷ͍͢͝91BUIΫΤϦ

Slide 90

Slide 90 text

ϒϥ΢βͷࣗಈૢ࡞ ɾ$BQZCBSB%4-ʜૢ࡞ํ๏Λهड़͢Δ͚ͩ ɹ$BQZCBSBυϥΠόʜϒϥ΢βࣗಈૢ࡞ͷ࣮૷෦෼ ɾ$BQZCBSB%4-ͷϕʔε࣮૷Ͱɺ ɹʮඵͷεϦʔϓΛͭͭ͠࠷େ̎ඵ଴ͭʯ ɹͱ͍͏ಠࣗͷϙʔϦϯάϩδοΫ͕͋Δɻ ɾ fi MM@JOͳͲҰ෦ͷࣗಈૢ࡞Ͱ͸ɺ 
 ɹෳࡶոحͳ91BUIΫΤϦͰ%0.ݕࡧ͍ͯ͠Δɻ

Slide 91

Slide 91 text

3BJMTγεςϜςετ $BQZCBSB*OUFHSBUJPO 4IBSJOH%#DPOOFDUJPO

Slide 92

Slide 92 text

͜ͷϓϨθϯͷΰʔϧʢ࠶ܝʣ ʮ˓˓ͨ͠΄͏͕͍͍Αʯ ʮ˓˓͠ͳ͍΄͏͕͍͍Αʯ 3BJMTͷγεςϜςετͷߏ੒ཁૉ͸ʁ ͲͷλΠϛϯάͰԿ͕ಈ͘ʁ ϕετϓϥΫςΟε ΛӏವΈʹͤͣʹ 3BJMTγεςϜςετͷதͷ࢓૊Έ Λཧղͯ͠ ՝୊෼ੳɾղܾΛ͠Α͏ɻ

Slide 93

Slide 93 text

த਎Λগ͠Θ͔ͬͨͱ͜ΖͰɺ 3BJMTͷγεςϜςετͷվળ͸Ͳ͏͢Ε͹ʜ $BQZCBSB*OUFHSBUJPO 4IBSJOH%#DPOOFDUJPO

Slide 94

Slide 94 text

࣏ྍ։࢝ 3BJMTγεςϜςετ

Slide 95

Slide 95 text

࣮ࡍͷςετӡ༻ͷ՝୊ w ࣗಈૢ࡞ͷӡ༻Ͱେมͳͷ͸ʮෆ҆ఆͳςετʯ w ͦ΋ͦ΋զʑ3BJMT։ൃऀ͕΍Γ͍ͨͷ͸ 
 2"؍఺ͷϒϥοΫϘοΫεςετͰ͸ͳ͘ 
 Ϗϡʔͷ୯ମ౷߹ࢼݧ ๯಄ͷεϥΠυˠ

Slide 96

Slide 96 text

ϒϥοΫϘοΫεςετͱ։ൃऀͷςετ ؅ཧऀϩάΠϯͨ͠Βɺ μογϡϘʔυʹભҠ͠ɺ ͓஌Β͕ͤදࣔ͞ΕΔ͜ͱ ͨͱ͑͹ɾɾɾ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢

Slide 97

Slide 97 text

ϒϥοΫϘοΫεςετͱ։ൃऀͷςετ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ JOQVUUZQFUFYU OBNFVTFSOBNF ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ ΋͠ଞͷ৔ॴʹ ͓஌Β͕ͤग़͍ͯΔͱ͢Ε͹ ͦΕ͸ෆ۩߹

Slide 98

Slide 98 text

ϒϥοΫϘοΫεςετͱ։ൃऀͷςετ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ JOQVUUZQFUFYU OBNFVTFSOBNF ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ ΋͠ଞͷ৔ॴʹ ͓஌Β͕ͤग़͍ͯΔͱ͢Ε͹ ͦΕ͸ෆ۩߹

Slide 99

Slide 99 text

ੈͷதͷϕετϓϥΫςΟε͸୭ͷͨΊͷ΋ͷ͔ʁ w ͨͱ͑͹ 
 ʮ*%ࢦఆͷϩέʔλࢦఆ͸ྑ͘ͳ͍ʯ 
 ʮϢʔβ͕ݟ͑Δ΋ͷΛϕʔεʹࣗಈૢ࡞͢ΔΑ͏ʹ͠Α͏ʯ 
 
 ˢ͜ΕΒ͸ϒϥοΫϘοΫεςετͷϕετϓϥΫςΟε 
 ɹʢ2"؍఺ͷςετࣗಈԽͰɺյΕʹ͍͘ςετΛॻͨ͘Ίͷʣ

Slide 100

Slide 100 text

$BQZCBSB͸୭ͷͨΊͷ΋ͷ͔ʁ w $BQZCBSB͸"DDFQUBODFUFTUGSBNFXPSL ड͚ೖΕςετ'8 ࣮ࡍͷϢʔβͷΞΫγϣϯΛγϛϡϨʔτ $BQZCBSB͸ 2"؍఺ʢϒϥοΫϘοΫεςετʣͷ໾ʹཱͭπʔϧ

Slide 101

Slide 101 text

$BQZCBSBͷςετ؍఺ࢥ૝ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ JOQVUUZQFUFYU OBNFVTFSOBNF ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ ΋͠ଞͷ৔ॴʹ ͓஌Β͕ͤग़͍ͯΔͱ͢Ε͹ ͦΕ͸ෆ۩߹ fill_in('name’, with: 'YusukeIwaki') $BQZCBSBΛ࢖ͬͨίʔυ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ ίϯτϩʔϥ΍ϑΥʔϜΦϒδΣΫτͷ࣮૷͕มΘΒͳ͍ݶΓ 
 OBNFଐੑ͸มΘΒͳ͍͠ɺ 
 OBNFଐੑ͕มΘΔͳΒผʹ$*͕མͪͯ͘Ε͍͍ͯ ແବʹDIFDLCPY΍SBEJPϘλϯΛ୳͠ʹߦͬͯ΄͘͠ͳ͍ɻ JOQVUͰඞཁे෼

Slide 102

Slide 102 text

$BQZCBSBͷςετ؍఺ࢥ૝ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ JOQVUUZQFUFYU OBNFVTFSOBNF ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ ΋͠ଞͷ৔ॴʹ ͓஌Β͕ͤग़͍ͯΔͱ͢Ε͹ ͦΕ͸ෆ۩߹ fill_in('name’, with: 'YusukeIwaki') $BQZCBSBΛ࢖ͬͨίʔυ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ ίϯτϩʔϥ΍ϑΥʔϜΦϒδΣΫτͷ࣮૷͕มΘΒͳ͍ݶΓ 
 OBNFଐੑ͸มΘΒͳ͍͠ɺ 
 OBNFଐੑ͕มΘΔͳΒผʹ$*͕མͪͯ͘Ε͍͍ͯ ෳࡶͳ91BUIΫΤϦͰɺҙਤ͠ͳ͍΋ͷΛरͬͯ΄͘͠ͳ͍ɻ JOQVUͰඞཁे෼

Slide 103

Slide 103 text

$BQZCBSBͷςετ؍఺ࢥ૝ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ JOQVUUZQFUFYU OBNFVTFSOBNF ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ ΋͠ଞͷ৔ॴʹ ͓஌Β͕ͤग़͍ͯΔͱ͢Ε͹ ͦΕ͸ෆ۩߹ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ click_button(‘Login') expect(page).to have_text('͓͠Βͤ) $BQZCBSBΛ࢖ͬͨίʔυ

Slide 104

Slide 104 text

3BJMT։ൃऀʹͱͬͯඞཁͳػೳ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ $BQZCBSBΛ࢖ͬͨίʔυ ݻఆͰ࠷େ˓ඵɺΈ͍ͨͳͷ͸ࠔΔɻ ௨৴ʹ·Εʹ͔͔࣌ؒΔ͔΋͠Εͳ͍ͷ͔ͩΒɺ ʮ˓˓͕׬ྃ͢Δ·Ͱ଴ͭʯͬͯॻ͖ํΛ͍ͨ͠ɻ

Slide 105

Slide 105 text

3BJMT։ൃऀʹͱͬͯඞཁͳػೳ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ %"4)#0"3% 8IBU`TOFX -PBEJOHʜ MPDBMIPTUEBTICPBSE 2"తͳ؍఺ MPDBMIPTUMPHJO :VTVLF*XBLJ -PHJO 63-ભҠ ॳظඳը͸-PBEJOH %"4)#0"3% 8IBU`TOFX ͓͠Β͕ͤ͋Γ·͢ (&5OFXT +40/ EJWOFXT@DPOUBJOFS ·Εʹඵ͘Β͍͔͔Δ ·Εʹඵ͘Β͍͔͔Δ ࡉ͔͍࣮૷͸ؾʹ͠ͳ͍ ௨ৗͰ͋Ε͹ඵ͘Β͍ͰऴΘΔ͸ͣɻ શମΛ௨ͯ͠ඵ΋͔͔ͬͨΒɺͳʹ͔͓͔͍͠ 3BJMT։ൃऀ͕஌͍ͬͯΔ͜ͱ $BQZCBSBΛ࢖ͬͨίʔυ ݻఆͰ࠷େ˓ඵɺΈ͍ͨͳͷ͸ࠔΔɻ ௨৴ʹ·Εʹ͔͔࣌ؒΔ͔΋͠Εͳ͍ͷ͔ͩΒɺ ʮ˓˓͕׬ྃ͢Δ·Ͱ଴ͭʯͬͯॻ͖ํΛ͍ͨ͠ɻ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) Ͱ΋$BQZCBSB%4-ʹ ͦͷػೳ͕ແ͍ΑͶʔ

Slide 106

Slide 106 text

3BJMTγεςϜςετ͸ϒϥοΫϘοΫεςετʹ޲͍͍ͯΔ w ࣗಈૢ࡞ͷӡ༻Ͱେมͳͷ͸ʮෆ҆ఆͳςετʯ w ͦ΋ͦ΋զʑ3BJMT։ൃऀ͕΍Γ͍ͨͷ͸ 
 2"؍఺ͷϒϥοΫϘοΫεςετͰ͸ͳ͘ 
 Ϗϡʔͷ୯ମ౷߹ࢼݧ ͦΕɺπʔϧͷબఆϛε͡ΌΜʁ 3BJMTͷγεςϜςετͳΒ $BQZCBSB͕͙͢ʹ࢖͑ͯ ศརɺศརʙ̇

Slide 107

Slide 107 text

$BQZCBSB%4-Λ࢖Θͣʹࣗಈૢ࡞ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) $BQZCBSB%4-࢖ΘͣʹͲ͏΍ͬͯϒϥ΢βΛಈ͔ͤ͹͍͍ͷʁ

Slide 108

Slide 108 text

$BQZCBSB%4-Λ࢖Θͣʹࣗಈૢ࡞ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) 4FMFOJVNΛ௚઀࢖͑͹͍͍͡ΌΜɻ ͋ͱ͸ɺ1VQQFUFFS΍1MBZXSJHIUͳͲɺ ࠷ۙͷπʔϧͩͬͨΒ΋ͬͱ؆୯ʹॻ͚ΔΑɻ XBJU'PS/BWJHBUJPO XBJU'PS3FTQPOTF XBJU'PS4FMFDUPS

Slide 109

Slide 109 text

$BQZCBSB%4-Λ࢖Θͣʹࣗಈૢ࡞ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) Ͱ΋ɺ͢ͰʹҎ্ͷςετ࡞ͬͪΌͬͯΔΑʁʁ ҰؾʹҠߦ͢Δͷ͠ΜͲ͍ʔʔ XBJU'PS/BWJHBUJPO XBJU'PS3FTQPOTF XBJU'PS4FMFDUPS

Slide 110

Slide 110 text

$BQZCBSB%4-Λ࢖Θͣʹࣗಈૢ࡞ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) ҰؾʹҠߦ͢ΔඞཁͳΜͯແ͍ɻ ෆ҆ఆͳςετ͔Βॱʹɺஈ֊తʹҠߦ͠Α͏ XBJU'PS/BWJHBUJPO XBJU'PS3FTQPOTF XBJU'PS4FMFDUPS 4UFQෆ҆ఆͳςετͷෆ҆ఆͳ෦෼͚ͩิڧ͢Δ 4UFQෆ҆ఆͳςετ͚ͩɺ$BQZCBSB%4-Λ࢖Θͳ͘͢Δ 4UFQ׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ

Slide 111

Slide 111 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ 1VQQFUFFSΛ࢖ͬͯࣗಈૢ࡞ $BQZCBSBͰΞαʔγϣϯ 34QFDͰ͍͏ͱɺͭͷJUͷதʹ 1VQQFUFFSͱ$BQZCBSBͷ྆ํ͕ڞଘ IUUQTHJUIVCDPN:VTVLF*XBLJDBQZCBSBNJOJNVNFYBNQMFTUSFFNBJOYTJOBUSB@QVNB@TFMFOJVN@STQFD@XJUI@QVQQFUFFS

Slide 112

Slide 112 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ click_button(‘Login’) ը໘ભҠ͢Δ·Ͱ଴ͭ << GET /news ͷϨεϙϯε͕ऴΘΔ·Ͱ଴ͭ >> << div#news_container ͷLoading͕ফ͑Δ·Ͱ଴ͭ >> expect(<< div#news_container >>).to have_text('͓͠Βͤ) puppeteer_page.wait_for_navigation do end puppeteer_page.wait_for_request(‘/news.json’) puppeteer_page.wait_for_selector(‘div#news_container’) ෆ҆ఆͳςετͷෆ҆ఆͳ෦෼͚ͩิڧ͢Δ

Slide 113

Slide 113 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ w QVQQFUFFSSVCZΛ࢖͏ͱɺैདྷͷߏ੒Λ΄ͱΜͲม͑ͣʹ 
 ऑ͍෦෼ʹ͚ͩհೖ͢ΔܗͰࣗಈૢ࡞͕Ͱ͖Δ IUUQTTQFBLFSEFDLDPNZVTVLFJXBLJTFMFOJVNQMVTDBQZCBSBEFCVBOEJOHOBUFTVUPXPQVQQFUFFSEFCVRJBOHTJUFNJSV

Slide 114

Slide 114 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ 1VQQFUFFS͔Βͷ઀ଓ༻ʢ$%1ʣϙʔτ Λ։͚ͯ4FMFOJVN$ISPNFىಈ IUUQTHJUIVCDPN:VTVLF*XBLJDBQZCBSBNJOJNVNFYBNQMFTUSFFNBJOYTJOBUSB@QVNB@TFMFOJVN@STQFD@XJUI@QVQQFUFFS $BQZCBSBυϥΠόͷઃఆͰɺ

Slide 115

Slide 115 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ ิڧ͍ͨ͠ςετͷTFUVQUFBSEPXOͰ 1VQQFUFFS͔Βͷ઀ଓ༻ʢ$%1ʣϙʔτ ʹ઀ଓ੾அ IUUQTHJUIVCDPN:VTVLF*XBLJDBQZCBSBNJOJNVNFYBNQMFTUSFFNBJOYTJOBUSB@QVNB@TFMFOJVN@STQFD@XJUI@QVQQFUFFS

Slide 116

Slide 116 text

4UFQɿऑ͍ͱ͜ΖΛϐϯϙΠϯτͰิڧ͢Δ 1VQQFUFFSΛ࢖ͬͯࣗಈૢ࡞ $BQZCBSBͰΞαʔγϣϯ 1VQQFUFFSͷ1BHF"1*Λ࢖༻ͯ͠ ਫ਼౓ͷߴ͍ࣗಈૢ࡞ΛϐϯϙΠϯτʹߦ͏ IUUQTHJUIVCDPN:VTVLF*XBLJDBQZCBSBNJOJNVNFYBNQMFTUSFFNBJOYTJOBUSB@QVNB@TFMFOJVN@STQFD@XJUI@QVQQFUFFS

Slide 117

Slide 117 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ 1MBZXSJHIUΛ࢖༻͢Δ $BQZCBSB%4-Λ࢖༻͢Δ ෆ҆ఆͳςετ͚ͩɺ$BQZCBSB%4-Λ࢖Θͳ͘͢Δ 34QFDͰ͍͏ͱɺ JU͝ͱʹ$BQZCBSBΛ࢖͏ͷ͔ 
 1MBZXSJHIUΛ࢖͏ͷ͔Λม͑ΒΕΔ

Slide 118

Slide 118 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBECGB ࣗಈૢ࡞ܥͷ࣮૷ΛԿ΋࣋ͨͳ͍$BQZCBSBυϥΠό ʢԾশɿOVMMυϥΠόʣ

Slide 119

Slide 119 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBECGB ࣗಈૢ࡞ܥͷ࣮૷ΛԿ΋࣋ͨͳ͍$BQZCBSBυϥΠό ʢԾশɿOVMMυϥΠόʣ OFFET@TFSWFS ͕USVF͡Όͳ͍ͱ αʔόʔىಈͯ͘͠Εͳ͍

Slide 120

Slide 120 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBECGB ςετ߲໨ʹESJWFSOVMMࢦఆ͕͋Δ৔߹ʹ͸ɺ TFUVQUFBSEPXOͰɺ 1VQQFUFFS΍1MBZXSJHIUʹΑΔ ࣗಈૢ࡞Λ͢ΔΑ͏ʹઃఆ

Slide 121

Slide 121 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ w ESJWFSOVMMΛ͚ͭͨ΋ͷ͚ͩ1VQQFUFFSͰࢼݧ͕࣮ߦ͞ΕΔɻ w $BQZCBSB%4-Λ࢖Θͳ͍ঢ়ଶʹγʔϜϨεʹҠߦͰ͖Δɻ $BQZCBSB%4-Λ࢖༻͢Δ 1VQQFUFFSΛ࢖༻͢Δ

Slide 122

Slide 122 text

4UFQҰ෦ͷςετ߲໨͚ͩ$BQZCBSB%4-Λ࢖Θͳ͍ w 4UFQ̎ͰશͯͷςετέʔεʹESJWFSOVMM͕෇͚͹ɺ 
 $BQZCBSB͸αʔόʔΛىಈ͢Δ͚ͩͷ໾ׂʹͳΔɻ αʔόʔΛىಈ͢Δͱ͜Ζ͸ $BQZCBSBΛͦͷ··ར༻ ࣗಈૢ࡞ʹ͸1MBZXSJHIU ͳͲΛ௚઀࢖͏ͷͰɺ ۭ࣮૷ͷυϥΠόʹ͢Δɻ $BQZCBSB%4-͸࢖Θͳ͍

Slide 123

Slide 123 text

4UFQ̏׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ w ͢ͳΘͪʮ3BJMTγεςϜςετΛ࢖Θͳ͘͢Δʯ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBB

Slide 124

Slide 124 text

4UFQ̏׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBB $BQZCBSBΛ࢖Θͳ͍ͷͰෆཁ $BQZCBSBͷ୅ΘΓʹ 3BDL4FSWFSTUBSUͳͲͰ αʔόʔΛىಈ͢Δ ࣗಈૢ࡞ʹ͸1MBZXSJHIU ͳͲΛ௚઀࢖͏ ඞཁͳͷ͸ɺ3BJMTαʔόʔΛʢςετϥϯφʔͱผεϨουͰʣىಈ͢Δ͜ͱ͚ͩ

Slide 125

Slide 125 text

4UFQ̏׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ IUUQMPDBMIPTUͰىಈͤ͞Δ͚ͩͳΒɺ ࣮͸ͱͯ΋͔ΜͨΜ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBB

Slide 126

Slide 126 text

4UFQ̏׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBB TFUVQUFBSEPXOͰɺ 1VQQFUFFS΍1MBZXSJHIUʹΑΔ ࣗಈૢ࡞Λ͢ΔΑ͏ʹઃఆ

Slide 127

Slide 127 text

4UFQ̏ɿ׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ IUUQT[FOOEFWZVTVLFJXBLJBSUJDMFTBB 1MBZXSJHIUΛ௚઀࢖ͬͯࣗಈૢ࡞

Slide 128

Slide 128 text

$BQZCBSB%4-Λ࢖Θͣʹࣗಈૢ࡞ ҰؾʹҠߦ͢ΔඞཁͳΜͯແ͍ɻ ݱ࣮తʹ͸ɺ4UFQ·Ͱ͍͚͍ͯΕ͹े෼ 4UFQෆ҆ఆͳςετͷෆ҆ఆͳ෦෼͚ͩิڧ͢Δ 4UFQෆ҆ఆͳςετ͚ͩɺ$BQZCBSB%4-Λ࢖Θͳ͘͢Δ 4UFQ׬શʹ$BQZCBSBΛ࢖Θͳ͘͢Δ

Slide 129

Slide 129 text

·ͱΊ w &&ςετಋೖΛΧϯλϯʹͯ͘͠ΕΔͷ͕3BJMTͷγεςϜςετ w "DUJWF3FDPSEͷ%#ίωΫγϣϯͷڞ༗ʹΑΔվળ΋૬·ͬͯ 
 ʮ+BWB4DSJQUΛ;ΜͩΜʹ࢖ͬͨϏϡʔʯ΋͋Δఔ౓ࢼݧͰ͖Δɻ 


Slide 130

Slide 130 text

·ͱΊ w ෆ҆ఆͳςετʹ೰·͞Ε࢝ΊͨΒɺ 
 ϕετϓϥΫςΟεΛӏವΈʹ͢Δલʹɺ 
 ʮͦ΋ͦ΋Ͳ͏͍͏؍఺ͷςετ͕͔ͨͬͨ͠ͷ͔ʯجຊʹཱͪฦΖ͏ʂ

Slide 131

Slide 131 text

·ͱΊ w $BQZCBSB%4-͸಺෦࣮૷ΛΈͯΈΔͱ 
 2"؍఺ʢϒϥοΫϘοΫεςετʣΛαϙʔτͯ͘͠ΕΔ܏޲͕ڧ͍ɻ w 3BJMT։ൃऀ؍఺ͷࢼݧΛ͍ͨ͠ͳΒɺ$BQZCBSB%4-ʹґଘͤͣ 
 ߴਫ਼౓ͳ1MBZXSJHIUͳͲΛ෦෼తஈ֊తʹಋೖͯ͠ΈΑ͏ʂ w

Slide 132

Slide 132 text

͍͞͝ʹ w 3VCZʹΑΔϒϥ΢βͷࣗಈૢ࡞ʹɺ4FMFOJVNҎ֎ͷબ୒ࢶΛ࡞Γ͍ͨ w 1VQQFUFFSͱ1MBZXSJHIUΛ3VCZ͔Β࢖͑ΔΑ͏ 
 (FN։ൃ͍ͯ͠·͢ɻ ͥͻ࢖ͬͯΈ͍ͯͩ͘͞ˍ࣮ӡ༻Ͱվળ఺͕͋Ε͹ͲΜͲΜཁ๬͍ͩ͘͞ʂ

Slide 133

Slide 133 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠