Logo

Software-development

  • Published on
    The first time I was introduced to version control (especially git), I only think of version control as an application that helps me to store the history of my code. So when bad things happened, I can see the history and revert back to the last state of "good code" in my repository. Not until I use it more frequent, I learn that it's more than a version control, it also a collaboration tool where you write a history of your repo journey and share it with other developers. That's when I learn the benefit of having a good commit message can make you collaborate better with others.
  • Published on
    Several weeks ago, I wrote an article on building an application with Flask, NextJS and Docker. In that article, I described how to dockerize a flask application for the backend, next for the frontend and Nginx for a reverse-proxy server. I also show a way to run all container easily for local development using `docker-compose` and deploy it directly to Digital Ocean using `docker-machine`. The setup, I describe on that article is sufficient enough if you're still playing around on a toy project. In a real-world, with a team-based, collaborative environment, it's difficult only to allow a local machine deployment. Therefore, we need technology that allows us safely and automatically deploy the application to the cloud server.
  • Published on
    In my previous post, I have briefly describe my current python development workflow using a combination of `virtualenv`, `pyenv`, and `pyenv-virtualenv`. It's been great for me and serve my workflow very well. But recently, my colleague at work, introduce me with a package call [`pipenv`](https://pipenv.readthedocs.io/en/latest/). I look into the website and, it seems promising in terms of makes my workflow more convenient.