Do you want to pick up from where you left of?
Take me there

Lessons: Miscellaneous



We can’t guess about which functions are fast and which are slow - we need actual measurements when we’re curious. That’s where benchmarking comes in. In this lesson, we’ll learn about how easy it is to measure the speed of our code.


If you’re familiar with Ruby you can think of Plug as Rack with a splash of Sinatra. It provides a specification for web application components and adapters for web servers. While not part of Elixir core, Plug is an official Elixir project.

In this lesson we’ll build a simple HTTP server from scratch using the PlugCowboy Elixir library. Cowboy is a simple HTTP server for Erlang and Plug will provide us with a connection adapter for that web server.

After we set up our minimal web application, we’ll learn about Plug’s router and how to use multiple plugs in a single web app

Embedded Elixir (EEx)

Much like Ruby has ERB and Java has JSPs, Elixir has EEx, or Embedded Elixir. With EEx we can embed and evaluate Elixir inside strings.


Bugs are an inherent part of any project, that’s why we need debugging.

In this lesson we’ll learn about debugging Elixir code as well as static analysis tools to help find potential bugs

Guardian (Basics)

Guardian is a widely used authentication library based on JWT (JSON Web Tokens).


You can easily exhaust your system resources if you do not limit the maximum number of concurrent processes that your program can spawn. Poolboy is a widely used lightweight, generic pooling library for Erlang that addresses this issue.

Distillery (Basics)

Distillery is a release manager written in pure Elixir. It allows you to generate releases that can be deployed elsewhere with little to no configuration.


NimblePublisher is a minimal filesystem-based publishing engine with Markdown support and code highlighting.