Software Engineering

Distributed System

Distributed System

A series of notes on distributed system related topics.

March 12, 2023

Best Practices for Wrapping C++ Libraries with CGO

Learn essential techniques and best practices for wrapping C++ libraries with CGO in Go applications. This comprehensive guide covers performance optimization, memory management, smart pointer handling, and common pitfalls when integrating C++ code with Go through CGO bridge technology.

March 27, 2022

Database

Database

A series of notes on database related topics.

March 12, 2020

Go Performance

Go Performance

Go performance optimization techniques and practices

March 12, 2020

Go Stdlib Analysis

Go Stdlib Analysis

In-depth analysis of Go standard library source code

March 12, 2020

Understanding the Impact of CPU Cache on Concurrent Performance

Learn how CPU cache architecture affects concurrent programming performance including L1 L2 and L3 cache hierarchy false sharing problems and solutions for optimizing multi-threaded applications.

December 30, 2019

Common Go Concurrency Patterns

A comprehensive guide to the most common concurrency patterns in Go programming including request-response, single state manager, producer-consumer, and pipeline patterns. Learn how to organize and manage goroutines effectively for robust concurrent programs.

September 22, 2019

Leetcode 989. Add to Array-Form of Integer

Solution to LeetCode problem 989 that adds an integer K to an array-form number and returns the result as array-form. The approach handles cases where the input array represents small numbers by converting to integer, and for larger arrays uses digit-by-digit addition with carry propagation.

February 14, 2019

Leetcode 985. Sum of Even Numbers After Queries

Solution to LeetCode problem 985 involving efficiently calculating sum of even numbers after each query operation with O(N) time complexity and O(1) space complexity using optimized approach.

February 13, 2019

BUG Caused by Unbuffered Channels

A detailed analysis of a blocking issue caused by improper usage of unbuffered channels in concurrent programming. Explains how incorrect channel operations can lead to system deadlock and provides solutions for proper goroutine synchronization.

April 11, 2018