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

Railsのサービスで特別対応をしたときの話

Keisuke KITA
September 21, 2014

 Railsのサービスで特別対応をしたときの話

Keisuke KITA

September 21, 2014
Tweet

More Decks by Keisuke KITA

Other Decks in Technology

Transcript

  1. RailsͷαʔϏεͰ

    ಛผରԠΛͨ͠ͱ͖ͷ࿩

    View Slide

  2. kitak
    twitter.com/kitak

    github.com/kitak

    ~ 2013 ੴ઒ߴઐ, kanazawa.rb
    2013.4 (.0ϖύϘʹ৽ଔೖࣾ
    ৽ଔݚम➞46;63*➞Χϥʔϛʔγϣοϓ 46;63*

    View Slide

  3. https://suzuri.jp

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. ͝ར༻ࣄྫ

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. ͋Γ͕ͱ͏͍͟͝·͢

    View Slide

  13. 46;63*ͷٕज़
    Ruby (Rails4.1)
    Backbone.js
    Node.js

    View Slide

  14. http://pepabo.com/recruit/interview/201406_01

    View Slide

  15. ੜ׆ൃදձ

    View Slide

  16. RailsͷαʔϏεͰ

    ಛผରԠΛͨ͠ͱ͖ͷ࿩

    View Slide

  17. lಛผରԠz

    View Slide

  18. ίϥϘاըɾΩϟϯϖʔϯ

    View Slide

  19. ಛผରԠ
    ಛఆͷϢʔβʔ͚ͩ
    !
    ൢചͰ͖Δݸ਺Λ੍ݶ͍ͨ͠
    ܦཧతͳ౎߹Ͱച্ͷѻ͍Λม͑Δ
    ϖʔδʹදࣔ͢Δ಺༰ΛҰൠϢʔβʔ
    ͱҟͳΔ΋ͷʹ͢Δ

    FUDʜ

    View Slide

  20. Ұॹʹ΍Δ͜ͱʹ
    ͳͬͨΑʂ

    View Slide

  21. ͋Γ͕ͪͳίʔυ

    View Slide

  22. Ұॹʹ΍Δ͜ͱʹ
    ͳͬͨΑʂ

    View Slide

  23. ͋Γ͕ͪͳίʔυ

    View Slide

  24. Ұॹʹ΍Δ͜ͱʹ
    ͳͬͨΑʂ

    View Slide

  25. View Slide

  26. ࠔͬͨ͜ͱ

    View Slide

  27. ͋ͪͪ͜ͷϞσϧ΍
    ϏϡʔʹɺϢʔβͷ
    ෼ذॲཧ͕ࢄΒ͹Δ

    View Slide

  28. اը΍Ωϟϯϖʔϯ͕

    ऴΘͬͨޙʹରԠͷ

    ίʔυΛফ͢ͷ͕େม

    View Slide

  29. ͻͱͭͷاըͷதͰɺ

    ෳ਺ͷରԠΛ͓͜ͳ͍ͬͯ
    Δ৔߹ʹ

    ରԠͷશ༰͕೺Ѳͮ͠Β͍

    View Slide

  30. Ͱ΋ɺ͔ͤͬ͘ͷ

    ͓࿩ͳͷͰɺΑ͠ͳ
    ʹରԠ͍ͨ͠

    View Slide

  31. Ͳ͏͢Ε͹Α͍͔

    View Slide

  32. ίϥϘاը΍Ωϟϯϖʔϯ
    Ͱ͓͜ͳ͏มߋΛҰՕॴ
    ʹू໿͢Ε͹Α͍ͷͰ͸

    View Slide

  33. ͻͱͭͷϑΝΠϧ 

    Ϟδϡʔϧʹ

    zಛผରԠzͱ͍͏ؔ৺ࣄ

    Λ෼཭͢Δ

    View Slide

  34. TipsΛ͍͔ͭ͘

    ͝঺հ͠·͢

    View Slide

  35. Model

    View Slide

  36. lಛผରԠzϞδϡʔϧͷ
    ϝιουͰɺطଘͷϞ
    σϧͷϝιουΛϥο
    ϐϯά͢Δ

    View Slide

  37. Module#prepend

    View Slide

  38. Object
    MyClass
    superclass
    include
    prepend

    View Slide

  39. Object
    MyClass
    superclass
    include
    prepend
    ModuleA

    View Slide

  40. Object
    MyClass
    superclass
    include
    prepend
    ModuleA
    ModuleB

    View Slide

  41. include͸Ϋϥεʹରͯ͠
    ৽ͨͳػೳΛఏڙ͢Δ
    prepend͸طʹଘࡏ͢Δػ
    ೳΛมߋ͢Δ

    View Slide

  42. έʔε

    ಛఆͷϢʔβʔͷ঎඼ͷൢച
    ݸ਺ʹ੍ݶΛઃ͚Δͱ͖

    View Slide

  43. View Slide

  44. View Slide

  45. View Slide

  46. ؾΛ͚ͭΔ͜ͱ

    View Slide

  47. ෳ਺ͷϞδϡʔϧΛ

    ಉҰͷΫϥεʹ

    prepend͢Δࡍʹ

    ઌͷมߋʹӨڹ͸ͳ͍͔ɺ

    ڝ߹͠ͳ͍͔

    View Slide

  48. View

    View Slide

  49. deface by spree

    View Slide

  50. ςϯϓϨʔτΛہॴతʹ

    ΦʔόʔϥΠυͰ͖Δgem

    View Slide

  51. View Slide

  52. έʔε

    Ϣʔβʔͷϖʔδͷݟͤ
    ํΛม͍͑ͨ

    View Slide

  53. ௨ৗ ಛผରԠ

    View Slide

  54. View Slide

  55. View Slide

  56. lಛผରԠzΛͻͱͭͷϑΝΠϧʹ·ͱΊΔ

    View Slide

  57. ؾΛ͚ͭΔ͜ͱ

    View Slide

  58. $44ηϨΫλͰมߋ͢ΔՕॴΛࢦఆ
    ͢ΔͷͰɺϏϡʔͷมߋʹऑ͍

    ˝

    request spec 

    feature specͰΧόʔ

    View Slide

  59. ·ͱΊ
    lಛผରԠzΛҰՕॴʹूΊΔ
    Rubyʹ͸ɺRubyͦͷ΋ͷͷॊ
    ೈੑͱ༏ΕͨΤίγεςϜ͕͋
    Δ

    ➞ԯ߷ͳ͜ͱ΋ָ͘͠Ͱ͖Δ

    View Slide

  60. We are hiring!

    View Slide

  61. We are hiring!

    View Slide

  62. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide