Phoenix LiveView Tutorial: Bootstrap Your Messenger App
We’re back with the first practical part of our Modern Talking with Elixir series, and this time we’ll get the initial setup for our Phoenix LiveView-based Messenger app up and running.
We’ll prepare our app for Phoenix LiveView and install all needed dependencies, design the app’s Ecto schemas, related contexts, and database structure, to accommodate for the app’s business logic.
As of November 2020, the latest Phoenix LiveView version is 0.14.8 - and the series has been updated to match it! https://curiosum.com/blog/elixir-phoenix-liveview-messenger-part-2
How database transactions work in Ecto and why Elixir makes it awesome?
Handling database transactions - Since handling database transactions is an aspect that no serious application can evade, it’s awesome that Elixir allows developers to manage them elegantly, which leads to software that does its business well. Check more on our blogpost! https://curiosum.com/blog/elixir-ecto-database-transactions
Elixir Wizards S6E12 Wrapping up BEAM Magic with Amos King
The latest episode of the Elixir Wizards podcast hit your feed this morning! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s6e12-king/
How to change column to nullable with modify in Ecto migration
Sooner or later you’ll have to change the null constraint in one of your DB relations. How to do it easily in Ecto? https://curiosum.com/til/change-column-to-nullable-ecto-migration
How to override Kernel macros
The macro mechanism in Elixir is not only an interesting metaprogramming feature - in fact, it is at the language’s very core. And the more awesome fact is that, using macros, you can override the algorithm of defining functions itself! https://curiosum.com/til/how-override-kernel-macros
Writing Absinthe authorization middleware
Plug is not the only interface with the middleware layer. Absinthe also comes with a middleware layer of its own and we can use it similarly to implement authorization for queries, mutations, and subscriptions. Here’s an example.
Using Supervisors to Organize Your Elixir Application
Find out how you can use supervisors to organize your Elixir application. https://blog.appsignal.com/2021/08/23/using-supervisors-to-organize-your-elixir-application.html
ThinkingElixir 061: Elixir's Recent Brex-it
In episode 61 of Thinking Elixir, we cover the news then talk about the Brex announcement that they are shifting to a Kotlin-first strategy over Elixir. This reminds us of patterns we’ve seen in our careers and we reflect on what it means to us personally and professionally. We share our perspectives on Elixir, how it’s different from the languages we’ve used before and the unique value we get from it.
https://thinkingelixir.com/podcast-episodes/061-elixirs-recent-brex-it/
Ecto.Enum
In episode #135 we’ll using Ecto.Enum to help us keep atom values in the field of an Ecto Schema.
Elixir Wizards S6E11 Mini-Feature Extravaganza featuring Tyler Clemens, Elom Amouzou, Elise Navarro, and Jeremy Neal
The latest episode of the Elixir Wizards podcast hit your feed this morning! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s6e11-minifeatures/
Elixir in 2021: The Now, The Tomorrow, The Future
If I was asked, what word best describes Elixir as a language in 2021, it would be maturity. https://curiosum.com/blog/elixir-2021-now-and-future
Talking about Domo library for model's data and invariants validation with typespecs on ElixirMix podcast
Many thanks to the @elixir_mix team for having me! https://elixirmix.fireside.fm/domo-and-type-validations-ft-ivan-rublev-emx-141
An Introduction to Testing LiveView in Elixir
In this post, you’ll get a comprehensive overview of how to test your LiveView applications in Elixir. https://blog.appsignal.com/2021/08/17/an-introduction-to-liveview-in-elixir.html
ThinkingElixir 060: Compile Faster with Marc-André Lafortune
In episode 60 of Thinking Elixir, we talk with Marc-André Lafortune about reducing Elixir project compile times. On larger projects, when a single file like a view template is changed and over 100 files get recompiled, there is something wrong. Marc-André explains how he identified the problems in his project and contributed to Elixir’s mix xref tool making it easier for us to find those problems in our own projects! We cover how these tooling improvements were used to improve the upcoming Phoenix 1.6 and Elixir 1.13! An additional mix xref flag was added to run CI checks on our code to prevent accidentally adding code that slows our compile times.
https://thinkingelixir.com/podcast-episodes/060-compile-faster-with-marc-andre-lafortune/
Using Delta to Track Content and Changes
We at the @Slab team just open-sourced Delta for Elixir, an expressive format to describe documents’ contents and changes. 📑⚙️⚡️
Delta is a core piece of technology at Slab that powers our real-time collaboration engine. It supports Operational Transform and more, allowing for confict-resolution and concurrency when building collaborative systems.
Check out Delta →
How to run tests in Elixir IEx shell
Have you ever wondered about tests running inside the IEx shell? For a long time, I was convinced that it’s not really possible. And as it turns out - that’s not really straightforward. We found information about that in the documentation so we would love to share it with you! https://curiosum.com/til/run-tests-in-elixir-iex-shell #myelixirstatus
Elixir Trickery: Cheating on Structs, And Why It Pays Off
Are you interested in developing libraries for Elixir 📋📑 and making them usable across different dependency versions, to be pluggable into different applications? 🔄 If YES, then you can find our article about STRUCTS handy for you✅ https://curiosum.com/blog/elixir-trickery-cheating-on-structs
Mixing Clean Architecture
I introduce the CleanMixer tool, which is helpful for visualization and control (automated testing) of Elixir project architecture. The article uses CleanMixer as a backbone theme for introducing architectural principles, best practices, and their reasons.
