axelson

axelson

Scenic Core Team

ElixirConf 2019: Contracts for Building Reliable Systems - Chris Keathley

by @keathley

It’s mentally taxing to work in a system with a large number of services. One of the ways to combat that cognitive load is to use types to specify contracts between services. This system works well if you need to know if a key is a string or an integer.

But it turns out types fall short in their ability to specify the essential properties of your system. At Bleacher Report we’ve been feeling this pain acutely. To remedy this problem, we’ve been building our contract system. These contracts are applied at runtime and provide a common language for specifying the data moving through your system.

In this talk we’ll discuss the tradeoffs between type systems and contract systems, we’ll show the decisions that we made in our contract language, and finally discuss how to implement a basic system for specifying data.

View all threads tagged with testing
View all elixirconf2019 talks

Where Next?

Popular in Talks Top

axelson
ElixirConf US 2018 – Docker and OTP: Friends or Foes? – Daniel Azuma (@dazuma) Docker is the hot deployment technology a...
New
axelson
Architecting communication between microservices is a vital decision to be made when building scalable, sustainable software. In this tal...
New
axelson
ElixirConf 2018 – Day 2 Opening Keynote – Justin Schneck (@mobileoverlord) All talks thread:
New
axelson
ElixirConf US 2018 – Behavior Trees and Battleship: Tapping into the Power of Advanced Data Structures – Jeff Schomay I ...
New
axelson
ElixirConf US 2018 – Take Your Time – Ben Marx (@bgmarx) OTP20 officially introduced dirty schedulers. In this talk, we’...
New
axelson
Here’s today’s talk: ElixirConf 2017 - Don’t Write Macros But Do Learn How They Work - by @jessejanderson You may have ...
New
axelson
Here’s the last ElixirConf 2017 video of day one! ElixirConf 2017 - Scaling up Elixir at TpT - by @shanti I...
New
axelson
ElixirConf 2017 - Building an Artificial Pancreas with Elixir and Nerves - by @tmecklem People with Type 1 Diabetes have...
New
JuanjoA
Hi, I don’t know if I have the post in the right place. I put here in case you might be interested, I am not the author, I just found it...
New
axelson
I really like the idea of discussing one Elixirconf talk each day and since @brightball hasn’t posted the second talk I’ll post it. Elix...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

We're in Beta

About us Mission Statement