Slide 1

Slide 1 text

$*ࢧԉαʔϏε͔Β࢝ΊΔ
 8PSE1SFTTϓϥάΠϯɾςʔϚ։ൃ !8PSE$BNQ,BOTBJ2016

Slide 2

Slide 2 text

ࣗݾ঺հ ,BNBUB3ZP

Slide 3

Slide 3 text

$*ࢧԉαʔϏε ✖ 8PSE1SFTTϓϥάΠϯɾςʔϚ։ൃ

Slide 4

Slide 4 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 5

Slide 5 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ 1)1 +BWB4DSJQU )5.- $44 $PGGFF4DSJQU 4"44 FUD ςετίʔυ ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 6

Slide 6 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ ґଘϥΠϒϥϦͷΠϯετʔϧ ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε $PNQPTFS #PXFS OQN

Slide 7

Slide 7 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ ίϯύΠϧɺNJOJGZɺ+BWB4DSJQUɾDTTͷ݁߹ $PGGFF4DSJQU 4"44 FUD ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 8

Slide 8 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ -JOUω⑲ϰ 1)16OJU ,BSNB .PDIB FUD ߏจνΣοΫ Ϣχοτςετ ౷߹ςετ ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 9

Slide 9 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ 8PSE1SFTTެࣜϦϙδτϦ΁ίϛοτ (JIUVCͷϦϦʔεػೳΛ࢖͏ ӡ༻தͷςʔϚɾϓϥάΠϯΛ
 αʔόʹσϓϩΠ FUD ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 10

Slide 10 text

ܧଓ᧣Ωϸϋεϱ⑲μϬϸ BCCS$* ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε ͜ΕΒͷϓϩηεΛසൟʹ܁Γฦ͠ޮ཰ԽΛਤΔ

Slide 11

Slide 11 text

ςʔϚɾϓϥάΠϯ։ൃͷྲྀΕ Θͨͨͪ͠ $*ࢧԉαʔϏε ίʔσΟϯά Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 12

Slide 12 text

$*ࢧԉαʔϏεಋೖͷϝϦοτ ఆܕ࡞ۀͷࣗಈԽʹΑΔলྗԽ ࣗಈςετͷश׳ԽɺϦϦʔεͷࣗ৴ ୹ظͰϦϦʔε͞Εɺڙ༻·ͰͷظؒΛ୹ॖ εςʔλεόοδ

Slide 13

Slide 13 text

$*ࢧԉαʔϏε͕Ԡ͑ΒΕΔधཁͷྫ ެࣜσΟϨΫτϦʹొ࿥͍ͯ͠ΔςʔϚɺϓϥάΠϯͰ΋ɺ
 4VCWFSTJPOҎ֎ʹ(JUͰόʔδϣϯ؅ཧ͍ͨ͠ OQNͳͲͷΤίγεςϜͱ΋૬ੑ͕Α͍ ϓϩδΣΫτʹ·ͭΘΔ٬؍తͳࢦඪͱͯ͠
 FH(JUIVCͰϓϧϦΫΤετΛ͞͹ͨ͘Ίɺ$*ͰϏϧυ͕੒ޭ͍ͯ͠Δ͜ ͱΛϨϏϡʔͷ৚݅ͱ͢ΔͳͲ

Slide 14

Slide 14 text

ηοτΞοϓͱ։ൃ؀ڥ΁ͷಋೖ

Slide 15

Slide 15 text

5SBWJT$* IUUQTUSBWJTDJPSH

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

൚༻ͷ$*ࢧԉαʔϏε (JUIVCͱ࿈ܞ ެ։ϓϩδΣΫτ͸ແྉͰར༻Ͱ͖Δ

Slide 18

Slide 18 text

5SBWJT$*Λར༻͢Δεςοϓ (JUIVCͱ࿈ܞ͢Δ ઃఆϑΝΠϧUSBWJTZNMΛઃஔ (JUIVCʹϓογϡ

Slide 19

Slide 19 text

༗ޮԽ͢Δ(JUIVCϦϙδτϦΛબ୒

Slide 20

Slide 20 text

USBWJTZNM USBWJTZNMΛϓϥάΠϯɾςʔϚͷϧʔτʹઃஔ͢Δ $ tree -a . ├── .travis.yml ├── gulpfile.js ├── my-plugin.php ├── package.json ├── phpunit.xml ├── readme.txt └── tests └── test-my-plugin.php

Slide 21

Slide 21 text

USBWJTZNM 5SBWJT$*͕ಈ࡞͢Δ؀ڥΛઃఆ
 ʢ1)1όʔδϣϯɺґଘϥΠϒϥϦʣ ؀ڥม਺Λઃఆ ࣮ߦ͢ΔγΣϧεΫϦϓτΛࢦఆ

Slide 22

Slide 22 text

language: php php: - 5.3 - 5.6 before_script: - npm run build script: - phpunit after_success: - deploy.sh env: global: - foo: “bar” - secure: “a/QQ7WgztQeINOonHM..” USBWJTZNM Ϗϧυ ςετ σϓϩΠɾϦϦʔε

Slide 23

Slide 23 text

(JUIVCͷϓογϡʹϑοΫͯ͠ɺ5SBWJT$*ͷϏϧυ͕ൃՐ͢Δ CFGPSF@TDSJQUͱTDSJQU͕FYJUʢਖ਼ৗऴྃʣͳΒ͹੒ޭ BGUFS@TVDDFTT͕ൃՐ ެ։ϓϩδΣΫτͳΒ͹ɺϏϧυϩά΋ެ։

Slide 24

Slide 24 text

QVTI DMPOF ϦϙδτϦ͋Δ͍͸ ຊ൪؀ڥͳͲ Ϗϧυ ςετ σϓϩΠɾϦϦʔε ίʔσΟϯά

Slide 25

Slide 25 text

4UZMF$* IUUQTTUZMFDJJP

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

4UZMF$* 1)1ͷίʔσΟϯάελΠϧΛνΣοΫ (JUIVCͱ࿈ܞ ެ։ϓϩδΣΫτ͸ແྉͰར༻Ͱ͖Δ

Slide 28

Slide 28 text

4UZMF$*Λར༻͢Δεςοϓ εςοϓ  (JUIVCͱ࿈ܞ͢Δ ʢઃఆϑΝΠϧTUZMFDJZNMΛઃஔʣ (JUIVCʹίϛοτΛϓογϡ 4UZMF$*

Slide 29

Slide 29 text

(JUIVCͱ࿈ܞ

Slide 30

Slide 30 text

ίʔσΟϯάελΠϧͷ෼ੳ

Slide 31

Slide 31 text

TUZMFDJZNM TUZMFDJZNMΛϓϥάΠϯɾςʔϚͷϧʔτʹઃஔ͢Δ $ tree -a . ├── .styleci.yml ├── .travis.yml ├── gulpfile.js ├── my-plugin.php ├── package.json ├── phpunit.xml ├── readme.txt └── tests ├── bootstrap.php └── test-my-plugin.php

Slide 32

Slide 32 text

risky: false linting: true preset: recommended enabled: - long_array_syntax #array() disabled: - short_array_syntax #[ ] TUZMFDJZNM ελΠϧʹ͸ଟ͘ͷΦϓγϣϯ͕͋Γɺ
 ༗ޮԽɺແޮԽΛࢦఆͰ͖Δ

Slide 33

Slide 33 text

νΣοΫ݁Ռ͕ࠩ෼Ͱදࣔ͞ΕΔ

Slide 34

Slide 34 text

GithubʹϓϧϦΫΤετΛૹͬͨΓɺ
 ࣗಈͰϚʔδͨ͠Γ͢Δ͜ͱ͕Ͱ͖Δ

Slide 35

Slide 35 text

·ͱΊ $*ࢧԉαʔϏεͰͰ͖Δ͜ͱ ൚༻ͷ$*ࢧԉαʔϏεͰ͸γΣϧεΫϦϓτ͕ಈ࡞͢Δ ͜ͱ͕ଟ͍
 ؀ڥͷࠩΛٵऩ͠ɺଟ༷ͳ࡞ۀΛ࿈ܞɾࣗಈԽͰ͖Δ Ұํɺ4UZMF$*ͷΑ͏ʹɺಛఆͷαʔϏεʹಛԽ͠ɺ
 खܰʹಋೖͰ͖ΔαʔϏε΋͋Δ ։ൃ؀ڥ΍ᅂ޷ʹԠͯ͡બ୒͢Δ͜ͱ͕Ͱ͖Δ

Slide 36

Slide 36 text

·ͱΊ 8PSE1SFTTϓϥάΠϯɾςʔϚ։ൃͰ͸ ΦʔϓϯιʔεϓϩδΣΫτͱ૬ੑͷྑ͍
 $*ࢧԉαʔϏε͕͋Δ ΦʔϓϯιʔεͷϝϦοτΛΑΓڧௐͰ͖Δ Ϗϧυ΍ςετͷϓϩηε͕ΦʔϓϯͰ͋Γɺ
 ԁ׈ͳٞ࿦͕ଅ͞ΕΔ ։ൃͷॳظஈ֊͔Β͜ΕΒͷπʔϧɾαʔϏεΛ ηοτΞοϓ͓ͯ͘͜͠ͱʹ͸େ͖ͳϝϦοτ͕͋Δ