Protocol Buffers To Pass Data Between Elixir/Phoenix And Python

Protocol Buffers To Pass Data Between Elixir/Phoenix And Python

Reorganizing your (Phoenix) Contexts as Use Cases

Extract your contexts’ actions into Use Cases, identifying execution paths and making requirements explicit.

Event Sourcing With Elixir - Part 6

In the penultimate part of the series on Event Sourcing, we’ll explore aggregate orchestration flows using Process Managers.

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

Implementing Service modules in Phoenix app

Looking at a small Elixir library that helps with business logic, data casting and data validation via Ecto.Changeset.

Elixir Outlaws - Write code and read books and stuff

This week Amos is back from his yearly vision quest and Chris faces the problem of being interested in too many things at once. Amos discusses some experiences using Broadway and GenStage which gives Chris an excuse to bring up Little’s Law (as if he needed one).

The main topic this week is observability. This topic is motivated by Amos’s latest book: Behind Human Error. Amos provides a brief rundown and Chris talks with authority about things he really doesn’t understand. The guys discuss the importance of setting goals for your services and how those goals will inform your metrics gathering and alerting strategies. The show wraps up with some tips on benchmarking and profiling.

Ace vs Cowboy - HTTP server benchmark

Basic HTTP benchmark comparing cowboy (erlang) and Ace (Elixir)

Continuous deployment of a Phoenix project using GitLab CI/CD

Walk through the config to setup continuous integration and deployment using GitLab for a Phoenix project.

Elixir: Containerized development environment

In this new blogpost we are discussing the ways to create containerized development environment for your Elixir hackings.

Phoenix in Action has been released (and other updates)

It’s been 18 months since I’ve updated my blog, but that is because I was busy focusing on Phoenix in Action. It has been released! Learn a little about it plus what I see for the future of my site. I’ve been doing some pretty neat experiments and now I just need to write about them.

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

Free course: Migrating from Ruby to Elixir

I created a free e-mail course with the following topics:

  • Is Elixir the right choice?
  • Getting the team up to speed
  • How to start your first Elixir project
  • How to reduce migration risks and delivering a successful project
  • Next steps after shipping the first project

Exop 1.3.0

Exop 1.3.0 version is out with coercion revised, :length and :numericality checks improvements, process/1 params set revised, elixir >= 1.6.0 support and more.

The Modular Monolith: Elixir Architecture

Inspired by The Modular Monolith: Rails Architecture – Dan Manges – Medium, I wrote an article about Elixir Umbrella app and this kind of modular monolith.

TL;DR: Umbrella app is how we structure modular monolith in Elixir. It simplifies so much work compared to Ruby/Rails as in the original article.

The Modular Monolith: Elixir Architecture - dsdshome

Creating Thumbnails of uploaded Images and PDF in Phoenix

Creating Thumbnails of uploaded Images and PDF in Phoenix

In this second part, we start from what built in part one, a Phoenix app that handles users uploads, and we see how to integrate ImageMagick and the Mogrify wrapper to create thumbnails for images and PDF files.

Building an Orb in CircleCI (Elixir example)

This is a more detailed post about the creation of a CircleCI orb for Elixir.

ElixirMix Podcast 053 - Contexts and DDD with Andrew Hao

In this episode of ElixirMix, we talk with Andrew Hao about Domain Driven Design (DDD) in Elixir system, how it maps to contexts, and higher abstractions called Aggregates. We discuss the need for design balance, not over-engineering solutions and much more!

Podcast Episode

IntelliJ Elixir 10.6.0

  • Add Linux Mint Erlang and Elixir home paths to SDK home path suggestions. Linux Mint installs to /usr/lib/erlang and /usr/lib/elixir instead of /usr/local/lib/erlang and /usr/local/lib/elixir. This likely helps on other distros too.
  • Fix Evaluate expression in debugger with Elixir 1.8. Elixir 1.8 made :elixir.quoted_to_erl/3 private, so in Elixir 1.8+, the debugger needs to inline the private version to maintain < 1.8 and >= 1.8 compatibility.

Installation Instructions

4 tips for mastering test-driven development

Need some guidance for the best way to carry out test-driven development (TDD) with Elixir? Read on.

Here, we share some useful tips, such as how to isolate your code to simplify unit testing. We’ll also look at an important aspect that doesn’t often get tested—database-migration rollback—as well as how code coverage could prevent you from omitting testing some important parts of your code. Finally, there’s a helpful overview of property-based testing—a new way of writing tests that’s a great complement to unit testing.

ExUnit Deep Dive

@dnlserrano on ExUnit and how it works internally. In it, some details of how the @elixirlang testing framework uses macros and process spawning to run our tests blazingly fast 🏃‍♂️💨

Event Sourcing With Elixir - Part 5

In Part 5 of this series on Event Sourcing we’ll round up account closure, deposits and withdrawals to set the stage for transfers using process managers.

Phoenix Live View debounce

While waiting for phoenix live view debounce feature, it is easy to add it with very few lines of code. A blog post