Criando uma mix task em Elixir

Criando uma mix task em Elixir

Uma mix task é um script Elixir executado através do mix e normalmente utilizado para tarefas corretivas. Neste artigo, iremos escrever uma task para popular uma coluna recém criada em uma tabela no banco de dados.Infelizmente, é comum encontrarmos aplicações com este tipo de funcionalidade como parte de uma migration. Entretanto, tal abordagem é uma anti-pattern e deve ser evitada. Migrations devem ser utilizadas única e exclusivamente para mudanças na estrutura do banco de dados, e não para a manipulação de dados.

Criando uma mix task em Elixir
Carlos Souza
October 21, 2021

Deploy de Phoenix no Heroku

Deploy de Phoenix no Heroku

Prestes a completar 15 anos 🎂, o Heroku continua sendo a minha escolha preferida para publicação rápida de aplicações na nuvem. Neste artigo, iremos aprender como publicar uma aplicação Elixir/Phoenix em sua infraestrutura utilizando buildpacks.Antes de mais nada, é preciso entender alguns termos essenciais do Heroku

Deploy de Phoenix no Heroku
Carlos Souza
October 21, 2021

Autenticação com LiveView

Autenticação com LiveView

Neste artigo vamos desenvolver uma tela de login de duas etapas com Phoenix LiveView. Falaremos também sobre os recursos extras de usabilidade que temos quando utilizamos LiveView, assim como suas limitações.Apesar do LiveView proporcionar dinamicidade e uma melhor usabilidade para o usuário — considerando que ele não precisa recarregar a página para ter dados atualizados — o mesmo não possui exatamente as mesmas capacidades que o Plug.Conn. A principal limitação do Plug.LiveView.Socket que nos afetou foi a incapacidade de “escrever” na sessão do usuário.

Autenticação com LiveView
Alessandro Teiji
October 21, 2021

Solucionando o Problema N+1 em Rails

Solucionando o Problema N+1 em Rails

Rails escala bem? Bom, podemos observar o Github que, sim, escala muito bem. Mas como eles fazem? Como se resolve um problema de N+1 para que não afete a performance de pesquisas no banco de dados?Neste post, vamos começar explicando o que é o problema N+1. Depois, veremos como podemos resolvê-lo com SQL puro e, finalmente, como implementamos a solução em Rails.

Solucionando o Problema N+1 em Rails
Isabelle Samways
October 21, 2021

Criando um projeto real-time com Phoenix LiveView

Criando um projeto real-time com Phoenix LiveView

Neste artigo iremos falar sobre o Phoenix LiveView. Juntos, construiremos uma aplicação web bem simples, semelhante ao Twitter. Visitantes poderão postar mensagens de texto que serão exibidas em uma única página. Todos aqueles contectados à aplicação, verão as novas mensagens publicadas em real-time!

Criando um projeto real-time com Phoenix LiveView
Vitor Roque
October 21, 2021

Fixing the most annoying RN bug I know

Fixing the most annoying RN bug I know

This unwanted and extremely annoying behavior happens in almost 100% of the React Native apps I encounter. It used to happen in all of the ones I created myself, but I was bitten by this bug enough times that I decided to adopt a particular default approach for using a widely popular element in React Native: ScrollView.

Fixing the most annoying RN bug I know
Carlos Souza
October 21, 2021

The Ultimate Software Project Workflow

The Ultimate Software Project Workflow

Having worked on a multitude of software projects in the past 10 years, our team has adopted a workflow which we believe allows us to achieve peak efficiency. By following this workflow we are able to continuously deliver value to our clients, starting on the very first week of work.The workflow is simple. It’s composed of two phases: Inception and Development.This is the first of a series of posts where I will describe these two phases, along with a few important practices we use on each of them.In this post, I will describe the first phase, Inception. Albeit being the less technical of the two phases, we strongly believe this is the most productive way to gather requirements and, most importantly, collectively build a vision for the project.

The Ultimate Software Project Workflow
Carlos Souza
October 21, 2021

React Native — Comunicação com módulos nativos (iOS)

React Native — Comunicação com módulos nativos (iOS)

O post de hoje começa com uma pergunta, por que criar módulos nativos usando o react native ? Se você trabalha com desenvolvimento mobile, em algum momento você irá esbarrar com alguma lib, algum sdk que só possui versões pra Android ou iOS e você tem o aplicativo já em andamento com React Native. Dado esse cenário, surge a necessidade de entender, estudar e aprender a criar a comunicação usando React Native, isso é possível e com isso a gente é capaz de extrapolar o comum e passar a desenvolver aplicativos mais poderosos ou até contribuir criando um pacote que não existia para abstrair o SDK/Lib nativas. Para criar os módulos nativos temos duas opções, criar um pacote NPM/Yarn ou criar o módulo nativo dentro do nosso projeto de aplicativo.

React Native — Comunicação com módulos nativos (iOS)
Iago Cavalcante
October 21, 2021

Working with environment variables in AppCenter

Working with environment variables in AppCenter

The mobile stack we use in our projects at Idopter Labs counts with a few preferred practices, preferences and services that work well with React Native.

Working with environment variables in AppCenter
Carlos Souza
October 21, 2021