Blog

Articles, guides, and notes on software engineering.

Encountered Path Issues When Installing Bundler with rbenv via anyenv
Application 2018-12-04

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.

#anyenv#gem#rbenv#Ruby#Tips

Recent Posts

Basics of Regular Expressions
Application 2018-12-01

Basics of Regular Expressions

Master regular expression fundamentals using character classes, anchors, quantifiers, and grouping constructs for pattern matching.

#ERE#Regular Expressions
Learning Design Patterns with PHP - Factory, Factory Method, Abstract Factory
Application 2018-12-01

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.

#Design Patterns#GoF#PHP
Understanding System Programming with Go
Application 2018-11-30

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.

#Golang#Book Review
Summary of Memory Management Terms
Operating Systems 2018-11-30

Summary of Memory Management Terms

Understand Linux memory management concepts including OOM killer, virtual memory, paging mechanisms, and copy-on-write optimization techniques.

#Linux#Memory
Conversion Between Binary, Decimal, and Hexadecimal
Mathematics 2018-11-27

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.

#Radix Conversion#Discrete Mathematics
Go Interfaces Explained: How to Write Flexible, Testable Go Code
Application 2018-11-15

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.

#Golang
Go Pointers Explained: When to Use Them and Common Pitfalls
Application 2018-11-13

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.

#Golang
Summary of Variable Definitions and Declarations in Golang
Application 2018-11-13

Summary of Variable Definitions and Declarations in Golang

Learn Go variable declaration patterns: var syntax, short declarations, type inference, and visibility rules for identifiers.

#Golang
Setting Up Elasticsearch and Kibana with Docker
Infrastructure 2018-10-22

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.

#Elasticsearch#Kibana
Creating a Custom Report in Google Analytics
Tools 2018-10-12

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.

#Google Analytics
About Golang Functions - Function Values / Callback Functions / Anonymous Functions
Application 2018-10-04

About Golang Functions - Function Values / Callback Functions / Anonymous Functions

Understand Go functions: function values, callbacks, anonymous functions, and closures with practical implementation patterns.

#Golang#Callback#Function#Anonymous Function
Getting Started with JavaScript Testing using Jest
Testing 2018-09-20

Getting Started with JavaScript Testing using Jest

Learn JavaScript testing with Jest, including ES module configuration, babel setup, and practical test file patterns.

#ES5#JavaScript#babel#babel-jest#ESModules#Jest
SSH Connection Setup Memo
Infrastructure 2018-09-18

SSH Connection Setup Memo

Implement secure SSH key-based authentication with proper sshd configuration and permission management for remote servers.

#SSH#sshd
Setting Up Resource Monitoring with Prometheus and Grafana
Infrastructure 2018-09-15

Setting Up Resource Monitoring with Prometheus and Grafana

Implement resource monitoring using Prometheus and Grafana with node_exporter for comprehensive infrastructure dashboards.

#Prometheus#Grafana
Basics of Pointers in Golang
Application 2018-09-03

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.

#Golang#Pointer#Pass by Value#Reference
Evolving Architecture: Supporting Continuous Change
Architecture 2018-08-23

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.

#Book Review
Addressing Slow Mounting Issues in Docker for Mac
Infrastructure 2018-08-19

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.

#Docker#Tips
Output PHPUnit Code Coverage with CircleCI 2.0
Testing 2018-08-13

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.

#Docker#CircleCI#CircleCI2.0#phpunit
Approaches to Table Design for Many-to-One Relationships with Multiple Tables
Database 2018-08-06

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.

#Polymorphic#SQL