Software Engineering

Going Back to Fundamentals: C/C++ and Data Structures & Algorithms

Going Back to Fundamentals: C/C++ and Data Structures & Algorithms

The last few years, I’ve mostly been writing Python and JavaScript at work. Don’t get me wrong—these languages are versatile and powerful, perfect for a wide range of applications. But if there’s one thing I’ve noticed, it’s how easy it is to lose touch with the fundamentals of how computers work. Python and JavaScript abstract…

Flask Unit Testing

Flask Unit Testing

For the longest time I haven’t found good examples online on how to unit test Flask applications. Especially when following clean architecture, and when using dependency injection. That is why I decided to write this post. Flask is a minimalistic web framework, so I understand that most examples are small and simple. However, I know…

Flask database migrations using Flask-Migrate

Flask database migrations using Flask-Migrate

Flask-Migrate is a python package that configures SQLAlchemy and Alembic for your Flask application. Alembic is the migration tool that actually takes care of database migrations under the hood. It can automatically generate migration files based on database schema models, and apply those migrations to databases. This is truly powerful, since it enables you to…

Python Flask Dependency Injection

Python Flask Dependency Injection

One the best features of Flask is that it’s a “microframework”, meaning it’s easy to get started and to extend as the project grows. However, sometimes projects grow so large that it becomes hard to maintain all the dependencies and coupling between components. This is where dependency injection can help, by decoupling components and dependencies….