僕達がやってきたレガシープロジェクトとの付き合い方 / PHP CONFERENCE FUKUOKA 2017

A37720e0e1f95781dbbb81f518cf9ad9?s=47 nabeen
June 10, 2017

僕達がやってきたレガシープロジェクトとの付き合い方 / PHP CONFERENCE FUKUOKA 2017

A37720e0e1f95781dbbb81f518cf9ad9?s=128

nabeen

June 10, 2017
Tweet

Transcript

  1. ๻ୡ͕΍͖ͬͯͨ ϨΨγʔϓϩδΣΫτͱͷ ෇͖߹͍ํ 1)1$0/'&3&/$&'6,60," גࣜձࣾϋγΰ ౉ลݠҰ࿠ ʙʮ҆શʯͰʮָʯͳʮ ϨΨγʔ͚ͩͲ Ϟμϯʯͳӡ༻ʙ

  2. ΞδΣϯμ ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ

  3. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  4. ɾ౉ลݠҰ࿠ʢ,FOJDIJSP8BUBOBCFʣ ɾαʔόʔαΠυΤϯδχΞ 1)1 $BLF1)1 1IBMDPO $PEFJHOJUFS -BSBWFM  +BWB4DSJQU 3VCZ

    3P3 4XJGU 1ZUIPO "OHVMBS 6OJUZ ɾΤϯδχΞ೥໨ ɾגࣜձࣾϋγΰ ɾ೥݄ೖࣾ ɾೖࣾͯ͠೥ܦͪ·ͨ͠☻ ࣗݾ঺հ !@OBCFFO
  5. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  6. ͋ͳͨ͸גࣜձࣾϋγΰΛ ஌͍ͬͯ·͔͢ʁ ձࣾ঺հ

  7. גࣜձࣾϋγΰ͸גࣜձࣾαΠόʔΤʔδΣϯτͷࢠձࣾͱ͠ ͯɺֶੜͱڞʹ༷ʑͳࣄۀΛߦ͓ͬͯΓ·͢ɻ ձࣾ঺հ

  8. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  9. ϓϩδΣΫτུ֓ ϝσΟΞӡӦ ࣄۀ ब׆ࢧԉ ࣄۀ ήʔϜӡӦ ࣄۀ

  10. ɾ͍ΘΏΔϒϥ΢βήʔ ɾӡ༻ྺ೥΄Ͳ ɾαʔόʔߏ੒ɿ-".1 ɾόʔδϣϯ؅ཧɿ47/ ɾݴޠɿ1)1 ɾ'8ɿ$PEFJHOJUFS ɾ%#ɿ.Z42- ϓϩδΣΫτུ֓ ৄ͘͠͸ େਓͷࣄ৘Ͱ

    ݴ͑·ͤΜ
  11. ʊਓਓਓਓਓਓਓʊ ʼɹ1)1ɿɹʻ ʉ:?:?:?:?:?:ʉ ͱ͏ͷੲ  ʹαϙʔτ੾Ε ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓

  12. ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ$PEFJHOJUFSɿɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ ͱ͏ͷੲ  ʹαϙʔτ੾Ε ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓

  13. ʊਓਓਓਓਓਓਓਓʊ ʼɹ.Z42-ɿɹʻ ʉ:?:?:?:?:?:?:ʉ ͱ͏ͷੲ  ʹαϙʔτ੾Ε ʀТʀʆ ŲƄƂŕ ϓϩδΣΫτུ֓

  14. ϓϩδΣΫτུ֓ ࠓ೔ͷηογϣϯͰ όʔδϣϯΞοϓͨ͠࿩͸ ग़͖ͯ·ͤΜ

  15. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  16. ϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ

  17. ϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ

  18. ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ಋೖલ ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹશવ҆શ͡Όͳ͍ɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ ͋ɺςετݸ΋ͳ͍ΜͰ͢Ͷ ͡Ό͋ࠓ೔΍Δ͜ͱͳ͍ΜͰؼΓ·͢Ͷ ҆શ

  19. ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ςετίʔυॻ͖·ͨ͠ Ҏ্ ʗ ?P? ʘ ҆શ

  20. ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ಋೖޙ ᶃ+PCΛఆظ࣮ߦͯ͠։ൃαʔόʔ্Ͱߋ৽༗ແΛ֬ೝ TWOVQ  ᶄߋ৽͕͋Ε͹1)16OJUΛ࣮ߦ ᶅ݁ՌΛDIBUXPSLʹ௨஌ ҆શ ։ൃαʔόʔ ᶃߋ৽֬ೝ

    ᶅ௨஌ ᶄ࣮ߦ
  21. ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ςετ͍ͨ͠ൣғ ɾ৽نͰίϛοτ͢Δ෦෼ ✔Ϛελσʔλ DTW ɺઃఆϑΝΠϧ JOJ  ⾣͜͜ʹର͢ΔςετΛॻ͍ͨ ϨΨγʔϓϩδΣΫτ΁ͷಋೖͷϙΠϯτ

    ɾςετ͸໨తͰ͸ͳ͘खஈ ɾ໨తɿ҆શͳӡ༻ʢόάΛग़͞ͳ͍ʣ ɾ࣮੷ͷ͋Δ෦෼ʹରͯ͠ແཧͯ͠ॻ͘ඞཁ͸ͳ͍ ҆શ
  22. ϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ

  23. ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ಋೖલ ͦ΋ͦ΋ָ͘͠ͳ͍࡞ۀͰͷফ໣ ώϡʔϚϯΤϥʔʹΑΔόάͷൃੜ YMTN JOJ 1MBOOFS &OHJOFFS ָ

  24. ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ίϐʔπʔϧॻ͖·ͨ͠ Ҏ্ ʗ ?P? ʘ ָ

  25. ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ಋೖޙ ετϨε͔Βͷ։์ ώϡʔϚϯΤϥʔʹΑΔόά๾໓ ఆৗ࡞ۀͷେ෯୹ॖʹΑΔ࣌ؒͷ֬อ YMTN ZNM 1MBOOFS &OHJOFFS JOJ

    ָ 1)1Y
  26. ϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ҆શ ָ ϨΨγʔ͚ͩͲ Ϟμϯ

  27. ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ͖͔͚ͬ !DIBUXPSL ಋೖલ ɾFTBJPͰมߋ఺Λ·ͱΊͯϨϏϡʔґཔ a ⒡㱿⒡   ⾣લ࣌୅తɺ࡞Δͷ͕ͭΒ͍ɺݟΔͷ͕ͭΒ͍

    Ϟμϯ
  28. ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ 47/ͰίʔυϨϏϡʔΛ͢Δʁ ɾ47/ͰίʔυϨϏϡʔͷ࢓૊ΈΛೖΕΔͷ͸؆୯Ͱ͸ͳ͍ ɾ3FWJFX#PBSEͳΜ͔ݹष͍ ɾ1IBCSJDBUPSͪΐͬͱߴػೳա͗ 47/͔Β(JUʹҾͬӽ͢͠Δʁ ɾେਓͷࣄ৘ͰطଘͷΠϯϑϥߏ੒Λେࣄʹ͍ͨ͠ ɾطଘͷ࢓૊Έ͔Βͷࠩ෼͕େ͖͗ͯ͢ةݥ ɾඅ༻ରޮՌ͕ݟ߹Θͳ͍ Ϟμϯ

  29. ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ͦ͏ͩɺಉظͱΖ͏

  30. ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ 4VC(JUʁ ɾ(JU㱻47/ͷಉظΛͱͬͯ͘ΕΔπʔϧ ɾແྉͰ΋ར༻Մೳ ੍ݶ͋Γ ˞ฐࣾͰ͸༗ྉ൛Λར༻ طଘͷ࢓૊ΈΛશ͘յͣ͞ʹ (JUͷಋೖ͕ՄೳͳϓϩμΫτ Ϟμϯ

  31. ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ Ϟμϯ ಋೖޙ ɾ(JUͰͷ։ൃ͕Ͱ͖ΔΑ͏ʹͳͬͨ ɾ(JUMBC্Ͱ.3 13 ϕʔεͷ։ൃ͕Ͱ͖ΔΑ͏ʹͳͬͨ ෭࣍ޮՌͱͯ͠ ɾDIBUXPSL௨஌༻ʹ)VCPUΛಋೖ ɾ%FW0QTɺ$IBU0QT͕Մೳʹʂ

  32. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  33. ࠓޙݟਾ͍͑ͯΔ͜ͱ طଘͷԆ௕ͰऔΓ૊Ή͜ͱ ɾ%FW0QTɺ$IBU0QTͷਪਐ ໺๬తʹऔΓ૊΋͏ͱ͍ͯ͠Δ͜ͱ ɾ4FMFOJVNʹΑΔࣗಈςετ ɾ#JH2VFSZΛ׆༻ͨ͠σʔλ෼ੳ %"6ˢɺ"316ˢɺ"3116ˢFUD

  34. ɾࣗݾ঺հ ɾձࣾ঺հ ɾϓϩδΣΫτུ֓ ɾϓϩδΣΫτ๊͕͑Δ໰୊఺ ɾ໰୊఺ΤϯδχΞ͕JOJ৬ਓԽ͍ͯͨ͠ ɾ໰୊఺ςετίʔυ͕શ͘ͳ͔ͬͨ ɾ໰୊఺ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ ɾࠓޙݟਾ͍͑ͯΔ͜ͱ ɾ૯ׅ ΞδΣϯμ

    ΞδΣϯμ
  35. ૯ׅ ຊ೔ͷΩʔϫʔυɿʮ҆શʯʮָʯʮϞμϯʯ ɾʮ҆શʯ͸ӡ༻͢Δ্Ͱͷ࠷ॏཁ߲໨ ɾʮָʯΛͯ͠༨ͬͨ࣌ؒͰٕज़తνϟϨϯδ ɾʮϞμϯʯʹ͚ۙͮΔ౒ྗ͸Ͱ͖Δ ϨΨγʔʮͳΒͰ͸ʯͷνϟϨϯδ΋͋Δ

  36. ☻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ