Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: Breaking Bad - What Happens When You Defy Conventions? by Christoph Gockel With Rails being over ten years old now, we know that the Rails way works well. It's battle tested and successful. But not all problems we try to solve fit into its idea on how our application should be structured. Come along to find out what happens when you don't want to have an app directory anymore. We will see what is needed in order to fight parts of the Rails convention and if it's worth it.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled "Breaking Bad - What Happens When You Defy Conventions?" delivered by Christoph Gockel at RailsConf 2017, the speaker explores the conventional structures within Ruby on Rails applications and discusses the implications of deviating from these norms. Rails, celebrated for its comprehensive convention, sometimes imposes limitations that do not suit all applications. The speaker encourages developers to examine their practices and consider the benefits of customizing their Rails applications. Key points discussed include: - **Understanding the Status Quo**: Gockel highlights the established effectiveness of Rails, likening the framework to a complex city map with various districts. While Rails offers valuable functionality, some developers may feel constrained by its strict conventions. - **Identifying Issues with Traditional Rails Applications**: The presenter shares experiences from various projects, emphasizing how standard Rails practices led to longer testing cycles and delayed feedback. He mentions the Pareto principle, noting that many users only utilize a fraction of Rails’ extensive features. - **Refactoring for Efficiency**: Gockel explains the steps taken to optimize their testing speed by modifying Rails configurations. By skipping unnecessary initializations and employing lazy loading techniques, they managed to significantly reduce the boot time of their applications. - **Case Studies**: The speaker presents two main examples: a newly designed Greenfield project that implemented aggressive optimizations leading to a dramatic decrease in testing runtime from six minutes to 23 seconds and a legacy application where improvements were more challenging but still achieved reductions in testing times. - **Emphasizing Explicitness over Implicitness**: A central tenet of Gockel’s approach is the decision to favor explicit code. The speaker suggests moving from the default Rails directory structure to a clearer layout that prevents Rails dependencies from leaking into core application code. - **Alternative Architectural Patterns**: Gockel introduces ideas from modern software architecture, including clean and hexagonal architectures, advocating for structures that isolate the application logic from Rails specifics while ensuring testability and maintainability. - **Final Thoughts**: The talk concludes with a reminder that conventions are not immutable rules. Developers should feel empowered to challenge norms when their application demands different strategies. Flexibility in design can optimize performance, but it is crucial to make these decisions as a team, focusing on overall productivity rather than individual preferences. Participating in this session leads to vital insights about how to harness the flexibility of Rails, emphasizing that understanding when to follow conventions and when to break them ultimately enhances the development process.
Suggest modifications
Cancel