Why creating a blog
Why creating a blog? isn't out there many free app can replace the blog? why spend time to make a blog? why ? why? why? well.... my answer is, why not 🤷
Blog as a place to exercise
As a Newbie Software Engineer , I want to do as many exercise I can to learn a new things about the new tech stack (nowaday, tech stack growth like a crazy, and I don't know how to keep following it 😅) and blog is a good real life use case to test some tech stack.
Blog as a place to take notes
I use Obsidian for taking notes and I store all of my obsidian notes in Synology NAS (sounds fancy, right). Well, it shouldn't be a case when I need to switch a device since i only need to re-download all the notes from my Synology NAS. But, since I am dumb enough, I forgot my Synology Domain 😅
That become one of my reason to create a blog where I can store all of my notes and I can access it anywhere with my own domain (I wouldn't forget my own domain, right?)
What Stack used for this blog
For this blog, I will use:
- Golang as my main language
- Templ to deal with golang template
- Tailwind CSS as the CSS library
- Markdown file as the main content format
- Docker to deploy the blog
- Railway.app to deploy the docker image
yes, you're right. I will create a server side website for my blog. But, isn't use server side rendering website will give heavier log on the server? isn't server side too old? isn't server side lack of artistic aspect that JS library like React or Vue brings?
I believe there are a ton of question and doubt in your mind, and my subjective answer is, so what? 😎. Let me ask you this question:
- What you gonna have in your blog other than the content that mostly text and image? remember, this is blog?
- what is the traffic you expect to have as your starting point?
- How much time you want to spend to create a blog until it is going live on Production?
Think of it for a moment, and if you think having a blog with server side rendering isn't good enough or too old or what ever reason you have, you can skip this post 😁
Here is the reason why I chose to use the stack above:
- Golang is quite easy to understand
- With main code is in Golang including the FrontEnd and BackEnd part, we can reduce the development time (this is depends on the person for how much time can be reduce)
- The Binary is small enough and the processing power needed to run the binary is not that high, for the context, I will deploy this in a small docker container
- The most important reason is, why not? just take this as a learning process to understand Golang is also a good reason.