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

Server-Side Team in Toreta

Server-Side Team in Toreta

https://atnd.org/events/89458 の発表資料です

Fff61dd9a0e2876d2e71d6ef36434d45?s=128

Masato Nakamura

August 08, 2017
Tweet

Transcript

  1. Server-Side Team in Toreta @m_nakamura145

  2. ࣗݾ঺հ • Masato Nakamura • @m_nakamura145 • Server-Side Engineer •

    Recruit Holdings -> Toreta(2016/10ʙ)
  3. ࠓ೔͓࿩͢Δ͜ͱ • τϨλͷαʔϏεͱAPIΞʔΩςΫνϟ • αʔόαΠυνʔϜͷϛογϣϯ • Ϣʔβͷ՝୊Λղܾ͢ΔͨΊʹ΍͍ͬͯΔ͜ͱ

  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. Toreta Core API • First commit͸2013೥8݄ • िʹ1ճͷDeploy • ݱࡏ5໊Ͱ։ൃ

    • @swdyh,@ziguzagu,@serihiro,@fregdee,@m-nakamura145
  11. +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes |

    Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 22229 | 19006 | 173 | 942 | 5 | 18 | | Helpers | 223 | 200 | 0 | 26 | 0 | 5 | | Models | 12651 | 7693 | 187 | 510 | 2 | 13 | | Mailers | 370 | 312 | 10 | 19 | 1 | 14 | | Javascripts | 4701 | 2948 | 16 | 367 | 22 | 6 | | Libraries | 1699 | 1264 | 36 | 112 | 3 | 9 | | Concern specs | 478 | 396 | 0 | 3 | 0 | 130 | | Controller specs | 29728 | 26235 | 3 | 7 | 2 | 3745 | | Helper specs | 139 | 118 | 0 | 0 | 0 | 0 | | Lib specs | 498 | 441 | 0 | 0 | 0 | 0 | | Mailer specs | 2009 | 1721 | 0 | 1 | 0 | 1719 | | Model specs | 13909 | 10891 | 0 | 2 | 0 | 5443 | | Request specs | 91 | 66 | 0 | 0 | 0 | 0 | | View specs | 672 | 569 | 0 | 0 | 0 | 0 | | Worker specs | 3583 | 3113 | 1 | 4 | 4 | 776 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 92980 | 74973 | 426 | 1993 | 4 | 35 | +----------------------+-------+-------+---------+---------+-----+-------+
  12. ن໛ • αʔϏεఏڙࠃ:15ϱࠃҎ্ʢ೔ຊɺγϯΨϙʔϧɺ୆࿷ɺؖࠃɺϕτφϜɺϚ ϨʔγΞɺΠϯυωγΞɺλΠɺΧϯϘδΞɺϑΟϦϐϯɺχϡʔδʔϥϯυɺΦʔετϥϦΞɺ ΞϝϦΧɺΠΪϦεɺΤδϓτ, etc…ʣ • ళฮ਺:໿8500ళฮ • ྦྷܭ༧໿ਓ਺:໿1ԯ2000ສਓ

  13. "1*ΞʔΩςΫνϟ

  14. Toreta Manager iPad Client Web Reservation (Customer) Phone Call Toreta

    Core API
  15. POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call

    POS Connect API Toreta Core API
  16. POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call

    Gourmet media POS Connect API Toreta Core API Mail Importer API
  17. POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call

    Gourmet media POS Connect API Toreta Core API Mail Importer API MySQL to BigQuery
  18. αʔόαΠυνʔϜͷϛογϣϯ • ٕज़ͱσʔλΛ࢖ͬͯϢʔβͷຊ࣭తͳ՝୊Λղܾ͢Δ • ϢʔβʹܟҙΛࠐΊͯରԠ͢Δ • ٕज़Ͱ૊৫શମͷੜ࢈ੑΛ্͛Δ

  19. ΞΫγϣϯ • τϨλͷશAPIͷઃܭɾ։ൃɾӡ༻ • ࣾ಺޲͚πʔϧʢa.k.aτϨλ؅ཧʣͷ։ൃ • ໰͍߹ΘͤରԠ • ෼ੳΫΤϦͷ࡞੒

  20. τϨλ؅ཧ • ࣾ಺޲͚؅ཧπʔϧ • ಋೖళฮͷτϨλར༻ঢ়گΛݟΔɾઃఆΛ؅ཧ͢Δ • ࣾһશһ͕ຖ೔ݟΔ

  21. None
  22. "1*։ൃ • Design Doc • Github issues • ࣮૷ɾςετ •

    ಈ࡞֬ೝ on Shining Wizard • QA • ϦϦʔε
  23. None
  24. None
  25. • ػೳ։ൃͱಉ͡ॏཁ౓ͰϦϑΝΫλϦϯά͢Δ • খ͍͞ϦϑΝΫλϦϯά͸ػೳ։ൃͷϓϩδΣΫτ಺Ͱߦ͏ • Gemͷ੔ཧͳͲɺ͋Δఔ౓·ͱ·ͬͨλεΫ͸վળ෦Ͱߦ͏ • େ͖͍ϦϑΝΫλϦϯά͸ͦΕࣗମΛϓϩδΣΫτʹ͢Δ Refactoring

  26. None
  27. ໰͍߹ΘͤରԠ • ͓٬༷͔Βͷ௚઀తͳ໰͍߹Θͤ͸ΧελϚʔαϙʔτνʔϜ ͕ରԠ • όάͷ͍ٙ΍ෳࡶͳ࢓༷֬ೝͷ࣌ʹΤϯδχΞ͕ରԠ • ࣋ͪճΓ੍Ͱ͸ͳ͘ɺνʔϜશһͰ൓Ԡͯ͠ૣ͔ͬͨਓ͕ରԠ • جຊతʹͰ͖Δ͚͙ͩ͢ରԠͦ͠ͷ৔Ͱ໰୊ղܾ͢Δ

  28. None
  29. None
  30. σʔλͱ޲͖߹͏ • ਖ਼͍͠՝୊ʹऔΓ૊ΉͨΊʹ • ࡞ͬͨػೳ͕՝୊Λղܾ͔ͨ͠Λ͔֬ΊΔͨΊʹ • τϨλΛಋೖ͍͍ͯͨͩͨ͠ళฮΛαϙʔτ͢ΔͨΊʹ

  31. ਖ਼͍͠՝୊ʹऔΓ૊Ή • ৽ػೳͷՁ஋ԾઆΛߟ͑Δஈ֊͔ΒσʔλΛݟͳ͕Βٞ࿦͢Δ

  32. None
  33. ࡞ͬͨػೳ͕՝୊Λղܾ͔ͨ͠Λ͔֬ΊΔ • ৽ػೳΛϦϦʔε͢Δ͚ͩͰऴΘΒͳ͍ • ࣮ࡍʹػೳ͕࢖ΘΕ͍ͯΔ͔Λσʔλ͔Β֬ೝ͢Δ • ࣍ͷਖ਼͍͠՝୊΁ͷώϯτΛಘΔ

  34. None
  35. • τϨλΛಋೖ͍͍ͯͨͩͨ͠ళฮΛαϙʔτ͠ɺച্Λ࠷େԽ ͢Δάϧʔϓ • SaaSͷཁ • ཭୤཰ʢChurmʣΛ௿͘͢ΔͨΊʹɺళฮʹ޲͚༷ͯʑͳΞΫ γϣϯΛى͜͢ • ΞΫγϣϯΛى͜͢΂͖ళฮΛσʔλ͔Βಋ͖ग़͢

    Customer Success Group
  36. None
  37. σʔλͷ࣭Λ্͍͛ͯ͘ • ܧଓతͳDB Refactoring • Data Martͷ࡞੒ • ࠓ·ͰऔΕͯͳ͔ͬͨσʔλΛऔΕΔΑ͏ʹ͢Δ •

    ྫ: τϨλϑΥϯ • ࣾ಺Ͱ͍Ζ͍Ζͳਓ͕σʔλ෼ੳΛߦ͑ΔΑ͏ʹ͢Δ
  38. None
  39. None
  40. • τϨλͷαʔϏεͱAPIΞʔΩςΫνϟ • αʔόαΠυνʔϜͷϛογϣϯ • Ϣʔβͷ՝୊Λղܾ͢ΔͨΊʹ΍͍ͬͯΔ͜ͱ ࠓ೔͓࿩ͨ͜͠ͱ