Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Independent

Elixir & OTP

via Independent

Overview

This course is for experienced, busy developers who want to build something now! And building a small, Phoenix-like web framework from scratch is a fun and engaging way to learn all the facets of Elixir and the OTP libraries. The application involves: 

  • modeling with structs and other data structures
  • pattern matching to transform HTTP requests to responses
  • file and socket I/O
  • handling requests in concurrent processes
  • running asynchronous tasks
  • storing state in GenServers
  • using Supervisors to recover from failures

 We build this application step by step in a clear, logical progression. You see exactly how everything gets put together to build a real Elixir/OTP application. It's as if we're sitting down together building the app from start to finish. And yeah, there are a few bad puns along the way, but we do try to make it fun. 🤪 

Syllabus

  1. Intro and Setup
  2. Create a Mix Project
  3. High-Level Transformations
  4. Pattern Matching
  5. Immutable Data
  6. Function Clauses
  7. Advanced Patterns Matching
  8. Pattern Matching Maps
  9. Serving Files
  10. Module Attributes
  11. Organizing Code
  12. Modeling with Structs
  13. Matching Heads and Tails
  14. Recursion
  15. Slicing and Dicing with Enum
  16. Comprehensions
  17. A Peek At Phoenix
  18. Test Automation
  19. Rendering JSON
  20. Web Server Sockets
  21. Concurrent, Isolated Processes
  22. Sending and Receiving Messages
  23. Asynchronous Tasks
  24. Stateful Server Processes
  25. Refactoring Toward GenServer
  26. OTP GenServer
  27. Another GenServer
  28. Linking Processes
  29. Fault Recovery with OTP Supervisors
  30. Final OTP Application

Taught by

Mike and Nicole Clark

Reviews

Start your review of Elixir & OTP

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.