Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Julian Doherty Rails and other frameworks let you quickly throw together ideas to get up and running quickly. But as your app grows, this can limit what you can do. How can we set ourselves up to get the benefits that come from using a framework, while staying flexible and not beholden to it? Julian is a lead developer with 20 years experience, and has been hacking on Ruby for the last 13. Originally from Wellington, New Zealand, he now calls Melbourne home. Currently working at Envato, he has spent time at some of the biggest Rails shops in Australia. Julian also runs the Elixir Melbourne meetup group, and tries to spend as much time as possible inflicting functional programming paradigms on codebases he works in. Produced by NDV: https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1 #ruby #rubyconf #rubyconfau #rubyconf_au #rails #programming Fri Feb 21 11:50:00 2020 at Plenary Room
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 this presentation, Julian Doherty, a lead developer at Envato with over 20 years of experience in software development, discusses the challenges of relying too heavily on frameworks like Ruby on Rails and proposes methods for escaping those constraints to improve code flexibility and maintainability. Key points of the presentation include: - **Introduction**: Julian begins by sharing his background, emphasizing his experience with Ruby and functional programming paradigms. He aims to explore how frameworks can be beneficial but also limiting. - **Case Study**: He presents a scenario involving a famous Hollywood movie star who sought his advice on developing a website called 'ask overflow'. This website aimed to allow users to ask questions and earn points based on their interaction with the site's content. - **Initial Challenges**: The star's initial implementation was quick and dirty, with hard-coded values and poor error handling, making testing and debugging difficult. Julian emphasizes the need to 'escape the framework' and promotes reusable components. - **Refactoring Process**: To improve the code structure, he demonstrated how to pull unnecessary logic out of the controllers into dedicated classes. This included creating a `CreditImporter` class to handle data imports cleanly. - **Incorporating Functional Paradigms**: Julian introduced a gem called 'values' for creating immutable objects that simplify error handling. He also developed an `ImportSummary` class to track the outcomes of import operations while maintaining overall process integrity. - **Effective Data Handling**: He discussed the necessity of abstracting away logic for parsing data and managing network calls to prevent failures from impacting successful operations. - **Designing for Clarity**: He highlighted the importance of structuring code to isolate pure functional logic from imperative operations to ensure easier testing and management. - **Conclusion and Takeaways**: Julian concluded by summarizing how these improvements have created a flexible, maintainable codebase that embraces functional programming principles while remaining pragmatic for real-world applications. He encouraged developers to continue learning how to escape the constraints imposed by their frameworks, promoting a balance between functional purity and practical coding needs.
Suggest modifications
Cancel