Blog
Create a code generator with protocPosted on 08 May 2021 - 2 min read
If your system happens to have a microservices architecture, you may find it repetitive to scaffold new services or to add new endpoints. In such scenarios, Protocol Buffer emerges to be an excellent choice for writing API contracts and generating code. However, you sometimes may want to add a custom code but you're not sure how to to that. Actually, it's quite simple with `protoc` though. In this post, we will walk through how to create a code generator with protoc. [Read more]
Tagged with: go, golang, protoc, protobuf, code-generator, protocol-buffer
Safely Use Go Context to Pass DataPosted on 10 April 2021 - 2 min read
Go context is an excellent and controversial feature. It's handy to pass data to deep level functions without exploding the complexity of codes. However, its convenience could also be a source of bugs in your program. This post will discuss one common problem when using Go context. [Read more]
Tagged with: go, golang, context
Prepare for system design interviewsPosted on 11 February 2021 - 2 min read
Many people are afraid of system design interviews as there's normally no certain pattern to prepare for and the question is open-ended, unpredictable, and quite flexible. Therefore, there's usually no standard or correct answer which makes the preparation process even harder. This post will cover how you prepare for system design interviews and what interviewers expect from you. [Read more]
Tagged with: interview, system-design
Buying ADA (Cardano) in SingaporePosted on 29 December 2020 - 1 min read
In order to take the first step into the Cardano world, you will need to buy some ADA. Unfortunately, buying ADA in Singapore is not as straightforward as it can be. In this post, I brief one of the easiest/cheapest methods of buying ADA in Singapore. [Read more]
Tagged with: cardano, ada, crypto-currency
Release Go modules automaticallyPosted on 02 November 2020 - 2 min read
I write about how to release a Go module automatically via semantic-release and Github Actions. I also include some tips to handle pre-releases. [Read more]
Tagged with: golang, semantic-release