Learn how to use pattern matching instead of guard clauses to implement really clean control flow in Elixir.
Learn how to use the Contex package to render server-side SVG charts that you can update in real-time with LiveView.
In this series, we’re instrumenting a Phoenix app and sending metrics to StatsD with the help of Elixir and Erlang’s Telemetry offerings. In Part III we’ll incorporate Erlang’s
telemetry_poller library into our Phoenix app so that we can observe and report on Erlang VM Telemetry events.
In this series, we’re instrumenting a Phoenix app and sending metrics to StatsD with the help of Elixir and Erlang’s Telemetry offerings. In Part III we’ll examine Phoenix and Ecto’s out-of-the-box Telemetry events and use
Telemetry.Metrics to observe a wide-range of such events.
In this series, we’re instrumenting a Phoenix app and sending metrics to StatsD with the help of Elixir and Erlang’s Telemetry offerings. In Part II we’ll use Elixir’s
TelemetryMetricsStatsd libraries to define and send metrics to StatsD for a given Telemetry event.
The recent release of the LiveDashboard library allows us to visualize our application metrics, performance and behavior in real-time. In this post, we’ll add LiveDashboard to our Phoenix app, examine the out-of-the-box features and take a look under the hood to understand how LiveDashboard hooks into Telemetry events in order to visualize them.
In this series, we’re instrumenting a Phoenix app and sending metrics to StatsD with the help of Elixir and Erlang’s Telemetry offerings. In Part I we’ll start out by setting up a basic, DIY Telemetry pipeline and examining how Erlang’s Telemetry library works under the hood
It’s easy to end up with an overly complex LiveView that houses lots of business rules and responsibilities. We can use
Phoenix.LiveComponent to build a LiveView feature that is clean, maintainable and adherent to the Single Responsibility Principle.
Follow along as we use build Elixir School’s Slack invite portal: Admissions.
We’ll use LiveView’s
live_link/2 together with the
handle_params/3 callback to allow users to sort a table in real-time.
The release of Elixir 1.9 gave us
mix release and the ability to support basic releases, runtime configuration and more, natively in Elixir. Learn how we were able to build a production release of an Elixir umbrella app with Docker,
mix release and the new
We had a great time at ElixirConf 2019! Hear about Elixir School’s two workshops, along with the highlight talks and activities that we enjoyed this year.
Before you reach for adding another association to your schema, consider using
Ecto.Query#select_merge/3 with a virtual field instead.
ElixirSchool was invited to participate in a conference for the first time! Our own @gemantzu was there, and has a lot to say!
Use Phoenix Presence in your LiveView to track user state with just a few lines of code.
Join us this year at ElixirConf 2019 for the first ever Elixir School workshop!
Use Ports and GenServers to communicate from your Elixir app to processes running outside the Erlang VM.
Integrate Phoenix PubSub with LiveView to build real-time features capable of broadcasting updates across a set of clients.
Let’s take a look at how Ecto handles these two ways of ensuring data integrity
Learn how to use Phoenix LiveView for real-time features without complicated JS frameworks.
Learn the ins and outs of Elixir’s 3 supervisor strategies
Support non-blocking, async GenServer initialization callbacks with OTP 21’s nifty
Want to put your app in the real world? Today we do it with Heroku!
Want to schedule something to run later? Need a reoccurring task? Today we learn how!
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.
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.
A codealong to help connect Kafka to your Elixir project with the wrapper Kaffe.
Run all of the tests, or just a specific tests, for a given child app in an umbrella application with this handy command.
What to do when you can’t use
Capture the output from Logger to clean up your test runs
Did you know you could label your output? Neither did we! Check out today’s TIL to learn more.
Use Joken and JOSE for a light-weight implementation of JWT Auth in your Elixir web application.
Elixircards show us how modern learning tools should work through their Elixir Decks.
Learn how to compose and execute batches of queries using Ecto.Multi.
A look at umbrella applications and how they can help us write cleaner maintainable code.
Take a dive into flexible version management of Elixir, Erlang, and OTP with
Lance Halvorsen shows us how to build our a guessing video game from the ground up using Elixir and OTP. In the end, he shows us how to build a fully working UI experience with Phoenix, Presence and Channels.
Follow along as we look at how to dynamically compose Ecto queries using pattern matching and reduction.
We attempt to clear up some confusion around configuration by looking at the different types, the roles they play, and a different approach we could take.
The first installment in our new series looking at, and reviewing, different learning materials available to the Elixir community.
Announcing the official Elixir School blog: Appendix. Follow along to learn more about Elixir, functional programming, in addition to tips and tricks you can take advantage of when building Elixir applications. Join us to learn more!
Follow along as we take a peek at what’s inside the latest Elixir release. Learn more about the all new code formatter, exciting dynamic supervisors, and changes coming to your code editors that make working in Elixir even better!