The Elixir 1.16 release candidate is out now, and it comes with some compelling improvements to diagnostics, documentation, and a few other enhancements that make Elixir an even better choice for developers. We'll dive into some of these changes and highlight Elixir's continued focus on developer happiness and community building. Let's get started!
Welcome to part two of this series. In the previous tutorial, we learned about multi-tenancy, including different multi-tenancy implementation strategies. We also started building a multi-tenant Phoenix link shortening app and added basic user authentication. In this final part of the series, we'll build the link resource, associate users to links, and set up the redirect functionality in our app.
Apps built with Elixir can support massive scalability, real-time interactivity, great fault tolerance, and the language's syntax is actually a joy to use. Elixir is a natural fit for applications such as chat apps, data dashboard apps, and anything needed to support a large userbase. In this article, we'll use Elixir — specifically, the web framework Phoenix — to build a multi-tenant link shortening app. Let's get started!
Elixir excels at building scalable and maintainable applications. However, sometimes Elixir is not the best language to tackle specific tasks, and it can fall short in some areas, like direct system interaction. Fortunately, Elixir offers NIFs (Native Implemented Functions): a path for integrating with other languages to improve these gaps.
In this first part of a two-part series, we'll explore how to avoid bad data and validate data at the boundary of a Phoenix application. We'll use a few techniques to ensure that bad data doesn't degrade our application. In part two, we'll specifically focus on leveraging Ecto under the hood to cast data. Let's dive in!
In this article, we'll show how you can use Elixir's profile.eprof mix task to evaluate and improve code performance in your Elixir application. You'll see how we used the profiling mix task to lower reductions in our instrument/3 function and custom instrumentation functionality, both key parts of our Elixir integration.
Exceptions are a core aspect of programming, and a way to signal when something goes wrong with a program. An exception could result from a simple error, or your program might crash because of underlying constraints. Exceptions are not necessarily bad, though — they are fundamental to any working application. Let’s see what our options are for handling exceptions in Elixir.