Digests » 203
Let’s face it, your app is going to throw an error at some point (maybe even more than once…gasp!) Honeybadger simplifies your production stack by combining exception monitoring, uptime monitoring, and check-in monitoring into a single, easy to use platform. It also integrates with app you use: Slack, PagerDuty, GitHub, and tons more. Honeybadger makes it easy for you to be a DevOps hero.
this week's favorite
I believe that one of the best ways to push new practices is to work on a real-world project that we can afford to experiment on. We can push the boundary in the toy project while still seeing the results of the decisions in a production environment with real users. I’ve been fortunate to be able to ship several applications like this at SalesLoft. The latest one that we’ll look at today is our internal OKR (Objective-Key Result) app that we use for goal tracking and alignment.
There’s been many times when I’ve just wanted to add a simple JSON endpoint to an app to, expose a service, or process webhook events, without the overhead of a full framework. Let’s see how easy it is to build a production ready endpoint with Plug, using Erlang’s Cowboy HTTP server.
OTP 22 has just been released. It has been a long process with three release candidates before the final release. We decided this year to try to get one month more testing of the major release and I think that the extra time has paid off. We’ve received many bug reports from the community about large and small bugs that our internal tests did not find.
In Step-by-Step Tutorial to Build a Phoenix App that Supports User Upload we’ve built from scratch a Phoenix application where users can upload and download their files. We saw how to deal with uploads, saving them locally, using Ecto and Postgres database to save file’s details like size, filename, hash etc.
Mint is a shiny new Elixir package which allows you to make HTTP requests using the HTTP 1 and HTTP 2 protocols. It can transparently handle ALPN (Application Layer Protocol Negotiation), which essentially means that it can figure out if a server uses HTTP2 or HTTP1 on its own. It also comes with an optional dependency on a castore package which verifies the SSL certificates of the servers (that you connect to).