Large projects usually have large test suites that can run for a long time. This can be annoying as running...
Understand the differences between git diff and git diff --staged (or git diff --cached) Understand the difference between git...
Get an idea of the varying support for HTML/CSS/JavaScript features in different browsers like Chrome, Firefox, Internet Explorer, Edge...
Learn Enough Command Line to be Dangerous (it's in our library => Google Drive) CLI tricks every developer should...
Action Mailer Basics and Previews Chapter "Task H1: Sending Mail" from Agile Web Development with Rails 7.2 (in our...
Learn to treat files as an ActiveRecord attribute type, like :string or :integer Research Look at the README for...
In this card we will learn to write code that scales with a large number of database records. We will...
CSS (+ some Javascript) framework, implementing Google's material design for static web pages. Can be used for plain websites without...
Read the following chapters from The Pragmatic Programmer, anniversary edition (in our library): Chapter 1, Topic 3: Software Entropy...
Understand at least the following CSS concepts: Classes Selecting elements for styling Basic styling (color, typography, spacing)
Understand why we test: Low defect rate without a QA department. Customer acceptance testing can concentrate on new features...
Rails is our web framework. Goals Be able to write a simple Rails application. Understand how Rails talks to the...
Ruby is the programming language we use on the backend. Goals After finishing this lesson you should be able to...
Rails comes with grouped_collection_select that appears to be useful, but isn't. As an alternative, consider the flat...
Note: ActiveRecord::Base#becomes has a lot of quirks and inconsistent behavior. You probably want to use ActiveType.cast instead.
ActiveModel supplies an errors object that behaves similar to a Hash. It can be used to add errors to a...
Note: Making a reverse proxy with nginx is much more straightforward. A reverse proxy is a "man in the middle...
All major browsers (IE8+, FF3.5+, Safari 4+, any Chrome) support sessionStorage, a JavaScript storage object that survives page reloads and...
Capistrano 3 is a major rework of the framework and requires several adjustments to your deploy configuration files. The biggest...
When using Savon to connect a SOAP API, you may want to use Savon::SpecHelper to mock requests in your...
Jasmine has a jasmine.clock() helper that you can use to travel through time and trigger setTimeout and setInterval callbacks:
You might wonder about this request in your test.log: Started GET "/__identify__" for 127.0.0.1 at 2015-04-29 18:00...
When you want to UPDATE a table with information from an associated table, you can JOIN the associated table into...
Several Rails migration methods accept index: true as an option to create an index. In some cases (like #add_column...