I enjoy writing Elixir applications. A lot. So much so, I’ve made a lot of mistakes and stubbed (ha!) a few of my proverbial toes (perhaps fingers in this case?)

As such, I’ve tried to capture what I’ve learned about Elixir and put them into tutorials that others could use as well.

Elixir is still a fairly new language as far as web technologies go, so the amount of resources out there is small, but growing. I thought I would tutorials for places where content seemed to be lacking and I knew I had experience.

OK, and it’s not just Elixir. Also, Phoenix tutorials. And a variety of topics. Tutorials covering everything from Elixir data collections to Elixir testing to the Phoenix web framework.

You can see a list of them below. I’ll write more, so you can check back here for the latest ones.

General

Ecto Stale Entry Error

https://adamdelong.com/ecto-stale-entry/

The Ecto stale entry error (Ecto.StaleEntryError) can be a bit cryptic. Find out one cause of this error and how to fix it.


Elixir Tutorial - Bulk Updates Ecto

Performing Bulk Updates with Ecto and Elixir

Learn a couple of ways that you can perform bulk updates of database rows using Ecto and Elixir without writing a single-line of SQL.


Elixir Tutorial - Module is not available

How to Solve Elixir’s Module Is Not Available

Learn how to solve one of Elixir’s most common errors, the “module is not available” error. Includes an Elixir “module is not available” cheatsheet.


Elixir Tutorial - Enum Count

How to Count Specific Items in a Collection with Elixir

Need to count the amount of characters in a string? Find out a quick way to do this and more.

Testing

Elixir Tutorial - IEx Pry Test

How to Use IEx.pry in Elixir Tests

Elixir’s IEx.pry is a great debugging tool, but can be tricky to get working with your ExUnit tests. Learn how to use it with your test workflow.


How to Test Asynchronous Text Changes with Hound and Phoenix

Eliminating race conditions from acceptance tests can be difficult, but in this tutorial, I show you a couple of ways that you can avoid race conditions that may happen as the result of an asynchronous text change with Hound and Phoenix.