Message passing for actors and humans
Slides and Video for my CodeMesh talk this year.
http://crowdhailer.me/2018-11-08/message-passing-for-actors-and-humans/
Inject from your controller to decouple your contexts in Phoenix.
In this post I will show you a simple pattern to decouple your Phoenix context so that you can specify from your controller how you want to preload your Ecto.Query.
Hex Bob Package Status Page
I’ve created a small page listing all available precompiled packages of hex bob. Added availability checks given the recent issues with updates.
Ecto and Binary IDs
Using UUIDs as primary keys is simple with migration_primary_key
and a simple change to the schema:
https://www.annkissam.com/elixir/alembic/posts/2019/01/04/ecto-and-binary-ids.html
How We Used Elixir's GenServers + Dynamic Supervisors to Build Concurrent, Fault Tolerant Workflows
At The Flatiron School, we leveraged Elixir’s GenServers and Dynamic Supervisors to “deploy” large amounts of content to our students faster and less error-prone than ever before. https://www.thegreatcodeadventure.com/how-we-used-elixirs-genservers-dynamic-supervisors-to-build-concurrent-fault-tolerant-workflows/
hackney version 1.15.0 has been released
just released hackney version 1.15.0 an HTTP client library. This release add a performance improvement to the pool and an addition to multipart forms handling.
site: https://github.com/benoitc/hackney news: https://github.com/benoitc/hackney/blob/master/NEWS.md#1150—2019-01-04 …
Gitlab-ing Phoenix — (Elixir and others) Aka GitOps
https://medium.com/blackode/gitlab-ing-phoenix-elixir-and-others-aka-gitops-50e291ce5d85
This article is all about Automating Phoenix Development & Deployment using Gitlab CI/CD.
How to pattern match a function in Elixir
I found how to pattern match a function on Improve error messages for invalid expression in match · Issue #5649 · elixir-lang/elixir.
x = &List.first/1
case &List.first/1 do
^x -> true
end
I also wrote a summary for it: How to pattern match a function in Elixir - dsdshome
Feel free to check it out and leave some comments.
A deeper dive in Elixir's Plug
Being new to Elixir and Phoenix, I spend quite some time in the projects’ documentation. One thing that stood out for me recently is the first sentence of Phoenix’s Plug documentation: “Plug lives at the heart of Phoenix’s HTTP layer and Phoenix puts Plug front and center.”
So naturally, I felt compelled to take a deeper dive into Plug and understand it better. I hope the article helps you out as well, you can read it here.
Correios CEP 0.3.0 released! Zip code validation.
Correios CEP
allows to find Brazilian addresses by zip code, directly from Correios database. No HTML parsers.
Changelog for version 0.3.0
:
- Validate zip code.
- Typespecs and Dialyzer.
Check it out at:
Cloak v1.0.0-alpha.0 released!
Cloak is an encryption library which helps you encrypt your Ecto schema data, and it’s now nearly at 1.0.0!
http://blog.danielberkompas.com/2018/12/31/cloak-1.0.0-alpha-released/
Introducing Whistle, a different approach to building interactive web apps in Elixir
Whistle is an implementation of an Elm(ish) architecture in the server, letting you write interactive web apps entirely in Elixir.
https://moboudra.com/whistle-interactive-web-apps-with-elixir/
Idempotent Supervision Tree
Just blogged on trivial, but often ignored glitch while performing initialization during GenServer
linked start with direct pattern matching instead of Kernel.SpecialForms.with/1
.
ExVenture Updates for December 2018
ExVenture is a text based MMORPG. This month continues the refactor push to change up how the eventing system for NPCs works, and formalizing the internal format language with leex and yecc parsing. Check out the post for more information!
How to perform Hot Code Swapping in Elixir
https://medium.com/blackode/how-to-perform-hot-code-swapping-in-elixir-afc824860012
Hot code swapping is replacing or adding components without stopping or shutting down the system. It is frequently called as hot-plugging.
In software development, hot swapping is used to upgrade or update the system without interrupting the current running system. It helps us with less downtime at the time of upgrading.
OK! Stories are always good to hear. Let’s dive into the code.
Counting Real-Time Trades
In this article we start to see how to aggregate Coinbase trades in real-time, using the GenServer behaviour. We’ll build an aggregation process that groups and count the trades.
Plug in JSON API Readonly Webserver
Camarero is a ready-to-use solution to add some JSON API functionality to the existing application or to implement the read-only JSON API from the scratch when more sophisticated (read: heavy) solutions are not desirable. Below is the typical picture of how Camarero is supposed to be plugged in.
It is blazingly fast.
https://dev.to/mudasobwa/plug-in-json-api-readonly-webserver-17b4
Authex v0.3.0 released!
Just released v0.3.0 of Authex
. Authex
provides an easy way to integrate authentication + authorization into your API via JSON web tokens.
The latest release has some great new features, including:
- Easier configuration through a runtime init callback.
-
Simplification of
Authex.Serializer
to convert custom data to and from tokens. -
Introduction of
Authex.Repo
behaviour for handling custom blacklist and banlists. - Improved documentation.
Please check it out at: