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

未来の開発者へ負債を残さないために取り組んだこと

 未来の開発者へ負債を残さないために取り組んだこと

#PHPerKaigi 2023
ソフトウェア開発において、負債による生産性の低下は身近に起こり得ることです。
負債はソフトウェアに直接的な影響はないため軽視されがちですが、継続開発する上で多くの場合に課題となってきます。
そんな負債に対し皆さんはどのような取り組みをしていますか?
本セッションでは、DDD導入やテスト設計の見直し、SRE活動やOASの活用など、我々が負債に対しどのように取り組んできたのか、実例と共に解説いたします。
本セッションを通じて
「負債を残さないために何をすればいいかわからない」
「他に良い方法があれば知りたい」
という方が参考にできるような時間を提供いたします。

HayatoKudou

March 25, 2023
Tweet

More Decks by HayatoKudou

Other Decks in Technology

Transcript

  1. ©︎ tete marche CO., LTD. 2 ޻౻ ᰜే (Ϋυ΢ ϋϠτ)

    🔰 @metalic_kudo_h ˙ॴଐ ςςϚʔνגࣜձࣾ ˙৬ۀ 8FCΞϓϦέʔγϣϯΤϯδχΞ ˙ϓϩμΫτ 4*/*4GPS5XJUUFS
  2. ©︎ tete marche CO., LTD. Index ໨࣍ 3 1. ෛ࠴ͱ͸Կ͔

    2. ෛ࠴͸ѱͳͷ͔ 3. ෛ࠴Λ࢒͞ͳ͍ͨΊʹऔΓ૊Μͩ͜ͱ 4. ·ͱΊ
  3. ©︎ tete marche CO., LTD. ෛ࠴ͱ͸Կ͔ 6 ֓೦ͷੜΈͷ਌ “΋͠΋ࣗ෼͕ͨͪॻ͍͍ͯΔϓϩάϥϜΛɺۚ༥ͷੈքʹؔ͢Δਖ਼͍͠ଊ͑ํͩͱࣗ෼ ͕ͨͪཧղͨ࢟͠ͱҰகͤ͞Δ͜ͱ͕Ͱ͖ͳ͘ͳΕ͹ɺࣗ෼ͨͪ͸ઈ͑ͣͦͷෆҰகʹ

    ͭ·͖ͣଓ͚Δ͜ͱʹͳΓɺ։ൃεϐʔυ͸஗͘ͳ͍ͬͯ͘Ͱ͠ΐ͏ɻͦΕ͸·ΔͰआ ۚͷརࢠΛ෷͍ଓ͚Δ͔ͷΑ͏Ͱ͢” Ҿ༻: https://t-wada.hatenablog.jp/entry/ward-explains-debt-metaphor
  4. ©︎ tete marche CO., LTD. ෛ࠴ͱ͸Կ͔ 9 ͦͷ৔͠ͷ͗ͳղܾࡦ͸ෛ࠴Ͱ͸ͳ͍ͷ͔ʁ ෛ࠴ͷϝλϑΝʔͱͨ͠ॏཁͳ෦෼͸ ʮฦࡁ͠ͳ͍ݶΓརࢠ͕஝ੵ͞Εੜ࢈ੑ͕௿Լ͍ͯ͘͠ʯͱ͍͏఺

    ͦͷ৔͠ͷ͗ͳղܾࡦʹΑͬͯੜ·Εͨੜ࢈ੑͷ௿Լ͸ฦࡁ͠ͳ͍ݶΓརࢠ ͕஝ੵ͞Εɺ͞Βʹੜ࢈ੑ͕௿Լ͍ͯ͘͠ͱݴ͏఺Ͱෛ࠴ͱݴ͑Δ
  5. ©︎ tete marche CO., LTD. ύοέʔδΨʔσχϯά 24 ฦࡁن໛͕େ͖͍ͱ w εέδϡʔϧͷ֬อ͕೉͍͠

    w ίϯϑϦΫτ͕ى͖΍͍͢ w ෆ۩߹͕͋ͬͨ৔߹ͷӨڹൣғ͕޿͍ Ҿ༻: https://qiita.com/kamykn/items/ad687e772da454e3f614
  6. ©︎ tete marche CO., LTD. DDDಋೖ 32 ڞ௨ݴޠͷॏཁੑ w ڞ௨ݴޠΛઃఆ͢Δ͜ͱ͸γεςϜʹ௚઀తͳӨڹ͸ͳ͍ͨΊܰࢹ͞Ε͕ͪ

    w ։ൃॳظ͸ڞ௨ݴޠ͕ͳͯ͘΋ొ৔͢Δ֓೦ࣗମ͕গͳ͍͜ͱ͕ଟ͘Өڹ͸খ͍͞ γεςϜ͕ෳࡶԽ͢Δ΄ͲʮࣅͯඇͳΔ֓೦ʯ͕ग़ͯ͘Δػձ͕ଟ͘ͳΓڞ ௨ݴޠͷॏཁੑ͕ߴ·Δ
  7. ©︎ tete marche CO., LTD. DDDಋೖ 34 ߏ଄ʹடংΛ΋ͨΒ͢ ॲཧΛ੾Γ෼͚ͯ'BU$POUPSPMMFSΛվળ͠Α͏ ˣ

    6TFDBTF6UJM-PHJDT4FSWJDFTͳͲ ͍Ζ͍Ζͳ৔ॴʹ͍Ζ͍ΖͳϩδοΫ͕ཚཱ ˣ Մಡੑɾมߋ༰қੑͷ௿Լ
  8. ©︎ tete marche CO., LTD. SRE׆ಈ 40 Τϥʔ؅ཧ ؂ࢹπʔϧ 4FOUSZ

    Λಋೖ͠લճͷ43&׆ಈ͔Βग़ͨΤϥʔΛৼΓฦΔ
  9. ©︎ tete marche CO., LTD. SRE׆ಈ 41 Τϥʔ؅ཧͷ໨త w Өڹ͕খ͞ͳΤϥʔΛ௵͍ͯ͘͜͠ͱͰɺΤϥʔ݅਺ΛݮΒ͠ΫϦςΟΧ

    ϧͳΤϥʔ͕ຒ΋Εͯ͠·͏͜ͱΛ๷ࢭ w ૭ׂΕཧ࿦Ͱݴ͏૭ׂΕΛ๷͗ɺΤϥʔͷ์ஔΛ๷ࢭ
  10. ©︎ tete marche CO., LTD. SRE׆ಈ 43 ΠϯϑϥϦιʔε؅ཧ όον࣮ߦ࣌ؒଳͰҟৗ ʹ௓Ͷ্͕͍ͬͯΔͳɺΫΤϦϩ

    άΛݟͯΈΑ͏ ͜ͷ࣌ؒଳ Ͱ͸͋ͷόον͕ಈ͘͸ͣͳͷ ʹϦιʔε͕ԣ͹͍ͩͳɺ΋͔ͯ͠͠ ࣮ߦ͞Εͯͳ͍ʜʁ
  11. ©︎ tete marche CO., LTD. SRE׆ಈ 44 ΠϯϑϥϦιʔε؅ཧͷ໨త w જࡏతͳΤϥʔͷൃݟ

    w Ϧιʔεͷ࢖༻ঢ়گ֬ೝ w কདྷతʹ༨༟͕͋Δ͔ͷ֬ೝ w Πϯϑϥίετͷ࡟ݮ
  12. ©︎ tete marche CO., LTD. OAS׆༻ 47 Dredd APIςετͷ໨త w

    "1*ςετ࣮૷ίετΛ཈͑Δ w ࣮ࡍͷ"1*ͱ0"4Λಉظͤ͞Δ API OAS %SFEE"1*ςετ
  13. ©︎ tete marche CO., LTD. OAS׆༻ 48 OpenAPI Generator CLIʹΑΔAPIΫϥΠΞϯτίʔυੜ੒

    όοΫΤϯυϓϩδΣΫτͷ0"4ϑΝΠϧΛϑϩϯτΤϯυϓϩδΣΫτ ഑Լʹෳ੡͠PQFOBQJHFOFSBUPSDMJHFOFSBUFίϚϯυΛ࣮ߦ
  14. ©︎ tete marche CO., LTD. OAS׆༻ 49 OpenAPI Generator CLIʹΑΔAPIΫϥΠΞϯτίʔυੜ੒

    w "1*ΫϥΠΞϯτίʔυͷ࣮૷ίετΛ཈͑Δ w "1*ΫϥΠΞϯτίʔυͷߋ৽๨ΕΛ๷͙ API OAS API ΫϥΠΞϯτ ίʔυ %SFEE"1*ςετ 0QFO"1*(FOFSBUPS$-*
  15. ©︎ tete marche CO., LTD. ·ͱΊ DDDಋೖ ໊শ͕౷Ұ͞Ε͍ͯͳ͍͜ͱͰͷίʔυͷෛ࠴ٴͼίϛϡχέʔγϣϯϩε ˠڞ௨ݴޠ ϢϏΩλεݴޠ

     $POUSPMMFS͕ංେԽ͠৭ʑͳ৔ॴͰ৭ʑͳϩδοΫ͕ཚཱ͍ͯͨ͠ ˠϨΠϠʔυΞʔΩςΫνϟ
  16. ©︎ tete marche CO., LTD. ·ͱΊ 55 SRE׆ಈ Өڹ͕খ͍͞Τϥʔ͕ଟൃ͍ͯͯ͠ΫϦςΟΧϧͳ͕ຒ΋ΕΔةݥੑ ˠ؂ࢹπʔϧ

    TFOUSZ ʹΑΔΤϥʔ؅ཧ ఆظతͳৼΓฦΓ જࡏతΤϥʔ΁ͷରࡦ ˠ$MPVE8BUDIμογϡϘʔυ͔ΒΠϯϑϥϦιʔε؅ཧ ఆظతͳৼΓฦΓ
  17. ©︎ tete marche CO., LTD. ·ͱΊ 56 OAS׆༻ "1*࣮૷ίετΛ཈͑Δ "1*ͱ0"4Λಉظͤ͞Δ

    ˠ%SFEE"1*ςετ "1*ΫϥΠΞϯτίʔυ࣮૷ίετΛ཈͑Δ 0"4ͱΫϥΠΞϯτίʔυΛಉظ ˠ0QFO"1*(FOFSBUPS$-*Λར༻ͨ͠ΫϥΠΞϯτίʔυͷੜ੒ API OAS API ΫϥΠΞϯτ ίʔυ %SFEE"1*ςετ 0QFO"1*(FOFSBUPSDMJ