Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

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

Download to read offline

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

Related Books

Free with a 30 day trial from Scribd

See all

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

    Jul. 15, 2018
  • ssuserb585322

    Jul. 14, 2018

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

Views

Total views

2,487

On Slideshare

0

From embeds

0

Number of embeds

573

Actions

Downloads

2

Shares

0

Comments

0

Likes

2

×