GoRuCo 2012 Hexagonal Rails by Matt Wynne
Confreaks1 HN recommender · recommended in 1 month, 2012-2014
17K views · 14 years ago · talk · dated
Matt Wynne's GoRuCo 2012 talk on why Rails apps get hard to change as they grow, and how a ports-and-adapters hexagonal architecture separates application logic from the framework.
HN cites it as a resource for decoupling Rails code and for faster tests.
1:15:58October CincyRb - Jim Weirich on Decoupling from Rails
Launch Scout
48K views • 13 years ago
53:12Yehuda Katz - Why Rails is Hard (Railsberry 2012)
applicake
29K views • 14 years ago
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
190K views • 12 years ago
47:34RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"
O'Reilly
26K views • 15 years ago
1:06:39Ruby Midwest 2011 - Keynote: Architecture the Lost Years by Robert Martin
Confreaks
172K views • 14 years ago
25:39H3: Tiling the Earth with Hexagons
Uber Engineering
53K views • 8 years ago
28:06MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk
Confreaks
27K views • 12 years ago
44:36Hacker Way: Rethinking Web App Development at Facebook
Meta Developers
900K views • 12 years ago
28:34RailsConf 2016 - Rails to Phoenix by Brian Cardarella
Confreaks
12K views • 10 years ago
35:53RailsConf 2015 - Nothing is Something
Confreaks
84K views • 11 years ago
52:23Nicholas Zakas: Scalable JavaScript Application Architecture
YUI Library
68K views • 15 years ago
49:54The Clean Architecture in Python
Next Day Video
114K views • 12 years ago
23:57GopherCon 2016: The Design of the Go Assembler - Rob Pike
Gopher Academy
116K views • 10 years ago
36:53Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey
Confreaks
220K views • 14 years ago
54:01Abseil's Open Source Hashtables: 2 Years In - Matt Kulukundis - CppCon 2019
CppCon
22K views • 7 years ago
37:37RailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
61K views • 10 years ago
1:01:17RailsConf 2014 - Keynote: Writing Software by David Heinemeier Hansson
Confreaks
123K views • 12 years ago
51:57Lone Star Ruby Conference 2010 Real Software Engineering by Glenn Vanderburg
Confreaks
30K views • 15 years ago
35:32Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
ReactEurope
63K views • 10 years ago
35:33Visualising software architecture with the C4 model - Simon Brown, Agile on the Beach 2019
Agile on the Beach
553K views • 7 years ago
3 comments from Hacker News
Rails used as intended can be a real pain to upgrade, I agree. Recently I have been developing applications in the "thin-model, thin-controller, with a service layer and external API wrappers" style, as espoused by Gary Bernhardt [1] and others [2] [3] [4] [5]. I upgraded to the latest Rails this morning on one app, and apart from swapping the Money gem to use the git repository, until they have a new version out with compatible dependency, it went smoothly. All the specs and acceptance tests passing with no alteration required. [1] link [2] link [3] link [4] link [5] ▶ this video
Am I only the only one that doesn't find 'All tests in 4 minutes, all model tests in 80 seconds' very impressive? It sounds like a really long time to me. You know what could increase the speed dramatically.... decoupling. I also think decoupling phrased in the context of the Rails 2 to Rails 3 upgrade, where pretty much everything changed, makes perfect sense. Imagine just having a few wrapper classes that spoke to Rails and only having to adapt them. Sounds good to me! Bernhardt: Boundaries link Weirich: Decoupling from Rails link Wynne: Hexagonal Rails ▶ this video
Was going to say the same thing. Models should not know or care about background queues or mailings, and callback use has always caused problems for me later on. Nothing against the OP, it does explain a common edge case that many people will run into and for that it's a good article, but I wish more people would see the violations of SRP going on here and try to lead people away from this trap. I'd recommend watching ▶ this video (Hexagonal Rails GoRuCo talk) for one way to re-architect to get away from these inter dependencies.