"Tackling complex architecture in Ruby"
summary
Covers criteria for evaluating architectures and practical approaches to building better Ruby applications, using technologies and practices in the Ruby ecosystem (including Ruby and Rails). Explains fundamentals like intention-revealing programming, SOLID principles and TDD, then presents advanced techniques such as domain-driven design and functional programming, illustrated with Ruby-specific examples and resources.
AI-written summary · about
chapters (24)
- 0:00Start
- 0:08Tackling complex Ruby architecture
- 1:13Two values of software
- 3:10The secondary value of software is its behavior
- 6:01Main goal of a developer is to keep software maintainable
- 7:18Rigidity
- 9:39Immobility
- 10:29Viscosity
- 13:16OUTSOURCING
- 14:09Every technique has own advantages and overhead. Sometimes, a technique doesn't fit.
- 17:44proof of correctness
- 19:53Hierarchy of abstractions is the clue
- 22:30Yes, persistence is also an aspect
- 23:37Rely on something stable, non-volatile
- 23:58Interface is more stable than implementation
- 25:25Leverage Dependency Inversion
- 27:05Integration of modules
- 27:58Decouple totally with Domain Events
- 29:35Domain abstractions are the best to separate
- 33:12More abstractions requires more integration testing
- 36:07Functional programming
- 38:21Be pragmatic, not purist
- 39:43Take care about knowledge sharing
- 41:08Any questions?
related talks
32mComponent-based Architectures in Ruby and Rails
41mAPPLICATION ARCHITECTURE: BOUNDARIES, OBJECT ROLES, & PATTERNS
46mHexagonal Architecture with Ruby
39mFunctional Architecture for the Practical Rubyist
30mRuby Techniques by Example
39mFunctional Architecture for the Practical Rubyist
01h 12mRuby Best Practice Patterns
46mSOLID Ruby
