技術選定で失敗したはなし

 技術選定で失敗したはなし

B6a35c859bb72c6135f6c5d4a8bad402?s=128

atomiyama

April 04, 2019
Tweet

Transcript

  1. Copyright 2018 Studyplus, Inc. All Rights Reserved. ٕज़બఆͰࣦഊ͓ͨ͠͸ͳ͠ Akifumi Tomiyama

    / Studyplus Inc. 2019.4.4 @දࢀಓ.rb#45
  2. ࣗݾ঺հ ෌ࢁথ࢙ Akifumi Tomiyama atomiyama atomiyama_1216 2017.9 Rubyडୗ։ൃ 2018.9 ελσΟϓϥεגࣜձࣾ


    For Schoolࣄۀ෦
 αʔόʔαΠυΤϯδχΞ ✎ Ruby, Railsྺ 2೥
  3. 4UVEZQMVTGPS4DIPPM͸ɺڭҭػؔ޲ֶ͚श؅ཧαʔϏεͰ͢ɻ ੜెͷ೔ʑͷ౒ྗΛɺؾ͖ͮɺ๙ΊΔػೳΛଟ਺ἧ͍͑ͯ·͢ɻ 4/4ͷΑ͏ͳૢ࡞ײͰɺ୭Ͱ΋͙͢ʹ࢖͍͸͡ΊΒΕ·͢ɻ ઌੜ͕ੜెΛ๙ΊΔػձΛ࠷େԽ͢Δɺֶशक़ͷ৽͍͠ελϯμʔυ

  4. APIͷυΩϡϝϯςʔγϣϯͲ͏ͯ͠·͔͢ʁ

  5. swagger2.0Ͱࣦഊͨ͠࿩

  6. ࠓ೔ͷ͓࿩ ✎ αʔϏεͷϦχϡʔΞϧͰϑϩϯτΛಠཱͤ͞Δͱ͖ RailsͷAPIαʔόʔԽ ✎ υΩϡϝϯςʔγϣϯʹswagger2.0Λಋೖ͠swagger wayΛ֎ΕͯڧҾʹߦͬͨΒਏ͞ΛੜΜͩ࿩

  7. എܠ Monolithic Rails App SoE
 (Client App) SoR
 (Rails API)

    ✎ SPAʹͯ͠ը໘ભҠΛૣ͍ͨ͘͠ ✎ σβΠφʔ͕ೖͬͨͷͰUIͷ࡮৽ ✎ Ϟμϯͳٕज़Ͱ͔ͬ͜Α͍ͨ͘͠
  8. 2018/10ࠒ ✎ swagger2.0 ✎ swagger-blocks ✎ swagger_ui_engine ✎ apivore ࠓ

    ✎ OpenAPI3.0 ✎ swagger-editor ✎ json_refs ✎ committeeʢ3.0ରԠ͋Γ͕ͱ͏ʣ
  9. swaggerΛॻ͍͓ͯ͘ͱخ͍͜͠ͱ ✎ ϞοΫαʔόʔͭ͘Δͷ؆୯ ✎ ΫϥΠΞϯτ։ൃऀͱͷ஗ԆΛ࠷খԽͰ͖Δ ✎ υΩϡϝϯτͱ࣮૷ͷണ཭ʹؾ͚ͮΔ ✎ ςετָ͕͘͢͝ʹͳΔ

  10. swagger2.0ʹͨ͠ཧ༝ ✎ swagger2.0पΓͷgem͕๛෋ͩͬͨ ✎ ౰࣌openapi3.0ʹରԠͨ͠ςετπʔϧ͕ͳ͔ͬͨ ✎ controllerͷதʹDSLͰॻ͘ܗ͕Πέ͍ͯΔͱࢥͬͯͨ ✎ ωοτ্Ͱͷ৘ใ͸2.0ͷ΄͏͕ଟ͔ͬͨ

  11. ໰୊ ✎ ܕ͕Ұ͔ͭ͠ఆٛͰ͖ͳ͍ ✎ formDataͰෳ਺ϑΝΠϧΞοϓϩʔυΛදݱͰ͖ͳ͍ ࣗલͰnullΛ֦ு͢ΔͳͲ…

  12. #

  13. ✎ swagger-uiͰεΩʔϚ͕දݱ͞Ε͍ͯͳ͍ ✎ ϥΠϒϥϦ͕֦ு͞ΕͨεΩʔϚΛೝࣝͰ͖ͳͯ͘ਖ਼ ͘͠ςετ͞Εͳ͍ ແཧʹίʔυͰղܾ͠Α͏ͱͨ͠Β

  14. υΩϡϝϯτͱ࣮૷ʹဃ཭͕…

  15. OpenAPI3.0ͳΒͰ͖ͨͷʹ…

  16. ໰୊ ✎ ܕ͕Ұ͔ͭ͠ఆٛͰ͖ͳ͍ ✎ ෳ਺ϑΝΠϧͷ഑ྻΛදݱͰ͖ͳ͍ ✎ nullable ✎ requestBody ղܾ

  17. None
  18. ͖ͬ͢Γ

  19. υΩϡϝϯτͱ࣮૷ͷဃ཭͕๷͛Δ

  20. ΈΜͳ͋͠Θͤ$

  21. ڭ܇ ✎ ٕज़બఆ͸৻ॏʹߦ͍·͠ΐ͏ ✎ ࢓༷͕ϥΠϒϥϦ,ϑϨʔϜϫʔΫ͔Β͸Έग़ͯ͠͠· ͏Α͏ͳ࣌ίʔυϨϕϧͰղܾ͢Δͷ͸ྑ͘ͳ͍ ✎ ຊ౰ʹͦͷٕज़Ͱߦͬͯେৎ෉ͳͷ͔νʔϜͰٞ࿦Λ͠ ͳ͓͢͜ͱ͕େࣄ

  22. Ҏલ՝୊͸͍ͬͺ͍͋Δ͚Ͳ ✎ AMSͱswaggerͷ෼཭ ✎ ymlϑΝΠϧͷ؅ཧ ✎ υΩϡϝϯτߋ৽͔Βެ։ɼ։ൃϑϩʔ

  23. ͱΓ͋͑ͣ͠͹Β͘΍͍͚ͬͯͦ͏$

  24. We’re Hiring! ΤϯδχΞืूத https://info.studyplus.co.jp/recruit

  25. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠