Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Heard about the big Basecamp launch this March? Wondering what's new, how it's shaping Rails, and the tech behind it? We're going to go over some the practices and patterns in the new Basecamp's code base and you can learn how to improve your app with them. Some of what we'll go over: Employing concerns to share code across models/controllers Stacker, the CoffeeScript component behind the "page" based layout Why polling for updates still works at scale Client side testing without the hassle Using jbuilder to keep view data out of models Keeping your team's sanity with a single setup script Debugging painful JavaScript performance slowdowns How to keep your app alive even if external dependencies like Redis are down Why tagged request logging and action/controller SQL query logging can make finding bugs easier Help us caption & translate this video! http://amara.org/v/FGi9/
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 video titled "Code spelunking in the All New Basecamp," Nick Quaranto discusses the significant features and technical innovations of the recently launched Basecamp Next, which is built on Ruby on Rails. The presentation aims to share various coding practices, patterns, and techniques that were leveraged during the development of Basecamp Next, providing insights on how these can enhance Rails applications. Key points discussed include: - **Code Reusability with Concerns**: Quaranto emphasizes using Ruby on Rails' concerns to share code across models and controllers, which helps maintain cleaner and more manageable codebases. - **Stacker and CoffeeScript**: The CoffeeScript component behind the page layout, referred to as Stacker, allows for dynamic content updates through long polling, improving user experience. - **Client-side Testing**: The importance of client-side testing is highlighted, with tools like Capybara and custom testing frameworks discussed as avenues to streamline front-end testing processes. - **Separation of Presentation Logic with Jbuilder**: Jbuilder is utilized to maintain view data in views rather than models, improving the organization of the code. - **Simplified Development Setup**: A single setup script is proposed for easing the onboarding of new developers and maintaining sanity in the setup process of the application. - **Debugging Techniques**: Methods for debugging JavaScript performance issues are examined, stressing the importance of logging and performance tracking in live applications. - **Strategies for Managing Dependencies**: Suggestions on keeping applications running smoothly even with potential external service failures (like Redis) are addressed. - **Enhanced Logging Practices**: Logging techniques, including tagged logs and SQL query logging, are discussed as essential tools for troubleshooting and maintaining the health of the application. - **API Documentation with Jbuilder**: Quaranto explains using Jbuilder for JSON API responses, enhancing the documentation process within GitHub for better manageability. - **Instrumentation for Metrics**: The use of StatsD for performance metrics tracking is introduced, showcasing how it helps in analyzing application performance and usage patterns. Quaranto concludes that continuous learning and evolving practices have been key to Basecamp Next's success. His presentation encourages developers to explore these patterns to improve their own applications, making the development process more efficient and effective. Overall, this session provides valuable insights into modern web application development, specifically within the Ruby on Rails ecosystem.
Suggest modifications
Cancel