Part 4 of my deep dive into hexagonal architecture in Rust is live! 🦀 Covering:
🤔 Trade-offs of hexagonal architecture
⛔️ Common pitfalls to avoid
📈 Adopting hexagonal architecture at every growth stage
Read & subscribe for updates: https://t.co/PtQeMbHahN
#Rust#RustLang
My RustConf talk on developing an open-source European Space Agency mission simulator is now live! 🚀
Learn how Rust models 13 billion years with femtosecond precision across 7 astronomical time scales. 🦀
https://t.co/UWUzz3y2y4
@Rust_Foundation#Rust#RustLang
@nnrm_04 I know, I know! It’s been crazy over here with RustConf, etc. I’m planning to blast out a site upgrade this weekend to better handle rich, multi-part articles like Hex Arch has turned into, then I can write freely. Thanks for bearing with me!
Hexagonal architecture is nearly always a good idea.
Hexagonal architecture *in Rust*? That's another level of stability, scalability and test coverage 🚀
Here's my guide to writing ironclad, highly maintainable Rust applications:
https://t.co/rMZ0yKExft
#rust#rustlang
@SebasDev1@alicelovescode It’s in the works! Between RustConf, a new job and some much-needed CMS upgrades, I’ve been strapped for time. My RustConf talk will probably be the next thing to be published, along with the final parts of the hexagonal and error handling articles.
Looking for the path to writing exceptional Rust? Step right this way, towards my macro_rules! guide. 🧙
I’m demystifying three macros that underpin 100,000s of Rust applications 👇.
https://t.co/vYLNjrH0DN
#rust#rustlang
@tomjohnson3 Hey Thomas! I think you’ll find part 4 (out next week) really helpful. It’ll address the relationship between hex arch and microservices in some detail - there’s a lot of overlap and transferrable technique. Thrilled to hear you’re finding the guides useful!
@alexelcu Is this equivalent to saying "don't ruin your presentation with fonts that aren't Times New Roman"? If you don't have an eye for design your presentation will look bad wherever you source your images.
@hexwanderer I'm struggling to think of any use case for this? If you could declare `let x: impl SomeTrait`, this would get compiled to `let x: YourImplementation`, so you might as well just write `let x: YourImplementation`.
@k_pendergrast What other construction do you think would achieve the same tone? 🤔 The intended reading is clear, even if we do have to say a few Hail Marys afterwards.
@hexwanderer If you call `fn f(x: impl SomeTrait)` with `StructThatImplsSomeTrait`, it’s compiled to `fn f(x: StructThatImplsSomeTrait)`. This happens for every distinct type that impls `SomeTrait` – multiple copies of the function are compiled (the technical term is monomorphization). [5/5]
@hexwanderer To do it generically instead, assign a variable of the concrete type that implements `SomeTrait`, and pass it to functions or structs bounded by `impl SomeTrait`. Be aware: `impl` doesn’t indicate any dynamic dispatch...[4/5]
"It's all gone wrong!"
How To Code It issue #4 is live in the archives, featuring a definitive guide to error handling, a hex arch showdown, @matthiasendler's guide to adopting #rust, and @timClicks' Rust Forge 🦀🔨
Read and subscribe here: https://t.co/CCoVDewjkK
#rustlang