Blog
Articles, guides, and notes on software engineering.
Attended PHP Conference Hokkaido 2019
Discover PHP fundamentals, CI/CD pipelines, microservices, testing frameworks, and CPU architecture concepts from sessions.
Recent Posts
Upgrading from FuelPHP 1.8.0 to 1.8.2 and PHP 5.6 to PHP 7.3
Summary of the application version upgrade from FuelPHP 1.8.0 to 1.8.2 and PHP 5.6 to PHP 7.3.
Handling Docker 'Operation not permitted' Error
Fix the Docker Operation not permitted error in docker-compose by adding privileged: true or using cap_add: SYS_ADMIN with seccomp:unconfined to grant required Linux capabilities.
Implementing a Trie in Golang
Learn how Trie (prefix tree) data structures work: O(m) search and insertion, applications in HTTP routing and IP lookups, and a Go implementation of insert and search operations.
Controlling Container Startup Order with Dockerize in Docker Compose
Control container startup order in Docker Compose using Dockerize. Learn why depends_on is insufficient, how Dockerize waits for tcp://host:port readiness, and a practical docker-compose example.
How to Restore Hosts Removed from Monitoring in Mackerel
Recover accidentally excluded monitoring hosts in Mackerel by updating hostId after host migration or removal from monitoring system.
Clean Architecture in Go: A Practical Implementation Guide
Learn how to implement Clean Architecture in Go with practical code. Covers layer separation, dependency rules, directory structure, and real-world trade-offs.
SQL for Generating Test Data in MySQL
A note on how to generate test data using only MySQL. While generating test data with a script offers more flexibility, when you just want tens of thousands of records for a performance test, plain SQL can be enough. This article shows how to write such SQL.
Participated and Presented at PHP Conference Fukuoka 2019
Understand URL routing creation in PHP through conference talk, clean architecture, and code deletion best practices.
Web Frontend High-Performance Tuning
A review of Web Frontend High-Performance Tuning. More than just a catalog of tuning techniques, it explains with an eye to how browser rendering works and how to measure it. One to read when you want to tackle frontend performance from first principles.
Engineer’s Intellectual Productivity Techniques ── Learning, Organizing, and Outputting Efficiently
A review of Engineer's Intellectual Productivity Techniques. A book that discusses methods for learning, organizing, and producing output efficiently, framed specifically for the engineering profession. It offers hints for rethinking and improving how you learn.
Redirect with exec Command
Master shell exec command for dynamic file descriptor redirection, input/output control, and terminal manipulation.
Prompt Confirmation When Pushing Directly to Master
How to build a safety net that prevents accidental direct pushes to the master branch in git by prompting for confirmation before the push goes through. While you can also block this on GitHub's side, this uses Git hooks for cases where that isn't practical due to operational constraints.
Note on Volumes Not Being Deleted Even After Removing Docker Images and Containers
Learn why Docker volumes persist after removing containers and images, how to inspect and remove orphaned volumes with docker volume ls/rm, and the shortcut docker-compose down --rmi all -v.
Learning Design Patterns with PHP - State Pattern
Learn the State pattern to switch behavior dynamically by encapsulating state-specific processing in separate classes.
10 Software Laws Learned from Gorillas
Understand key software development laws including Parkinson's, Brooks's, and Conway's Law to improve project management.
Notes on Implementing Hot Reload with Realize in Go
A memo on achieving hot reloading in Go development using the Realize tool. It covers installing it with go get, configuring it via .realize.yaml, and starting the watch server, so that code changes are detected and the app is rebuilt and restarted automatically to improve development efficiency.
Participated and Presented at PHPerKaigi2019
Discover insights from PHPerKaigi 2019 conference participation, including presentation experiences and URL routing design.
Everyone's Computer Science
A review of Everyone's Computer Science. A book for compactly grasping the big picture of computer science by its key points. Rather than diving deep into each topic, it is just right when you want a map of the CS field.
How to Use Burp Suite with Google Chrome
An article on the various settings needed to use Burp Suite together with Google Chrome, for purposes such as vulnerability assessments. It covers using a proxy-switching extension like ProxySwitchSharp and setting up Burp's CA certificate so that its traffic can be inspected.