Coder Social home page Coder Social logo

ga-ruby-on-rails-for-devs's Introduction

Ruby on Rails for Developers

GeneralAssemb.ly

This course teaches experienced developers Ruby and Ruby on Rails. It's designed to be taught by a practicing rubyist and a teaching assistant. Both individuals must have expert understanding of Ruby, Rack and Ruby on Rails. The ideal class size is 12-15 students, each having prior application development track record. The lesson plan is conceived as 12 two-hour lectures with homework given after each of the first 6 courses. Assignments are tracked in Pivotal Tracker. Subsequent 6 lectures alternate class material with coding. The course ends with 8 hours of building a final project for obtaining certification.

These materials were developed for General Assembly's class: Ruby on Rails for Developers. To apply to take the next itearation of this class through GA visit: Rails for Dev @ GA.

Essentials

Translations

Class Material

We start by introducing students to the Ruby development environment and show elementary Ruby code. Students also learn how to use Git and exercise the development workflow via Github, including pull requests and topic branches. We dive into Ruby basics and conclude with object-oriented features, mixins and exception handling.

After the class gains enough familiarity with the language features, we teach Rack, an essential foundation of any solid Ruby on Rails knowledge. The instructor builds a basic web application that serves static files from the file system with Rack. A Rails application is then assembled from scratch without the use of Rails generators. Tests are written with the default unit test infrastructure, and once again using behavior-driven development with RSpec. The application is deployed on Heroku.

We step aside to teach Ruby meta-programming before lecturing on ActiveRecord, ERB, HAML and SASS. The instructor then builds authentication without using an off-the-shelf library. This combination of technologies gives the students the necessary tools to build a complete project, which is typically introduced around the 6th lecture. When this material was developed we asked the students to build a Ruby on Rails clone of the popular Stashboard application.

Final lectures include RESTful APIs with Rails and Grape, an introduction to NoSQL databases with MongoDB. We also recommend you offer students an opportunity to revisit any topic that was insufficiently clear or lecture on a topic that they are curious about.

Exercises

Contributing

Fork the project. Make your addition or correction. Send a pull request. Bonus points for topic branches. Make language-specific pull requests into existing language branches. If you're translating into a new language, e-mail the Google group and we'll create a new one.

License

This course is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License. It may be reused and adapted for non-commercial purposes. Please contact Matthew Owens at GeneralAssemb.ly for commercial licensing.

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License

Sponsors

This course has been produced in partnership with Pivotal Labs and Engine Yard.

PivotalLabs

EngineYard

Copyright

(c) 2012 GeneralAssemb.ly, Daniel Doubrovkine and contributors.

ga-ruby-on-rails-for-devs's People

Contributors

dblock avatar dimroc avatar fxn avatar geekoncoffee avatar gmrubin avatar luminlabs avatar scpike avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.