Category: Architecture
-

When It’s Time To Refactor
Refactoring the code means review the existing code, extract duplicated code and remove unused features. This operation is never accepted by product owners, as it doesn’t produce any new feature. But refactoring the code base allows the developers to add more features faster. In the following post, I’m listing 3 metrics that must trigger a…
-

3 Ways To Store Passwords Securely
In the following article, I describe 3 ways to store passwords securely. I describe how to store passwords managed by users, by API and by systems.
-

Feature Flags: Deploy Unstable Features
In this article I describe the features flags. I explain when I use them and how I use them in different situations. I explain the needed maintenance and the final clean up.
-

How Not To Create An Application
In this article I explain how not to create an application. I describe a real use case where I worked some years ago. Where we build a big application with a lot of complexity. But no clients and no profits.
-

Workflow of the Forget Password Strategy
In this article I explain the workflow of the password recovery strategy. I explain how to link the new password with the user, and how to generate a secure link that can only be used once.
-

Complexity vs Urgency
In this article I explain how to identify and prioritize the tasks depending on their complexity and urgency. I explain the not complex and not urgent tasks, the complex but not urgent tasks, the not complex but urgent tasks and the complex and urgent tasks.
-

4 Performance Optimization Techniques for Your Application
In this article, I show 4 performance techniques to optimize the response time of an endpoint. 4 steps which goes from the most simple to the most complex as: memoization, pagination, denormalization and cache.
-

How I Solved 20 Vulnerabilities in Less Than An Hour
In this article I describe the steps I’ve followed to solve more than 20 vulnerabilities of a project in less than an hour. I show all the steps to follow from finding the problem to deploying the solution to the production environment.
-

5 Architecture Styles To Build a Big Application
Each application must follow a clear architecture design. The 5 main architecture styles are the Layered Architecture, the Service Oriented Architecture, the Pipeline Architecture, the Event Driven Architecture, and the Microservices Architecture.
-

Trade-offs in Pursuit of High-Performance Application
In this article I will describe 4 trade-offs I use to pursuit the high-performance of an application. Increasing the memory consumption, duplicate data in the database, add additional servers, and add additional services.
