by: Eric Sullivan | on: | in: ecto
I’d previously read a Honeybadger.io blog post about the benefits of using UUIDs as primary keys. For a recent Phoenix project (1.4.0 w/ Ecto 3.0) I wanted to implement that advice. The Ecto.Schema documention has an example that shows how to set the
@foreign_key_typeattributes to binary_ids (UUIDs in PostgreSQL):
In previous articles, the AK Alembic1 has discussed building API clients, but we left out how they’d be used in an application. For this discussion, let’s say you’re working with a blog-style application whose principal resources are posts and comments. Posts can have many comments, however these comments are managed through an API. In your Post controller you’ll use...by: Aditya (Adi) Iyengar | on: | in: software_architecture
Having used Elixir for over 2 years, I have often run into places where I have to make HTTP requests. Most of the time, I end up writing a generic way of making those requests to a website, an API client. In this post, I will be sharing my views on how to write an extensible, modular, and maintainable API...
I encountered an interesting problem while developing the absinthe_websocket library: I wanted to make an asynchronous function call appear to be synchronous. In this particular case, I wanted to run queries through the WebSocket connection1. The problem is that WebSockets use a single persistent connection and the responses can come out of order. How can we hide the...
At Annkissam we’ve been updating our internal tooling. We transformed several independent rails applications into a Constellation of Phoenix applications. This service-oriented design has worked well, as most use cases involve a single application (for instance, there’s a time-keeping system). However, some use cases require coordination between services. For that, we needed event-driven messaging. We choose GraphQL to meet...
Deploying Elixir applications can be hard to figure out, with multiple strategies involving tools like
mixto choose from. At Annkissam, we have adopted a simple workflow for deploying Elixir applications, which we would like to share with the community.
This post digs deeper into
akdwhile explaining how we at...
The development experience in Elixir is amazing, but deploying to production can still be difficult. Akd was developed to improve this process, and once configured, it makes deployment as easy as