Blog

My blog, my thoughts, my favorite subjects.


Practical Go: Learn about return interface

Break down how return performance vs return instance object can affect performance

practical go

Husky for Go: Guard your commit against the bad codes

Introduction using husky in golang development workflow

go practical

Getting Started with Colima

Start using colima

devops

Colima - container runtimes on macOS (and Linux)

Introduction of colima as docker alternative

general devops

Book Review: Working in Public: The Making and Maintenance of Open Source Software by Nadia Eghbal

Working in Public" is a book about open source software that explores the challenges and opportunities facing the industry, offering practical advice for supporting and improving the ecosystem.

book review

Stateless Server: The Benefits of Storing Data Outside of the Server

Running a stateless server means that all persistent data is stored outside of the server.

concept general devops

Understanding Different Authentication Methods: Password, Session, Cookie, Token, JWT, SSO, and OAuth

Learn about authentication methods: password, session, cookie, token, JWT, SSO, OAuth.

auth

Building a Rule Engine for a Loyalty Program in Golang

Learn how to build a simple rule engine for a loyalty program in Golang using an interface to define the rules.

practical go

The Power of People: Why Building Relationships is Crucial for Your Career

Build relationships with great people for career success.

career growth networking relationships teamwork personal development

The Blank Identifier in Go: A Swiss Army Knife for the Discerning Developer

Explore how the blank identifier can be used in multiple assignment, unused imports and variables, import for side effect, and interface checks.

go practical

Practical Go: Impact of Data Structure Position on Size of Struct

How the Placement of the Data Structure Impacts the Size of Struct

practical go

Using Parquet with Go: A Beginner's Guide

This article provides an introduction to the Parquet columnar storage format and demonstrates how to read and write Parquet files in Go using the `github.com/xitongsys/parquet-go` package. It also covers enabling compression in Parquet files.

go practical

Puzzle: Solve a cryptarithm problem with Go

Learn how to solve mathematical puzzle that involves the arrangement of letters and digits

cp go

Kubernetes Resource Requests and Limits

Understanding setting request and limit on kubernetes

devops

An Introduction to Go Modules

"An intro to Go modules: benefits, usage, and gotchas."

practical go

Installing ArgoCD on k3s

Step by step guide setup k3 and argocd

devops

Introduction Profiling http server in go

Show profiling information with chi router in go

programming go practical

Practical Go: Using return pointer or not?

Details explanation when to use return pointer or not?

programming go practical pointer

How to check if a type satisfies an interface at runtime in Go

Learn different approach check type that satisfies the interface at runtime in Go

go interface practical

XID: The GUID Alternative

Introduces XID, a library for generating unique IDs in Go that are shorter and more URL-friendly than GUIDs

practical go

Auto Scaling

A Guide to Efficiently Handling Traffic Spikes

devops

Unit Testing in Golang

Everything You Need to Know about unit test in golang

programming go unit test

Contains duplicate Problem

Solve the problem using Rust

rust cp

Slice vs Array

Difference between slice and array

go slice array

Build Directed Graph

Implement simple directed graph using golang

go data-structure graph

Introduction of generic in Golang

Learn how to use generic in golang

go practical generic

Understanding Stack and Heap Memory in Go

A Comprehensive Guide what the stack and heap are, how they work, and how they are used.

programming go practical heap stack

Soft Skills for Software Engineers

Why Communication and Collaboration Matter

career software engineer self development

Snowflake

Learn how snowflake works and implement it using golang

go hash general

Date conversion

Learn processing date with different format

practical go

SQL vs NoSQL

Learn the pros and cons of each type database

software engineer system design general

System design interview

Overview system design and how to overcame the interview

career software engineer interview

Hard: Sherlock and valid string

Solution of hard problem in string category hackerrank

go hackerrank

Decimal benchmark

Compare decimal package in go with benchmark

go benchmark

Handling decimal values

Explore the possibility solution to handle decimal values properly

go practical decimal

House Robber Problem

Determine the maximum amount of money you can rob in one night without triggering an alarm.

go dynamic programming

Shrink virtual disk on WSL

Virtual disk WSL cannot auto shrink, do it manually

snippets wsl virtual machine

sqlc: An Introduction to SQL Compilation

sqlc generates fully type-safe idiomatic code from SQL.

database go practice sql

Book Review: Ikigai - The Japanese Secret to a Long and Happy Life

The Japanese Secret to a Long and Happy Life by Héctor García and Francesc Miralles

book review

Golang for Distributed Systems?

programming go

Hello GRPC

Introduction implementation grpc with go

go practical grpc

Book Review: Atomic Habits by James Clear

The comprehensive guide to building effective habits that can help individuals achieve their goals and improve their lives.

book habit review

Simple Reverse Proxy

Create a simple reverse proxy

programming go

Restore binary tree

Construct Tree from given Inorder and Preorder traversals

go tree cp

Semver sort

Sorting version follow semver format

go puzzle snippets

Context Cancellation With Cause

Passing cancellation cause with a non-nil error (the "cause") records that error in ctx

programming go context

Race Condition

Introducing data race and how to handle

go race-condition

Check 2 strings are following patterns

How to solve the areFollowingPatterns problem

go data-structure hash

Median of Two Sorted Arrays

How to solve the problem with different time complexity for median of two sorted arrays

go data-structure array

Check symmetric binary tree

Determine whether binary tree is symmetric around its center, i.e. each side mirrors the other.

go data-structure tree

Custom JSON marshal/unmarshal

Create custom primitive data type and customize the function marshal/unmarshal json

go practical json

Custom Tree Traversal

Travese binary tree that ordered from the leftmost to the rightmost one

go data-structure tree

Calculating the Sum of Squares of Integers in Go

This is recruitment challenge with unique requirement, no for or goto allowed

go CodingChallenge

XSS - Cross Site Scripting Vulnerability

Everything from user need to be validated to prevent XSS attack

go security

Leetcode biweekly contest 96

Golang solution of biweekly contest 96

programming go cp

Rate limiter in Go

Rate limiter basic implementation

programming go golang101

TOTP based on RFC 6238

Detail implementation time-based one-time password (TOTP) algorithm

programming go practical totp

Practical Go: Functional Options Pattern

Implement functional options using functional approach

programming go practical options

Minesweeper

Generate value in minesweeper map

cp go practice

Artificial Neural Network

Math explanation about artifical neural network

math artificial intelligence

Iterate digit by given integer

How to get digit from integer

cp go practice

Text normalization

Text normalization in go

snippets go

Buffered vs non buffered file IO using go

Benchmark file io using buffer versus without buffer

programming go showdown benchmark

Data Structure: Tree

Basic tree data structure

go go data-structure

Practical Go: Dockerize go apps

Prepare golang from source to docker

programming go practical

Go S.O.L.I.D: The Single Responsibility Principle

The Single Responsibility Principle (SRP) is principle states that a class should have only one reason to change

programming go solid

Docker vs Virtual Machine

Difference between docker vs Virtual Machine

general

Definitions of Sync Problems

Introducing deadlock, livelock, and starvation

general

HTTP vs HTTPS

Head to head comparation between http and https

general

pg_stat_statements in action

Learn how to utilize pg_stat_statements

database postgresql postgres pg_stat_statements

Prefer precise string types

When you declare a variable of type string, you should ask whether a narrower type would appropiate

programming typescript

Golang SQL Database

Dasar SQL database menggunakan golang

programming go golang101 sql database

Binary Operator Hack and Tricks

Binary Operator Hack and Tricks

programming go golang101

ACID Properties in DBMS

Deep down Atomicity, Consistency, Isolation, Durability

database

Membuat Benchmark di Golang

Bagaimana melihat performa kode menggunakan benchmark?

programming go golang101 benchmark Bahasa Indonesia

Tips dan trik unit test di Go

Tips dan trik menggunakan unit test di GO

programming go golang101 unit test Bahasa Indonesia tips

Golang Test Coverage

Golang Test Coverage

programming go golang101

Golang Om Telolet Om Server

Menambahkan header x-telolet menggunakan golang

programming go golang101

Golang Unit Test

Bagaimana menggunakan Unit Test pada bahasa pemrograman go?

programming go golang101 unit test Bahasa Indonesia

Struct

Konsep struct dalam go dan bagaimana digunakan dalam pemrograman berorientasi object

programming go golang101 struct Bahasa Indonesia

Pointer

Pointer explanation in golang

programming go golang101

Computer Science for Humanities

Computer science is no more about computers...

computer science humanities

Am I Lost?

The story behind my adventure of code

story

Konsep synchronous dan asynchronous

Antara aku, async, dan sync

computer science story async concept