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

7年間開発を続けるサービスを支える
負債返済日の取り組み

 7年間開発を続けるサービスを支える
負債返済日の取り組み

Rails Developers Meetup 2018 Day 4 Nouvelle Vague (https://techplay.jp/event/702297) で話したスライドです。

C70685102b4eee36f9d195c390d25548?s=128

Shingo Tomioka

December 08, 2018
Tweet

Transcript

  1. ©2018 Wantedly, Inc. 7೥ؒ։ൃΛଓ͚ΔαʔϏεΛࢧ͑Δ
 ෛ࠴ฦࡁ೔ͷऔΓ૊Έ Rails Developers Meetup 2018 Day

    4 Nouvelle Vague 8.Dec.2018 - Shingo Tomioka
  2. ©2018 Wantedly, Inc. • ෋Ԭ ਅޛʢShingo Tomiokaʣ • ɹ @meea_t

    • Wantedly, Inc. 2017೥৽ଔೖࣾ • Wantedly Visit ͷ Web
 ϑϩϯτΤϯυɾόοΫΤϯυΛ։ൃ ࣗݾ঺հ
  3. Wantedly Visit Ŗ ͸ͨΒ͘Λ໘ന͘

  4. ։ൃνʔϜߏ੒ • ΤϯδχΞ͸ Web 12ਓɾΞϓϦ5ਓ͘Β͍ • 3~5ਓ͘Β͍ͰҰͭͷػೳΛ։ൃ͢ΔখνʔϜ ͕͍͔ͭ͋͘Δ VISIT

  5. ΞʔΩςΫνϟ • WebɾόοΫΤϯυ͸ϞϊϦγοΫ Rails + α • ࠷ۙ͸ϚΠΫϩαʔϏεԽ΋ਐΊ͍ͯΔ͕ɺϝ ΠϯͷαʔϏε͸ͣͬͱϝϯςφϯε͍ͯ͘͠ ඞཁ͕͋Δ

  6. ϝΠϯϨϙδτϦͷίʔυྔʢߦ਺ʣ 0K 200K 400K 600K 800K 1,000K 2011 2012 2013

    2014 2015 2016 2017 2018 2019
  7. ΞʔΩςΫνϟ΍૊৫ͷྺ࢙ʹ͍ͭͯͷ͘Θ͍͠࿩͸… https://speakerdeck.com/kawasy/wantedly-niokeru-purodakuto-ji-shu-zu-zhi-7nian-jian-falsejin-hua

  8. ©2018 Wantedly, Inc. • ίʔυϕʔεͷ݈શੑΛอͪɺ։ൃͷੜ࢈ੑΛ ҡ͍͖͍࣋ͯͨ͠ • ීஈͷ։ൃத͸αʔϏεͷKPI͕ॏཁͳͷͰɺ KPIʹ௚݁͠ͳ͍λεΫ͸༏ઌ౓͕௿͘ͳͬͯ ͠·͏

    • ීஈ͸খνʔϜ୯ҐͰ։ൃ͍ͯ͠Δ͚Ͳɺશ ମͱͯ͠ҰͭͷαʔϏεɾҰͭͷϦϙδτϦ Λҡ͍࣋ͯ͘͠ඞཁ͕͋Δ ௕͘αʔϏεΛ։ൃ͚͍ͭͮͯͨ͘͠Ίʹ
  9. ©2018 Wantedly, Inc. • ීஈ͸༏ઌ౓্͕͕Βͳ͍λεΫʹूதͯ͠ औΓ૊Ήઐ༻ͷ೔ • 1.5ϲ݄ʹ1ճ͘Β͍։࠵ • νʔϜશһͰऔΓ૊Ή

    ňෛ࠴ฦࡁ೔ʯ
  10. ©2018 Wantedly, Inc. • ෛ࠴ฦࡁܥ • ੜ࢈ੑ޲্ܥ • Τϥʔͷ੔ཧɾόάϑΟοΫε •

    ύϑΥʔϚϯεվળ • ύοέʔδͷΞοϓσʔτ • πʔϧͷಋೖ • υΩϡϝϯτ੔උ • etc. ΍Δ͜ͱ
  11. ©2018 Wantedly, Inc. • ʮෛ࠴ฦࡁ೔ʯͱݺΜͰ͍Δ͕ɺऔΓ૊Ήͷ͸ ٕज़తෛ࠴͚ͩʹݶΒͳ͍ • ʮ͋Ε΍Γ͍ͨɾ΍ͬͨํ͕͍͍͚ͲͰ͖ͳ͍ʯ ͱ͍͏৺ཧతෛ࠴Λฦ͢೔Ͱ΋͋Δ ňෛ࠴ฦࡁ೔ʯ

  12. લ΋ͬͯ issue Λཱͯͯ΍Γ͍ͨ͜ͱΛॻ͍͓ͯ͘ • 1ճͷෛ࠴ฦࡁ೔͕ऴΘͬͨλΠϛϯάͰ࣍ճ͕
 εέδϡʔϦϯά͞Εɺissue ཱ͕ͯΒΕΔ

  13. લ΋ͬͯ issue Λཱͯͯ΍Γ͍ͨ͜ͱΛॻ͍͓ͯ͘

  14. ©2018 Wantedly, Inc. • ͜͜ΛͳΜͱ͔͍ͨ͠ͱ͍͏ͷ͸ɺීஈͷ։ ൃΛ͍ͯ͠Δͱ͖ʹײ͡Δ • ͕ͦͷͱ͖͸࣌ؒΛ͔͚ΒΕͳ͍͜ͱ͕ଟ͍ • Issue

    ʹϝϞ͓͍ͯͯ͠ɺ͋ͱͰ΍ΔͱܾΊͯ ͓͘͜ͱͰɺͦͷॠؒ͸։ൃʹूத͚ͭͮ͠ ΒΕΔ લ΋ͬͯ issue Λཱͯͯ΍Γ͍ͨ͜ͱΛॻ͍͓ͯ͘
  15. ©2018 Wantedly, Inc. • 10:00 ू·ͬͯλεΫΛ੔ཧׂͯ͠ΓৼΓ • 10:30~18:30 ֤ࣗλεΫʹऔΓ૊Ή •

    18:30 ੒Ռൃදɾ;Γ͔͑Γ 1೔ͷྲྀΕ
  16. ©2018 Wantedly, Inc. λεΫͷׂΓৼΓ

  17. ©2018 Wantedly, Inc. λεΫͷׂΓৼΓ • γʔτʹॻ͖ग़ͯ͠༏ઌ౓Λ͚ͭͯΞαΠϯ • ͜͜ʹਐḿʢstatus: WIP/DONE ΍

    PRͷϦϯΫʣ ΋ॻ͖ࠐ·Ε͍ͯ͘ • ϋοΧιϯײ
  18. ©2018 Wantedly, Inc. ࠷ۙ΍ͬͨྫΛ͍͔ͭ͘঺հ

  19. ໘౗͚ͩͲ΍Βͳ͖Ό͍͚ͳ͍΍ͭ

  20. Facebook API Λ࢖͍ଓ͚ΔͨΊʹΞϓϦϨϏϡʔΛૹΔ

  21. ෛ࠴ฦࡁܥ

  22. ©2018 Wantedly, Inc. • ϦΫΤετϩάΛݩʹɺ࢖ΘΕ͍ͯͳ͍Τϯ υϙΠϯτΛྻڍ • 2ਓͰ1೔Ͱ໿100ݸͷϖʔδΛ࡟আ • શମͷ7%Λ࡟ݮ

    ࢖ΘΕ͍ͯͳ͍ϖʔδͷ࡟আ
  23. ࡞ۀͷ༷ࢠ

  24. ੜ࢈ੑ޲্ܥ

  25. ©2018 Wantedly, Inc. • config/routes.rb ͷத਎͕2300ߦ • (annotate ʹΑΔίϝϯτΛআ͍ͯ) •

    ಉ͡Ϧιʔε͕ଟ਺ͷ namespace ഑Լʹଘࡏ • users • admin/users • enterprise/users • api/v1/users • api/v2/users • … config/routes.rb ϑΝΠϧΛ෼ׂ
  26. config/routes.rb ϑΝΠϧΛ෼ׂ

  27. config/routes.rb ϑΝΠϧΛ෼ׂ

  28. ©2018 Wantedly, Inc. • ઐ༻ͷ೔Λઃ͚Δ͜ͱͰɺͦΕҎ֎ͷ೔͸
 αʔϏεΛ৳͹ͨ͢Ίͷ։ൃʹूதͰ͖Δ • ͕ܾ࣌ؒ·͍ͬͯΔ͜ͱͰूதྗ্͕͕Γɺ
 ੒Ռ͕ग़΍͍͢ ෛ࠴ฦࡁ೔ͷ͍͍ͱ͜Ζ

  29. ©2018 Wantedly, Inc. • νʔϜશһͰಉ͡೔ʹऔΓ૊Ή͜ͱͰ • ΈΜͳ΍ͬͯΔͷͰɺଞͷਓʹฉ͖͍ͨ͜ͱ͕͋ͬ ͨͱ͖ؾ݉Ͷͳ͘ฉ͚Δ • ීஈͷ։ൃதͩͱअຐ͢Δͷ͸ਃ͠༁ͳ͍ͱ͍͏ؾ࣋ͪʹͳΔ

    • ͜ͷ೔ʹ͍Ζ͍Ζ͍͔ͬͨ͡ΒɺͳΜ͔յΕΔ͔΋ ͱ͍͏ͷ͕ڞ༗͞ΕͯΔ • ීஈͷ։ൃதʹ΍Ζ͏ͱ͢Δͱɺ΋ͬͱ͘͢͝৻ॏʹਐΊΔඞཁ͕ ͋Δ • ʮ͋ͷਓෛ࠴͸͍Ζ͍Ζฦͯ͠Δ͚Ͳɺ੒Ռग़ͯ͠ ͳ͍ʯΈ͍ͨʹͳΒͳ͍ ෛ࠴ฦࡁ೔ͷ͍͍ͱ͜Ζ
  30. ©2018 Wantedly, Inc. • ීஈผʑʹ։ൃ͍ͯ͠ΔνʔϜͷԣͷίϛϡχ έʔγϣϯͷػձʹͳΔ • ීஈࣗ෼͕৮Βͳ͍ൣғ΋ؚΊɺίʔυϕʔε શମΛϝϯςφϯε͍ͯ͘͠ҙ͕ࣝੜ·ΕΔ ෛ࠴ฦࡁ೔ͷ͍͍ͱ͜Ζ

  31. ©2018 Wantedly, Inc. • ύοέʔδͷΞοϓσʔτ • ෛ࠴ฦࡁ೔ͷதͰ΋༏ઌ౓͕௿͘ͳΓ͕ͪ • ෛ୲ΛݮΒͨ͢Ίʹ Dependabot

    Λಋೖͯ͠ ि࣍౰൪੍ʹ͢Δ΋ఆணͤͣ ͏·͘Ͱ͖͍ͯͳ͍ͱ͜Ζ
  32. ©2018 Wantedly, Inc. • Gem ͸ʢݱঢ়ʣશ෦΍Δͷ͸ఘΊ͍ͯΔ • ඞཁʹͳͬͨͱ͖ʹ΍Δ • ηΩϡϦςΟΞοϓσʔτ͸औΓࠐΉ

    • npm ύοέʔδ͸࠷৽ʹ௥ै͍͖͍ͯͨ͠… • ಛʹ React पΓͱ͔ • ࠷ۙϑϩϯτΤϯυपΓͷج൫Λ੔͑Δઐ೚ͷ
 ϝϯόʔ͕Ͱ͖ͨͷͰظ଴ʂ ύοέʔδͷΞοϓσʔτ
  33. ©2018 Wantedly, Inc. • ࡉ੾ΕʹͰ͖ΔͳΒࡉ੾Εʹ • ཻ౓͕େ͖͘ɺ͔ͭॏཁͳ΋ͷ͸ϓϩδΣΫτ ͱͯ͠εέδϡʔϧʹ૊ΈࠐΜͰ΍Δ • େ͖ͳ໰୊͸ͦ΋ͦ΋Կ͕໰୊ͳͷ͔΍໰୊ͷ

    ن໛Λௐ΂Δͱ͜Ζ͔Β࢝ΊΔඞཁ͕͋Δ • ͦͷ࡞ۀΛෛ࠴ฦࡁ೔ʹ΍Δ͜ͱ΋͋Δ 1೔Ͱ΍Γ͖Εͳ͍λεΫ͕Ͱ͖ͳ͍ʁ
  34. ©2018 Wantedly, Inc. • 1೥൒લʹ 4.1 => 5.0 ʹ্͛ͨ •

    4ܥʹ্͛ͨͷ͸2014೥ • ґଘ gem ͷΞοϓσʔτͳͲࡉ͔͍࡞ۀ͸
 ਺ਓͰࣄલʹ • ਓख͕ඞཁͳ࡞ۀ͸νʔϜશһͰ͕ͬͱ΍ͬͨ • Breaking changesɺdeprecation warning ରԠ • ςετΛͻͨ͢Β௨ΔΑ͏ʹ͍ͯ͘͠ • etc. Rails ΞοϓάϨʔυ
  35. ؾ߹͍Ͱ৐Γ੾ͬͨ…͕ɺ

  36. ©2018 Wantedly, Inc. • 50ਓ೔͘Β͍͔͔ͬͨ • ૝ఆͷഒҎ্ • ϝδϟʔόʔδϣϯΛ্͛Δͷ͸ɺ͕ͬͱ΍Δ ʹ͸͠ΜͲ͍ίʔυྔʹ

    • ࠓ͸ෛ࠴ฦࡁ೔ʹͰ͖ΔλεΫΛͪΐͪ͜ΐ͜ ਐΊ͍ͯΔ ૝ఆҎ্ʹେมͩͬͨ
  37. ©2018 Wantedly, Inc. • ௕͘αʔϏεΛ։ൃ͠ଓ͚Δʹ͸ɺίʔυϕʔ εͷ݈શੑͱ։ൃͷੜ࢈ੑΛอ͍ͬͯ͘͜ͱ͕ ඞཁ • ͱ͸͍͑KPI΋େࣄͳͷͰɺීஈ͸ͳ͔ͳ͔࣌ؒ ͕औΕͳ͍

    • ʮෛ࠴ฦࡁ೔ʯͱ͍͏ઐ༻ͷ೔Λઃ͚ͯɺूத తʹऔΓ૊ΉΑ͏ʹ͍ͯ͠Δ ·ͱΊ
  38. ©2018 Wantedly, Inc. • ઐ༻ͷ೔Λઃ͚Δ͜ͱͰɺͦΕҎ֎ͷ೔͸
 αʔϏεΛ৳͹ͨ͢Ίͷ։ൃʹूதͰ͖Δ • νʔϜશһͰಉ͡೔ʹऔΓ૊Ή͜ͱͰɺίϛϡ χέʔγϣϯ΋औΓ΍͍͢͠ɺ৘ใ΍஌ݟ΋ڞ ༗͠΍͍͢

    • ීஈ͸ผʑʹ։ൃ͍ͯ͠Δϝϯόʔ΋ɺνʔϜ ͰҰͭͷαʔϏεΛҡ͍࣋ͯ͘͠ͱ͍͏ҙ͕ࣝ ੜ·ΕΔ ·ͱΊ
  39. એ఻ Wantedly ͰϛʔτΞοϓ͕࡞ΕΔΑ͏ʹͳΓ·ͨ͠ʂษڧձͱ͔ʹ࢖ͬͯͶʂ www.wantedly.com/meetups