erl-env make retrieving configuration parameters 7x faster than application:get_env/2-3
eenv is a simple application to make retrieving configuration parameters super fast(7x faster than application:get_env)and stable. It’s very straightforward(lines < 200) and worth a visit.
Dependabot now supports umbrella applications
Dependabot is a bot that automatically updates your dependencies. A couple of weeks ago we launched Elixir support in beta.
We know that most businesses who are running Elixir in production today are often using umbrella applications so we are super pleased to announce that we have added support for that too. 🎉
Sign up here: https://dependabot.com (it’s completely free for personal accounts 🤑).
Form inputs for lists as array ecto types in Phoenix
This video goes through making form input helpers for a Phoenix app.
Did you know you could use Elixir Maps and Lists in your Ecto schemas? Have you ever tried making an edit form for a collection type? You can use the phx.gen.html
generators but you’ll get an error if you try to update the field. Let’s make an input_array
helper and fix that!
We’ll do that today, starting from the basic Phoenix app from last time.
Understanding Phoenix.Endpoint
This blog post provides a walkthrough on the architecture of Phoenix.Endpoint, demonstrating how Cowboy, Ranch and Phoenix blend together.
The curious case of the query that gets slower the fewer elements it affects
A blog post that shows off a real life performance bug and we tried to fix it, failed, and then fixed it for real. It shows off benchee as a benchmarking tool in use on a concrete case together with features like inputs
and also the newly released tagging, saving and loading. Also goes a bit into SQL and EXPLAIN ANALYZE, multicolumn indexes and friends. Hop along for the ride.
AsyncWith v0.3.0 released: the asynchronous version of Elixir's "with"
async with
always executes the right side of each clause inside a new task. Tasks are spawned as soon as all the tasks that it depends on are resolved. In other words, async with
resolves the dependency graph and executes all the clauses in the most performant way possible. It also ensures that, if a clause does not match, any running task is shut down.
You can find here the list of improvements of the v0.3.0 version.
GitHub Repo: https://github.com/fertapric/async_with
Thanks!
How to Count Specific Items in a Collection with Elixir
A brief overview of Elixir’s Enum.count/2 function and how it can be used to count specific items in a collection. https://adamdelong.com/elixir-count
First release of the #Elixir #Botfuel SDK by @TechnoEmpress.
You can find its GitHub repository here, or go directly to the hex.pm page.
format_parser.ex v1.0.0 released!
We have finally released a stable version of format_parser.ex and we’re very much looking forward for your feedback and/or contributions. https://github.com/ahtung/format_parser.ex
ExVenture Updates for February 2018
This month ExVenture has a new skill system, a lot of small tweaks, and additional security.
Pretty URLs with Phoenix
The easiest way to make your Phoenix app use pretty URLs. Instead of looking at users/3, go to users/Jesse, instead of numbering your blog posts link to them by title slug, etc…
Authex - v0.2.0 released
Authex has been updated with a more OTP friendly interface. Same simple JWT authentication and authorization.
Check it out: https://github.com/nsweeting/authex
Parse html documents correctly and fast with Myhtmlex!
New in Version 0.2.0: A safe batteries included C-Node calling mode.
EventBus Metrics UI
- EventBus.Metrics library now comes with a UI (https://github.com/otobus/event_bus/wiki/EventBus-Metrics-and-UI)
UI Screenshots
Win a copy of “Phoenix for Rails Developers” book
Visit https://twitter.com/plataformatec/status/966674101673873408 for more details about how to participate. Good luck!
Pattern matching on dynamic struct types
mod = MyMod
%^mod{} = %MyMod{foo: 42, bar: 3.14}
#⇒ %MyMod{bar: 3.14, foo: 42}
http://rocket-science.ru/hacking/2018/02/23/pattern-matching-on-dynamic-struct-types
Automated deployment setup using Distillery and Edeliver without Docker
Starting from a Unbuntu server with Nginx installed and set up with Let’s Encrypt HTTPS, we install Postgres, Elixir and Phoenix and then make an automated deployment system using Distillery and Edeliver.
After setting everything up, deployment can be done entirely from your local machine and upgrades take only only a single command.
Previously in this series:
Setting up Virtual Box with Ubuntu (on Win10)
Setting up Ubuntu on Digital Ocean
Setting up Nginx and Let’s Encrypt for free https on Digital Ocean
Alchemist Camp: https://Alchemist.Camp
From Bytes to Mnemonic using Elixir
Bitcoin BIP-39 style wallet seed mnemonics sounds like a mouthful, but the underlying ideas are simple. The process of generating these mnemonics gives us an excellent opportunity to flex our Elixir muscles.