Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Record 3 of 3
Results Page:  Previous Next
Author Hagemann, Stephan, author.

Title Component-based Rails applications : large domains under control / Stephan Hagemann. [O'Reilly electronic resource]

Publication Info. Boston : Addison-Wesley Professional, [2018]
©2018
QR Code
Description 1 online resource (1 volume) : illustrations
data file
Series Addison-Wesley professional Ruby series
Addison-Wesley professional Ruby series.
Bibliography Includes bibliographical references and index.
Summary Use Components to Improve Maintainability, Reduce Complexity, and Accelerate Testing in Large Rails Applications "This book gives Ruby pros a comprehensive guide for increasing the sophistication of their designs, without having to forsake the principles of elegance that keep them in our corner of the software world."--Obie Fernandez, author, The Rails 5 Way, Fourth Edition As Rails applications grow, even experienced developers find it difficult to navigate code bases, implement new features, and keep tests fast. Components are the solution, and Component-Based Rails Applications shows how to make the most of them. Writing for programmers and software team leads who are comfortable with Ruby and Rails, Stephan Hagemann introduces a practical, start-to-finish methodology for modernizing and restructuring existing Rails applications. One step at a time, Hagemann demonstrates how to revamp Rails applications to exhibit visible, provably independent, and explicitly connected parts - thereby simplifying them and making them far easier for teams to manage, change, and test. Throughout, he introduces design concepts and techniques you can use to improve applications of many kinds, even if they weren't built with Rails or Ruby. Learn how components clarify intent, improve collaboration, and simplify innovation and maintenance Create a full Rails application within a component, from first steps to migrations and dependency management Test component-based applications, manage assets and dependencies, and deploy your application to production Identify the seams in an existing Rails application, and refactor it to extract components Master a scripted, repeatable approach for refactoring Rails applications of any size Use component-based Rails with two popular structural patterns: hexagonal and DCI architecture Leverage your new component skills with other frameworks and languages Overcome the unique challenges that arise as you componentize Rails applications If you're ready to simplify and revitalize your complex Rails systems, you're ready for Component-Based Rails Applications. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details
Contents Machine generated contents note: 1.1.Component-Based Rails -- 1.1.1. What Component-Based Rails Is -- 1.2. Benefits of Component-Based Applications -- 1.2.1. Improved Communication of Intent -- 1.2.2. Improved Collaboration Among Developers -- 1.2.3. Improved Creation of Features -- 1.2.4. Improved Maintenance of the Application -- 1.2.5. Improved Comprehension of Application Parts -- 1.2.6. History Repeating? -- 1.3.Component-Based Ruby -- 1.4. The Application Continuum -- 1.5. Related Works -- 2.1. The Entire App Inside a Component -- 2.2. ActiveRecord and Handling Migrations within Components -- 2.2.1. Installing Engine Migrations with Rake -- 2.2.2. Loading Engine Migrations in Place -- 2.2.3. Known Issues -- 2.3. Handling Dependencies within Components -- 2.3.1. Using path Blocks for Specifying CBRA Dependencies -- 2.3.2. Adding a Regular Gem: slim-Different Templating -- 2.3.3. Locking Down Gem Versions
Note continued: 2.3.4. Adding the Development Version of a Gem: Trueskill-A Rating Calculation Library -- 2.3.5. Adding Predictions to the App -- 3.1. Testing a Component -- 3.1.1. ActiveRecord Model Specs -- 3.1.2. Non-ActiveRecord Model Specs -- 3.1.3. Controller Specs -- 3.1.4. Helper Specs -- 3.1.5. Feature Specs -- 3.2. Testing the Main Application -- 3.2.1. What to Test in the Main App -- 3.2.2. How to Put Everything Together -- 3.2.3. How to Set Up a Continuous Integration (CI) Server -- 3.3. Asset Loading for Components -- 3.3.1. Production-Ready Assets -- 3.4. Switching Databases -- 3.5. Deploying to Platforms-as-a-Service -- 3.5.1. Deploying to Heroku -- 3.5.2. Deploying to Pivotal Web Services -- 3.6. Updating Application Dependencies -- 3.6.1. Updating the Bundle in All Components -- 3.6.2. Updating Every Component & apos;s Gem Version -- 3.6.3. Updating Rails -- 3.6.4. Long-Running Dependency Updates -- 3.6.5. Listing a Dependency Only Once
Note continued: 3.7. Proposal for a Different Application Root-Showcasing the Difference of Components & apos; Structure -- 3.7.1. Why Would I Want to Change That? -- 3.7.2. How CBRA Can Change How I Present and Perceive My App -- 3.7.3. Making CI and PaaS Work with the New Structure -- 3.7.4. What Is Next? -- 4.1. Determining What to Extract: Bottom-Up -- 4.2. Refactoring: Extract Domain Gem-Predictor -- 4.2.1. Fixing Inside-Out: Making AppComponent Work Again -- 4.2.2. Last Step: Ensure That the App Works -- 4.2.3. Summary of Bottom-Up Component Extractions -- 4.3. Determining What to Extract: Top-Down -- 4.3.1. Unclear Dependency Direction -- 4.3.2. Not Everything Needs Predictor -- 4.3.3. Implications of the First Set of Extractions -- 4.3.4. Problem with the Current Solution -- 4.3.5. Reducing Needed Dependencies -- 4.4. Refactoring: Pulling Up a UI Component-TeamsAdmin, GamesAdmin, PredictionUI, WelcomeUI -- 4.4.1. Generate -- 4.4.2. Move -- 4.4.3. Fix, Part 1: Reusing Test Helpers
Note continued: 4.4.4. Fix, Part 2: Routing Issues -- 4.4.5. Fix, Part 3: The Container Application -- 4.4.6. An Explicitly Contracted Global Navigation -- 4.5. Refactoring: Pushing Down a Model Component-Teams, Games -- 4.5.1. Getting Away with Less -- 4.5.2. Fixing Teams Tests -- 4.5.3. Fixing Everything Else -- 4.6. Refactoring: Improve Naming of Component-AppComponent to WebUI -- 4.6.1. Whatever Happened to AppComponent? -- 4.6.2. Refactoring Component Names -- 4.6.3. Refactoring a Component Name Throughout the Application -- 4.6.4. An Even More Mechanical Approach -- 4.7. More Component Refactoring Patterns -- 4.7.1. Splitting One Component in Two: Disentangling Unrelated Concepts -- 4.7.2. API Component -- 4.7.3. Third-Party Service Adapter -- 4.7.4.Common Functionality Component -- 5.1. Small Steps -- 5.2. One Big Step -- 5.2.1. Prerequisites -- 5.2.2. Script This! -- 5.2.3.A Scripted Refactoring -- 5.2.4. Cleaning Up Persistence -- 5.2.5. Using Persistence -- 5.2.6. Summary
Note continued: 6.1. Hexagonal Architecture -- 6.1.1. Hexagonal Architecture and CBRA -- 6.1.2. Implementing Hexagonal Rails with CBRA -- 6.1.3. Teasing Out an Adapter in the Frontend -- 6.1.4.A Repository for Data Storage -- 6.1.5. Swappable Data Storage -- 6.1.6. Summary -- 6.2. Data-Context-Integration (DCI) -- 6.2.1. DCI and CBRA -- 6.2.2. Implementing DCI with CBRA -- 6.2.3. Summary -- 7.1. Kotlin, Java, and Gradle -- 7.2.NET/C -- 7.3. Conclusion -- A.1. Plain versus -- full versus -- mountable Engines -- A.1.1. Gem -- A.1.2. Plain Plugin -- A.1.3. Full Engine -- A.1.4. Mountable Engine -- A.2. How Do Engine Routes and Engine Mounting Work? -- A.2.1. Engines as Subdomains -- A.2.2. Engines Are (Unfortunately) Singletons -- A.3. Additional Testing with Older Versions of Rails -- A.3.1. View Specs -- A.3.2. Routing Specs.
Subject Ruby on rails (Electronic resource)
Ruby on rails (Electronic resource)
Application software -- Development.
Web applications.
Component software.
Logiciels d'application -- Développement.
Applications Web.
Composants logiciels.
Application software -- Development
Component software
Web applications
ISBN 9780134775241
0134775244
9780134774596
0134774590
0134774582
9780134774589
Standard No. 9780134774596
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information