Basics
Intermediate
Advanced
Testing
Data Processing
Ecto
Storage
Miscellaneous
Articles authored by Elixir School contributors and members of the community.
Reviewing Elixir Conf EU 2019
ElixirSchool was invited to participate in a conference for the first time! Our own @gemantzu was there, and has a lot to say!
George Mantzouranis
Using Channels with LiveView for Better UX
By pairing a custom Phoenix Channel with our LiveView, with the help of a Registry, we can respond to LiveView events with custom JavaScript on the client-side to provide better UX.
Sophie DeBenedetto
Tracking Users in a Chat App with LiveView, PubSub Presence
Use Phoenix Presence in your LiveView to track user state with just a few lines of code.
ElixirConf 2019 Announcement
Join us this year at ElixirConf 2019 for the first ever Elixir School workshop!
Sean Callan
TIL Using Erlang Ports
Use Ports and GenServers to communicate from your Elixir app to processes running outside the Erlang VM.
Building Real-Time Features with Phoenix Live View and PubSub
Integrate Phoenix PubSub with LiveView to build real-time features capable of broadcasting updates across a set of clients.
TIL Ecto Constraints and Validations
Let’s take a look at how Ecto handles these two ways of ensuring data integrity
Prince Wilson
Walk-Through of Phoenix LiveView
Learn how to use Phoenix LiveView for real-time features without complicated JS frameworks.
Elixir Supervisor Strategies
Learn the ins and outs of Elixir’s 3 supervisor strategies
Bobby Grayson
TIL GenServer’s handle_continue/2
handle_continue/2
Support non-blocking, async GenServer initialization callbacks with OTP 21’s nifty handle_continue/2!
Deploying our Plug.Router application to Heroku
Plug.Router
Want to put your app in the real world? Today we do it with Heroku!
TIL about Process.send_after/4
Process.send_after/4
Want to schedule something to run later? Need a reoccurring task? Today we learn how!
Building web apps with Plug.Router
When it comes to building a web application with Elixir many people will immediately reach for Phoenix. However, did you know Plug.Router is just as viable an option? Sometimes, it can be even faster.
Understanding Recursion with Elixir
De-mystify the concept of recursion and gain a deeper understanding of how and why to use it by writing our very own recursive function in Elixir.
Connecting Elixir to Kafka with Kaffe
A codealong to help connect Kafka to your Elixir project with the wrapper Kaffe.
Meryl Dakin
TIL How to Run Tests for One Child App in an Umbrella
Run all of the tests, or just a specific tests, for a given child app in an umbrella application with this handy command.
TIL How to Run Ecto Migrations on Production
What to do when you can’t use mix ecto.migrate
mix ecto.migrate
Kate Travers
TIL about ExUnit’s capture_log option
Capture the output from Logger to clean up your test runs
Alex Griffith
TIL about IO.inspect/2‘s :label opt
IO.inspect/2
:label
Did you know you could label your output? Neither did we! Check out today’s TIL to learn more.
JWT Auth in Elixir with Joken
Use Joken and JOSE for a light-weight implementation of JWT Auth in your Elixir web application.