Blog
Articles, guides, and notes on software engineering.
Encountered Path Issues When Installing Bundler with rbenv via anyenv
Fix Bundler /usr/local/bin path issue with rbenv and anyenv by running rbenv exec gem install command.
Recent Posts
Basics of Regular Expressions
Master regular expression fundamentals using character classes, anchors, quantifiers, and grouping constructs for pattern matching.
Learning Design Patterns with PHP - Factory, Factory Method, Abstract Factory
Learn Factory, Factory Method, and Abstract Factory patterns to centralize object creation and eliminate conditional branches.
Understanding System Programming with Go
A review of Understanding System Programming with Go. A book for learning low-level-ish system programming through Go. Touching on the internals of standard packages, it lets you understand how programs interact with the OS by getting hands-on.
Summary of Memory Management Terms
Understand Linux memory management concepts including OOM killer, virtual memory, paging mechanisms, and copy-on-write optimization techniques.
Conversion Between Binary, Decimal, and Hexadecimal
An article summarizing how to convert between binary, decimal, and hexadecimal. Starting from the concepts of weight and radix, it explains the calculation steps for converting between number bases, including octal, to clarify the essence of numeric representation for beginners.
Go Interfaces Explained: How to Write Flexible, Testable Go Code
A practical guide to Go interfaces. Learn implicit implementation, interface composition, using interfaces for dependency injection, and common design pitfalls.
Go Pointers Explained: When to Use Them and Common Pitfalls
Understand Go pointers clearly—when to use pointer receivers vs value receivers, how pointers affect memory and performance, and the most common mistakes to avoid.
Summary of Variable Definitions and Declarations in Golang
Learn Go variable declaration patterns: var syntax, short declarations, type inference, and visibility rules for identifiers.
Setting Up Elasticsearch and Kibana with Docker
Set up an Elasticsearch and Kibana environment using Docker Compose. Covers what ES clusters and nodes are, a working docker-compose.yml configuration, and initial connectivity setup.
Creating a Custom Report in Google Analytics
Build custom Google Analytics reports to track metrics relevant to your site and refine marketing strategy based on data.
About Golang Functions - Function Values / Callback Functions / Anonymous Functions
Understand Go functions: function values, callbacks, anonymous functions, and closures with practical implementation patterns.
Getting Started with JavaScript Testing using Jest
Learn JavaScript testing with Jest, including ES module configuration, babel setup, and practical test file patterns.
SSH Connection Setup Memo
Implement secure SSH key-based authentication with proper sshd configuration and permission management for remote servers.
Setting Up Resource Monitoring with Prometheus and Grafana
Implement resource monitoring using Prometheus and Grafana with node_exporter for comprehensive infrastructure dashboards.
Basics of Pointers in Golang
Learn the basics of Go pointers: address operators (&), dereferencing (*), pass by value vs. reference, nil pointers, and when to use pointer receivers. Includes practical Go examples.
Evolving Architecture: Supporting Continuous Change
A review of Building Evolutionary Architectures. A book for learning approaches to architectures that can keep adapting to change. Centered on using fitness functions to protect desired qualities, it also makes you feel how hard it is to design functions that actually work well.
Addressing Slow Mounting Issues in Docker for Mac
Resolve slow Docker for Mac volume mount performance caused by the macOS filesystem API. Workarounds: delegated/cached mount options, docker-sync, or using a Linux-based VM.
Output PHPUnit Code Coverage with CircleCI 2.0
Generate PHPUnit code coverage reports on CircleCI 2.0 using phpdbg and Docker for HTML coverage artifacts.
Approaches to Table Design for Many-to-One Relationships with Multiple Tables
Learn how to handle a table related to multiple tables in many-to-one relationships. Compares polymorphic associations (SQL anti-pattern, no FK constraints) with cross/pivot tables.