11 parts · 11 chapters

Elixir and Phoenix

A language built on the Erlang VM, designed for systems that must keep running while parts of them fail. Measured on this course's laptop (Elixir 1.19.5, OTP 29, 12 schedulers): one million processes spawned in 3.8 seconds at about 2.6 KB each, a message round trip took 1.15 µs, and a supervisor replaced a killed worker immediately.

Eleven parts in the shared language-course shape: basics; types and pattern matching; the BEAM; processes, OTP and supervision; idioms; tooling and testing; Phoenix end to end; Phoenix and LiveView internals; performance; what Elixir is paired with in production (libcluster, Oban, Postgres, releases); and the shared capstone, the ledger API in Elixir.

basics · types and pattern matching · the BEAM · processes, OTP and supervision · idioms · tooling and testing · Phoenix end to end · Phoenix and LiveView internals · performance · in production: what Elixir is paired with · capstoneintro → expert · backend engineers
languageImmutable data, pattern matching, the pipe operator.
runtimeThe BEAM: preemptive schedulers, per-process heaps and GC.
OTPGenServer, Supervisor, Application: let it crash, safely.
webPhoenix, Ecto, Channels and LiveView.
productionReleases, clustering, Oban jobs, telemetry.
capstoneThe ledger API with the shared acceptance tests.
Part of the language trackShares its shape and capstone with the Go, Python, Java, Rust and Rails courses; uses Concurrency for the actor model.