Elixir is a functional language built on the BEAM for concurrent, fault-tolerant, distributed systems. It combines immutable data, strong runtime primitives, and practical tooling for reliable service development. Its practical strength is operational resilience with readable functional design.
| # | ELIXIR | Topic | Description |
|---|---|---|---|
| PHASE 1: LANGUAGE BASICS | |||
| 01 | Foundations | What Elixir is, where it runs, and when to use it. | |
| 02 | Environment | Install Erlang/OTP and Elixir, then verify core developer tooling. | |
| 03 | Syntax | Modules, functions, expressions, and pipe-oriented code style. | |
| 04 | Data | Atoms, binaries, tuples, maps, structs, and immutable values. | |
| PHASE 2: FUNCTIONAL DESIGN | |||
| 05 | Pattern Matching | Destructuring, guards, and branch selection through pattern heads. | |
| 06 | Functions | Recursion, anonymous functions, captures, and composition patterns. | |
| 07 | Macros | Quoted code, unquote, and compile-time metaprogramming basics. | |
| 08 | Collections | Enum, Stream, and immutable collection transformations. | |
| 09 | Projects | Mix workflows, Hex dependencies, config, and releases. | |
| PHASE 3: RUNTIME AND DELIVERY | |||
| 10 | Concurrency | Processes, message passing, tasks, and runtime monitoring. | |
| 11 | OTP | GenServer, supervision trees, and resilient application flow. | |
| 12 | Testing | ExUnit strategy, behavior checks, and maintainable test design. | |
| 13 | Phoenix | Web apps, controller flow, LiveView, and service boundaries. | |
| 14 | Architecture | Context boundaries, umbrella apps, and deployment structure. | |
| 15 | References | Official documentation, OTP sources, framework guides, and deep dives. | |