Deploying a Phoenix App With Dokku
This tutorial will walk you through deploying an Elixir + Phoenix + Ecto app using Dokku.
Elixir Outlaws - Strategically Planned Coffees
This week the hosts discuss business logic and how to think differently.
Elixir/Phoenix deployments using Github Actions
One of the trickiest parts of getting Elixir services into production is the deployment. Common approaches include using Docker to generate containers that you can then deploy to AWS/Google/Azure, a Kubernetes cluster, or running the creation of the deployment locally (mix releases) and then publishing the finalised version to the target machine. For my website https://pedroassuncao.com i decided to go with a simpler approach…
https://medium.com/@noozo/elixir-phoenix-deployments-using-github-actions-ec4178ba5fb
Elixir Wizards S4E10 Lau Taarnskov on the Trouble with Time Zones
Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s4e10-taarnskov/
Tyyppi → bringing erlang typespecs to runtime
Welcome Tyyppi
library that allows dealing with types in runtime, including but not limited to:
-
runtime check if this term is of that type with
Tyyppi.of?/2
, e. g.Tyyppi.of?(GenServer.on_start(), :ok)
(it’s apparently not :)) -
apply the function providing its spec so that it returns
{:ok, result}
if and only if all the arguments and the result meet the specs, and{:error, {:arity | :args | :result, value}}
otherwise -
create a typed struct with generated complete detailed
t() :: %…{…}
type definition, type checks on upserts, and a possibility to cast values on upserts to the expected type (TBD).
Using Telemetry Effectively
I wrote up my thoughts on how library authors can use telemetry more effectively.
How I add auth to Phoenix LiveView apps
Phoenix LiveView is great for things like forms with validations. But for a new user form, you’ll probably want to log the user in as soon as they create an account.
This is a walk-through of how you can add user auth to a LiveView app using login tokens. The same strategy also works for logging in with “magic” forgot password links.
Simple Phoenix LiveView App: Upgrade LiveView to v0.12.1
This is episode #13 of a Phoenix LiveView series.
This time we’re upgrading LiveView from version 0.8.1 to 0.12.1 (with future proofing for v0.13), and getting both the main app and the throwaway /foo route working again.
https://alchemist.camp/episodes/phoenix-live-view-upgrade-0.12.1
Integrating vis.js with Phoenix Live View
In this article we show how to integrate vis.js into a Phoenix LiveView using JS hooks.
https://medium.com/drover-engineering/integrating-vis-js-with-phoenix-live-view-91aaae4b3b03
Elixir World: a telegram group for alchemists from all over the world.
I have created a telegram group for alchemists from all over the world.
Fans of Elixir, but also of any other Erlang VM programming language, are welcome.
We follow Elixir’s Code of Conduct https://github.com/elixir-lang/elixir/blob/master/CODE_OF_CONDUCT.md
The link to the group is https://t.me/elixir_world. We use a CAPTCHA.
Creating LiveView Modals with Tailwind CSS and AlpineJS
In a previous article we explored how to use LiveView with AlpineJS. In this article, we will use LiveView along with AlpineJS and Tailwind CSS to create a production-ready modal component. That is, a modal that smoothly transitions in and out of view and is able to survive LiveView reconnects.
http://blog.pthompson.org/liveview-tailwind-css-alpine-js-modal
Testing Third Party Integrations
One thing that is always hard, regardless of what language you’re working in, is testing integrations with third party services. I mean, how are you going to test something like uploading files to S3 without actually uploading the file to S3?! The answer to that is usually “mocking,” but then there comes the question of how exactly one does that. Well, today I’m going to show how I test these sorts of things in code I work on.
ThinkingElixir 005: Learning Elixir with Ricardo Trindade
In episode 5 of Thinking Elixir, We talk with Ricardo Trindade about learning Elixir and GraphQL. We discuss learning on personal interest projects, GraphQL vs REST, executing a Ruby gem or Python library from Elixir, helpful learning resources and much more!
Dictator v1.0: Plug-based authorisation
Dictator (plug-based authorisation) has been updated to v1.0.
New in 1.0: Clearer and concise API, flexible configurations, new authorisation mechanisms and pipeline-level authorisation
Performant Autocomplete / Typeahead in Phoenix LiveView
Here is my first blog post ever 😉 Build a performant autocomplete using Phoenix LiveView and Alpine.js.
Vim as an Elixir IDE
I wrote a collection of tips on how to use Vim as an Elixir IDE:
https://subvisual.com/blog/posts/vim-elixir-ide
Happy coding!
Headless CMS fun with Phoenix LiveView and Airtable (pt. 3)
Here is part 3 of my Headless CMS fun with Phoenix LiveView and Airtable, in which we will render content using Phoenix.LiveView:
Happy coding!
Let's criticize Morphix!
I wrote a post on medium, mercilessly dissecting my own elixir code. https://medium.com/perplexinomicon-of-philosodad/a-function-of-parts-a415a017fd41
How to know which of the Enum functions to use in Elixir
How to know which of the Enum functions to use in Elixir, know if you need to use Enum.map, Enum.filter, or Enum.reduce https://minhajuddin.com/2020/07/18/how-to-know-which-of-the-enum-functions-to-use-in-elixir/