Docker enables us to ship the software anywhere without worrying compatibility issues

Compatibility is one of the deployment issues. That issue arises when some feature implementation requires a package that turns out that package only available locally. While in a production environment, that package doesn’t available so the problem that’s stated like in meme could happen. How about we configure it directly in a production environment? The problem is, the configuration process itself is quite cumbersome especially when there are a lot of packages required. Is there any tool that can ship that working local environment packages configuration to the…

Scrum is all about being adaptive and deliver value for each iteration.

Scrum Origin

When you are involved in the tech industry or software development stuffs where the pace is quick & very dynamic, “change” is just an everyday thing. This kind of thing also is known as a common enemy especially for the development team. Agile methodologies serve as the answer for this issue on the development flow which is scrum is one of those methodologies. There’s a common misconception where scrum=agile. Now let’s talk about scrum & agile to fix that kind of misconception.

What Is Agile?

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.-Martin Fowler

What defines a cool programmer? Some say a cool programmer is a programmer that can create complex logic. Others say that a cool programmer is a programmer that creates CRUD applications in no time. Well for me, a cool programmer is a programmer that can create code that really sparks joy. That means the code that is created not only just functional or optimized, but also code must be readable & understandable by someone who didn’t even barely see the code…

Mock memungkinkan kita untuk membuat unittest yang benar-benar menguji suatu unit di software (bisa class atau function) tanpa mempedulikan dependensi.

ilustrasi mock pada test (


Katakanlah Anda merupakan seorang front-end developer yang ingin membuat sebuah website yang membutuhkan API eksternal untuk memperoleh data sehingga Anda tidak tahu bagaimana implementasinya dari API tersebut. Misalnya, Anda ingin menerapkan TDD dalam proses pengembangan website tersebut sehingga tentunya langkah awal yang perlu dilakukan adalah membuat unit-test. Anda ingin menguji unit kode yang menampilkan data dari API yang dimaksud apabila berhasil serta menampilkan halaman error apabila data yang diperoleh dari API mengalami kegagalan. Bagaimana mengatasi permasalahan dependensi antara unit yang…

ah yes, the real version control


Often, as a programmer, we need to collaborate with other programmers especially on a software project. To make sure that the collaboration runs well, we need a collaboration tool that manages the software codes that we are working on. Here comes Git. Think of collaboration tools like google office, office 365, but it’s far more sophisticated. A tool that can for example cherry-picking which change(s) can be applied or version tracing & control, all in one tool. That’s basically what Git really is. Progress or change in git is represented as a node of a tree structure that’s called Git…

Just a TDD meme

In this article, I wanna talk about my experience with Test Driven Development (TDD) and its implementation on software engineering projects.

Disclaimer: since it’s based on my experience, this article can’t be really correct so take this article a bit of grain of salt.

What is Test-Driven Development?

Well, basically test-driven development is we write the test code first before writing the actual implementation. The purpose of TDD is to make our code more robust and cleaner. The TDD itself has cyclic three phases:

  1. RED, in this phase, we create a test code for the implementation that will handle every possible scenario that could…

persona example (

In this article, I wanna talk about persona (yeah, not the game/anime franchise one) and its importance on the product development process.

What is Persona?

Before, let’s talk about the definition of persona in the product development context. Personas can be defined as a collection of one or many fictional persons where each person has its own motivations, goals, and difficulties or concerns. Those personas represent the potential group of users whose gonna use your product and are gathered based on a thorough user research process. Therefore, we can’t create a persona randomly. …

Halo, nama saya Mahardika Krisna Ihsani, mahasiswa Fasilkom UI semester 3 (1806141284) dari kelas PPW B. Di sini saya ingin menceritakan apa itu load balancing dalam membuat website & apa manfaatnya, serta bagaimana saya mengimplementasikan load website yang saya buat untuk story 10 dengan menggunakan Nginx. Di tutorial kali ini, saya menggunakan OS Windows serta Nginx sebagai medium balancer.

Pertama-tama apa itu load balancing? Banyak website yang kita ketahui meng-handle traffic yang cukup tinggi (misalkan google). Jumlah request yang diterima oleh website tersebut tidak hanya ratusan, bahkan hingga jutaan atau lebih. Apabila website tersebut di-host oleh satu server saja, tentu…

Krisna Ihsani

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