Course Summary
In this 4-day Marakana Ruby on 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 Ruby and 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
4 days.
Objectives
By taking Marakana Ruby on Rails Training course, students will:
- Configure and install Ruby and Rails
- Learn the basics of the Ruby language
- 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)
Additional Notes
About Your Instructor
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.
Outline
Rails Introduction
- The Architecture
- the Model-View-Controller pattern
- Rails project structure
- Scaffolding for jumpstart
Ruby Overview
- Objects
- Classes
- Core Ruby
- Ruby Standard Library
- Control Structures
- Scope
- Blocks
- Modules
Rails Toolbox
- Rake
- Git
- Test Frameworks
- Deploying a Rails application
Test-driven Development with RSpec
- Introduction to TDD
- Red-Green-Refactor
- Describing a feature
- Verifying expectations
- Mocks & Stubs
Demystifying Rails
- The Console
- Models, Controllers
- Associations
- Migrations
- Views
- Core Ruby extensions
Test-Driving your Rails App
- Beyond Scaffolding
- BDD with Cucumber
- 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
Ajax on Rails
- Unobtrusive Javascript
- Introduction to JQuery
- Ajaxifying your Rails App
- Common UI Patterns
Course Testimonials
I was very pleased with the quality of the material, the training facility itself and the instructor. The facility is comfortable and provides an environment that is conducive for learning. Instructor is excellent. If I didn't quite grasp something, he pulled up a chair and we went over it together. He's a wonderful instructor that take a keen interest in ensuring you understand the material.
Overall, the course was great. I really enjoyed the small class size (only 5 people) and being able to work along with the instructor on my own machine.
A really excellent course. The instructor is highly knowledgable and a good teacher. Exercises are relevant and a great way to learn.
I really love the emphasis on test driven development and the use of tests as a way to move students along in exercises. This is definitely the way to teach. I highly commend you folks for doing it. It provided instant feedback on how successful my coding was, and provided a good guideline for successful coding in my profession.
If it wasn't for the commitment of the instructor and of Marakana of diversifying the programming demographics and providing a scholarship opportunity, I would not have been able to participate in ruby training. The course provided a great and inspiring overview. I understand from my classmates that working in the environment is necessary to develop as well as keep this skill current. Thank you.
A great introduction to Rails.
The instructor was great. Very knowledgeable. Would enjoy taking having a more advanced training through him.
Great instructor. Great knowledge and skills and good attitude and humor.
The instructor was excellent - mild tempered and with excellent rails insights, and real world application knowledge.
Excellent overview of Ruby and Rails.
Building our own blog is very cool and fun, thanks!
Most fun and useful training I've taken during my 8-year run at Stanford. Thank you much!
...I really do believe that everything was most excellent. I feel much more prepared and knowledgable re: the subject and would recommend Marakana to anyone. Thanks for everything!
Class was very useful. Was a quick way to get the basics of the framework and language.
I'm exited about creating sites/apps with RoR!
The small class sizes at Marakana allow one to get the individual help needed to succeed. Sarah Allen was extremely proficient at coming up with solutions on the fly. Her ability to distill Ruby on Rails into a 4 day course was amazing.
Marakana was the only training facility in San Francisco that offered complete top to bottom coverage of Ruby/Rails in a one week class and delivered. This class was priceless.
Great course! Great instructor! Always a pleasure to learn from someone who uses Rails on a daily basis and is familiar with the development process and the community.
I really enjoyed the course and the instructor was great. It was a perfect starting point for me to begin working with RoR.
I thought the course was fantastic, Brandon did a great job of taking something complicated and moving through it in a way that was easy to follow and understand. He was very helpful helping figure out any problems. I liked that our sample project was something relevant, too, and I'm sure I will be using some things I learned here very soon at work. The level of the group, too, ended up being beneficial, as people had different backgrounds but were at a similar level in terms of knowledge so we all could move at the same pace and benefit from each other's questions. I'd definitely consider coming back down for another course if I find that I need more training in another area like I did with Ruby on Rails.
One thing Marakana did extremely well was provide unit tests with labs. This one technique alone will now represent the standard I hold all future training courses to. It made training more than learning, it made it about problem solving. It made learning fun.
Great job everyone! Thanks for putting this together! Good luck in your future ventures!