Ruby Programming Language

  1. Introduction to Ruby on Rails
    1. What is Ruby on Rails?
      1. History and Purpose
        1. David Heinemeier Hansson
          1. Web Application Framework
            1. Convention over Configuration (CoC)
              1. Don't Repeat Yourself (DRY)
                1. Rails Philosophy
                  1. Programmer Happiness
                    1. Beautiful Code
                      1. Opinionated Software
                    2. The Model-View-Controller (MVC) Architecture
                      1. Overview of MVC
                        1. Separation of Concerns
                          1. Request-Response Cycle
                          2. Model (Active Record)
                            1. ORM Concepts
                              1. Database Abstraction
                                1. Database Migrations
                                  1. Associations
                                    1. Validations
                                    2. View (Action View)
                                      1. Embedded Ruby (ERB)
                                        1. Template Rendering
                                          1. Helpers
                                            1. Partials
                                            2. Controller (Action Controller)
                                              1. Routing Requests
                                                1. Controller Actions
                                                  1. Filters
                                                    1. Session Management
                                                  2. Core Components of Rails
                                                    1. Active Record (ORM)
                                                      1. Database Interactions
                                                        1. Query Interface
                                                          1. Callbacks
                                                          2. Action Pack (Controller and View)
                                                            1. Request Handling
                                                              1. Response Generation
                                                              2. Action Mailer
                                                                1. Email Generation
                                                                  1. Email Delivery
                                                                  2. Active Job
                                                                    1. Background Processing
                                                                      1. Job Queues
                                                                      2. Action Cable (WebSockets)
                                                                        1. Real-time Features
                                                                          1. WebSocket Connections
                                                                          2. Active Storage
                                                                            1. File Uploads
                                                                              1. Cloud Storage
                                                                              2. Active Support
                                                                                1. Core Extensions
                                                                                  1. Utility Classes
                                                                                2. Getting Started with a Rails Application
                                                                                  1. Creating a New Rails Project (rails new)
                                                                                    1. Project Generation
                                                                                      1. Configuration Options
                                                                                        1. Database Selection
                                                                                        2. The Rails Directory Structure
                                                                                          1. app Directory
                                                                                            1. Models
                                                                                              1. Views
                                                                                                1. Controllers
                                                                                                  1. Helpers
                                                                                                    1. Assets
                                                                                                    2. config Directory
                                                                                                      1. Application Configuration
                                                                                                        1. Routes
                                                                                                          1. Database Configuration
                                                                                                          2. db Directory
                                                                                                            1. Migrations
                                                                                                              1. Schema
                                                                                                                1. Seeds
                                                                                                                2. public Directory
                                                                                                                  1. Static Assets
                                                                                                                    1. Error Pages
                                                                                                                    2. test/spec Directory
                                                                                                                      1. Test Files
                                                                                                                        1. Test Configuration
                                                                                                                        2. lib Directory
                                                                                                                          1. vendor Directory
                                                                                                                          2. Starting the Rails Server
                                                                                                                            1. Development Server
                                                                                                                              1. Server Configuration
                                                                                                                                1. Environment Variables
                                                                                                                                2. The Rails Console
                                                                                                                                  1. Interactive Environment
                                                                                                                                    1. Model Interaction
                                                                                                                                      1. Debugging
                                                                                                                                      2. Generating Scaffolds and Resources
                                                                                                                                        1. Code Generation
                                                                                                                                          1. CRUD Operations
                                                                                                                                            1. RESTful Routes
                                                                                                                                            2. Running Migrations
                                                                                                                                              1. Database Schema Changes
                                                                                                                                                1. Migration Commands
                                                                                                                                                  1. Rollbacks
                                                                                                                                                  2. Basic Routing and Controllers
                                                                                                                                                    1. Route Definition
                                                                                                                                                      1. Controller Generation
                                                                                                                                                        1. Action Implementation
                                                                                                                                                          1. Parameter Handling