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
Husky for Go: Guard your commit against the bad codes
Introduction using husky in golang development workflow
Getting Started with Colima
Start using colima
Colima - container runtimes on macOS (and Linux)
Introduction of colima as docker alternative
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.
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.
Understanding Different Authentication Methods: Password, Session, Cookie, Token, JWT, SSO, and OAuth
Learn about authentication methods: password, session, cookie, token, JWT, SSO, OAuth.
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.
The Power of People: Why Building Relationships is Crucial for Your Career
Build relationships with great people for career success.
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.
Practical Go: Impact of Data Structure Position on Size of Struct
How the Placement of the Data Structure Impacts the Size of Struct
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.
Puzzle: Solve a cryptarithm problem with Go
Learn how to solve mathematical puzzle that involves the arrangement of letters and digits
Kubernetes Resource Requests and Limits
Understanding setting request and limit on kubernetes
An Introduction to Go Modules
"An intro to Go modules: benefits, usage, and gotchas."
Installing ArgoCD on k3s
Step by step guide setup k3 and argocd
Introduction Profiling http server in go
Show profiling information with chi router in go
Practical Go: Using return pointer or not?
Details explanation when to use return pointer or not?
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
XID: The GUID Alternative
Introduces XID, a library for generating unique IDs in Go that are shorter and more URL-friendly than GUIDs
Auto Scaling
A Guide to Efficiently Handling Traffic Spikes
Unit Testing in Golang
Everything You Need to Know about unit test in golang
Contains duplicate Problem
Solve the problem using Rust
Slice vs Array
Difference between slice and array
Build Directed Graph
Implement simple directed graph using golang
Introduction of generic in Golang
Learn how to use generic in golang
Understanding Stack and Heap Memory in Go
A Comprehensive Guide what the stack and heap are, how they work, and how they are used.
Soft Skills for Software Engineers
Why Communication and Collaboration Matter
Snowflake
Learn how snowflake works and implement it using golang
Date conversion
Learn processing date with different format
SQL vs NoSQL
Learn the pros and cons of each type database
System design interview
Overview system design and how to overcame the interview
Hard: Sherlock and valid string
Solution of hard problem in string category hackerrank
Decimal benchmark
Compare decimal package in go with benchmark
Handling decimal values
Explore the possibility solution to handle decimal values properly
House Robber Problem
Determine the maximum amount of money you can rob in one night without triggering an alarm.
Shrink virtual disk on WSL
Virtual disk WSL cannot auto shrink, do it manually
sqlc: An Introduction to SQL Compilation
sqlc generates fully type-safe idiomatic code from 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
Golang for Distributed Systems?
Hello GRPC
Introduction implementation grpc with go
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.
Simple Reverse Proxy
Create a simple reverse proxy
Restore binary tree
Construct Tree from given Inorder and Preorder traversals
Semver sort
Sorting version follow semver format
Context Cancellation With Cause
Passing cancellation cause with a non-nil error (the "cause") records that error in ctx
Race Condition
Introducing data race and how to handle
Check 2 strings are following patterns
How to solve the areFollowingPatterns problem
Median of Two Sorted Arrays
How to solve the problem with different time complexity for median of two sorted arrays
Check symmetric binary tree
Determine whether binary tree is symmetric around its center, i.e. each side mirrors the other.
Custom JSON marshal/unmarshal
Create custom primitive data type and customize the function marshal/unmarshal json
Custom Tree Traversal
Travese binary tree that ordered from the leftmost to the rightmost one
Calculating the Sum of Squares of Integers in Go
This is recruitment challenge with unique requirement, no for or goto allowed
XSS - Cross Site Scripting Vulnerability
Everything from user need to be validated to prevent XSS attack
Leetcode biweekly contest 96
Golang solution of biweekly contest 96
Rate limiter in Go
Rate limiter basic implementation
TOTP based on RFC 6238
Detail implementation time-based one-time password (TOTP) algorithm
Practical Go: Functional Options Pattern
Implement functional options using functional approach
Minesweeper
Generate value in minesweeper map
Artificial Neural Network
Math explanation about artifical neural network
Iterate digit by given integer
How to get digit from integer
Text normalization
Text normalization in go
Buffered vs non buffered file IO using go
Benchmark file io using buffer versus without buffer
Data Structure: Tree
Basic tree data structure
Practical Go: Dockerize go apps
Prepare golang from source to docker
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
Docker vs Virtual Machine
Difference between docker vs Virtual Machine
Definitions of Sync Problems
Introducing deadlock, livelock, and starvation
HTTP vs HTTPS
Head to head comparation between http and https
pg_stat_statements in action
Learn how to utilize pg_stat_statements
Prefer precise string types
When you declare a variable of type string, you should ask whether a narrower type would appropiate
Golang SQL Database
Dasar SQL database menggunakan golang
Binary Operator Hack and Tricks
Binary Operator Hack and Tricks
ACID Properties in DBMS
Deep down Atomicity, Consistency, Isolation, Durability
Membuat Benchmark di Golang
Bagaimana melihat performa kode menggunakan benchmark?
Tips dan trik unit test di Go
Tips dan trik menggunakan unit test di GO
Golang Test Coverage
Golang Test Coverage
Golang Om Telolet Om Server
Menambahkan header x-telolet menggunakan golang
Golang Unit Test
Bagaimana menggunakan Unit Test pada bahasa pemrograman go?
Struct
Konsep struct dalam go dan bagaimana digunakan dalam pemrograman berorientasi object
Pointer
Pointer explanation in golang
Computer Science for Humanities
Computer science is no more about computers...
Am I Lost?
The story behind my adventure of code
Konsep synchronous dan asynchronous
Antara aku, async, dan sync