Elixir Training

An Elixir programming course delivered as code + per-lesson reveal.js slide decks. Starts at programming-101 and finishes with a deployed Phoenix app backed by Postgres, real-time LiveView, and OTP supervision.

Phase 0 · Programming-101 in Elixir
00
Setup
asdf · iex · mix new
01
Values & types
integers · atoms · strings
02
Pattern matching
= as match · destructuring
03
Functions & modules
def · arity · guards
04
Control flow
case · cond · with
Phase 1 · Elixir core
05
Recursion
head/tail · no for loops
06
Enum & the pipe
Enum · |> · composition
07
Collections
lists · maps · tuples · keywords
08
Strings & binaries
sigils · binary pattern matching
09
Streams
lazy enumeration
10
Structs & protocols
defstruct · defprotocol
11
Error handling
{:ok, _} · raise · with
12
Mix projects
mix new · deps · ExUnit
Phase 2 · Concurrency & OTP
13
Processes
spawn · send · receive
14
Tasks & Agents
lightweight concurrency
15
GenServer I
call · cast · init
16
GenServer II
handle_info · testing
17
Supervisors
restart strategies · trees
18
OTP applications
application callback · config
19
ETS
fast in-memory storage
20
Distribution
:rpc · libcluster · nodes
Phase 3 · Phoenix
21
Plug
Plug.Conn · the pipeline
22
Phoenix tour
mix phx.new · project tour
23
Controllers & HEEx
actions · HEEx · layouts
24
Forms & changesets preview
render a form · validate
25
Contexts
the context pattern
26
Authentication
phx.gen.auth · sessions
27
LiveView I
mount · render · handle_event
28
LiveView II
streams · PubSub · components
Phase 4 · Ecto deep dive
29
Schemas & migrations
schema · field · migrate
30
Changesets deep dive
cast · validations · constraints
31
Queries
joins · preloads · dynamic
32
Associations
has_many · belongs_to · m:n
33
Multi & transactions
Ecto.Multi · rollback
Phase 5 · Production
34
Testing
ConnCase · DataCase · LiveViewTest
35
Observability
:telemetry · LiveDashboard
36
Background jobs
Oban · workers · cron
37
Releases & Docker
mix release · Dockerfile
38
Fly deploy
flyctl · Postgres add-on
Phase 6 · Capstone
39
Capstone build
final feature work
40
Capstone ship
deploy · smoke test · retro