Upgrade to Pro — share decks privately, control downloads, hide ads and more …

僕とPHPxAgileの481日間

 僕とPHPxAgileの481日間

2014年12月 PHP勉強会 のLT発表資料です

Kenichiro Kishida

December 24, 2014
Tweet

More Decks by Kenichiro Kishida

Other Decks in Programming

Transcript

  1. ๻ͱ1)1Y"HJMFͷ
    ೔ؒ
    1)1ษڧձCZ!TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ +1POMZ

    *XPSLPO&JXB4ZTUFN.BOBHFNFOU*OD 最新刊
    祝::増33刷�
    祝::電子書籍

    View Slide

  3. ͓඼ॻ͖
    w 1)1Y"HJMFͰࢧԉͨ͠೔ͷي੻Ͱ͢
    w ܧଓతΠϯςάϨʔγϣϯ։ൃΛಋೖͯ͠Έ
    Α͏ͱࢥ͏ํʹ
    w Ϟμϯͳ1)1։ൃΛ΍ͬͯΈ͍ͨͱࢥ͏ํʹ

    View Slide


  4. $ php -a
    php > echo (
    strtotime(‘2014/12/26’)
    - strtotime(‘2013/09/01’)
    ) / (60*60*24);

    View Slide

  5. ೔લʢ؀ڥʣ
    w ίϚϯυϥΠϯ͔Β୯ମςετ͕࣮ߦͰ͖ͳ
    ͍ʢ$*αʔό͔Β࣮ߦͰ͖ͳ͍ʣ
    w ݁߹ςετΛͲ͏΍࣮ͬͯࢪͨ͠Βྑ͍͔Θ
    ͔Βͳ͍ʢ༗ঈπʔϧΛධՁதʣ
    w ϥΠϒϥϦͷґଘؔ܎͕खಈʢखॱॻʣͰղ
    ܾ͞Ε͍ͯΔ
    w ։ൃ؀ڥ͕9".11ͰखॱॻʹԊͬͯ࡞Βͳ͍
    ͱ͍͚ͳ͍

    View Slide

  6. ೔લʢίʔυʣ
    w ϑϨʔϜϫʔΫʢ$BLF1)1ʣͷڍಈ͕Φʔό
    ϥΠυ͞Ε͍ͯΔ
    w ϓϥάΠϯΛར༻ͤͣंྠͷ࠶։ൃ͕ߦΘΕ
    ͍ͯΔ
    w ୯ମςετ͸͋Δ͕ɺࣦഊέʔε͕์ஔ͞Ε
    ͍ͯΔɻ
    w ୯ಠͩͱ੒ޭ͢Δ͕"MMͰྲྀ͢ͱࣦഊ͢Δςε
    τ͕͋Δ
    w όʔδϣϯ؅ཧ͸͞Ε͍ͯΔ

    View Slide

  7. ೔લʢਤʣ
    Windows7
    XAMPP PHPStorm Git
    pear
    Jenkins
    PHP MySQL
    PHPMD
    PHPCPD
    PHPDoc
    Git
    Github

    View Slide

  8. ͸͡Ίʹ΍Δ͜ͱ
    w ୯ମςετΛίϚϯυϥΠϯ͔Β࣮ߦͰ͖Δ
    Α͏ʹ͠ɺ$*αʔόʢ+FOLJOTʣͰ·Θ͢
    w ϑϨʔϜϫʔΫͷΦʔόϥΠυͰڍಈ͕͓
    ͔͘͠ͳ͍ͬͯͨ෦෼Λमਖ਼ʢר͖໭͠ʣ
    w$*͕࣮ߦͰ͖ΔΑ͏ʹͳΔ͜ͱ͕࠷΋େࣄ

    View Slide

  9. ̎ͷ໼$*ͷ҆ఆ
    w ϥΠϒϥϦͷґଘؔ܎͕खಈ
    w DPNQPTFSΛಋೖ͠ɺґଘؔ܎ͷղܾΛࣗ
    ಈԽ
    w %#ͷߋ৽͕खಈӡ༻
    w ϚΠάϨʔγϣϯʹΑΔ%#ߋ৽ͷࣗಈԽ
    wܧଓతʹ࣮ߦͰ͖ΔΑ͏ʹͳΔ͜ͱ͕େࣄ

    View Slide

  10. ̏ͷ໼ςετͷݟ௚͠
    w ࢓༷ͱͯ͠ҙຯ͕ͳ͍΋ͷɺෆ໌ͳ΋ͷ͸࡟

    w ࣦഊ͍ͯ͠Δςετͷमਖ਼
    w ॱংʹґଘ͍ͯ͠Δςετͷमਖ਼
    w ෆ଍͍ͯ͠Δςετͷ௥Ճ
    w։ൃऀ͕͍ͭͰ΋Ͳ͜Ͱ΋҆৺ͯ͠ίʔυΛ
    मਖ਼Ͱ͖ΔΑ͏ʹͳΔ͜ͱ͕େࣄ

    View Slide

  11. ͷ໼ϦϑΝΫλ
    w ंྠͷ࠶։ൃΛ΍ΊϥΠϒϥϦ΍ϓϥάΠϯ
    Λಋೖ
    w $BLF&OUJUZ XTEMQIQHFOFSBUPS 4FBSDI
    ϓϥάΠϯͳͲ
    w ৽ن։ൃΛࢭΊͯɺҰؾʹ΍Γ͖Δ
    w ͦͷ··Ͱ΋ྑ͍ͱ͜Ζͷ੾Γ෼͚͸ඞཁ
    wίʔυ඼࣭Λ޲্ͤ͞ɺΑΓΞϓϦέʔγϣ
    ϯʹಛԽͨ͠ίʔυʹ࣌ؒΛ͔͚ΒΕΔΑ͏
    ʹ͢Δ

    View Slide

  12. ͷ໼ϨϏϡʔ
    w νʔϜϦʔμʔ͚͕ͩϨϏϡʔͯ͠Ϛʔδ͢
    ΔจԽ͸่յ͠ҙຯΛ੒͞ͳ͍
    w νʔϜͷϓϩάϥϚશһ͕ίʔυΛݟͯίϝ
    ϯτΛೖྗ͢Δ·Ͱ13ΛϚʔδ͠ͳ͍Α͏ʹ
    ϧʔϧԽ
    w ͱʹ͔͘ܧଓ͢Δ͜ͱ
    wֶशޮՌɺτϥοΫφϯόʔ๷ࢭɺνʔϜͷ
    Ұମײ޲্

    View Slide

  13. ͷ໼ݟੵ΋Γ
    w νʔϜϦʔμʔ͚͕ͩ࢓༷Λཧղ͠λεΫ෼
    ׂΛͯ͠࡞ۀΛׂΓৼͬͯ΋μϝ
    w νʔϜͷϓϩάϥϚશһ͕ཁٻ͔Β࢓༷ʹϒ
    ϨʔΫμ΢ϯ͠ɺ࡞ۀՄೳͳ୯ҐͷλεΫ·
    Ͱ෼ׂʗݟੵ΋Γ͢Δ
    w ͱʹ͔͘ܧଓ͢Δ͜ͱ
    wΑΓਖ਼֬ͳܭը࡞ΓɺτϥοΫφϯόʔ๷
    ࢭɺνʔϜͷҰମײ޲্

    View Slide

  14. ͷ໼ςετͷվળ
    w 'JYUVSFʹΑΔϚʔδ࣌ͷςετ่յɺςετ
    ࣌ؒͷ௕࣌ؒԽ͸ϩʔΧϧςετͷলུʹ͠
    ͔ͭͳ͕Βͳ͍
    w σʔλδΣωϨʔλ 'BCSJDBUF
    ͷಋೖͰςε
    τσʔλͱέʔεͷґଘؔ܎Λղܾ
    w ςετ༻%#Λ3".σΟεΫ্ʹϚ΢ϯτͯ͠
    ߴ଎Խ
    wςετͷߴ଎ԽͰɺΑΓ࣮૷ʹ࣌ؒΛ

    View Slide

  15. ͷ໼&UP&ςετ
    w #FIBUʹΑΔ&UP&ςετͷಋೖ
    w #%%ʹΑΔςετͷߟ͑ํͷಋೖڭҭ͸ඞཁ
    w +FOLJOT .BTUFS
    #%%࣮ߦ؀ڥ 4MBWF

    $ISPNF 4MBWF
    Ͱ$*Ͱࣗಈ࣮ߦ
    w +4ͷࡉ͔͍ಈ࡞͸+BTNJOFͰ୯ମςετԽ
    wϦϦʔεຖճؼςετͷෛՙΛܰݮ

    View Slide

  16. ͷ໼։ൃ؀ڥࣗಈԽ
    w खॱॻ͸ϝϯς͞Εͳ͍͠ɺ৽͍͠όʔδϣ
    ϯͰ͸ಈ࡞͕ҟͳͬͨΓ͢Δ
    w 7BHSBOU7JSUVBM#PY$IFGTPMPʹΑΓ։ൃ
    ؀ڥߏஙΛࣗಈԽ
    w Ұ౓࡞ͬͯऴΘΓͰͳ͘೔ʑมΘΔ։ൃτϨ
    ϯυʹରԠ͢Δ$PPLCPPLͷ௥ՃͳͲΛ࣮ࢪ
    w৽ϝϯόʔࢀೖ࣌΍ɺ1$ೖΕସ͑࣌ʹɺ͙͢
    ࡞ۀ͕Ͱ͖ΔΑ͏ʹͳΔ

    View Slide

  17. ݱࡏʢਤʣ
    Windows7
    PHPStorm
    Github for
    Windows
    Selenium2
    +WebDriver
    Vagrant+VirtualBox
    Apache PHP MySQL
    Composer Selenium2 Chef Git
    Github
    ίʔυϨϏϡʔ
    PRϕʔε։ൃ

    View Slide

  18. ݱࡏʢਤʣ
    CI Server(Jenkins Master)
    41Jobs
    CI BDD(Jenkins Slave) Win7(Jenkins Slave)
    Apache Selenium2
    +WebDriver
    PHP
    PHP MySQL Composer
    PHPMD PHPCPD PHPDoc
    MySQL Chrome
    Composer
    Git
    Git
    phantomJS
    Selenium Grid

    View Slide

  19. ͞Βʹৄ͍͠಺༰͸

    View Slide

  20. View Slide

  21. ·ͱΊ
    w೔ؒ͋Γ͕ͱ͏͍͟͝·ͨ͠
    wͱʹ͔͘ܧଓʢมԽΛଓ͚Δ͜
    ͱʣ͕େ੾Ͱ͢
    wϑΝγϦςʔλϝϯλ͕ඞཁͰ͢
    w$*΍ͬͯΈ͍ͨͱࢥͬͨΒɺҰ౓
    ຊΛखʹऔͬͯΈ͍ͯͩ͘͞

    View Slide

  22. ࣭໰

    View Slide

  23. ͋Γ͕ͱ͏͍͟͝·ͨ͠
    5IBOLZPV

    View Slide