Safe Ecto Migrations by Fly.io
I ran across this repo from the Fly.io team about safe ecto migrations which then lead me to the article on the Fly.io blog
Updating nested structs with put_in/2
Updating nested data in Elixir can be tough, since all data is immutable.
There’s a nice helper put_in/3 that works with maps. But unless structs implement the Access behaviour, we cannot use it with structs.
Turns out, there’s a put_in/2 macro that works with structs out of the box!
Webinar, Elixir/Phoenix Security: Preventing SQL Injection in Ecto
Recording of the Paraxial.io webinar, “Elixir/Phoenix Security: Preventing SQL Injection in Ecto”.
Livebook inside Hugging Face Spaces
Hugging Face is a platform for building, sharing, and collaborating on machine learning applications.
This blog post explains how to run Livebook inside Hugging Face Spaces.
Why Does Paraxial.io Focus on Elixir Security?
Paraxial.io is an application security platform created for Elixir. This post details the motivation for focusing the company on Elixir.
https://paraxial.io/blog/elixir-focus
Building multiplayer gaming & gamedev platform with Elixir, Phoenix LiveView and Rust
Heyplay stack — Elixir, Rust, Lua, Fly.io and others — plays a key role in enabling the development of something as complex as multiplayer gaming and game creation platform as an indie effort. Let’s see how it all comes together to turn my dream project into reality.
Read more on Heyplay blog
LiveViewTest's awesome form/3 helper
There are two ways to write LiveView form tests:
- Using view |> render_submit/3
- Using view |> form/3 |> render_submit/2
🔥Always use the form/3 helper🔥
It validates the form data against the HTML to ensure the elements exists! 🎉
Customize outputs with Inspect protocol
The latest changes to the Inspect protocol can help you change the way data is presented. With the new optional option, you can only indicate information when the data has changed.
See more on: https://bartoszgorka.com/customize-outputs-inspect-protocol
Custom Styling With LiveView Function Component Attributes
Ever defined function components with customizable CSS styles in LiveView? In this post I did it using the new function component attributes. https://fly.io/phoenix-files/customizable-classes-lv-component/
Under the Hood of Ecto
Discover how Ecto’s internals work by looking at its four major modules in detail. https://blog.appsignal.com/2023/02/14/under-the-hood-of-ecto.html
EMPEX NYC is back in Brooklyn this June
The EMPEX conference is back in New York this year, being held in Brooklyn for the first time ever! Join us at Littlefield on June 9th and submit your talk proposals here. Tickets on sale soon, more info here.
A New Beginning and a New Website
A slice of life post that includes some insights about building a website with Phoenix 1.7-rc and DigitalOcean’s managed Kubernetes.
Thinking Elixir News 138
Episode 138 of Thinking Elixir. News covers the new Phoenix.Template project, upcoming Nx work for Elixir using multiple GPUs, benefits of Elixir as seen by new people learning it, integrating the Trix JS WYSIWYG editor with LiveView, a new service called “Code Code Ship” that aims to make commercial Hex packages a thing in the Elixir space, and more!
Making a CheckboxGroup Input
Phoenix 1.7.0 brings a lot of new things when we run mix phx.gen my_app. These new and cool ways of doing things aren’t automatically brought to existing projects because they come from the generators. Of the many new things we could bring to an existing project, we focus on the new approach to form input components. Why? Because it’s both cool and useful! This post builds a custom multi-select checkbox group input for selecting which tags to associate with a database record in our Phoenix application. It’s surprisingly easy and elegant!
Shun keeps your HTTP secrets safe
Evadne Wu (whom many of you know from her talks at ElixirConf and PC builds on Twitter), released shun to the world in April 2022. Judging by the number of stars on the repository and the download stats on Hex, shun has gone mostly unnoticed by the Elixir community.
Shun is the library that you didn’t know you needed. So what is it?
Organising Ecto schemas
Placing schemas inside contexts makes it difficult to distinguish between data and actions. Let’s fix that.
Listen to Databse Changes with Postgres Triggers and Elixir
When broadcasting database changes, we usually use Phoenix.PubSub. But what if that’s not available? Learn how to set up Postgres Triggers to send Notifications to your Elixir app if anything changes. https://www.peterullrich.com/listen-to-database-changes-with-postgres-triggers-and-elixir
ELXPRO Livestream - Elixir and Phoenix security
When it comes to securing your Elixir/Phoenix applications, it seems like there is a never-ending list of security problems to worry about. Michael is the founder of Paraxial.io, an Elixir-focused security company. This video is a live discussion with Gustavo from ELXPRO about securing Elixir apps.
Catching (probably all) email SPAM with a really tasty honeypot
How we designed an email honeypot for our landing page that so far catches all SPAM emails: https://nobilisdata.com/blog/catching-email-spam-with-a-really-good-honeypot/
Two Sum Problem and Solution
Leetcode Two Sum solution with some details: https://readreplica.io/leetcode-two-sum-problem-elixir-solution/
