Blog

Articles, guides, and notes on software engineering.

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

Recent Posts

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

Evolving Architecture: Supporting Continuous Change

#Architecture#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 Anti-pattern
Learning Software Structure and Design from Clean Architecture Experts
Architecture 2018-08-01

Learning Software Structure and Design from Clean Architecture Experts

Learning Software Structure and Design from Clean Architecture Experts

#Clean Architecture#Architecture#Book Review
Types of Relationships in ER Diagrams
Database 2018-07-31

Types of Relationships in ER Diagrams

Understand the three types of ER diagram relationships: dependent (parent-child, solid line), independent (dotted line), and many-to-many. Includes SQL table design examples for each.

#ER
How to Read and Set Linux Permissions
Operating Systems 2018-07-18

How to Read and Set Linux Permissions

An overview of Linux permissions

#Linux#Permissions
MySQL JOIN vs UNION: Differences, Use Cases, and Examples
Database 2018-07-18

MySQL JOIN vs UNION: Differences, Use Cases, and Examples

Learn the difference between MySQL JOIN and UNION with practical SQL examples. Covers INNER JOIN, LEFT JOIN, FULL OUTER JOIN, and how to combine result sets correctly.

#MySQL#join#union
Starting Algorithms with JavaScript
Algorithms and Data Structures 2018-07-13

Starting Algorithms with JavaScript

Master fundamental JavaScript algorithms including linear and binary search, plus selection and bubble sort implementations.

#Binary Search#Linear Search#Bubble Sort#Selection Sort
Understanding System Performance Through Illustrations
Performance 2018-07-12

Understanding System Performance Through Illustrations

Understanding System Performance Through Illustrations

#Book Review#System Performance#ISUCON