no starch press, 2015
If you want to learn one of the most effective modern tools for web site development — quickly, easily and well — this book is for you. This crash course will take you from concepts to deploying web applications quickly and securely if you just sit yourself down and work through the examples and exercises provided.
“Rails Crash Course: A No-Nonsense Guide to Rails Development” is one of the best “how to get started with a new technology and make it work for you” books that I’ve encountered. While it starts out with the basics, it doesn’t treat the reader as if programming concepts are completely unfamiliar. Instead, it shows how Ruby and Rails work, nudges you to install the tools and work through the examples and exercises, and gets you deploying a social networking app before you fully know what just hit you. Even if you’re completely new to Ruby and Rails, you can expect to get comfortably up to speed in a fairly short period of time and maybe even be well on your way to a career as a web developer.
If you follow the book’s suggestions, you will be installing the tools you need — 100% open source — and going through numerous commands and exercises while you build up your expertise. You will read this book a chapter at a time, starting out with very simple commands and working your way up to the social networking app. You’ll go through each chapter with the intention of working through the material and you won’t be able to help but learn how to be an effective developer with Rails.
The book is written in a tutorial style. Its “no-nonsense” claim holds true as it introduces what you need to know in very practical terms and through a long series of examples that build up quickly from seeing how commands work to getting real work done. It follows a “this is what you need to know, and here are some examples that you should try to make this clear” model throughout. Exercises at the end of each chapter reinforce and extend what the chapter covers. If you commit to working through the examples and exercises, you will build your skills in a logical progression from “OK, so what is this anyway” to “Hey, I can do this”.
What’s most surprising is how quickly you can get to doing very useful things. This is, in part, the nature of the tools. Ruby and Rails are known for their emphasis on “programmer happiness and productivity” and, after reading through this book, I very much believe this to be the case. But it’s also because Anthony Lewis does such a fine job of moving the reader from one idea to the next, slowly building up both an appreciation of and a reliable competence with these tools.
The first part of the book takes the reader through the basics of both Ruby and Rails. You will learn about models, controllers, views, and deployment — essential components of the Rails framework. Part 1 includes the first six of the book’s fifteen chapters.
The second part moves the reader into the more advanced topics. It walks you through what is required not just to build an application, but how to make it stable, secure, and ensure that it performs well. It also demonstrates how to automate testing. The topics in this section include the Ruby object model, introspection, metaprogramming, data modelling, authentication, testing, building code that deters attackers, optimizing code, debugging, APIs, and custom development — all with exercises to reinforce the material and ensure you end up with all the skills required to build a serious web application.
The final part of the book provides solutions to all of the end of chapter exercises so that readers can verify their work or take note of their mistakes.
The Table of Contents, shown below, attests to the breadth and logical progression of the material and to the author’s dedication to ensuring the reader winds up with a solid understanding of how to be highly successful using thie Rails technology.
Ruby on Rails Fundamentals
Chapter 1 Ruby Fundamentals
Interactive Ruby
Data Types
Constants
Variables
Control Flow
Methods
Classes
Summary
Exercises
Chapter 2 Rails Fundamentals
Your First Rails Application
Rails Principles
Rails Architecture
Rails Application Structure
Rails Commands
Rails Scaffold
Summary
Exercises
Chapter 3 Models
The Post Model
Active Record
Create, Read, Update, and Delete
More Active Record Methods
Migrations
Validations
Associations
Summary
Exercises
Chapter 4 Controllers
Representational State Transfer
Routing
Controller Actions
Adding Comments
Summary
Exercises
Chapter 5 Views
Embedded Ruby
Helpers
The Posts Index Page
Layouts
Partials
Forms
Comment Form
Summary
Exercises
Chapter 6 Deployment
Version Control
Git
Heroku
Summary
Part I Remarks
Exercises
Building A Social Net Working App
Chapter 7 Advanced Ruby
Modules
Ruby Object Model
Introspection
Duck Typing
Metaprogramming
Summary
Exercises
Chapter 8 Advanced Active Record
Advanced Data Modeling
The Social Application
Summary
Exercises
Chapter 9 Authentication
The Authentication System
Summary
Exercises
Chapter 10 Testing
Testing in Rails
Model Tests
Controller Tests
Integration Tests
Adding Features with Test-Driven Development
Summary
Exercises
Chapter 11 Security
Authorization Attacks
Injection Attacks
Cross-Site Request Forgery Attacks
Summary
Exercises
Chapter 12 Performance
Built-in Optimization Features
Code Optimizations
Caching
Summary
Exercises
Chapter 13 Debugging
The debug Helper
The Rails Logger
Debugger
Summary
Exercises
Chapter 14 Web APIs
The GitHub API
HTTP
Authentication
Your Own API
Summary
Exercises
Chapter 15 Custom Deployment
Virtual Private Servers
Capistrano
Summary
Exercises
Appendix Solutions
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15




