Today, let’s talk about naming and organising Elixir project modules and files. Then, I’ll try to summarise some conventions that I have seen out there and hopefully help you or your team with your own rules. I like this subject because good project structure and patterns are excellent for future maintainable code
Os anos que se passaram não foram exemplos de um grande número de publicações de blog posts, mas foram anos de grandes mudanças para mim. Espera, mudança!? Isso mesmo, enquanto o apocalipse rolava no mundo, eu: Tchau Estônia, olá Rainha!
De vez em quando esse assunto aparece na minha timeline do Twitter, e mesmo sabendo que muito já foi discutido, eu gostaria de deixar meus dois centavos aqui.
Elixir 1.11 is coming and bringing new data constructors compile checks that will change a little bit the safest way to write Elixir code. The good news is: it is for the best. The update will make your structs attribute access less verbose and straightforward.
Este post encerra a série sobre a migração para Estônia que eu comecei no final de 2018. Este post é um pequeno resumo, um veredito e, serve também, como um índice para você que está migrando ou somente curioso.
Today I would like to share my thoughts about some Elixir good practices in writing maintainable code. The guidelines below cover topics that aren't present in the currently available style guides. They can be counterintuitive or controversial; so talk it over with your team before adopting them.
Hoje irei contar sobre o verão estoniano e também sobre alguns tópicos importantes do dia-a-dia para as brasileiras e brasileiros que pretendem morar nesta terra tão tão ao norte.
Hello, my dearest readers. I'm here to let you know I've been working in a tiny CPF validation library for Elixir. Let's start by telling you where the motivation to write a new library came from.
O tempo passa rápido, hein?! Daqui a alguns meses irei fazer 1 ano morando na Estônia! 😱 Parece que quanto mais velho você é, mais o tempo parece passar rápido. Você também sente isso? Venha ver as novidades!
Last year I was granted an opportunity to review the Programming Ecto book, published by The Pragmatic Bookshelf, and written by Darin Wilson and Eric Meadows-Jönsson. Today I want to share my impressions about the book and help you decide if Programming Ecto is for you.
Olá, galera! Novamente estou aqui contando um pouco mais sobre como está sendo a minha mudança e o meu processo de adaptação na Estônia. E claro, deixar algumas dicas para novos brasileiros e brasileiras que porventura podem acabar vindo morar aqui também.
The `ecto.load` command allows you to get rid of migration files. However, that command is not easy to fit in all workflows. Ecto SQL 3.1.2 added a `--skip-if-loaded` option that skips the database structure load step when it has already been loaded, allowing you to create a robust pipeline.
Olá pessoinhas que visitam este humilde blog quando tem um conteúdo novo. Há alguns meses atrás eu contei um pouco sobre como foi a minha mudança para a Estônia, sobre alguns perrengues das primeiras semanas e da viagem do Brasil para cá. E, após várias amigas e amigos me perguntarem como estão as coisas, resolvi escrever mais um post contando um pouco mais dessa aventura.
Em um post anterior comentei sobre minha saída da Plataformatec e do Brasil. Hoje, venho contar um pouquinho sobre como está sendo essa mudança, deixar alguns aprendizados e dicas para outras pessoas que estejam querendo fazer uma mudança parecida.
Quantas pessoas você já ouviu falar que trabalharam em uma empresa de TI por mais de 2 anos? Raro, né? E mais de 5 anos? E, ainda, em uma empresa de consultoria? VixiI! Apresento-lhes: eu!
I’ve been working on Plataformatec for 5 years and one common mistake that I see developers making is hiding the error, instead of fixing the problem. This kind of behaviour can turn your product full of problems quickly by having a codebase with unnecessary defensive programming. Let’s explore that by taking a look at an example from the real world.
A long time ago, I participated in a discussion about HTTP JSON API design with mobile developers that will use an API provided from us(the backend team). One side was defending reusability, the other hand was defending independence. I'll present you some notes from that discussion. Tradeoffs that we need to consider before picking an option. Today, I'm still holding my point of client independence for a future-proof API. I support that describing and generalizing your data is the best option for an API, this way, the clients have more opportunities to evolve. But, before digging on that comparison, let's recap a little bit what we have today.
Acontecem a todo tempo discussões na comunidade de desenvolvimento sobre a necessidade do inglês no desenvolvimento de software. Para não ficar de fora dessa, vou me juntar a turma explicando um pouco da importância do inglês e dando algumas dicas que me ajudaram a derrubar a barreira do idioma.
I was playing with Exercism, an awesome platform to practice and learn to code with exercises. While I was practicing, I found an interesting exercise called Nucleotide Count. First, I tried an obvious answer, but It leads me to a suboptimal solution in terms of speed. Let's see the error that I did and how we can improve the performance by using `Enum.reduce/3`.
Com os olhos de hoje, visito os anos que passei na faculdade e as matérias que aprendi. Com isso me pergunto: será que a faculdade valeu mesmo a pena? Sim, a faculdade valeu a pena. Leia mais e descubra o porquê.
This year The Pragmatic Bookshelf and I released the Learn Functional Programming With Elixir book, and its first chapter is available here. It took me one year and a half to finish the book. I’m here to share my experience, things that worked for me. I hope it might help you to run your own longtime project in your free time.
Over the last few weeks, we have been building a web application in one of our clients and ended up duplicating some template code. These new pages had something in common between them, but not with the rest of the application. We needed an inner layout to reuse the template code between these pages, however, Phoenix doesn’t come with this feature. In this post, you’ll learn how you can build nested layouts in Phoenix and when you should use them.
In 2017, The Pragmatic Bookshelf started the sales of Learn Functional Programming with Elixir Beta written by me. After one year of hard work, we are finally publishing the beta version of the book. In this blog post, I’ll tell you about the motivation for writing a book, its contents and its future.
In this blog post, I’ll explain the problem of developers spending too much time trying to discover a problem in a failing test suite. A cause of this issue may be the lack of a good test feedback. A good feedback is one that happens fast with a helpful message.
Keeping the application’s Rails version updated is a responsibility that should not be ignored since it brings improvements for your team and security for your users. I hope these tips help you keep your code easy to update.
Quando somos iniciantes na programação é difícil lidar com os erros que brotam em nossa tela. Eles chegam quando não estamos esperando, não são gentis, na maioria das vezes são em inglês, tudo para de funcionar e ainda lhe acusam de maneira que parece que você fez tudo errado.
The way of delivering your product code to your customer is commonly called “deployment”. It is an important matter because it will impact in how fast your product will respond to changes and the quality of each change.
Hello, folks! This month is my fifth anniversary working at Plataformatec. For all these years working there, I've learned a lot about programming and software development process. The best part is the Plataformatec team is amazing, the people there is very welcoming and inspiring. I just not have coworkers, I have friends. This post is a repost from Plataformatec Blog.