Ruby
A language optimised for programmer happiness.
Ruby is taught here in 13 lessons, running from Syntax and blocks through to Deployment, performance and next steps. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Back-end Development |
| Lessons | 13 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: Laravel |
Lessons
- Syntax and blocksObjects everywhere, the naming rules that reveal scope, and the block syntax that makes idiomatic Ruby readable.
- Objects, modules and exceptionsClasses, attribute accessors, mixins, and the difference between include, extend and prepend.
- Standard library and a short note on RailsThe libraries that ship with Ruby and cover most scripting needs, plus what Rails adds on top.
- Collections, blocks and EnumerableArray, Hash and Set in practice, the Enumerable methods you will use daily, lazy enumerators, symbols versus strings, and destructive methods.
- Strings, files and input/outputString methods and encoding, interpolation and heredocs, File and IO, CSV and JSON, ARGV, and streaming large files without loading them.
- Gems, Bundler and project layoutGemfile and lockfile discipline, gem version constraints, gemspec versus Gemfile, Rake tasks, load paths and a layout that scales.
- Testing with Minitest and RSpecMinitest assertions, RSpec describe and it blocks, let and subject, doubles and mocks, and organising a suite that stays fast.
- Metaprogramming and building DSLsdefine_method, send and public_send, method_missing with respond_to_missing?, class macros, refinements, and when to stop.
- Concurrency: threads, fibers and RactorsThreads and mutexes, the global VM lock, fibers as cooperative coroutines, Ractors for real parallelism, and knowing when it pays off.
- Rails essentials: MVC, ActiveRecord and routingThe Rails request cycle, models and associations, migrations, resourceful routing, controllers, and the ActiveRecord query interface.
- Background jobs and the Ruby web stackRack and its middleware, Sinatra for small services, Puma workers and threads, Sidekiq and Active Job, retries and idempotency.
- Packaging and distributing gems and CLIsGemspec structure, semantic versioning, publishing to RubyGems, OptionParser and Thor for CLI tools, and changelog discipline.
- Deployment, performance and next stepsBundler in production, Puma tuning, memory and GC behaviour, profiling with StackProf, structured logging, and where to go next.
More in Back-end Development
Node.js PHP Java HTTP Go Rust Spring Boot Laravel GraphQL
FAQ
How long does the Ruby course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Ruby?
Not strictly. It helps to have read Laravel first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Ruby?
Continue with GraphQL (13 lessons), the next course in Back-end Development.