世界で一人しかできない WordPress コアを写経する話 ― 修行の先に見たものとは?

274c474bb14a19f48ee86907c5be2a1d?s=47 Kite
September 16, 2017

世界で一人しかできない WordPress コアを写経する話 ― 修行の先に見たものとは?

プログラミングの勉強でコードの写経をしたことがある人はたくさんいるでしょう。しかし、WordPress のコアファイルを一文字ずつ、毎日欠かさず写経している人はおそらく世界で一人しかいない。この修業のような行為から得た知見は、開発者のみにとどまらず、すべての人にとって有益なものであると確信しています。

274c474bb14a19f48ee86907c5be2a1d?s=128

Kite

September 16, 2017
Tweet

Transcript

  1. ੈքͰҰਓ͔͠Ͱ͖ͳ͍ 8PSE1SFTTίΞΛࣸܦ͢Δ࿩ मߦͷઌʹݟͨ΋ͷͱ͸ʁ

  2. v Web & graphic designer Programmer WordPress core contributor Ruby

    on Rails contributor React contributor Wocker developer Bathe developer Frasco developer KITERETZ inc. CEO & Founder ! kite.koga " ixkaito # ixkaito ,JUF
  3. ੈքҰΘ͔Γ΍͍͢ 8PSE1SFTT ಋೖͱ αΠτ੍࡞ͷ ڭՊॻ ൃച ஶऀɿ҆౻ಞ࢙ɼԬຊलߴɼݹլւਓɼਂ୔޾࣏࿠ https://www.amazon.co.jp/dp/4774190292/

  4. ܦจΛॻࣸ͢Δ͜ͱɻ·ͨɺॻࣸ͞Εͨܦจɻͦ΋ͦ΋͸ܦయΛ޿ ΊΔͨΊʹߦΘΕ͕ͨɺͷͪʹ͸ޭಙͷ͋Δߦҝͱ͞Εɺڙཆ΍ف ئͷͨΊʹߦΘΕΔΑ͏ʹͳͬͨɻ ʰࡾলಊେࣙྛʱΑΓ ࣸܦͱ͸ ʠ ʡ

  5. ϓϩάϥϛϯάͷֶशΛ͢Δ͏͑ͰɺࢀߟॻͳͲͷαϯϓϧίʔυ΍νϡʔτ ϦΞϧΛ࣮ࡍʹॻ͖ࣸ͠ɺͦͷϓϩάϥϜΛ࣮ߦ͢Δ͜ͱɻ ϓϩάϥϛϯάʹ͓͍ͯ ࣸܦͱ͸

  6. 8PSE1SFTTίΞͷ1)1ϑΝΠϧͷΈΛɺίϝϯτ υΩϡϝϯτ ΋ؚΊͯ Ұจࣈͣͭखଧͪ͢Δ͜ͱɻ1)1Ҏ֎ͷϑΝΠϧ͸جຊతʹίϐʔϖʔετɻ 8PSE1SFTTίΞͷ ࣸܦͱ͸

  7. ίΞίϯτϦϏϡʔλʔʹͳΓɺͦΕΛܧଓ͢ΔͨΊɻ·ͨίΞ͕࣮ࡍͳʹΛ ͍ͯ͠Δͷ͔Λཧղ͢ΔͨΊɻ͞Βʹɺ(JU)VCʹϓογϡ͢Δ͜ͱͰɺଞਓ ʹ΋ݟ͑Δຖ೔ͷϧʔςΟʔϯΛ࡞ΔͨΊɻ ࣸܦΛ࢝Ί͖͔͚ͨͬ

  8. 8PSE1SFTTͷίΞʹ͸໿ ΋ͷϑΝΠϧ͕͋Γɺ౸ఈ೔Ͱ͸શ෦Λࣸ ܦ͖͠Δ͜ͱ͸Ͱ͖ͳ͍ɻ͞Βʹɺద౰ͳ৔ॴ͔Βࣸܦͯ͠͠·͏ͱɺ 8PSE1SFTTίΞͷಈ͖Λ֬ೝ͢Δ͜ͱ͕Ͱ͖ͳ͍͏͑ɺ్தͰϛε͕͋ͬͯ ΋ؾͮ͘͜ͱ͕Ͱ͖ͳ͍ɻ ՝୊

  9. ຖ೔গͣͭ͠ɺ్தͷঢ়ଶͰ΋8PSE1SFTTͷಈ͖Λ֬ೝͰ͖ɺ࣍ͷ೔͸ଓ͖ ͔ΒͰ͖Δํ๏Ͱࣸܦ͢Δඞཁ͕͋Δɻ ํ਑

  10. w ։ൃ؀ڥΛ༻ҙ͢Δ w ۭͷσʔλϕʔεΛ࡞੒͢Δ w XQDPOpHQIQʹҰ௨ΓͷઃఆΛ͓ͯ͘͠ ४උ

  11. JOEFYQIQ͔Β࡞ΔɻηϛίϩϯͰ۠੾ΒΕͨจΛ࠷খ୯Ґͱͯࣸ͠ܦ͢Δɻ ࠷ॳͷஈ֊Ͱ͸ؔ਺΍ΫϥεͷఆٛΛࣸܦ͠ͳ͍ɻϑΝΠϧ͕ଘࡏ͍ͯ͠ͳ͔ͬ ͨΓɺ·ͨ͸ؔ਺΍Ϋϥε͕ఆٛ͞Ε͍ͯͳ͔ͬͨΓ͢Δ͜ͱͰΤϥʔ͕ग़Δ ͷͰɺͦͷ࣌఺ͰඞཁͳϑΝΠϧΛ࡞੒ͨ͠Γɺؔ਺΍ΫϥεΛఆٛ͢Δɻ ۩ମతͳํ๏

  12. ద౓ͳཻ౓Ͱίϛοτ͠ɺ (JU)VCʹϓογϡ͢Δɻ (JU)VC

  13. ϦϙδτϦ https://github.com/ixkaito/wp-shakyo

  14. Ұ౓໨͸ɺΫϥε಺ͷϝιουΛҰؾʹࣸܦ͍͕ͯͨ͠ɺඞཁϝιουͷΈΛ ࣸܦ͍ͯ͘͠ελΠϧʹมߋɻೋ౓໨͸ɺςʔϚͷJOEFYQIQͷಡΈࠐΈ· ͰͨͲΓண͍͕ͨ໎ࢠʹͳΓɺ࠷ॳ͔Β΍Γͳ͓ͨ͠ɻ ೋ౓ͷ΍Γ௚͠

  15. ࣸܦ͚ͩͰ΋΋ͪΖΜҙຯ͸͋Δ͕ɺͦͷه࿥ͱͯ͠8PSE1SFTTίΞͷؔ਺ ΍ϝιουͷ࣮ߦॱ൪Λݟ͑ΔΑ͏ʹͨ͠ΒɺԿ͔ͷͨΊʹͳΔ͔΋ͱࢥ͍ɺ ίΞͷݟ͑ΔԽϓϩδΣΫτΛ࢝ΊΔɻ 8PSE1SFTTίΞͷ ݟ͑ΔԽ

  16. ίΞͷݟ͑ΔԽW 3&"%.&ʹͻͨ͢Βॻ͘ɻ ॳظͷϩάΛ୧Δͱ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ

  17. ίΞͷݟ͑ΔԽW )5.-ͰϋʔυίʔσΟϯάɻ https://ixkaito.github.io/ WordPress-Flow/

  18. ίΞͷݟ͑ΔԽW +FLZMMΛར༻ͯ͠ɺ.BSLEPXOͱ4VCMJNF 5FYUͷεχϖοτͰهड़

  19. ίΞͷݟ͑ΔԽW +FLZMMΛར༻ͯ͠ɺϑΝΠϧ΍ؔ਺ͳͲΛΠϯ Ϋϧʔυɻ https://ixkaito.github.io/wp- shakyo/

  20. 8PSE1SFTT΍1)1͸΋ͪΖΜɺͦΕͱ͸௚઀ؔ܎ͳ͍(JU (JU)VC +FLZMM ͳͲɺ͞·͟·ͳٕज़ʹڧ͘ͳͬͨɻ ࣸܦ͕΋ͨΒͯ͘͠Εͨ΋ͷ ͦͷ

  21. 8PSE1SFTT͔ΒܧଓతʹίΞίϯτϦϏϡʔλʔʹͳΕͨɻ ࣸܦ͕΋ͨΒͯ͘͠Εͨ΋ͷ ͦͷ

  22. 8PSE$BNQʹొஃͨ͠Γɺ࣮ߦҕһ௕ʹ΋ͳΓ·ͨ͠ɻ ࣸܦ͕΋ͨΒͯ͘͠Εͨ΋ͷ ͦͷ

  23. ฐ͔ࣾΒ௚઀ӦۀΛ͢Δ͜ͱ͕Ұ੾ͳ͘ɺ࢓ࣄͷґཔ͕૿͑·ͨ͠ɻ ࣸܦ͕΋ͨΒͯ͘͠Εͨ΋ͷ ͦͷ

  24. ͜ΜͳϓϧϦΫ͕Ϛʔδ͞ Ε·ͨ͠ɻ ࣸܦ͕΋ͨΒͯ͘͠Εͨ΋ͷ ͦͷ

  25. ͢΂ͯͷਓ͕ࣸܦ͢΂͖ͱ͸ࢥΘͳ͍͠ɺࣸܦΛ͢͢Ί͍ͯΔΘ͚Ͱ΋ͳ͍ɻ ࣗ෼ࣗ਎ͷϧʔςΟʔϯΛݟ͚ͭͯ΋Β͍͍ͨɻ Έͳ͞Μʹ ఻͍͑ͨ͜ͱ

  26. 8PSE1SFTTؔ࿈ w ຋༁ w ϑΥʔϥϜ΁ͷճ౴ w ςʔϚϨϏϡʔ ʜ ͨͱ͑͹ 8PSE1SFTTҎ֎

    w ϥΫΨΩ w ΢ΣϒαΠτͷτϨʔε w ϒϩά w ϓϩάϥϛϯάͷνϡʔτϦΞϧ ʜ
  27. ײँͷਖ਼ݓಥ͖Ұ೔Ұສճɻ )6/5&3ʷ)6/5&3 ωςϩձ௕

  28. ຖ೔Ͱͳͯ͘΋Α͍

  29. ೉͍͜͠ͱɺ׬੒౓ͷߴ͍΋ͷ Ͱ͋Δඞཁ͸ͳ͍

  30. ๻͸தֶͷͱ͖ʹɺ'JOBM'BOUBTZ7**ͷεςʔλεΛҰ೥͔͚ؒͯ͢΂ͯ ʹ͠·ͨ͠ɻେֶͷͱ͖͸ɺ3BO0OMJOFͱ͍͏ΦϯϥΠϯήʔϜͰ೔ຊ̎Ґ ʹͳΓ·ͨ͠ɻࠓͷ࢓ࣄͱ͸શؔ͘܎ͳ͍͕ɺఘΊͣʹ΍Ε͹ඞͣͰ͖Δͱ͍ ͏੒ޭମݧΛ΋ͨΒͯ͘͠ΕͨɻͦΕ͕ࠓͷࣸܦʹ΋ͭͳ͕Δɻ ͨͱ͑কདྷɺ࢓ࣄ΍ເ͕มΘͬͨͱͯ͠΋ɺ ΍ͬͨ͜ͱ͸ઈରແବʹ͸ͳΒͳ͍

  31. ࣗ෼͕ೲಘ͢Δ·Ͱଓ͚͍ͯͩ͘͞ɻຖ೔͸ͪΐͬͱ͠ΜͲ͍ͱࢥͬͨΒɺ΍ ΊΔͷͰ͸ͳ͘ɺࣗ෼ͷෛ୲ʹͳΒͳ͍Α͏ઃఆΛม͑ͯΈ·͠ΐ͏ɻ͋ͱ͔ Βࢥ͍ฦͨ͠ͱ͖ʹɺʮ࠳ંͯ͠͠·ͬͨʯͱޙչ͠ͳ͍Α͏ɺʮΑ͕͘Μ͹ͬ ͨʯͱࣗ෼Λ๙ΊΒΕΔ·Ͱଓ͚Α͏ɻ ͍ͭ·Ͱଓ͚Δ͔

  32. ܧଓ͸ྗͳΓ

  33. ਖ΋ੵ΋Ε͹ࢁͱͳΔ

  34. ੴͷ্ʹ΋ࡾ೥

  35. ϩʔϚ͸Ұ೔ʹͯ͠੒Βͣ

  36. ӍਨΕੴΛઠͭ