Ruby and Rails Bootcamp Training Course
Course Summary
This 5-day Marakana Ruby on Rails Training course combines two of Marakana's most popular courses into a one week long workshop. The first part of this course is 2 Days of Ruby. The second part is 3 days of Rails. 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.
[top] Duration
5 days.
2 course(s)
[top] 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 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
[top] Audience
This course is designed for developers who have some web development experience that wish to learn Ruby on Rails.
[top] Prerequisites
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)
[top] Instructors
Brandon joined Collective Idea in 2006 as a refugee from “Enterprise” Java development. Since drinking the Ruby kool-aid1, he has become a widely-read blogger and valuable member of the community while contributing to (and beginning) several open source projects.
In his free time, you'll find Brandon with headphones in his ears grooving to a cool band that Daniel introduced him to, while hacking on some random piece of code that he's excited about2, playing with Linux, or, to relieve the screen burn, playing tennis with his wife.
More about Brandon Keepers...
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...
Wolf learned the ropes on Rails while working on a project at Pivotal Labs in the winter of 2006/07 and has been an active member of the Rails community ever since. Prior to discovering Rails, Wolf was working in C++ on commercial server applications in Silicon Valley and, before that, on high-performance numerical simulations in solid state physics at Los Alamos National Lab and the University of Oregon. He holds a Ph.D. in physics and used to teach undergraduate physics classes as a graduate student.
Wolf speaks English, German, French and Spanish and currently lives in San Francisco.
More about Wolfram Arnold...[top] Outline
Ruby Overview
- Objects
- Classes
- Core Ruby
- Common Standard Library Classes
- Control Structures
- Scope
- Blocks
- Modules
Toolbox
- Git
- Gems
Test-driven Development with RSpec
- Introduction to TDD
- Red-Green-Refactor
- Describing a feature
- Verifying expectations
- Mocks & Stubs
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
[top] Student Testimonials
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 really excellent course. Brandon is highly knowledgable and a good teacher. Exercises are relevant and a great way to learn.
I will definitely dive into more Ruby concepts, to assist me with making a great Web App. Thanks!
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.
Overall it was a great experience, the training was intense but the instructors were great helping everybody and explaining stuff in great detail - I would highly recommend this class to other people trying to learn about ruby/Rails land!
Wolf was very patient with our questions and concerns with RoR. He insured our questions/concerns were answered. He was very knowledgeable and very impress. Other instructors from other companies can only cover material and answer questions based upon slides , but Wolf was able to answer and code beyond what was being presented. There was not one question he was not able to answer which is a first for me where an instructor was not stump by a question.
Great job everyone! Thanks for putting this together! Good luck in your future ventures!
This instructor knows her stuff, and is so generous with sharing her hard-earned knowledge, not just about Ruby on Rails but about programming and being part of the Open Source community in general. Whether or not I end up using Rails in the future (which is dependent upon my work environment, not on how I feel about Rails; I like it very much!), I will be a better programmer in general thanks to the experience I had in this class.
I think it was overall a very good speed given the wide range of experience(s) in the group.
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!
Wolf is a very talented person; not just a trainer, but you can also tell he is practicing what he is teaching. Excellent.
I don't have a lot of suggestions for improvement - this class was incredibly beneficial to me.
Sarah was great and demonstrates a solid understanding of the material and its real world use.
Wolf is a very capable instructor who really knows the material well. He took the time to understand our needs both as an organization and as individuals, and adjusted the course content appropriately. He was able to coach some of our novice team members through the basics while still covering more advanced topics for those of us who already have TDD experience. My only disappointment is that we didn't have more time to cover writing user stories.
I had very good time learning Ruby and Rails. Alex was exceptional in answering most of our questions. Overall I had excellent experience.
Instruction was great.
Can we hire Wolf? :)
Modern style of learning. Liked the monitors that we can see at the same time.
Daniel is a great instructor. Great knowledge and skills and good attitude and humor.
This is one of the best training that I have been to (perhaps the best).
Daniel was very accommodating and great about touching more advanced topics on latest plugins and tools.
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.
Wolf is brilliant; very patient with noobsicles. Marakana is made of magic!
I thought Wolf was a great teacher...
Overall, totally stoked. Thanks!
Instructor was great. Very knowledgeable. Would enjoy taking having a more advanced training through him.
I really like including the ZenTest and testing capabilities during development. Powerful.
I'm not used to "self-paced" instructor learning, but I think it worked out well in the end. I learned a ton.
The instructor was willing to revise the course to show examples of how he would solve some real problems
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. Brandon 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.