Course Summary
In this 3-day Marakana Rails Training course, you will learn to put your web development on Rails. Experience the Rails way of approaching web applications and see how you'll be able to spend less time configuring and more time developing.
Starting with the basics of Rails, you'll learn the full Rails' MVC stack, testing techniques, Ajax and even web services. We'll work through the full life-cycle of a Rails project, giving you experience with all facets of a typical app.
Duration
3 days.
Objectives
By taking Marakana Ruby on Rails Training course, students will:
- Build a new Rails application from scratch
- Setup and manage databases with migrations
- Learn how to configure Rails' routing
- Practice test-driven development (TDD) with Rspec
- Learn about behavior-driven development (BDD) with Cucumber
- Learn how to add Ajax with JQuery
- Learn how to leverage ActiveRecord with associations, validations, and callbacks
- Understand resources and REST, and how to use them in a Rails application
- Learn how to find and use plugins
- Understand the various deployment options for Rails applications
- Understand Rails' opinions and how to embrace or override them
Audience
This course is designed for developers who have some web development experience that wish to learn Ruby on Rails.
The participants taking Marakana Ruby on Rails Training course must be familiar with the general principles of object oriented programming (OOP). Prior exposure to the following concepts and technologies is very helpful, but not required:
- General understanding of web development principles
- Basic knowledge of HTML and CSS
- Basic knowledge of JavaScript
- Basic understanding of the HTTP protocol, including concepts like SSL, redirection, GET vs POST, etc.
- Basic knowledge of SQL
- Familiarity with MySQL (or any other relational database)
Instructors
With a background in Computer Science, there's a good chance Daniel will start rambling on about Merge Sorts or Big Oh calculations. If you leave him alone, however, his fascination with code, databases, and APIs will kick in and he'll start programming.
Daniel founded Collective Idea in 2005 to put a name to his growing, and already full-time freelance work. He can usually be found (coffee in hand) staring into a tiny 15" digital world. He writes about code and other uninteresting things on his blog.
More about Daniel Morrison...
Sarah Allen has been developing commercial software since 1990. Her focus is web and mobile applications in Ruby. She actively integrates Test-Driven Development and agile project management into her projects.
As an instructor, Sarah applies an innovative teaching approach that is gaining widespread adoption, called Test-First Teaching, where students implement exercises that will cause pre-defined tests to pass. Many senior software engineers in the field find that testing is an effective way to learn a new language or API. Sarah's methodology also provides a good introduction to people who are new to testing.
She began focusing on Internet software as an engineer on Macromedia's Shockwave team in 1995. She led the development of the Shockwave Multiuser Server, and later the Flash Media Server, introducing streaming video and multi-party communication in Flash Player 6. It is likely that some software that Sarah worked on is currently installed on your computer. She actively contributes to open source software and is on the OpenLaszlo core team. She was named one of the top 25 women of the web by SF Wow (San Francisco Women of the Web) in 1998.
More about Sarah Allen...Outline
Rails Introduction
- The Architecture
- the Model-View-Controller pattern
- Rails project structure
- Scaffolding for jumpstart
Rails Toolbox
- Rake
- Git
- Test Frameworks
- Deploying a Rails application
Demystifying Rails
- The Console
- Models with ActiveRecord
- Routes and Controllers
- Associations
- Migrations
- Views
Test-Driving your Rails App
- Beyond Scaffolding
- BDD with Cucumber and Rspec
- Outside-in Testing
- Test-driving Feature Development
- Rails testing helpers
Advanced Controllers and Models
- Validations
- Evolving your Database
- Modifying Application Flow
Rails Power Tools
- Named Routes
- Rails Plugins
- User Authentication