The initial solution we wanted to apply may turn out to be insufficient. Try to provide as much helpful information as possible. Make sure you understand all the requirements well. Don’t be afraid that something will go wrong. Failure isn’t fatal, but failure to change might be.
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.
The Twelve-Factor App methodology is a methodology for building software-as-a-service applications. It allows you to eliminate the most common problems with our applications. Some of them have already become the industry standard, so you should get to know them all. The methodology constitutes design guidelines strongly focused on cloud-native, portable, and resilient applications.
Selling is not an easy job. The customers don’t care about you. What matters is how you can solve their problems. People often recommend and buy from people they know well, like, and trust. See how to use the KLT principle in your business.
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.
Freedom of choice is often the biggest curse. Sometimes the basics are enough, and the rest is just an addition. Don’t overcomplicate, don’t add maintenance, and keep it simple to be less sensitive.
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.
When connecting to the server with SSH, you may need to use a certificate other than the default one. Additionally, often the username is also more complicated. How do you remember it all? Special configuration file that will help us solve the problem.
Protecting confidential data is a daily task. Thanks to a good web browser, a strong password, and other security measures, you can mitigate the risk of your identity being stolen. Use this personal security checklist to be even more secure!
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!
One of the possible vectors of an attack on the system is the disclosure of the used keys, certificates, or other access data. I found TruffleHog as a tool to verify your project. The tool can scan projects on GitHub or GitLab, including entire organizations! You can attach them to your CI/CD pipeline to verify that no confidential information has been published.
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.
Feeling overwhelmed by work is quite a common feeling. Especially if we work on the project for a long time. Good planning can make your work more pleasant and simplified. You don’t have to complete all tasks (alone). Some tasks can even be removed. With the Eisenhower matrix you can manage your priorities.
Error handling is an integral part of any project. However, only a few can do it well. What makes an error message good? Take care of the language of the message, its length and indicate how to mitigate errors. Have automatic bug reporting tools to quickly respond to system problems.
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!