Archive 2018
62 articles
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.
Learning Software Structure and Design from Clean Architecture Experts
A review of Clean Architecture. Rather than giving a strict definition, it describes the traits and rules of a design that can be called clean. It frames the goal of software architecture as minimizing the people needed to build and maintain a system, explaining dependency inversion through polymorphism and independent deployability and developability.
ER Diagram Relationship Types: Dependent, Independent, and Many-to-Many
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.
How to Read and Set Linux Permissions
A summary of how Linux permissions work. It covers how to read permission strings, including the leading file-type character and the rwx (read, write, execute) bits shown in three-character groups for owner, group, and others, as well as numeric notation and practical use of the chmod command.
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.
Starting Algorithms with JavaScript
Master fundamental JavaScript algorithms including linear and binary search, plus selection and bubble sort implementations.
Understanding System Performance Through Illustrations
A review of Understanding System Performance Through Illustrations. A book that clearly explains the basics of system performance with diagrams. From how to think about bottlenecks onward, it helps you build a foundation for performance-aware design and tuning.
Unix Command Notes
Master Unix commands including jq for JSON processing, lsof for monitoring, and nmap for network port analysis.
Processes vs Threads: Key Differences Every Developer Should Know
Understand the key differences between processes and threads—memory isolation, context switching costs, and when to use multi-processing vs multi-threading in your code.
What is GraphQL
Understand GraphQL as a query language for APIs with flexible data selection, single endpoint, and type system advantages.
Starting Live Coding with Atom×TidalCycles×SuperCollider
Create music through live coding using Atom editor, TidalCycles language, Haskell functions, and SuperCollider sound synthesis engine.
Setting Up a Docker Environment on Sakura VPS
Step-by-step guide to installing Docker CE on Sakura VPS running CentOS. Covers yum repository setup, stable vs. edge channel configuration, and Docker CE installation commands.
Challenges Faced When Building an SPA
Fix SPA routing and resource path issues with nginx try_files configuration for single-page application development.
DI and Service Locator
Implement dependency injection patterns. Compare DI and Service Locator with constructor injection examples for loosely coupled code.
Symbolic Links vs Hard Links: Key Differences on Linux
Understand the difference between symbolic (soft) links and hard links on Linux. Learn about inodes, how each link type behaves on deletion, and practical use cases.