Systems | Development | Analytics | API | Testing

Elixir

Real-Time Form Validation with Phoenix LiveView

LiveView is a compelling choice for building modern web apps. Built on top of Elixir’s OTP tooling and leveraging WebSockets, it offers super-fast real-time, interactive features alongside impressive developer productivity. LiveView keeps the developer’s mind firmly rooted on the server-side, even when testing and debugging. This can empower you to deliver interactive features in single-page apps faster than ever before.

An Introduction to Metaprogramming in Elixir

In this world, there are many mysteries — but few are as elusive as metaprogramming in Elixir. In this four-part series, we’ll start by looking at core concepts and then explore how metaprogramming operates in Elixir specifically. Let’s develop an understanding of metaprogramming and uncover some Elixir metaprogramming secrets!

LiveView Integration Tests in Elixir

In the second part of this two-part series on testing LiveView in Elixir, we’ll write an integration test that validates interactions within a single live view, and an integration test that validates the interactions between two separate live views. You will focus on testing the behavior of the survey results chart filter from the previous post. We’ll use the LiveViewTest module’s functions to simulate LiveView connections without a browser.

An Introduction to Testing LiveView in Elixir

In this two-part series, you’ll get a comprehensive overview of everything you need to know to test your LiveView applications in Elixir. In Part I, I’ll introduce you to LiveView testing guidelines and you’ll write some flexible and elegant LiveView unit tests. In Part II, you’ll write interactive LiveView tests that validate a full set of live view behaviors.

Capabilities of Elixir's Logger

Logs are an important part of your application and logging shouldn’t be one of the last things you think of. You should configure your log system, formatter, and style as soon as you start the development of your app. Also, do your best to document the process and share how it works with the rest of your team. In this article, we’re going to demonstrate how logs work in Elixir. We’ll jump into Elixir’s Logger module, which brings a lot of power to logging features.

The State of Elixir HTTP Clients

In today’s post, we’ll look at two Elixir HTTP client libraries: Mint and Finch. Finch is built on top of Mint. We’ll see the benefits offered by this abstraction layer. We’ll also talk about some of the existing HTTP client libraries in the ecosystem and discuss some of the things that make Mint and Finch different. Finally, we’ll put together a quick project that makes use of Finch to put all of our learning into action. Let’s jump right in!

Best Practices for Background Jobs in Elixir

Erlang & Elixir are ready for asynchronous work right off the bat. Generally speaking, background job systems aren’t needed as much as in other ecosystems but they still have their place for particular use cases. This post goes through a few best practices I often try to think of in advance when writing background jobs, so that I don’t hit some of the pain points that have hurt me multiple times in the past.

Using Mnesia in an Elixir Application

In today’s post, we’ll learn about Mnesia, see when you would use such a tool, and take a look at some of the pros and cons of using it. After covering the fundamentals of Mnesia, we’ll dive right into a sample application where we’ll build an Elixir application that uses Mnesia as its database. Let’s jump right in!