Real-Time SVG Charts with Contex and LiveView
Learn how to use the Contex package to render server-side SVG charts that you can update in real-time with LiveView.
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 Telemetry.Metrics
and 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 Config
module.
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.
23 Aug 2019 in Today I Learned
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!
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.
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!
17 Apr 2019 in Today I Learned
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.
25 Mar 2019 in Today I Learned
Let’s take a look at how Ecto handles these two ways of ensuring data integrity
19 Mar 2019 in Today I Learned
Learn how to use Phoenix LiveView for real-time features without complicated JS frameworks.
21 Feb 2019 in Today I Learned
Learn the ins and outs of Elixir’s 3 supervisor strategies
15 Feb 2019 in Today I Learned
Support non-blocking, async GenServer initialization callbacks with OTP 21’s nifty handle_continue/2
!
Want to put your app in the real world? Today we do it with Heroku!
07 Feb 2019 in Today I Learned
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.
17 Dec 2018 in Today I Learned
Run all of the tests, or just a specific tests, for a given child app in an umbrella application with this handy command.
16 Dec 2018 in Today I Learned
What to do when you can’t use mix ecto.migrate
12 Dec 2018 in Today I Learned
Capture the output from Logger to clean up your test runs
04 Dec 2018 in Today I Learned
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 asdf
!
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!