O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

2.045 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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. :

×