Archive 2023
75 articles
Full-Text Search with MySQL
Implement MySQL full-text search with FULLTEXT INDEX, ngram parsing, and MATCH...AGAINST query patterns.
How to Use pprof Without DefaultServeMux
A note on how to use Go's net/http/pprof with a custom router instead of the DefaultServeMux. It covers the common pitfall that a blank import alone won't work, and shows how to register handlers such as pprof.Index on your own router so you can still profile performance.
Prevent URL Encoding in Go's html/template
Learn why Go html/template auto-encodes URLs and how to use template.URL to pass raw URLs in templates without triggering automatic HTML encoding. Includes a minimal working example.
Cross-Compiling Go Application Images with buildx
Learn Docker buildx multi-architecture compilation for Go apps. Build cross-platform images for Linux AMD64 and ARM64 targets.
Exploring NewSQL Resources
A roundup of the various resources I read while researching NewSQL. I originally set out to compare several NewSQL databases, but since I needed to understand the technologies used under the hood, the collection also includes many articles on the related underlying technologies.
Encountering 'the input device is not a TTY' When Running Docker Command with Cron
Fix the input device is not a TTY error when running docker exec via cron. The cause is the -it flags: cron has no TTY, so remove -t and -i and use plain docker exec.
Current Status of FuelPHP as of March 2023
A rough summary of the current status of FuelPHP as of March 2023, based on my own research. It organizes development and release activity and community trends, as a note for those still using FuelPHP in an era dominated by Laravel.
Data-Oriented Application Design
A review of Data-Oriented Application Design. Known as a classic on distributed system design, it systematically covers the foundational technologies behind reliable, scalable applications, such as data storage and retrieval, distribution, and consistency. It is substantial and rewards repeated rereading.
Fundamentals of Software Architecture
A review of Fundamentals of Software Architecture. A book that explains how to evaluate software architecture and covers architecture patterns. Grasping the idea of architectural characteristics and the representative patterns, it helps you build a foundation for design decisions.
Software Architecture Hardparts
A review of Software Architecture: The Hard Parts. Centered on the hard decisions in distributed systems, it organizes ways of thinking and approaches for restructuring architecture. Reading Fundamentals of Software Architecture and Building Evolutionary Architectures first makes it easier going.
System Design Interview
A review of System Design Interview. The Japanese translation of the popular System Design Interview. Through interview scenarios, it concretely teaches how to design scalable systems. Books of this kind in Japanese are rare, making it one worth keeping on hand.
Devoured System Design Resources
A link-collection-style roundup of the various resources I read while studying system design. Along with the motivation behind why I dug into the topic, it organizes articles, books, and other resources I found helpful for learning system design.
Stress-Free Mastery
A review of Stress-Free Mastery. A book that teaches how to cope with stress. You can learn good mindsets, ways of thinking, and concrete actions. Since building a healthy relationship with stress raises the quality of your time, it is worth recommending to anyone living in a stressful society.
Notes on Datadog Continuous Testing
Configure Datadog continuous testing with no-code E2E browser tests. Master test recorder, assertions, and self-healing capabilities.
Relearning Go
Strengthen Go coding skills by reviewing comprehensive language specifications, generics implementation, and Go 1.18+ features thoroughly.