makandra Curriculum

Ruby is the programming language we use on the backend. Goals After finishing this lesson you should be able to...

There is no single place to look up documentation for our stack. This card includes some hints where you can...

Rails is our web framework. Goals Be able to write a simple Rails application. Understand how Rails talks to the...

makandra Curriculum

Understand why we test: Low defect rate without a QA department. Customer acceptance testing can concentrate on new features...

Learn to create test data effectively using factories. Decouple tests by having each test start with an empty database...

makandra Curriculum

Basic validations Read the Rails Guide on ActiveRecord Validations. You should have an overview which kinds of validations are built...

makandra Curriculum

Understand at least the following CSS concepts: Classes Selecting elements for styling Basic styling (color, typography, spacing)

In this card we will learn to write code that scales with a large number of database records. We will...

Read the following chapters from The Pragmatic Programmer, anniversary edition (in our library): Chapter 1, Topic 3: Software Entropy...

makandra Curriculum

When your code does not behave as expected, you can use a debugger statement ("breakpoint") at any point in your...

makandra Curriculum

Built-in matchers Get an overview of all the matchers that are built into RSpec. Play with some of...

makandra Curriculum

Learn Enough Command Line to be Dangerous (it's in our library => Google Drive) CLI tricks every developer should...

Learn to treat files as an ActiveRecord attribute type, like :string or :integer Research Look at the README for...

Advanced cucumber features Learn about the following cucumber features: Doc Strings ("multiline strings") Tables Tags Before/after hooks Background Scenario outlines...

We use Selenium WebDriver integrated with Cucumber/Capybara for full-stack integration testing. Try and use it Your forked MovieDB should...

makandra Curriculum

Understand the differences between git diff and git diff --staged (or git diff --cached) Understand the difference between git...

A common task in web applications is to add client-side JavaScript behavior to existing HTML elements.

Web security basics Einführung in die Web Security 🇩🇪 provides essentials for the topic of this card. Read following chapters:

makandra Curriculum

Authentication is all about being able to verify the identity of a user in the context of our application.

makandra Curriculum

Watch Solving bizarre authorization requirements with Rails Read the Consul README Read the assignable_values README Understand how Consul...

makandra Curriculum

Understand how nested attributes appear in the params. See how the Rails form helpers encode the names of nested...

makandra Curriculum

Read (or re-read) the following chapters from our book Growing Rails Applications in Practice (it’s in our...

makandra Curriculum

How do HTTP requests and responses look like? What are HTTP headers? What are they used for?

Software engineering principles Read about the following software engineering principles and code smells: Single Responsibility Principle Law of Demeter