Photo by Carlos Muza on Unsplash

In this blog, I’ll be talking about Django’s way of database migrations and data seeding. I’ll try to explain both as briefly as I can and focus more on the examples. Well then, let’s get started!

Database Migrations

Migrations are Django’s way of propagating changes you make to your models (adding a…


If you’ve ever developed a software that’s going to be distributed or used by multiple users, at some point you’d likely need to think about the performance and the security of the software. There is a concept in software engineering that specifically deals with the problems stated before, which is…


source: docker.com

When developing a software, you might want to make sure that your software runs reliably on any computing environment. In the process of creating a software, chances are, you might move your software to another computing environment. …


Photo by Fotis Fotopoulos on Unsplash

In your software engineering career, it is you will likely come across software testing. Software testing is basically making test cases before we go into the development (coding) process of the software. It acts as a code guardian for the code we make so that bugs don’t appear whenever you…


Flutter is all about widgets. All those widgets nested within each other will result in a widget tree. For a simple UI, you might still be able to re-read and understand the code even when you come back to it after days or weeks. But how about complex UIs? Complex…


Photo by Luis Villasmil on Unsplash

As developers, we create applications to help the society do things easier by digitizing what we do everyday. For example, we help people do transactions by digitizing money so that they do not have to do the hassle of going to the ATM to do the transaction. But we can’t…


Photo by Chris Ried on Unsplash

Some Introduction

Rarely do big projects are done individually. They usually are developed by a team of developers which have their own assigned tasks in contributing to the project. Not every developer codes in the same way. One might like to do one thing, and another might do another thing. …


Source: https://developer.ibm.com/devpractices/software-development

TDD?

Test-driven development (TDD) is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases.

Source: https://en.wikipedia.org/wiki/Test-driven_development

TDD is the reverse of the traditional development then testing approach. So…


Photo by Marvin Meyer on Unsplash

Most of the time, working in teams to deliver a working product is the way to go, especially to a customer. The traditional way of waiting for an individual to finish their code and then passing to another individual is bothersome and time inefficient. More than that, a way to…


How do you think popular e-commerce websites handle millions of users in a fast and reliable manner? And most importantly, with no errors.

High Availability is what a good website has. It is a term used to describe a system that works perfectly in a long-term period. In it’s applications, a web does not rely only on one web server as it will overload and overwork the server thus resulting in a degradation…

SALMAN AHMAD NURHOIRIZA

Computer Science Student at Universitas Indonesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store