Contributions

Article
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.
Article
Software development is often a test creation process. To achieve success, it is worth considering what features good tests have. Well-written tests should document the implemented functionality and check the tested function well.
Article
In programming, we often need fairly distribution of data. Using phash2 we can get the same hash for the same Erlang term regardless of machine architecture and ERTS version. This fast function should always be used for hashing any data and limiting the result to a range of integers.
Article
Ecto uses SHARE UPDATE EXCLUSIVE lock to ensure that only one instance is running a migration at a time and only once. Internally stored version and inserted at allows you to modify and improve created files.
Article
In Elixir, regular expressions can extract a lot of useful information. Using Regex and named_captures/3 function, we can parse the input data based on the prepared regex.
Article
Debugging Elixir code has become even more accessible thanks to the dbg function. Thanks to the latest version, your work may become more pleasant and the search for errors even easier. Check how to apply new possibilities in your code. A simple one-line can facilitate your error analysis.
Article
Special functions are used to compare dates. With it, you can prepare a comparison based on semantics. Simple functions can solve your problems with incorrect results.
Article
Safe passwords are a very important aspect of application security. How can you check if the password has not been used before? Compare passwords in Elixir thanks to Bcrypt.
Article
Sometimes our application collects more logs than we would expect. Especially in the case of endpoints responsible for the server status. Thanks to a simple plug, you can inform about the system state all the time without logging this request.
Article
The temporary directory for data storage is often used. However, /tmp dir is not always a good solution. Depending on the configuration, it can be represented differently. Check how you can fix it with simple modification.
Article
Sending a message to yourself as a process is an easy way to schedule an action to retry. However, it is not always necessary to send this message. Find out how easy it is to cancel a scheduled message.
Article
Guards are a great way to check data limits. They are safe and can make the everyday work with the project more pleasant and, at the same time, limit the duplicated code. And it’s all in pattern matching!
Article
JSON Web Tokens known as JWT, are a great way to ensure security in communication between system parts. Remember not to trust the user and verify the data before use. JWT contains a lot of information about the user and his permissions. It is also a well-thought-out structure. It indicates in an accessible way for whom and by whom the token was prepared. Also, check out the topic of key rotation and its benefits.
Article
I would like to present some useful tricks to speed up your work. Elixir’s interactive shell is a great tool to make your work comfortable. You don’t need to use a browser to check function errors. You have everything available in the console!
Article
One of the advantages of Elixir is its openness. You can get more readable code with the command wrapped in tuple. You don't need to modify the response from functions itself.
Article
The presentation of extra details about your website is straightforward. All you need to do is use Open Graph protocol. Any web page can become a rich object in a social graph. You can use it to show a thumbnail, author details, or even a short description.
Article
You can use Ecto to check any information from the user. Extra, we have another layer of security. Only the supported parameters are passed to the domain layer. Using Ecto to verify parameters from the user is not difficult and can be part of your API verification pipeline.
Article
Elixir 1.12 introduced two very useful macros. They can be life savings helpers in your codebase. Instead of write extra functions, you can have nice logging and executing actions based on given data.
Article
Users often do not see the dangers of a weak password. Often, they reuse the same passwords on different sites to make their daily lives easier. Security is one of the critical aspects of any project. With Have I Been Pwned? it is possible to check passwords based on various leaks.
Article
Ecto Schema is very easy to adapt to our needs. Besides changing the type of the primary key, you can also change the type and names of the fields created by the timestamps() macro.
Article
Not so long ago, to release the application, it was necessary to modify the binary files on the servers. Thanks to good DevOps practices, the entire process can be changed. It is possible to achieve tens or hundreds of releases each day. Everything without the downtime of the application.
Article
Understanding exactly what SQL commands are running is helpful to ensure safe migrations. By default, Ecto does not log the raw SQL. However, we can change it.
Article
Many applications introduce some kind of status to make it easier to share data. However, more and more modules in your codebase need to be explicit about these assumptions. Views can eliminate the problematic SQL query. It’s also great way to introduce well-defined entities.
Article
When you start your adventure with Elixir, you may wonder where to get the knowledge. In this article, I have prepared a list of books that may help you to become an Elixir programmer, or improve your career. This list has been split into different levels of skill.