Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Octocatは技術的負債の夢を見るか?

2.057 Aufrufe

Veröffentlicht am

2018/07/13
Rails Developers Meetup 2018 Day 3 Extreme
https://techplay.jp/event/679666

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Octocatは技術的負債の夢を見るか?

  1. 1. Octocat ? 2018/07/13 @treby006 Rails Developers Meetup Day3
  2. 2. • treby (@treby006) Shinjuku.rb • Repro Dev2 • Rails • Rails, Vue.js, AWS(ECS, EMR), Go
  3. 3. Repro • Rails • • •
  4. 4. Repro • Rails • • •
  5. 5. Commit 2
  6. 6. Additions/Deletions 1 ( )
  7. 7. Repro • Rails • • • • CTO Contribute
  8. 8. Repro
  9. 9. We are hiring!! • • / B to B • • • • Conference
  10. 10. :
  11. 11. : Technical debt (design debt) ---- Wikipedia
  12. 12. • • • •
  13. 13. • •
  14. 14. • • • => •
  15. 15. • • • ( ) • • •
  16. 16. • • • • •
  17. 17. (Rails )
  18. 18. 1 DSL/ class SomeDSL def self.configulation(*args) end module Definition def provide(&definition) end end : : end
  19. 19. DSL/ • 0 → 1 • • ……
  20. 20. DSL/ • • • DSL/
  21. 21. DSL/ • Ruby • • gem OSS
  22. 22. 2 class SomeController < ApplicationController : : def create @presenter = SomePresenter.new(@some_model) if @presenter.save redirect_to :some_path else render :new end end end
  23. 23. 2 class SomePresenter < PresenterBase attr_reader :form delegate :save, to: :form def initialize(some_model) @form = SomeForm.new(some_model.attributes, self) end : : end
  24. 24. 2 class SomeForm < FormBase validate :something : : def initialize(params) : : end end
  25. 25. • • Rails • • ……
  26. 26. SomeForm : Before class SomeForm < FormBase validate :something : : def initialize(params) : : end end
  27. 27. SomeForm : After class SomeForm < FormBase validate :something : : attr_reader :presenter def initialize(params, presenter) : @presenter = presenter : end def validate presenter.some_methods super end end
  28. 28. Presenter : Before class SomePresenter < PresenterBase attr_reader :form delegate :save, to: :form def initialize(some_model) @form = SomeForm.new(some_model.attributes, self) end : : end
  29. 29. Presenter : After class SomePresenter < PresenterBase attr_reader :form def initialize(some_model) @form = SomeForm.new(some_model.attributes, self) end def save : @form.save : end : : end
  30. 30. • • • •
  31. 31. • • • •
  32. 32. • CI •
  33. 33. • • • • •
  34. 34. • • → • → • → •
  35. 35. • • • => • •
  36. 36. • • ( ) •
  37. 37. :
  38. 38. • • ( ) • •
  39. 39. • • • •
  40. 40. • ( ) • • • ( )
  41. 41. • ( ) • • • ( ) •
  42. 42. https://speakerdeck.com/joker1007/realworld- domain-model-on-rails
  43. 43. https://speakerdeck.com/joker1007/realworld- domain-model-on-rails
  44. 44. • • • •
  45. 45. • Rails • • CoC (Convention over Configuration) • Rails Rails ( ) •
  46. 46. • • • • : • :
  47. 47. !
  48. 48. !
  49. 49. • • • • ( ) •
  50. 50. • • • • ……
  51. 51. We are hiring!! • • / B to B • • • • Conference
  52. 52. Repro Tech Meetup https://repro-tech.connpass.com/event/94282/
  53. 53. Happy Hacking!!
  54. 54. :

×