Learn by doing, not by reading
Ruby
Beginning/Intermediate RubyShort questions on Ruby methods.
Intermediate Ruby
Intermediate Ruby questions on methods and manipulating data.
Beginning OOP
Classes, objects, class methods, instance methods, etc. Questions are inspired/sourced from the book Beginning Ruby.
Practical Object Oriented Design
Based on a book by Sandy Metz
The Well Grounded Rubyist
Based on the excellent book by David Black.
Ruby programming practice quiz on files and directories
How to use the File, CSV, and Dir Classes
Make a Ruby Gem
Understand the code generated by Bundler to make a gem
jQuery
Beginning/Intermediate jQueryUse jQuery to hide elements, change fonts, and more. Questions inspired from JavaScript: The Missing Manual.
Rails
MVC without generatorsCreate a RESTful model, view, and controller without using any rails generators.
Nested Resources
Create the model, view, and controller for a nested resource.
Using Heroku
Backup a production database and manage an application that is on Heroku.
Database Queries
Structure database queries to get specific information from a database efficiently.
Polymorphism
Make a resource that belongs_to two other resources for nested comments.
Authentication with Devise
Let users sign-in/sign-out to your site with the Devise gem.
Authorization with CanCan
Assign the abilities of different types of users with the CanCan gem
Active Record
Associations, delegation, callbacks, etc.
Many to Many Relationships
Rails practice problems on has_and_belongs_to_many and has_many :through relationships
Form Helpers and Associated HTML
Learn about the HTML that is generated by the form_for and form_tag helpers.
JavaScript
Intro OOPMake JavaScript objects with constructor and object literal notation.
JavaScript: The Good Parts
Useful learning points from the excellent book JavaScript: The Good Parts.
Git/Github
Basic Git CommandsCovers basic Git methods including $ git init, $ git add, $ git status, etc.
Basic Git
How to use and merge Git branches
Git Rebasing
Rebasing is the alternative to merging and is not scary once you understand it.
Git branch off a branch
Create a branch off a branch and merge them together
Git interactive rebasing
Squash commits and make a clean commit history with interactive rebasing
Other
GmailShortcuts to use Gmail without a mouse.
Textmate
Shortcuts to use Textmate more efficiently.
Unix / Bash
Learning Unix for OS XBeginner Unix quiz on core concepts (based on book by Dave Taylor).
Minitest
TDD CRUD Controller with MinitestBasic TDD with FactoryGirl.
Integration and API testing
Create and test a Rails API
RailsCasts
BundlerManaging your Ruby gems.
Nested Model Form
Creating a form for a model within on model on the same page.
Model Name in URL
Customize URLs
YAML Configuration
Use YAML to access environment variables.
Polymorphism
Rails polymorphism practice questions
Eager Loading
Load associated resources to minimize database queries
Debugging Rails
Use a debugger to avoid constantly using puts.
Logger
Use the logger effectively to help you debug your app
Factory Girl
Make fake objects for tests and avoid using fixtures
Concerns & Service Objects
Put a fat model on a diet with modules and classes.
Finance
BasicsQuiz on finance basics including market capitalization, P/E ratio, dividend yield, etc.
More RailsCasts
Authentication from ScratchUse has_secure_password to better understand authentication.
Guest User Record
Create a temporary guest user record so people can try out your app before signing up.
Single Table Inheritance
Naturally model heirarchical relationships in Rails.
Arel
Clean up database queries with Arel
Authorization from Scratch
Add permission to an app without using any third party gems.
ActiveAdmin
Make an admin interface to interact with Active Record models