62 cards

385 Rack and Middlewares

Goal of this lesson is to understand what middlewares in Rack are good for.


Start with these articles:

You should be able to answer the following questions:

  • What is Rack?
  • How does Rack relate to Ruby on Rails?
  • What is Rack middleware?
  • What are some ...

395 Background processing [2d]

Some tasks in a web application are better not done live when a user request a page, but in the background. Examples are

  • longer running tasks
  • tasks that are not tied to user interaction
  • tasks that can fail, and may need to be retried

Our two main mechanisms for background processing are

Learn about cronjobs

  • Read [HowTo: Add Jobs To cron Under Linux or UNIX?](http:...

396 Internationalization [2d]


Note that even if your application only supports a single language, it makes sense to put the names of models and attributes into a locale file. You will use these strings in multiple places in your app, and maintaining them in a central place makes your code DRY.


  • Estimate localization for MovieDB.
  • Together with your mentor, select some localization features to implement. Implement ...

397 Rails: Sending e-mail [2d]



  • In MovieDB, if you did not implement sending a welcome e-mail, send an e-mail now.
  • In MovieDB, whenever someone creates a movie, send a notification to moviedb-admin@example.com.
    • Can you attach a text file (any content) to the e-mail?
    • Can you write...

400 Buzzwords and staying up to date [1d]

Web technology is a very broad field and you cannot be an expert in all aspects.

However, it is useful to have at least heard of a few common terms and buzzwords, so that you don't seem uninformed when talking to a client or other developers.

Get an overview

Search the Internet for each of the following terms. Only take a couple of minutes for each and don't get into too much detail, but do get a rough understand what each of these terms mean:

  • Single-Page Application
  • Progressive Web Application
  • Service Worker
  • Software as ...

910 Rake [0.75d]


  • What is rake good for?
  • Take a look at some of the Rake tasks that Rails gives you (rake -T within a Rails project)
  • Find the code that defines the rake stats task in the Rails gems
  • What are some ways how a Rake task can execute another task?
  • What does it mean if a Rake task "depends" on another task? E.g. understand what it means for a Rake task within a Rails app to depend on :environment.
  • Understand that Capistrano tasks are also defined using the Rake DSL, but a Capistrano task is not automatically a...

940 Persisting trees [2d]

Storing a tree

For each movie in MovieDB, we want to track which other movie it was inspired by. For example:

  • "Interstellar was inspired by 2001"
  • "Inception was inspired by The Matrix"

Start by adding a field Movie#inspiration_id. In the movie form, I should be able to select the inspirating movie.

The list should:

  • include all the movies that were released in previous years
  • not include the movie itself
  • not include a movie that was itself inspired by the movie that is being edited.


In t...


990 Static site generators


Talk with a colleague and find out why we're using building some of our sites using static site generators instead of Rails.

You should talk about:

  • Ease of development
  • Security issues and maintenance costs

Read through the Middleman docs Archive :

  • What can it do?
  • What can't it do?
  • What parts do you know from Rails?


  • Checkout the repo for the makandra blog Archive
  • Start the preview server
  • Make some changes, review them on localhost:4567...
This website uses short-lived cookies to improve usability.
Accept or learn more