Designing Elixir Systems with OTP

Delve into designing Elixir projects with OTP, exploring the Erlang VM, Elixir data types, isolated processes, and integrating projects with PostgreSQL, culminating in a functional application.

Intermediate

149 Lessons

55h

Certificate of Completion

Delve into designing Elixir projects with OTP, exploring the Erlang VM, Elixir data types, isolated processes, and integrating projects with PostgreSQL, culminating in a functional application.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

86 Playgrounds
10 Quizzes

This course includes

86 Playgrounds
10 Quizzes

Course Overview

The Open Telecom Platform (OTP) is a process-oriented design environment that Elixir inherits from Erlang, the VM in which Elixir executes. This process-oriented design and communication framework make programming in Elixir a unique challenge. In this course, you’ll learn about the design considerations needed to build and design Elixir projects effectively. You’ll learn in detail about the Erlang virtual machine and the project components. You’ll review Elixir data types to identify the correct data layer...Show More

What You'll Learn

Strong understanding of the Open Telecom Platform (OTP) design environment

Working knowledge of the various layers of Elixir built using OTP

Deep familiarity with Elixir’s different data types, their pros, cons, and applications

Hands-on experience with best practices for coding in Elixir

Hands-on experience leveraging OTP GenServers in your application design

Hands-on experience testing Elixir projects with a variety of testing techniques

What You'll Learn

Strong understanding of the Open Telecom Platform (OTP) design environment

Show more

Course Content

1.

Building Our Project in Layers

Step through building Elixir projects with a layered approach for scalable, resilient systems.
2.

Knowing Our Elixir Datatypes

Unpack the core of Elixir datatypes, including their efficient uses and limitations.
3.

Starting With the Right Data Layer

Examine the importance of data structures, immutability, and access patterns in Elixir systems.
4.

Building Our Functional Core

Grasp the fundamentals of creating a functional core with modular, data-centric design principles.
5.

Testing Our Core

Take a closer look at testing Elixir systems, including setup functions, fixtures, and advanced techniques.
6.

Isolating Process Machinery in a Boundary

23 Lessons

Tackle state isolation, error handling, and data validation using GenServer and API layers.
7.

Customizing Our Lifecycle

17 Lessons

Master the lifecycle management of Elixir systems using OTP for robust process control.
8.

Invoking Our Workers

13 Lessons

Sharpen your skills in managing concurrency, scalability, and worker lifecycle with Elixir.
9.

Assembling Our Components

17 Lessons

Unpack the core of integrating persistence, utilizing OTP dependencies, and organizing code for Elixir projects.
10.

Testing the Boundary

12 Lessons

Work your way through testing Elixir boundaries, focusing on API lifecycles and integration.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor